Use MAC address documentation range in filter examples
[metze/wireshark/wip.git] / epan / dissectors / packet-dcerpc-lsa.c
1 /* DO NOT EDIT
2         This file was automatically generated by Pidl
3         from lsa.idl and lsa.cnf.
4
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 */
10
11
12 #include "config.h"
13 #include <glib.h>
14 #include <string.h>
15 #include <epan/packet.h>
16
17 #include "packet-dcerpc.h"
18 #include "packet-dcerpc-nt.h"
19 #include "packet-windows-common.h"
20 #include "packet-dcerpc-lsa.h"
21 void proto_register_dcerpc_lsarpc(void);
22 void proto_reg_handoff_dcerpc_lsarpc(void);
23
24 /* Ett declarations */
25 static gint ett_lsarpc_names = -1;
26 static gint ett_dcerpc_lsarpc = -1;
27 static gint ett_lsarpc_lsa_PolicyAccessMask = -1;
28 static gint ett_lsarpc_lsa_AccountAccessMask = -1;
29 static gint ett_lsarpc_lsa_DomainAccessMask = -1;
30 static gint ett_lsarpc_lsa_SecretAccessMask = -1;
31 static gint ett_lsarpc_security_secinfo = -1;
32 static gint ett_lsarpc_lsa_String = -1;
33 static gint ett_lsarpc_lsa_StringLarge = -1;
34 static gint ett_lsarpc_lsa_Strings = -1;
35 static gint ett_lsarpc_lsa_AsciiString = -1;
36 static gint ett_lsarpc_lsa_AsciiStringLarge = -1;
37 static gint ett_lsarpc_lsa_LUID = -1;
38 static gint ett_lsarpc_lsa_PrivEntry = -1;
39 static gint ett_lsarpc_lsa_PrivArray = -1;
40 static gint ett_lsarpc_lsa_QosInfo = -1;
41 static gint ett_lsarpc_lsa_ObjectAttribute = -1;
42 static gint ett_lsarpc_lsa_AuditLogInfo = -1;
43 static gint ett_lsarpc_lsa_AuditEventsInfo = -1;
44 static gint ett_lsarpc_lsa_DomainInfo = -1;
45 static gint ett_lsarpc_lsa_PDAccountInfo = -1;
46 static gint ett_lsarpc_lsa_ServerRole = -1;
47 static gint ett_lsarpc_lsa_ReplicaSourceInfo = -1;
48 static gint ett_lsarpc_lsa_DefaultQuotaInfo = -1;
49 static gint ett_lsarpc_lsa_ModificationInfo = -1;
50 static gint ett_lsarpc_lsa_AuditFullSetInfo = -1;
51 static gint ett_lsarpc_lsa_AuditFullQueryInfo = -1;
52 static gint ett_lsarpc_lsa_DnsDomainInfo = -1;
53 static gint ett_lsarpc_lsa_PolicyInformation = -1;
54 static gint ett_lsarpc_lsa_SidPtr = -1;
55 static gint ett_lsarpc_lsa_SidArray = -1;
56 static gint ett_lsarpc_lsa_DomainList = -1;
57 static gint ett_lsarpc_lsa_TranslatedSid = -1;
58 static gint ett_lsarpc_lsa_TransSidArray = -1;
59 static gint ett_lsarpc_lsa_RefDomainList = -1;
60 static gint ett_lsarpc_lsa_TranslatedName = -1;
61 static gint ett_lsarpc_lsa_TransNameArray = -1;
62 static gint ett_lsarpc_lsa_LUIDAttribute = -1;
63 static gint ett_lsarpc_lsa_PrivilegeSet = -1;
64 static gint ett_lsarpc_lsa_DATA_BUF = -1;
65 static gint ett_lsarpc_lsa_DATA_BUF2 = -1;
66 static gint ett_lsarpc_lsa_TrustDomainInfoName = -1;
67 static gint ett_lsarpc_lsa_TrustDomainInfoPosixOffset = -1;
68 static gint ett_lsarpc_lsa_TrustDomainInfoPassword = -1;
69 static gint ett_lsarpc_lsa_TrustDomainInfoBasic = -1;
70 static gint ett_lsarpc_lsa_TrustDomainInfoInfoEx = -1;
71 static gint ett_lsarpc_lsa_TrustDomainInfoBuffer = -1;
72 static gint ett_lsarpc_lsa_TrustDomainInfoAuthInfo = -1;
73 static gint ett_lsarpc_lsa_TrustDomainInfoFullInfo = -1;
74 static gint ett_lsarpc_lsa_TrustDomainInfo11 = -1;
75 static gint ett_lsarpc_lsa_TrustDomainInfoInfoAll = -1;
76 static gint ett_lsarpc_lsa_TrustedDomainInfo = -1;
77 static gint ett_lsarpc_lsa_DATA_BUF_PTR = -1;
78 static gint ett_lsarpc_lsa_RightAttribute = -1;
79 static gint ett_lsarpc_lsa_RightSet = -1;
80 static gint ett_lsarpc_lsa_StringPointer = -1;
81 static gint ett_lsarpc_lsa_DomainListEx = -1;
82 static gint ett_lsarpc_lsa_DomainInfoKerberos = -1;
83 static gint ett_lsarpc_lsa_DomainInfoEfs = -1;
84 static gint ett_lsarpc_lsa_DomainInformationPolicy = -1;
85 static gint ett_lsarpc_lsa_TranslatedName2 = -1;
86 static gint ett_lsarpc_lsa_TransNameArray2 = -1;
87 static gint ett_lsarpc_lsa_TranslatedSid2 = -1;
88 static gint ett_lsarpc_lsa_TransSidArray2 = -1;
89 static gint ett_lsarpc_lsa_TranslatedSid3 = -1;
90 static gint ett_lsarpc_lsa_TransSidArray3 = -1;
91 static gint ett_lsarpc_lsa_ForestTrustBinaryData = -1;
92 static gint ett_lsarpc_lsa_ForestTrustDomainInfo = -1;
93 static gint ett_lsarpc_lsa_ForestTrustData = -1;
94 static gint ett_lsarpc_lsa_ForestTrustRecord = -1;
95 static gint ett_lsarpc_lsa_ForestTrustInformation = -1;
96
97
98 /* Header field declarations */
99 static gint hf_lsarpc_String_name = -1;
100 static gint hf_lsarpc_account_access_mask = -1;
101 static gint hf_lsarpc_domain_access_mask = -1;
102 static gint hf_lsarpc_efs_blob_len = -1;
103 static gint hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_PRIVILEGES = -1;
104 static gint hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_QUOTAS = -1;
105 static gint hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS = -1;
106 static gint hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_VIEW = -1;
107 static gint hf_lsarpc_lsa_AddAccountRights_handle = -1;
108 static gint hf_lsarpc_lsa_AddAccountRights_rights = -1;
109 static gint hf_lsarpc_lsa_AddAccountRights_sid = -1;
110 static gint hf_lsarpc_lsa_AddPrivilegesToAccount_handle = -1;
111 static gint hf_lsarpc_lsa_AddPrivilegesToAccount_privs = -1;
112 static gint hf_lsarpc_lsa_AsciiStringLarge_length = -1;
113 static gint hf_lsarpc_lsa_AsciiStringLarge_size = -1;
114 static gint hf_lsarpc_lsa_AsciiStringLarge_string = -1;
115 static gint hf_lsarpc_lsa_AsciiString_length = -1;
116 static gint hf_lsarpc_lsa_AsciiString_size = -1;
117 static gint hf_lsarpc_lsa_AsciiString_string = -1;
118 static gint hf_lsarpc_lsa_AuditEventsInfo_auditing_mode = -1;
119 static gint hf_lsarpc_lsa_AuditEventsInfo_count = -1;
120 static gint hf_lsarpc_lsa_AuditEventsInfo_settings = -1;
121 static gint hf_lsarpc_lsa_AuditFullQueryInfo_log_is_full = -1;
122 static gint hf_lsarpc_lsa_AuditFullQueryInfo_shutdown_on_full = -1;
123 static gint hf_lsarpc_lsa_AuditFullQueryInfo_unknown = -1;
124 static gint hf_lsarpc_lsa_AuditFullSetInfo_shutdown_on_full = -1;
125 static gint hf_lsarpc_lsa_AuditLogInfo_log_size = -1;
126 static gint hf_lsarpc_lsa_AuditLogInfo_next_audit_record = -1;
127 static gint hf_lsarpc_lsa_AuditLogInfo_percent_full = -1;
128 static gint hf_lsarpc_lsa_AuditLogInfo_retention_time = -1;
129 static gint hf_lsarpc_lsa_AuditLogInfo_shutdown_in_progress = -1;
130 static gint hf_lsarpc_lsa_AuditLogInfo_time_to_shutdown = -1;
131 static gint hf_lsarpc_lsa_AuditLogInfo_unknown = -1;
132 static gint hf_lsarpc_lsa_CloseTrustedDomainEx_handle = -1;
133 static gint hf_lsarpc_lsa_Close_handle = -1;
134 static gint hf_lsarpc_lsa_CreateAccount_access_mask = -1;
135 static gint hf_lsarpc_lsa_CreateAccount_acct_handle = -1;
136 static gint hf_lsarpc_lsa_CreateAccount_handle = -1;
137 static gint hf_lsarpc_lsa_CreateAccount_sid = -1;
138 static gint hf_lsarpc_lsa_CreateSecret_access_mask = -1;
139 static gint hf_lsarpc_lsa_CreateSecret_handle = -1;
140 static gint hf_lsarpc_lsa_CreateSecret_name = -1;
141 static gint hf_lsarpc_lsa_CreateSecret_sec_handle = -1;
142 static gint hf_lsarpc_lsa_CreateTrustedDomain_access_mask = -1;
143 static gint hf_lsarpc_lsa_CreateTrustedDomain_handle = -1;
144 static gint hf_lsarpc_lsa_CreateTrustedDomain_info = -1;
145 static gint hf_lsarpc_lsa_CreateTrustedDomain_trustdom_handle = -1;
146 static gint hf_lsarpc_lsa_DATA_BUF2_data = -1;
147 static gint hf_lsarpc_lsa_DATA_BUF2_size = -1;
148 static gint hf_lsarpc_lsa_DATA_BUF_PTR_buf = -1;
149 static gint hf_lsarpc_lsa_DATA_BUF_data = -1;
150 static gint hf_lsarpc_lsa_DATA_BUF_length = -1;
151 static gint hf_lsarpc_lsa_DATA_BUF_size = -1;
152 static gint hf_lsarpc_lsa_DefaultQuotaInfo_max_wss = -1;
153 static gint hf_lsarpc_lsa_DefaultQuotaInfo_min_wss = -1;
154 static gint hf_lsarpc_lsa_DefaultQuotaInfo_non_paged_pool = -1;
155 static gint hf_lsarpc_lsa_DefaultQuotaInfo_paged_pool = -1;
156 static gint hf_lsarpc_lsa_DefaultQuotaInfo_pagefile = -1;
157 static gint hf_lsarpc_lsa_DefaultQuotaInfo_unknown = -1;
158 static gint hf_lsarpc_lsa_DeleteTrustedDomain_dom_sid = -1;
159 static gint hf_lsarpc_lsa_DeleteTrustedDomain_handle = -1;
160 static gint hf_lsarpc_lsa_Delete_handle = -1;
161 static gint hf_lsarpc_lsa_DnsDomainInfo_dns_domain = -1;
162 static gint hf_lsarpc_lsa_DnsDomainInfo_dns_forest = -1;
163 static gint hf_lsarpc_lsa_DnsDomainInfo_domain_guid = -1;
164 static gint hf_lsarpc_lsa_DnsDomainInfo_name = -1;
165 static gint hf_lsarpc_lsa_DnsDomainInfo_sid = -1;
166 static gint hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_AUTH = -1;
167 static gint hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_CONTROLLERS = -1;
168 static gint hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_DOMAIN_NAME = -1;
169 static gint hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_POSIX = -1;
170 static gint hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_SET_AUTH = -1;
171 static gint hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_SET_CONTROLLERS = -1;
172 static gint hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_SET_POSIX = -1;
173 static gint hf_lsarpc_lsa_DomainInfoEfs_blob_size = -1;
174 static gint hf_lsarpc_lsa_DomainInfoEfs_efs_blob = -1;
175 static gint hf_lsarpc_lsa_DomainInfoKerberos_clock_skew = -1;
176 static gint hf_lsarpc_lsa_DomainInfoKerberos_enforce_restrictions = -1;
177 static gint hf_lsarpc_lsa_DomainInfoKerberos_service_tkt_lifetime = -1;
178 static gint hf_lsarpc_lsa_DomainInfoKerberos_unknown6 = -1;
179 static gint hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_lifetime = -1;
180 static gint hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_renewaltime = -1;
181 static gint hf_lsarpc_lsa_DomainInfo_name = -1;
182 static gint hf_lsarpc_lsa_DomainInfo_sid = -1;
183 static gint hf_lsarpc_lsa_DomainInformationPolicy_efs_info = -1;
184 static gint hf_lsarpc_lsa_DomainInformationPolicy_kerberos_info = -1;
185 static gint hf_lsarpc_lsa_DomainListEx_count = -1;
186 static gint hf_lsarpc_lsa_DomainListEx_domains = -1;
187 static gint hf_lsarpc_lsa_DomainList_count = -1;
188 static gint hf_lsarpc_lsa_DomainList_domains = -1;
189 static gint hf_lsarpc_lsa_EnumAccountRights_handle = -1;
190 static gint hf_lsarpc_lsa_EnumAccountRights_rights = -1;
191 static gint hf_lsarpc_lsa_EnumAccountRights_sid = -1;
192 static gint hf_lsarpc_lsa_EnumAccountsWithUserRight_handle = -1;
193 static gint hf_lsarpc_lsa_EnumAccountsWithUserRight_name = -1;
194 static gint hf_lsarpc_lsa_EnumAccountsWithUserRight_sids = -1;
195 static gint hf_lsarpc_lsa_EnumAccounts_handle = -1;
196 static gint hf_lsarpc_lsa_EnumAccounts_num_entries = -1;
197 static gint hf_lsarpc_lsa_EnumAccounts_resume_handle = -1;
198 static gint hf_lsarpc_lsa_EnumAccounts_sids = -1;
199 static gint hf_lsarpc_lsa_EnumPrivsAccount_handle = -1;
200 static gint hf_lsarpc_lsa_EnumPrivsAccount_privs = -1;
201 static gint hf_lsarpc_lsa_EnumPrivs_handle = -1;
202 static gint hf_lsarpc_lsa_EnumPrivs_max_count = -1;
203 static gint hf_lsarpc_lsa_EnumPrivs_privs = -1;
204 static gint hf_lsarpc_lsa_EnumPrivs_resume_handle = -1;
205 static gint hf_lsarpc_lsa_EnumTrustDom_domains = -1;
206 static gint hf_lsarpc_lsa_EnumTrustDom_handle = -1;
207 static gint hf_lsarpc_lsa_EnumTrustDom_max_size = -1;
208 static gint hf_lsarpc_lsa_EnumTrustDom_resume_handle = -1;
209 static gint hf_lsarpc_lsa_EnumTrustedDomainsEx_domains = -1;
210 static gint hf_lsarpc_lsa_EnumTrustedDomainsEx_handle = -1;
211 static gint hf_lsarpc_lsa_EnumTrustedDomainsEx_max_size = -1;
212 static gint hf_lsarpc_lsa_EnumTrustedDomainsEx_resume_handle = -1;
213 static gint hf_lsarpc_lsa_ForestTrustBinaryData_data = -1;
214 static gint hf_lsarpc_lsa_ForestTrustBinaryData_length = -1;
215 static gint hf_lsarpc_lsa_ForestTrustData_data = -1;
216 static gint hf_lsarpc_lsa_ForestTrustData_domain_info = -1;
217 static gint hf_lsarpc_lsa_ForestTrustData_top_level_name = -1;
218 static gint hf_lsarpc_lsa_ForestTrustData_top_level_name_ex = -1;
219 static gint hf_lsarpc_lsa_ForestTrustDomainInfo_dns_domain_name = -1;
220 static gint hf_lsarpc_lsa_ForestTrustDomainInfo_domain_sid = -1;
221 static gint hf_lsarpc_lsa_ForestTrustDomainInfo_netbios_domain_name = -1;
222 static gint hf_lsarpc_lsa_ForestTrustInformation_count = -1;
223 static gint hf_lsarpc_lsa_ForestTrustInformation_entries = -1;
224 static gint hf_lsarpc_lsa_ForestTrustRecord_flags = -1;
225 static gint hf_lsarpc_lsa_ForestTrustRecord_forest_trust_data = -1;
226 static gint hf_lsarpc_lsa_ForestTrustRecord_level = -1;
227 static gint hf_lsarpc_lsa_ForestTrustRecord_unknown = -1;
228 static gint hf_lsarpc_lsa_GetUserName_account_name = -1;
229 static gint hf_lsarpc_lsa_GetUserName_authority_name = -1;
230 static gint hf_lsarpc_lsa_GetUserName_system_name = -1;
231 static gint hf_lsarpc_lsa_LUIDAttribute_attribute = -1;
232 static gint hf_lsarpc_lsa_LUIDAttribute_luid = -1;
233 static gint hf_lsarpc_lsa_LUID_high = -1;
234 static gint hf_lsarpc_lsa_LUID_low = -1;
235 static gint hf_lsarpc_lsa_LookupNames2_count = -1;
236 static gint hf_lsarpc_lsa_LookupNames2_domains = -1;
237 static gint hf_lsarpc_lsa_LookupNames2_handle = -1;
238 static gint hf_lsarpc_lsa_LookupNames2_level = -1;
239 static gint hf_lsarpc_lsa_LookupNames2_names = -1;
240 static gint hf_lsarpc_lsa_LookupNames2_num_names = -1;
241 static gint hf_lsarpc_lsa_LookupNames2_sids = -1;
242 static gint hf_lsarpc_lsa_LookupNames2_unknown1 = -1;
243 static gint hf_lsarpc_lsa_LookupNames2_unknown2 = -1;
244 static gint hf_lsarpc_lsa_LookupNames3_count = -1;
245 static gint hf_lsarpc_lsa_LookupNames3_domains = -1;
246 static gint hf_lsarpc_lsa_LookupNames3_handle = -1;
247 static gint hf_lsarpc_lsa_LookupNames3_level = -1;
248 static gint hf_lsarpc_lsa_LookupNames3_names = -1;
249 static gint hf_lsarpc_lsa_LookupNames3_num_names = -1;
250 static gint hf_lsarpc_lsa_LookupNames3_sids = -1;
251 static gint hf_lsarpc_lsa_LookupNames3_unknown1 = -1;
252 static gint hf_lsarpc_lsa_LookupNames3_unknown2 = -1;
253 static gint hf_lsarpc_lsa_LookupNames4_count = -1;
254 static gint hf_lsarpc_lsa_LookupNames4_domains = -1;
255 static gint hf_lsarpc_lsa_LookupNames4_level = -1;
256 static gint hf_lsarpc_lsa_LookupNames4_names = -1;
257 static gint hf_lsarpc_lsa_LookupNames4_num_names = -1;
258 static gint hf_lsarpc_lsa_LookupNames4_sids = -1;
259 static gint hf_lsarpc_lsa_LookupNames4_unknown1 = -1;
260 static gint hf_lsarpc_lsa_LookupNames4_unknown2 = -1;
261 static gint hf_lsarpc_lsa_LookupNames_count = -1;
262 static gint hf_lsarpc_lsa_LookupNames_domains = -1;
263 static gint hf_lsarpc_lsa_LookupNames_handle = -1;
264 static gint hf_lsarpc_lsa_LookupNames_level = -1;
265 static gint hf_lsarpc_lsa_LookupNames_names = -1;
266 static gint hf_lsarpc_lsa_LookupNames_num_names = -1;
267 static gint hf_lsarpc_lsa_LookupNames_sids = -1;
268 static gint hf_lsarpc_lsa_LookupPrivDisplayName_disp_name = -1;
269 static gint hf_lsarpc_lsa_LookupPrivDisplayName_handle = -1;
270 static gint hf_lsarpc_lsa_LookupPrivDisplayName_language_id = -1;
271 static gint hf_lsarpc_lsa_LookupPrivDisplayName_name = -1;
272 static gint hf_lsarpc_lsa_LookupPrivDisplayName_unknown = -1;
273 static gint hf_lsarpc_lsa_LookupPrivName_handle = -1;
274 static gint hf_lsarpc_lsa_LookupPrivName_luid = -1;
275 static gint hf_lsarpc_lsa_LookupPrivName_name = -1;
276 static gint hf_lsarpc_lsa_LookupPrivValue_handle = -1;
277 static gint hf_lsarpc_lsa_LookupPrivValue_luid = -1;
278 static gint hf_lsarpc_lsa_LookupPrivValue_name = -1;
279 static gint hf_lsarpc_lsa_LookupSids2_count = -1;
280 static gint hf_lsarpc_lsa_LookupSids2_domains = -1;
281 static gint hf_lsarpc_lsa_LookupSids2_handle = -1;
282 static gint hf_lsarpc_lsa_LookupSids2_level = -1;
283 static gint hf_lsarpc_lsa_LookupSids2_names = -1;
284 static gint hf_lsarpc_lsa_LookupSids2_sids = -1;
285 static gint hf_lsarpc_lsa_LookupSids2_unknown1 = -1;
286 static gint hf_lsarpc_lsa_LookupSids2_unknown2 = -1;
287 static gint hf_lsarpc_lsa_LookupSids3_count = -1;
288 static gint hf_lsarpc_lsa_LookupSids3_domains = -1;
289 static gint hf_lsarpc_lsa_LookupSids3_level = -1;
290 static gint hf_lsarpc_lsa_LookupSids3_names = -1;
291 static gint hf_lsarpc_lsa_LookupSids3_sids = -1;
292 static gint hf_lsarpc_lsa_LookupSids3_unknown1 = -1;
293 static gint hf_lsarpc_lsa_LookupSids3_unknown2 = -1;
294 static gint hf_lsarpc_lsa_LookupSids_count = -1;
295 static gint hf_lsarpc_lsa_LookupSids_domains = -1;
296 static gint hf_lsarpc_lsa_LookupSids_handle = -1;
297 static gint hf_lsarpc_lsa_LookupSids_level = -1;
298 static gint hf_lsarpc_lsa_LookupSids_names = -1;
299 static gint hf_lsarpc_lsa_LookupSids_sids = -1;
300 static gint hf_lsarpc_lsa_ModificationInfo_db_create_time = -1;
301 static gint hf_lsarpc_lsa_ModificationInfo_modified_id = -1;
302 static gint hf_lsarpc_lsa_ObjectAttribute_attributes = -1;
303 static gint hf_lsarpc_lsa_ObjectAttribute_len = -1;
304 static gint hf_lsarpc_lsa_ObjectAttribute_object_name = -1;
305 static gint hf_lsarpc_lsa_ObjectAttribute_root_dir = -1;
306 static gint hf_lsarpc_lsa_ObjectAttribute_sec_desc = -1;
307 static gint hf_lsarpc_lsa_ObjectAttribute_sec_qos = -1;
308 static gint hf_lsarpc_lsa_OpenAccount_access_mask = -1;
309 static gint hf_lsarpc_lsa_OpenAccount_acct_handle = -1;
310 static gint hf_lsarpc_lsa_OpenAccount_handle = -1;
311 static gint hf_lsarpc_lsa_OpenAccount_sid = -1;
312 static gint hf_lsarpc_lsa_OpenPolicy2_access_mask = -1;
313 static gint hf_lsarpc_lsa_OpenPolicy2_attr = -1;
314 static gint hf_lsarpc_lsa_OpenPolicy2_handle = -1;
315 static gint hf_lsarpc_lsa_OpenPolicy2_system_name = -1;
316 static gint hf_lsarpc_lsa_OpenPolicy_access_mask = -1;
317 static gint hf_lsarpc_lsa_OpenPolicy_attr = -1;
318 static gint hf_lsarpc_lsa_OpenPolicy_handle = -1;
319 static gint hf_lsarpc_lsa_OpenPolicy_system_name = -1;
320 static gint hf_lsarpc_lsa_OpenSecret_access_mask = -1;
321 static gint hf_lsarpc_lsa_OpenSecret_handle = -1;
322 static gint hf_lsarpc_lsa_OpenSecret_name = -1;
323 static gint hf_lsarpc_lsa_OpenSecret_sec_handle = -1;
324 static gint hf_lsarpc_lsa_OpenTrustedDomainByName_access_mask = -1;
325 static gint hf_lsarpc_lsa_OpenTrustedDomainByName_handle = -1;
326 static gint hf_lsarpc_lsa_OpenTrustedDomainByName_name = -1;
327 static gint hf_lsarpc_lsa_OpenTrustedDomainByName_trustdom_handle = -1;
328 static gint hf_lsarpc_lsa_OpenTrustedDomain_access_mask = -1;
329 static gint hf_lsarpc_lsa_OpenTrustedDomain_handle = -1;
330 static gint hf_lsarpc_lsa_OpenTrustedDomain_sid = -1;
331 static gint hf_lsarpc_lsa_OpenTrustedDomain_trustdom_handle = -1;
332 static gint hf_lsarpc_lsa_PDAccountInfo_name = -1;
333 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_AUDIT_LOG_ADMIN = -1;
334 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_ACCOUNT = -1;
335 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_PRIVILEGE = -1;
336 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_SECRET = -1;
337 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_GET_PRIVATE_INFORMATION = -1;
338 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_LOOKUP_NAMES = -1;
339 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION = -1;
340 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SERVER_ADMIN = -1;
341 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_AUDIT_REQUIREMENTS = -1;
342 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS = -1;
343 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_TRUST_ADMIN = -1;
344 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_AUDIT_INFORMATION = -1;
345 static gint hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_LOCAL_INFORMATION = -1;
346 static gint hf_lsarpc_lsa_PolicyInformation_account_domain = -1;
347 static gint hf_lsarpc_lsa_PolicyInformation_audit_events = -1;
348 static gint hf_lsarpc_lsa_PolicyInformation_audit_log = -1;
349 static gint hf_lsarpc_lsa_PolicyInformation_auditfullquery = -1;
350 static gint hf_lsarpc_lsa_PolicyInformation_auditfullset = -1;
351 static gint hf_lsarpc_lsa_PolicyInformation_db = -1;
352 static gint hf_lsarpc_lsa_PolicyInformation_dns = -1;
353 static gint hf_lsarpc_lsa_PolicyInformation_domain = -1;
354 static gint hf_lsarpc_lsa_PolicyInformation_pd = -1;
355 static gint hf_lsarpc_lsa_PolicyInformation_quota = -1;
356 static gint hf_lsarpc_lsa_PolicyInformation_replica = -1;
357 static gint hf_lsarpc_lsa_PolicyInformation_role = -1;
358 static gint hf_lsarpc_lsa_PrivArray_count = -1;
359 static gint hf_lsarpc_lsa_PrivArray_privs = -1;
360 static gint hf_lsarpc_lsa_PrivEntry_luid = -1;
361 static gint hf_lsarpc_lsa_PrivEntry_name = -1;
362 static gint hf_lsarpc_lsa_PrivilegeSet_count = -1;
363 static gint hf_lsarpc_lsa_PrivilegeSet_set = -1;
364 static gint hf_lsarpc_lsa_PrivilegeSet_unknown = -1;
365 static gint hf_lsarpc_lsa_QosInfo_context_mode = -1;
366 static gint hf_lsarpc_lsa_QosInfo_effective_only = -1;
367 static gint hf_lsarpc_lsa_QosInfo_impersonation_level = -1;
368 static gint hf_lsarpc_lsa_QosInfo_len = -1;
369 static gint hf_lsarpc_lsa_QueryDomainInformationPolicy_handle = -1;
370 static gint hf_lsarpc_lsa_QueryDomainInformationPolicy_info = -1;
371 static gint hf_lsarpc_lsa_QueryDomainInformationPolicy_level = -1;
372 static gint hf_lsarpc_lsa_QueryInfoPolicy2_handle = -1;
373 static gint hf_lsarpc_lsa_QueryInfoPolicy2_info = -1;
374 static gint hf_lsarpc_lsa_QueryInfoPolicy2_level = -1;
375 static gint hf_lsarpc_lsa_QueryInfoPolicy_handle = -1;
376 static gint hf_lsarpc_lsa_QueryInfoPolicy_info = -1;
377 static gint hf_lsarpc_lsa_QueryInfoPolicy_level = -1;
378 static gint hf_lsarpc_lsa_QuerySecret_new_mtime = -1;
379 static gint hf_lsarpc_lsa_QuerySecret_new_val = -1;
380 static gint hf_lsarpc_lsa_QuerySecret_old_mtime = -1;
381 static gint hf_lsarpc_lsa_QuerySecret_old_val = -1;
382 static gint hf_lsarpc_lsa_QuerySecret_sec_handle = -1;
383 static gint hf_lsarpc_lsa_QuerySecurity_handle = -1;
384 static gint hf_lsarpc_lsa_QuerySecurity_sdbuf = -1;
385 static gint hf_lsarpc_lsa_QuerySecurity_sec_info = -1;
386 static gint hf_lsarpc_lsa_QueryTrustedDomainInfoByName_handle = -1;
387 static gint hf_lsarpc_lsa_QueryTrustedDomainInfoByName_info = -1;
388 static gint hf_lsarpc_lsa_QueryTrustedDomainInfoByName_level = -1;
389 static gint hf_lsarpc_lsa_QueryTrustedDomainInfoByName_trusted_domain = -1;
390 static gint hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_dom_sid = -1;
391 static gint hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_handle = -1;
392 static gint hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_info = -1;
393 static gint hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_level = -1;
394 static gint hf_lsarpc_lsa_QueryTrustedDomainInfo_info = -1;
395 static gint hf_lsarpc_lsa_QueryTrustedDomainInfo_level = -1;
396 static gint hf_lsarpc_lsa_QueryTrustedDomainInfo_trustdom_handle = -1;
397 static gint hf_lsarpc_lsa_RefDomainList_count = -1;
398 static gint hf_lsarpc_lsa_RefDomainList_domains = -1;
399 static gint hf_lsarpc_lsa_RefDomainList_max_size = -1;
400 static gint hf_lsarpc_lsa_RemoveAccountRights_handle = -1;
401 static gint hf_lsarpc_lsa_RemoveAccountRights_rights = -1;
402 static gint hf_lsarpc_lsa_RemoveAccountRights_sid = -1;
403 static gint hf_lsarpc_lsa_RemoveAccountRights_unknown = -1;
404 static gint hf_lsarpc_lsa_RemovePrivilegesFromAccount_handle = -1;
405 static gint hf_lsarpc_lsa_RemovePrivilegesFromAccount_privs = -1;
406 static gint hf_lsarpc_lsa_RemovePrivilegesFromAccount_remove_all = -1;
407 static gint hf_lsarpc_lsa_ReplicaSourceInfo_account = -1;
408 static gint hf_lsarpc_lsa_ReplicaSourceInfo_source = -1;
409 static gint hf_lsarpc_lsa_RightAttribute_name = -1;
410 static gint hf_lsarpc_lsa_RightSet_count = -1;
411 static gint hf_lsarpc_lsa_RightSet_names = -1;
412 static gint hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_QUERY_VALUE = -1;
413 static gint hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_SET_VALUE = -1;
414 static gint hf_lsarpc_lsa_ServerRole_role = -1;
415 static gint hf_lsarpc_lsa_SetDomainInformationPolicy_handle = -1;
416 static gint hf_lsarpc_lsa_SetDomainInformationPolicy_info = -1;
417 static gint hf_lsarpc_lsa_SetDomainInformationPolicy_level = -1;
418 static gint hf_lsarpc_lsa_SetInfoPolicy2_handle = -1;
419 static gint hf_lsarpc_lsa_SetInfoPolicy2_info = -1;
420 static gint hf_lsarpc_lsa_SetInfoPolicy2_level = -1;
421 static gint hf_lsarpc_lsa_SetInfoPolicy_handle = -1;
422 static gint hf_lsarpc_lsa_SetInfoPolicy_info = -1;
423 static gint hf_lsarpc_lsa_SetInfoPolicy_level = -1;
424 static gint hf_lsarpc_lsa_SetSecret_new_val = -1;
425 static gint hf_lsarpc_lsa_SetSecret_old_val = -1;
426 static gint hf_lsarpc_lsa_SetSecret_sec_handle = -1;
427 static gint hf_lsarpc_lsa_SetTrustedDomainInfoByName_handle = -1;
428 static gint hf_lsarpc_lsa_SetTrustedDomainInfoByName_info = -1;
429 static gint hf_lsarpc_lsa_SetTrustedDomainInfoByName_level = -1;
430 static gint hf_lsarpc_lsa_SetTrustedDomainInfoByName_trusted_domain = -1;
431 static gint hf_lsarpc_lsa_SidArray_num_sids = -1;
432 static gint hf_lsarpc_lsa_SidArray_sids = -1;
433 static gint hf_lsarpc_lsa_SidPtr_sid = -1;
434 static gint hf_lsarpc_lsa_StringLarge_length = -1;
435 static gint hf_lsarpc_lsa_StringLarge_size = -1;
436 static gint hf_lsarpc_lsa_StringLarge_string = -1;
437 static gint hf_lsarpc_lsa_StringPointer_string = -1;
438 static gint hf_lsarpc_lsa_String_length = -1;
439 static gint hf_lsarpc_lsa_String_size = -1;
440 static gint hf_lsarpc_lsa_String_string = -1;
441 static gint hf_lsarpc_lsa_Strings_count = -1;
442 static gint hf_lsarpc_lsa_Strings_names = -1;
443 static gint hf_lsarpc_lsa_TransNameArray2_count = -1;
444 static gint hf_lsarpc_lsa_TransNameArray2_names = -1;
445 static gint hf_lsarpc_lsa_TransNameArray_count = -1;
446 static gint hf_lsarpc_lsa_TransNameArray_names = -1;
447 static gint hf_lsarpc_lsa_TransSidArray2_count = -1;
448 static gint hf_lsarpc_lsa_TransSidArray2_sids = -1;
449 static gint hf_lsarpc_lsa_TransSidArray3_count = -1;
450 static gint hf_lsarpc_lsa_TransSidArray3_sids = -1;
451 static gint hf_lsarpc_lsa_TransSidArray_count = -1;
452 static gint hf_lsarpc_lsa_TransSidArray_sids = -1;
453 static gint hf_lsarpc_lsa_TranslatedName2_name = -1;
454 static gint hf_lsarpc_lsa_TranslatedName2_sid_index = -1;
455 static gint hf_lsarpc_lsa_TranslatedName2_sid_type = -1;
456 static gint hf_lsarpc_lsa_TranslatedName2_unknown = -1;
457 static gint hf_lsarpc_lsa_TranslatedName_name = -1;
458 static gint hf_lsarpc_lsa_TranslatedName_sid_index = -1;
459 static gint hf_lsarpc_lsa_TranslatedName_sid_type = -1;
460 static gint hf_lsarpc_lsa_TranslatedSid2_rid = -1;
461 static gint hf_lsarpc_lsa_TranslatedSid2_sid_index = -1;
462 static gint hf_lsarpc_lsa_TranslatedSid2_sid_type = -1;
463 static gint hf_lsarpc_lsa_TranslatedSid2_unknown = -1;
464 static gint hf_lsarpc_lsa_TranslatedSid3_sid = -1;
465 static gint hf_lsarpc_lsa_TranslatedSid3_sid_index = -1;
466 static gint hf_lsarpc_lsa_TranslatedSid3_sid_type = -1;
467 static gint hf_lsarpc_lsa_TranslatedSid3_unknown = -1;
468 static gint hf_lsarpc_lsa_TranslatedSid_rid = -1;
469 static gint hf_lsarpc_lsa_TranslatedSid_sid_index = -1;
470 static gint hf_lsarpc_lsa_TranslatedSid_sid_type = -1;
471 static gint hf_lsarpc_lsa_TrustDomainInfo11_data1 = -1;
472 static gint hf_lsarpc_lsa_TrustDomainInfo11_info_ex = -1;
473 static gint hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_count = -1;
474 static gint hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info = -1;
475 static gint hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info = -1;
476 static gint hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_count = -1;
477 static gint hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info = -1;
478 static gint hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info = -1;
479 static gint hf_lsarpc_lsa_TrustDomainInfoBasic_netbios_name = -1;
480 static gint hf_lsarpc_lsa_TrustDomainInfoBasic_sid = -1;
481 static gint hf_lsarpc_lsa_TrustDomainInfoBuffer_data = -1;
482 static gint hf_lsarpc_lsa_TrustDomainInfoBuffer_last_update_time = -1;
483 static gint hf_lsarpc_lsa_TrustDomainInfoBuffer_secret_type = -1;
484 static gint hf_lsarpc_lsa_TrustDomainInfoFullInfo_auth_info = -1;
485 static gint hf_lsarpc_lsa_TrustDomainInfoFullInfo_info_ex = -1;
486 static gint hf_lsarpc_lsa_TrustDomainInfoFullInfo_posix_offset = -1;
487 static gint hf_lsarpc_lsa_TrustDomainInfoInfoAll_auth_info = -1;
488 static gint hf_lsarpc_lsa_TrustDomainInfoInfoAll_data1 = -1;
489 static gint hf_lsarpc_lsa_TrustDomainInfoInfoAll_info_ex = -1;
490 static gint hf_lsarpc_lsa_TrustDomainInfoInfoAll_posix_offset = -1;
491 static gint hf_lsarpc_lsa_TrustDomainInfoInfoEx_domain_name = -1;
492 static gint hf_lsarpc_lsa_TrustDomainInfoInfoEx_netbios_name = -1;
493 static gint hf_lsarpc_lsa_TrustDomainInfoInfoEx_sid = -1;
494 static gint hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_attributes = -1;
495 static gint hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_direction = -1;
496 static gint hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_type = -1;
497 static gint hf_lsarpc_lsa_TrustDomainInfoName_netbios_name = -1;
498 static gint hf_lsarpc_lsa_TrustDomainInfoPassword_old_password = -1;
499 static gint hf_lsarpc_lsa_TrustDomainInfoPassword_password = -1;
500 static gint hf_lsarpc_lsa_TrustDomainInfoPosixOffset_posix_offset = -1;
501 static gint hf_lsarpc_lsa_TrustedDomainInfo_auth_info = -1;
502 static gint hf_lsarpc_lsa_TrustedDomainInfo_full_info = -1;
503 static gint hf_lsarpc_lsa_TrustedDomainInfo_info11 = -1;
504 static gint hf_lsarpc_lsa_TrustedDomainInfo_info_all = -1;
505 static gint hf_lsarpc_lsa_TrustedDomainInfo_info_basic = -1;
506 static gint hf_lsarpc_lsa_TrustedDomainInfo_info_ex = -1;
507 static gint hf_lsarpc_lsa_TrustedDomainInfo_name = -1;
508 static gint hf_lsarpc_lsa_TrustedDomainInfo_password = -1;
509 static gint hf_lsarpc_lsa_TrustedDomainInfo_posix_offset = -1;
510 static gint hf_lsarpc_lsa_lsaRQueryForestTrustInformation_forest_trust_info = -1;
511 static gint hf_lsarpc_lsa_lsaRQueryForestTrustInformation_handle = -1;
512 static gint hf_lsarpc_lsa_lsaRQueryForestTrustInformation_trusted_domain_name = -1;
513 static gint hf_lsarpc_lsa_lsaRQueryForestTrustInformation_unknown = -1;
514 static gint hf_lsarpc_names = -1;
515 static gint hf_lsarpc_opnum = -1;
516 static gint hf_lsarpc_policy_access_mask = -1;
517 static gint hf_lsarpc_sec_desc_buf_len = -1;
518 static gint hf_lsarpc_secret_access_mask = -1;
519 static gint hf_lsarpc_status = -1;
520
521 static gint proto_dcerpc_lsarpc = -1;
522 /* Version information */
523
524
525 static e_guid_t uuid_dcerpc_lsarpc = {
526         0x12345778, 0x1234, 0xabcd,
527         { 0xef, 0x00, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab }
528 };
529 static guint16 ver_dcerpc_lsarpc = 0;
530
531 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION_tfs = {
532    "LSA_POLICY_NOTIFICATION is SET",
533    "LSA_POLICY_NOTIFICATION is NOT SET",
534 };
535 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_LOOKUP_NAMES_tfs = {
536    "LSA_POLICY_LOOKUP_NAMES is SET",
537    "LSA_POLICY_LOOKUP_NAMES is NOT SET",
538 };
539 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_SERVER_ADMIN_tfs = {
540    "LSA_POLICY_SERVER_ADMIN is SET",
541    "LSA_POLICY_SERVER_ADMIN is NOT SET",
542 };
543 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_AUDIT_LOG_ADMIN_tfs = {
544    "LSA_POLICY_AUDIT_LOG_ADMIN is SET",
545    "LSA_POLICY_AUDIT_LOG_ADMIN is NOT SET",
546 };
547 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_SET_AUDIT_REQUIREMENTS_tfs = {
548    "LSA_POLICY_SET_AUDIT_REQUIREMENTS is SET",
549    "LSA_POLICY_SET_AUDIT_REQUIREMENTS is NOT SET",
550 };
551 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS_tfs = {
552    "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS is SET",
553    "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS is NOT SET",
554 };
555 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_CREATE_PRIVILEGE_tfs = {
556    "LSA_POLICY_CREATE_PRIVILEGE is SET",
557    "LSA_POLICY_CREATE_PRIVILEGE is NOT SET",
558 };
559 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_CREATE_SECRET_tfs = {
560    "LSA_POLICY_CREATE_SECRET is SET",
561    "LSA_POLICY_CREATE_SECRET is NOT SET",
562 };
563 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_CREATE_ACCOUNT_tfs = {
564    "LSA_POLICY_CREATE_ACCOUNT is SET",
565    "LSA_POLICY_CREATE_ACCOUNT is NOT SET",
566 };
567 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_TRUST_ADMIN_tfs = {
568    "LSA_POLICY_TRUST_ADMIN is SET",
569    "LSA_POLICY_TRUST_ADMIN is NOT SET",
570 };
571 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_GET_PRIVATE_INFORMATION_tfs = {
572    "LSA_POLICY_GET_PRIVATE_INFORMATION is SET",
573    "LSA_POLICY_GET_PRIVATE_INFORMATION is NOT SET",
574 };
575 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_VIEW_AUDIT_INFORMATION_tfs = {
576    "LSA_POLICY_VIEW_AUDIT_INFORMATION is SET",
577    "LSA_POLICY_VIEW_AUDIT_INFORMATION is NOT SET",
578 };
579 static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_VIEW_LOCAL_INFORMATION_tfs = {
580    "LSA_POLICY_VIEW_LOCAL_INFORMATION is SET",
581    "LSA_POLICY_VIEW_LOCAL_INFORMATION is NOT SET",
582 };
583 static const true_false_string lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS_tfs = {
584    "LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS is SET",
585    "LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS is NOT SET",
586 };
587 static const true_false_string lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_QUOTAS_tfs = {
588    "LSA_ACCOUNT_ADJUST_QUOTAS is SET",
589    "LSA_ACCOUNT_ADJUST_QUOTAS is NOT SET",
590 };
591 static const true_false_string lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_PRIVILEGES_tfs = {
592    "LSA_ACCOUNT_ADJUST_PRIVILEGES is SET",
593    "LSA_ACCOUNT_ADJUST_PRIVILEGES is NOT SET",
594 };
595 static const true_false_string lsa_AccountAccessMask_LSA_ACCOUNT_VIEW_tfs = {
596    "LSA_ACCOUNT_VIEW is SET",
597    "LSA_ACCOUNT_VIEW is NOT SET",
598 };
599 static const true_false_string lsa_DomainAccessMask_LSA_DOMAIN_QUERY_AUTH_tfs = {
600    "LSA_DOMAIN_QUERY_AUTH is SET",
601    "LSA_DOMAIN_QUERY_AUTH is NOT SET",
602 };
603 static const true_false_string lsa_DomainAccessMask_LSA_DOMAIN_SET_AUTH_tfs = {
604    "LSA_DOMAIN_SET_AUTH is SET",
605    "LSA_DOMAIN_SET_AUTH is NOT SET",
606 };
607 static const true_false_string lsa_DomainAccessMask_LSA_DOMAIN_SET_POSIX_tfs = {
608    "LSA_DOMAIN_SET_POSIX is SET",
609    "LSA_DOMAIN_SET_POSIX is NOT SET",
610 };
611 static const true_false_string lsa_DomainAccessMask_LSA_DOMAIN_QUERY_POSIX_tfs = {
612    "LSA_DOMAIN_QUERY_POSIX is SET",
613    "LSA_DOMAIN_QUERY_POSIX is NOT SET",
614 };
615 static const true_false_string lsa_DomainAccessMask_LSA_DOMAIN_SET_CONTROLLERS_tfs = {
616    "LSA_DOMAIN_SET_CONTROLLERS is SET",
617    "LSA_DOMAIN_SET_CONTROLLERS is NOT SET",
618 };
619 static const true_false_string lsa_DomainAccessMask_LSA_DOMAIN_QUERY_CONTROLLERS_tfs = {
620    "LSA_DOMAIN_QUERY_CONTROLLERS is SET",
621    "LSA_DOMAIN_QUERY_CONTROLLERS is NOT SET",
622 };
623 static const true_false_string lsa_DomainAccessMask_LSA_DOMAIN_QUERY_DOMAIN_NAME_tfs = {
624    "LSA_DOMAIN_QUERY_DOMAIN_NAME is SET",
625    "LSA_DOMAIN_QUERY_DOMAIN_NAME is NOT SET",
626 };
627 static const true_false_string lsa_SecretAccessMask_LSA_SECRET_QUERY_VALUE_tfs = {
628    "LSA_SECRET_QUERY_VALUE is SET",
629    "LSA_SECRET_QUERY_VALUE is NOT SET",
630 };
631 static const true_false_string lsa_SecretAccessMask_LSA_SECRET_SET_VALUE_tfs = {
632    "LSA_SECRET_SET_VALUE is SET",
633    "LSA_SECRET_SET_VALUE is NOT SET",
634 };
635 static int lsarpc_dissect_element_lsa_String_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
636 static int lsarpc_dissect_element_lsa_String_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
637 static int lsarpc_dissect_element_lsa_String_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
638 static int lsarpc_dissect_element_lsa_String_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
639 static int lsarpc_dissect_element_lsa_StringLarge_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
640 static int lsarpc_dissect_element_lsa_StringLarge_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
641 static int lsarpc_dissect_element_lsa_StringLarge_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
642 static int lsarpc_dissect_element_lsa_StringLarge_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
643 static int lsarpc_dissect_element_lsa_Strings_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
644 static int lsarpc_dissect_element_lsa_Strings_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
645 static int lsarpc_dissect_element_lsa_Strings_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
646 static int lsarpc_dissect_element_lsa_Strings_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
647 static int lsarpc_dissect_element_lsa_AsciiString_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
648 static int lsarpc_dissect_element_lsa_AsciiString_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
649 static int lsarpc_dissect_element_lsa_AsciiString_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
650 static int lsarpc_dissect_element_lsa_AsciiString_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
651 static int lsarpc_dissect_element_lsa_AsciiString_string__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
652 static int lsarpc_dissect_element_lsa_AsciiStringLarge_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
653 static int lsarpc_dissect_element_lsa_AsciiStringLarge_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
654 static int lsarpc_dissect_element_lsa_AsciiStringLarge_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
655 static int lsarpc_dissect_element_lsa_AsciiStringLarge_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
656 static int lsarpc_dissect_element_lsa_AsciiStringLarge_string__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
657 static int lsarpc_dissect_element_lsa_LUID_low(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
658 static int lsarpc_dissect_element_lsa_LUID_high(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
659 static int lsarpc_dissect_element_lsa_PrivEntry_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
660 static int lsarpc_dissect_element_lsa_PrivEntry_luid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
661 static int lsarpc_dissect_element_lsa_PrivArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
662 static int lsarpc_dissect_element_lsa_PrivArray_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
663 static int lsarpc_dissect_element_lsa_PrivArray_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
664 static int lsarpc_dissect_element_lsa_PrivArray_privs__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
665 const value_string lsarpc_lsa_SecurityImpersonationLevel_vals[] = {
666         { LSA_SECURITY_ANONYMOUS, "LSA_SECURITY_ANONYMOUS" },
667         { LSA_SECURITY_IDENTIFICATION, "LSA_SECURITY_IDENTIFICATION" },
668         { LSA_SECURITY_IMPERSONATION, "LSA_SECURITY_IMPERSONATION" },
669         { LSA_SECURITY_DELEGATION, "LSA_SECURITY_DELEGATION" },
670 { 0, NULL }
671 };
672 static int lsarpc_dissect_element_lsa_QosInfo_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
673 static int lsarpc_dissect_element_lsa_QosInfo_impersonation_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
674 static int lsarpc_dissect_element_lsa_QosInfo_context_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
675 static int lsarpc_dissect_element_lsa_QosInfo_effective_only(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
676 static int lsarpc_dissect_element_lsa_ObjectAttribute_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
677 static int lsarpc_dissect_element_lsa_ObjectAttribute_root_dir(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
678 static int lsarpc_dissect_element_lsa_ObjectAttribute_root_dir_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
679 static int lsarpc_dissect_element_lsa_ObjectAttribute_object_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
680 static int lsarpc_dissect_element_lsa_ObjectAttribute_object_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
681 static int lsarpc_dissect_element_lsa_ObjectAttribute_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
682 static int lsarpc_dissect_element_lsa_ObjectAttribute_sec_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
683 static int lsarpc_dissect_element_lsa_ObjectAttribute_sec_desc_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
684 static int lsarpc_dissect_element_lsa_ObjectAttribute_sec_qos(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
685 static int lsarpc_dissect_element_lsa_ObjectAttribute_sec_qos_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
686 static int lsarpc_dissect_element_lsa_AuditLogInfo_percent_full(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
687 static int lsarpc_dissect_element_lsa_AuditLogInfo_log_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
688 static int lsarpc_dissect_element_lsa_AuditLogInfo_retention_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
689 static int lsarpc_dissect_element_lsa_AuditLogInfo_shutdown_in_progress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
690 static int lsarpc_dissect_element_lsa_AuditLogInfo_time_to_shutdown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
691 static int lsarpc_dissect_element_lsa_AuditLogInfo_next_audit_record(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
692 static int lsarpc_dissect_element_lsa_AuditLogInfo_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
693 const value_string lsarpc_lsa_PolicyAuditPolicy_vals[] = {
694         { LSA_AUDIT_POLICY_NONE, "LSA_AUDIT_POLICY_NONE" },
695         { LSA_AUDIT_POLICY_SUCCESS, "LSA_AUDIT_POLICY_SUCCESS" },
696         { LSA_AUDIT_POLICY_FAILURE, "LSA_AUDIT_POLICY_FAILURE" },
697         { LSA_AUDIT_POLICY_ALL, "LSA_AUDIT_POLICY_ALL" },
698         { LSA_AUDIT_POLICY_CLEAR, "LSA_AUDIT_POLICY_CLEAR" },
699 { 0, NULL }
700 };
701 const value_string lsarpc_lsa_PolicyAuditEventType_vals[] = {
702         { LSA_AUDIT_CATEGORY_SYSTEM, "LSA_AUDIT_CATEGORY_SYSTEM" },
703         { LSA_AUDIT_CATEGORY_LOGON, "LSA_AUDIT_CATEGORY_LOGON" },
704         { LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS, "LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS" },
705         { LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS, "LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS" },
706         { LSA_AUDIT_CATEGORY_PROCCESS_TRACKING, "LSA_AUDIT_CATEGORY_PROCCESS_TRACKING" },
707         { LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES, "LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES" },
708         { LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT, "LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT" },
709         { LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS, "LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS" },
710         { LSA_AUDIT_CATEGORY_ACCOUNT_LOGON, "LSA_AUDIT_CATEGORY_ACCOUNT_LOGON" },
711 { 0, NULL }
712 };
713 static int lsarpc_dissect_element_lsa_AuditEventsInfo_auditing_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
714 static int lsarpc_dissect_element_lsa_AuditEventsInfo_settings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
715 static int lsarpc_dissect_element_lsa_AuditEventsInfo_settings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
716 static int lsarpc_dissect_element_lsa_AuditEventsInfo_settings__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
717 static int lsarpc_dissect_element_lsa_AuditEventsInfo_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
718 static int lsarpc_dissect_element_lsa_DomainInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
719 static int lsarpc_dissect_element_lsa_DomainInfo_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
720 static int lsarpc_dissect_element_lsa_DomainInfo_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
721 static int lsarpc_dissect_element_lsa_PDAccountInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
722 const value_string lsarpc_lsa_PolicyServerRole_vals[] = {
723         { LSA_POLICY_ROLE_BACKUP, "LSA_POLICY_ROLE_BACKUP" },
724         { LSA_POLICY_ROLE_PRIMARY, "LSA_POLICY_ROLE_PRIMARY" },
725 { 0, NULL }
726 };
727 static int lsarpc_dissect_element_lsa_ServerRole_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
728 static int lsarpc_dissect_element_lsa_ReplicaSourceInfo_source(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
729 static int lsarpc_dissect_element_lsa_ReplicaSourceInfo_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
730 static int lsarpc_dissect_element_lsa_DefaultQuotaInfo_paged_pool(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
731 static int lsarpc_dissect_element_lsa_DefaultQuotaInfo_non_paged_pool(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
732 static int lsarpc_dissect_element_lsa_DefaultQuotaInfo_min_wss(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
733 static int lsarpc_dissect_element_lsa_DefaultQuotaInfo_max_wss(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
734 static int lsarpc_dissect_element_lsa_DefaultQuotaInfo_pagefile(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
735 static int lsarpc_dissect_element_lsa_DefaultQuotaInfo_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
736 static int lsarpc_dissect_element_lsa_ModificationInfo_modified_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
737 static int lsarpc_dissect_element_lsa_ModificationInfo_db_create_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
738 static int lsarpc_dissect_element_lsa_AuditFullSetInfo_shutdown_on_full(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
739 static int lsarpc_dissect_element_lsa_AuditFullQueryInfo_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
740 static int lsarpc_dissect_element_lsa_AuditFullQueryInfo_shutdown_on_full(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
741 static int lsarpc_dissect_element_lsa_AuditFullQueryInfo_log_is_full(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
742 static int lsarpc_dissect_element_lsa_DnsDomainInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
743 static int lsarpc_dissect_element_lsa_DnsDomainInfo_dns_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
744 static int lsarpc_dissect_element_lsa_DnsDomainInfo_dns_forest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
745 static int lsarpc_dissect_element_lsa_DnsDomainInfo_domain_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
746 static int lsarpc_dissect_element_lsa_DnsDomainInfo_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
747 static int lsarpc_dissect_element_lsa_DnsDomainInfo_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
748 const value_string lsarpc_lsa_PolicyInfo_vals[] = {
749         { LSA_POLICY_INFO_AUDIT_LOG, "LSA_POLICY_INFO_AUDIT_LOG" },
750         { LSA_POLICY_INFO_AUDIT_EVENTS, "LSA_POLICY_INFO_AUDIT_EVENTS" },
751         { LSA_POLICY_INFO_DOMAIN, "LSA_POLICY_INFO_DOMAIN" },
752         { LSA_POLICY_INFO_PD, "LSA_POLICY_INFO_PD" },
753         { LSA_POLICY_INFO_ACCOUNT_DOMAIN, "LSA_POLICY_INFO_ACCOUNT_DOMAIN" },
754         { LSA_POLICY_INFO_ROLE, "LSA_POLICY_INFO_ROLE" },
755         { LSA_POLICY_INFO_REPLICA, "LSA_POLICY_INFO_REPLICA" },
756         { LSA_POLICY_INFO_QUOTA, "LSA_POLICY_INFO_QUOTA" },
757         { LSA_POLICY_INFO_DB, "LSA_POLICY_INFO_DB" },
758         { LSA_POLICY_INFO_AUDIT_FULL_SET, "LSA_POLICY_INFO_AUDIT_FULL_SET" },
759         { LSA_POLICY_INFO_AUDIT_FULL_QUERY, "LSA_POLICY_INFO_AUDIT_FULL_QUERY" },
760         { LSA_POLICY_INFO_DNS, "LSA_POLICY_INFO_DNS" },
761         { LSA_POLICY_INFO_DNS_INT, "LSA_POLICY_INFO_DNS_INT" },
762         { LSA_POLICY_INFO_LOCAL_ACCOUNT_DOMAIN, "LSA_POLICY_INFO_LOCAL_ACCOUNT_DOMAIN" },
763 { 0, NULL }
764 };
765 static int lsarpc_dissect_element_lsa_PolicyInformation_audit_log(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
766 static int lsarpc_dissect_element_lsa_PolicyInformation_audit_events(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
767 static int lsarpc_dissect_element_lsa_PolicyInformation_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
768 static int lsarpc_dissect_element_lsa_PolicyInformation_pd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
769 static int lsarpc_dissect_element_lsa_PolicyInformation_account_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
770 static int lsarpc_dissect_element_lsa_PolicyInformation_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
771 static int lsarpc_dissect_element_lsa_PolicyInformation_replica(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
772 static int lsarpc_dissect_element_lsa_PolicyInformation_quota(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
773 static int lsarpc_dissect_element_lsa_PolicyInformation_db(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
774 static int lsarpc_dissect_element_lsa_PolicyInformation_auditfullset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
775 static int lsarpc_dissect_element_lsa_PolicyInformation_auditfullquery(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
776 static int lsarpc_dissect_element_lsa_PolicyInformation_dns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
777 static int lsarpc_dissect_element_lsa_SidPtr_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
778 static int lsarpc_dissect_element_lsa_SidPtr_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
779 static int lsarpc_dissect_element_lsa_SidArray_num_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
780 static int lsarpc_dissect_element_lsa_SidArray_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
781 static int lsarpc_dissect_element_lsa_SidArray_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
782 static int lsarpc_dissect_element_lsa_SidArray_sids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
783 static int lsarpc_dissect_element_lsa_DomainList_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
784 static int lsarpc_dissect_element_lsa_DomainList_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
785 static int lsarpc_dissect_element_lsa_DomainList_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
786 static int lsarpc_dissect_element_lsa_DomainList_domains__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
787 const value_string lsarpc_lsa_SidType_vals[] = {
788         { SID_NAME_USE_NONE, "SID_NAME_USE_NONE" },
789         { SID_NAME_USER, "SID_NAME_USER" },
790         { SID_NAME_DOM_GRP, "SID_NAME_DOM_GRP" },
791         { SID_NAME_DOMAIN, "SID_NAME_DOMAIN" },
792         { SID_NAME_ALIAS, "SID_NAME_ALIAS" },
793         { SID_NAME_WKN_GRP, "SID_NAME_WKN_GRP" },
794         { SID_NAME_DELETED, "SID_NAME_DELETED" },
795         { SID_NAME_INVALID, "SID_NAME_INVALID" },
796         { SID_NAME_UNKNOWN, "SID_NAME_UNKNOWN" },
797         { SID_NAME_COMPUTER, "SID_NAME_COMPUTER" },
798 { 0, NULL }
799 };
800 static int lsarpc_dissect_element_lsa_TranslatedSid_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
801 static int lsarpc_dissect_element_lsa_TranslatedSid_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
802 static int lsarpc_dissect_element_lsa_TranslatedSid_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
803 static int lsarpc_dissect_element_lsa_TransSidArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
804 static int lsarpc_dissect_element_lsa_TransSidArray_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
805 static int lsarpc_dissect_element_lsa_TransSidArray_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
806 static int lsarpc_dissect_element_lsa_TransSidArray_sids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
807 static int lsarpc_dissect_element_lsa_RefDomainList_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
808 static int lsarpc_dissect_element_lsa_RefDomainList_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
809 static int lsarpc_dissect_element_lsa_RefDomainList_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
810 static int lsarpc_dissect_element_lsa_RefDomainList_domains__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
811 static int lsarpc_dissect_element_lsa_RefDomainList_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
812 const value_string lsarpc_lsa_LookupNamesLevel_vals[] = {
813         { LSA_LOOKUP_NAMES_ALL, "LSA_LOOKUP_NAMES_ALL" },
814         { LSA_LOOKUP_NAMES_DOMAINS_ONLY, "LSA_LOOKUP_NAMES_DOMAINS_ONLY" },
815         { LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY, "LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY" },
816         { LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY, "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY" },
817         { LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY, "LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY" },
818         { LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2, "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2" },
819 { 0, NULL }
820 };
821 static int lsarpc_dissect_element_lsa_TranslatedName_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
822 static int lsarpc_dissect_element_lsa_TranslatedName_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
823 static int lsarpc_dissect_element_lsa_TranslatedName_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
824 static int lsarpc_dissect_element_lsa_TransNameArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
825 static int lsarpc_dissect_element_lsa_TransNameArray_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
826 static int lsarpc_dissect_element_lsa_TransNameArray_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
827 static int lsarpc_dissect_element_lsa_TransNameArray_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
828 static int lsarpc_dissect_element_lsa_LUIDAttribute_luid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
829 static int lsarpc_dissect_element_lsa_LUIDAttribute_attribute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
830 static int lsarpc_dissect_element_lsa_PrivilegeSet_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
831 static int lsarpc_dissect_element_lsa_PrivilegeSet_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
832 static int lsarpc_dissect_element_lsa_PrivilegeSet_set(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
833 static int lsarpc_dissect_element_lsa_PrivilegeSet_set_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
834 static int lsarpc_dissect_element_lsa_DATA_BUF_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
835 static int lsarpc_dissect_element_lsa_DATA_BUF_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
836 static int lsarpc_dissect_element_lsa_DATA_BUF_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
837 static int lsarpc_dissect_element_lsa_DATA_BUF_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
838 static int lsarpc_dissect_element_lsa_DATA_BUF_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
839 static int lsarpc_dissect_element_lsa_DATA_BUF2_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
840 static int lsarpc_dissect_element_lsa_DATA_BUF2_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
841 static int lsarpc_dissect_element_lsa_DATA_BUF2_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
842 static int lsarpc_dissect_element_lsa_DATA_BUF2_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
843 const value_string lsarpc_lsa_TrustDomInfoEnum_vals[] = {
844         { LSA_TRUSTED_DOMAIN_INFO_NAME, "LSA_TRUSTED_DOMAIN_INFO_NAME" },
845         { LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO, "LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO" },
846         { LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET, "LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET" },
847         { LSA_TRUSTED_DOMAIN_INFO_PASSWORD, "LSA_TRUSTED_DOMAIN_INFO_PASSWORD" },
848         { LSA_TRUSTED_DOMAIN_INFO_BASIC, "LSA_TRUSTED_DOMAIN_INFO_BASIC" },
849         { LSA_TRUSTED_DOMAIN_INFO_INFO_EX, "LSA_TRUSTED_DOMAIN_INFO_INFO_EX" },
850         { LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO, "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO" },
851         { LSA_TRUSTED_DOMAIN_INFO_FULL_INFO, "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO" },
852         { LSA_TRUSTED_DOMAIN_INFO_11, "LSA_TRUSTED_DOMAIN_INFO_11" },
853         { LSA_TRUSTED_DOMAIN_INFO_INFO_ALL, "LSA_TRUSTED_DOMAIN_INFO_INFO_ALL" },
854 { 0, NULL }
855 };
856 static int lsarpc_dissect_element_lsa_TrustDomainInfoName_netbios_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
857 static int lsarpc_dissect_element_lsa_TrustDomainInfoPosixOffset_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
858 static int lsarpc_dissect_element_lsa_TrustDomainInfoPassword_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
859 static int lsarpc_dissect_element_lsa_TrustDomainInfoPassword_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
860 static int lsarpc_dissect_element_lsa_TrustDomainInfoPassword_old_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
861 static int lsarpc_dissect_element_lsa_TrustDomainInfoPassword_old_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
862 static int lsarpc_dissect_element_lsa_TrustDomainInfoBasic_netbios_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
863 static int lsarpc_dissect_element_lsa_TrustDomainInfoBasic_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
864 static int lsarpc_dissect_element_lsa_TrustDomainInfoBasic_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
865 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
866 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_netbios_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
867 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
868 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
869 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_direction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
870 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
871 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
872 static int lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_last_update_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
873 static int lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_secret_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
874 static int lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
875 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
876 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
877 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
878 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
879 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
880 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
881 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
882 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
883 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
884 static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
885 static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
886 static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
887 static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
888 static int lsarpc_dissect_element_lsa_TrustDomainInfo11_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
889 static int lsarpc_dissect_element_lsa_TrustDomainInfo11_data1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
890 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
891 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_data1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
892 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
893 static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
894 static int lsarpc_dissect_element_lsa_TrustedDomainInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
895 static int lsarpc_dissect_element_lsa_TrustedDomainInfo_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
896 static int lsarpc_dissect_element_lsa_TrustedDomainInfo_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
897 static int lsarpc_dissect_element_lsa_TrustedDomainInfo_info_basic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
898 static int lsarpc_dissect_element_lsa_TrustedDomainInfo_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
899 static int lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
900 static int lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
901 static int lsarpc_dissect_element_lsa_TrustedDomainInfo_info11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
902 static int lsarpc_dissect_element_lsa_TrustedDomainInfo_info_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
903 static int lsarpc_dissect_element_lsa_DATA_BUF_PTR_buf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
904 static int lsarpc_dissect_element_lsa_DATA_BUF_PTR_buf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
905 static int lsarpc_dissect_element_lsa_RightAttribute_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
906 static int lsarpc_dissect_element_lsa_RightAttribute_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
907 static int lsarpc_dissect_element_lsa_RightSet_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
908 static int lsarpc_dissect_element_lsa_RightSet_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
909 static int lsarpc_dissect_element_lsa_RightSet_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
910 static int lsarpc_dissect_element_lsa_RightSet_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
911 static int lsarpc_dissect_element_lsa_StringPointer_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
912 static int lsarpc_dissect_element_lsa_StringPointer_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
913 static int lsarpc_dissect_element_lsa_DomainListEx_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
914 static int lsarpc_dissect_element_lsa_DomainListEx_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
915 static int lsarpc_dissect_element_lsa_DomainListEx_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
916 static int lsarpc_dissect_element_lsa_DomainListEx_domains__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
917 static int lsarpc_dissect_element_lsa_DomainInfoKerberos_enforce_restrictions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
918 static int lsarpc_dissect_element_lsa_DomainInfoKerberos_service_tkt_lifetime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
919 static int lsarpc_dissect_element_lsa_DomainInfoKerberos_user_tkt_lifetime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
920 static int lsarpc_dissect_element_lsa_DomainInfoKerberos_user_tkt_renewaltime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
921 static int lsarpc_dissect_element_lsa_DomainInfoKerberos_clock_skew(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
922 static int lsarpc_dissect_element_lsa_DomainInfoKerberos_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
923 static int lsarpc_dissect_element_lsa_DomainInfoEfs_blob_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
924 static int lsarpc_dissect_element_lsa_DomainInfoEfs_efs_blob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
925 static int lsarpc_dissect_element_lsa_DomainInfoEfs_efs_blob_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
926 const value_string lsarpc_lsa_DomainInfoEnum_vals[] = {
927         { LSA_DOMAIN_INFO_POLICY_QOS, "LSA_DOMAIN_INFO_POLICY_QOS" },
928         { LSA_DOMAIN_INFO_POLICY_EFS, "LSA_DOMAIN_INFO_POLICY_EFS" },
929         { LSA_DOMAIN_INFO_POLICY_KERBEROS, "LSA_DOMAIN_INFO_POLICY_KERBEROS" },
930 { 0, NULL }
931 };
932 static int lsarpc_dissect_element_lsa_DomainInformationPolicy_efs_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
933 static int lsarpc_dissect_element_lsa_DomainInformationPolicy_kerberos_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
934 static int lsarpc_dissect_element_lsa_TranslatedName2_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
935 static int lsarpc_dissect_element_lsa_TranslatedName2_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
936 static int lsarpc_dissect_element_lsa_TranslatedName2_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
937 static int lsarpc_dissect_element_lsa_TranslatedName2_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
938 static int lsarpc_dissect_element_lsa_TransNameArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
939 static int lsarpc_dissect_element_lsa_TransNameArray2_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
940 static int lsarpc_dissect_element_lsa_TransNameArray2_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
941 static int lsarpc_dissect_element_lsa_TransNameArray2_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
942 static int lsarpc_dissect_element_lsa_TranslatedSid2_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
943 static int lsarpc_dissect_element_lsa_TranslatedSid2_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
944 static int lsarpc_dissect_element_lsa_TranslatedSid2_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
945 static int lsarpc_dissect_element_lsa_TranslatedSid2_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
946 static int lsarpc_dissect_element_lsa_TransSidArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
947 static int lsarpc_dissect_element_lsa_TransSidArray2_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
948 static int lsarpc_dissect_element_lsa_TransSidArray2_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
949 static int lsarpc_dissect_element_lsa_TransSidArray2_sids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
950 static int lsarpc_dissect_element_lsa_TranslatedSid3_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
951 static int lsarpc_dissect_element_lsa_TranslatedSid3_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
952 static int lsarpc_dissect_element_lsa_TranslatedSid3_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
953 static int lsarpc_dissect_element_lsa_TranslatedSid3_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
954 static int lsarpc_dissect_element_lsa_TranslatedSid3_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
955 static int lsarpc_dissect_element_lsa_TransSidArray3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
956 static int lsarpc_dissect_element_lsa_TransSidArray3_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
957 static int lsarpc_dissect_element_lsa_TransSidArray3_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
958 static int lsarpc_dissect_element_lsa_TransSidArray3_sids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
959 static int lsarpc_dissect_element_lsa_ForestTrustBinaryData_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
960 static int lsarpc_dissect_element_lsa_ForestTrustBinaryData_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
961 static int lsarpc_dissect_element_lsa_ForestTrustBinaryData_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
962 static int lsarpc_dissect_element_lsa_ForestTrustBinaryData_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
963 static int lsarpc_dissect_element_lsa_ForestTrustDomainInfo_domain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
964 static int lsarpc_dissect_element_lsa_ForestTrustDomainInfo_domain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
965 static int lsarpc_dissect_element_lsa_ForestTrustDomainInfo_dns_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
966 static int lsarpc_dissect_element_lsa_ForestTrustDomainInfo_netbios_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
967 static int lsarpc_dissect_element_lsa_ForestTrustData_top_level_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
968 static int lsarpc_dissect_element_lsa_ForestTrustData_top_level_name_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
969 static int lsarpc_dissect_element_lsa_ForestTrustData_domain_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
970 static int lsarpc_dissect_element_lsa_ForestTrustData_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
971 const value_string lsarpc_lsa_ForestTrustRecordType_vals[] = {
972         { LSA_FOREST_TRUST_TOP_LEVEL_NAME, "LSA_FOREST_TRUST_TOP_LEVEL_NAME" },
973         { LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX, "LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX" },
974         { LSA_FOREST_TRUST_DOMAIN_INFO, "LSA_FOREST_TRUST_DOMAIN_INFO" },
975         { LSA_FOREST_TRUST_RECORD_TYPE_LAST, "LSA_FOREST_TRUST_RECORD_TYPE_LAST" },
976 { 0, NULL }
977 };
978 static int lsarpc_dissect_element_lsa_ForestTrustRecord_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
979 static int lsarpc_dissect_element_lsa_ForestTrustRecord_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *level);
980 static int lsarpc_dissect_element_lsa_ForestTrustRecord_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
981 static int lsarpc_dissect_element_lsa_ForestTrustRecord_forest_trust_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *level);
982 static int lsarpc_dissect_element_lsa_ForestTrustInformation_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
983 static int lsarpc_dissect_element_lsa_ForestTrustInformation_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
984 static int lsarpc_dissect_element_lsa_ForestTrustInformation_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
985 static int lsarpc_dissect_element_lsa_ForestTrustInformation_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
986 static int lsarpc_dissect_element_lsa_ForestTrustInformation_entries___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
987 static int lsarpc_dissect_element_lsa_Close_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
988 static int lsarpc_dissect_element_lsa_Close_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
989 static int lsarpc_dissect_element_lsa_Delete_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
990 static int lsarpc_dissect_element_lsa_Delete_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
991 static int lsarpc_dissect_element_lsa_EnumPrivs_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
992 static int lsarpc_dissect_element_lsa_EnumPrivs_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
993 static int lsarpc_dissect_element_lsa_EnumPrivs_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
994 static int lsarpc_dissect_element_lsa_EnumPrivs_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
995 static int lsarpc_dissect_element_lsa_EnumPrivs_max_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
996 static int lsarpc_dissect_element_lsa_EnumPrivs_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
997 static int lsarpc_dissect_element_lsa_EnumPrivs_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
998 static int lsarpc_dissect_element_lsa_QuerySecurity_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
999 static int lsarpc_dissect_element_lsa_QuerySecurity_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1000 static int lsarpc_dissect_element_lsa_QuerySecurity_sec_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1001 static int lsarpc_dissect_element_lsa_QuerySecurity_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1002 static int lsarpc_dissect_element_lsa_QuerySecurity_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1003 static int lsarpc_dissect_element_lsa_OpenPolicy_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1004 static int lsarpc_dissect_element_lsa_OpenPolicy_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1005 static int lsarpc_dissect_element_lsa_OpenPolicy_attr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1006 static int lsarpc_dissect_element_lsa_OpenPolicy_attr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1007 static int lsarpc_dissect_element_lsa_OpenPolicy_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1008 static int lsarpc_dissect_element_lsa_OpenPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1009 static int lsarpc_dissect_element_lsa_OpenPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1010 static int lsarpc_dissect_element_lsa_QueryInfoPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1011 static int lsarpc_dissect_element_lsa_QueryInfoPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1012 static int lsarpc_dissect_element_lsa_QueryInfoPolicy_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1013 static int lsarpc_dissect_element_lsa_QueryInfoPolicy_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1014 static int lsarpc_dissect_element_lsa_QueryInfoPolicy_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1015 static int lsarpc_dissect_element_lsa_SetInfoPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1016 static int lsarpc_dissect_element_lsa_SetInfoPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1017 static int lsarpc_dissect_element_lsa_SetInfoPolicy_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1018 static int lsarpc_dissect_element_lsa_SetInfoPolicy_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1019 static int lsarpc_dissect_element_lsa_SetInfoPolicy_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1020 static int lsarpc_dissect_element_lsa_CreateAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1021 static int lsarpc_dissect_element_lsa_CreateAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1022 static int lsarpc_dissect_element_lsa_CreateAccount_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1023 static int lsarpc_dissect_element_lsa_CreateAccount_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1024 static int lsarpc_dissect_element_lsa_CreateAccount_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1025 static int lsarpc_dissect_element_lsa_CreateAccount_acct_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1026 static int lsarpc_dissect_element_lsa_CreateAccount_acct_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1027 static int lsarpc_dissect_element_lsa_EnumAccounts_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1028 static int lsarpc_dissect_element_lsa_EnumAccounts_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1029 static int lsarpc_dissect_element_lsa_EnumAccounts_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1030 static int lsarpc_dissect_element_lsa_EnumAccounts_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1031 static int lsarpc_dissect_element_lsa_EnumAccounts_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1032 static int lsarpc_dissect_element_lsa_EnumAccounts_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1033 static int lsarpc_dissect_element_lsa_EnumAccounts_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1034 static int lsarpc_dissect_element_lsa_CreateTrustedDomain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1035 static int lsarpc_dissect_element_lsa_CreateTrustedDomain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1036 static int lsarpc_dissect_element_lsa_CreateTrustedDomain_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1037 static int lsarpc_dissect_element_lsa_CreateTrustedDomain_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1038 static int lsarpc_dissect_element_lsa_CreateTrustedDomain_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1039 static int lsarpc_dissect_element_lsa_CreateTrustedDomain_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1040 static int lsarpc_dissect_element_lsa_CreateTrustedDomain_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1041 static int lsarpc_dissect_element_lsa_EnumTrustDom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1042 static int lsarpc_dissect_element_lsa_EnumTrustDom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1043 static int lsarpc_dissect_element_lsa_EnumTrustDom_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1044 static int lsarpc_dissect_element_lsa_EnumTrustDom_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1045 static int lsarpc_dissect_element_lsa_EnumTrustDom_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1046 static int lsarpc_dissect_element_lsa_EnumTrustDom_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1047 static int lsarpc_dissect_element_lsa_EnumTrustDom_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1048 static int lsarpc_dissect_element_lsa_LookupNames_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1049 static int lsarpc_dissect_element_lsa_LookupNames_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1050 static int lsarpc_dissect_element_lsa_LookupNames_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1051 static int lsarpc_dissect_element_lsa_LookupNames_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1052 static int lsarpc_dissect_element_lsa_LookupNames_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1053 static int lsarpc_dissect_element_lsa_LookupNames_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1054 static int lsarpc_dissect_element_lsa_LookupNames_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1055 static int lsarpc_dissect_element_lsa_LookupNames_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1056 static int lsarpc_dissect_element_lsa_LookupNames_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1057 static int lsarpc_dissect_element_lsa_LookupNames_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1058 static int lsarpc_dissect_element_lsa_LookupNames_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1059 static int lsarpc_dissect_element_lsa_LookupSids_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1060 static int lsarpc_dissect_element_lsa_LookupSids_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1061 static int lsarpc_dissect_element_lsa_LookupSids_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1062 static int lsarpc_dissect_element_lsa_LookupSids_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1063 static int lsarpc_dissect_element_lsa_LookupSids_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1064 static int lsarpc_dissect_element_lsa_LookupSids_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1065 static int lsarpc_dissect_element_lsa_LookupSids_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1066 static int lsarpc_dissect_element_lsa_LookupSids_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1067 static int lsarpc_dissect_element_lsa_LookupSids_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1068 static int lsarpc_dissect_element_lsa_LookupSids_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1069 static int lsarpc_dissect_element_lsa_LookupSids_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1070 static int lsarpc_dissect_element_lsa_CreateSecret_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1071 static int lsarpc_dissect_element_lsa_CreateSecret_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1072 static int lsarpc_dissect_element_lsa_CreateSecret_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1073 static int lsarpc_dissect_element_lsa_CreateSecret_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1074 static int lsarpc_dissect_element_lsa_CreateSecret_sec_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1075 static int lsarpc_dissect_element_lsa_CreateSecret_sec_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1076 static int lsarpc_dissect_element_lsa_OpenAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1077 static int lsarpc_dissect_element_lsa_OpenAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1078 static int lsarpc_dissect_element_lsa_OpenAccount_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1079 static int lsarpc_dissect_element_lsa_OpenAccount_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1080 static int lsarpc_dissect_element_lsa_OpenAccount_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1081 static int lsarpc_dissect_element_lsa_OpenAccount_acct_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1082 static int lsarpc_dissect_element_lsa_OpenAccount_acct_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1083 static int lsarpc_dissect_element_lsa_EnumPrivsAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1084 static int lsarpc_dissect_element_lsa_EnumPrivsAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1085 static int lsarpc_dissect_element_lsa_EnumPrivsAccount_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1086 static int lsarpc_dissect_element_lsa_EnumPrivsAccount_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1087 static int lsarpc_dissect_element_lsa_AddPrivilegesToAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1088 static int lsarpc_dissect_element_lsa_AddPrivilegesToAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1089 static int lsarpc_dissect_element_lsa_AddPrivilegesToAccount_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1090 static int lsarpc_dissect_element_lsa_AddPrivilegesToAccount_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1091 static int lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1092 static int lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1093 static int lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_remove_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1094 static int lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1095 static int lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1096 static int lsarpc_dissect_element_lsa_OpenTrustedDomain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1097 static int lsarpc_dissect_element_lsa_OpenTrustedDomain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1098 static int lsarpc_dissect_element_lsa_OpenTrustedDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1099 static int lsarpc_dissect_element_lsa_OpenTrustedDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1100 static int lsarpc_dissect_element_lsa_OpenTrustedDomain_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1101 static int lsarpc_dissect_element_lsa_OpenTrustedDomain_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1102 static int lsarpc_dissect_element_lsa_OpenTrustedDomain_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1103 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1104 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1105 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1106 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1107 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1108 static int lsarpc_dissect_element_lsa_OpenSecret_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1109 static int lsarpc_dissect_element_lsa_OpenSecret_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1110 static int lsarpc_dissect_element_lsa_OpenSecret_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1111 static int lsarpc_dissect_element_lsa_OpenSecret_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1112 static int lsarpc_dissect_element_lsa_OpenSecret_sec_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1113 static int lsarpc_dissect_element_lsa_OpenSecret_sec_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1114 static int lsarpc_dissect_element_lsa_SetSecret_sec_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1115 static int lsarpc_dissect_element_lsa_SetSecret_sec_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1116 static int lsarpc_dissect_element_lsa_SetSecret_new_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1117 static int lsarpc_dissect_element_lsa_SetSecret_new_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1118 static int lsarpc_dissect_element_lsa_SetSecret_old_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1119 static int lsarpc_dissect_element_lsa_SetSecret_old_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1120 static int lsarpc_dissect_element_lsa_QuerySecret_sec_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1121 static int lsarpc_dissect_element_lsa_QuerySecret_sec_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1122 static int lsarpc_dissect_element_lsa_QuerySecret_new_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1123 static int lsarpc_dissect_element_lsa_QuerySecret_new_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1124 static int lsarpc_dissect_element_lsa_QuerySecret_new_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1125 static int lsarpc_dissect_element_lsa_QuerySecret_new_mtime_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1126 static int lsarpc_dissect_element_lsa_QuerySecret_old_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1127 static int lsarpc_dissect_element_lsa_QuerySecret_old_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1128 static int lsarpc_dissect_element_lsa_QuerySecret_old_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1129 static int lsarpc_dissect_element_lsa_QuerySecret_old_mtime_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1130 static int lsarpc_dissect_element_lsa_LookupPrivValue_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1131 static int lsarpc_dissect_element_lsa_LookupPrivValue_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1132 static int lsarpc_dissect_element_lsa_LookupPrivValue_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1133 static int lsarpc_dissect_element_lsa_LookupPrivValue_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1134 static int lsarpc_dissect_element_lsa_LookupPrivValue_luid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1135 static int lsarpc_dissect_element_lsa_LookupPrivValue_luid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1136 static int lsarpc_dissect_element_lsa_LookupPrivName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1137 static int lsarpc_dissect_element_lsa_LookupPrivName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1138 static int lsarpc_dissect_element_lsa_LookupPrivName_luid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1139 static int lsarpc_dissect_element_lsa_LookupPrivName_luid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1140 static int lsarpc_dissect_element_lsa_LookupPrivName_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1141 static int lsarpc_dissect_element_lsa_LookupPrivName_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1142 static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1143 static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1144 static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1145 static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1146 static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_disp_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1147 static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_disp_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1148 static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1149 static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1150 static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1151 static int lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1152 static int lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1153 static int lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1154 static int lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1155 static int lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1156 static int lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1157 static int lsarpc_dissect_element_lsa_EnumAccountRights_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1158 static int lsarpc_dissect_element_lsa_EnumAccountRights_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1159 static int lsarpc_dissect_element_lsa_EnumAccountRights_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1160 static int lsarpc_dissect_element_lsa_EnumAccountRights_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1161 static int lsarpc_dissect_element_lsa_EnumAccountRights_rights(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1162 static int lsarpc_dissect_element_lsa_EnumAccountRights_rights_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1163 static int lsarpc_dissect_element_lsa_AddAccountRights_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1164 static int lsarpc_dissect_element_lsa_AddAccountRights_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1165 static int lsarpc_dissect_element_lsa_AddAccountRights_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1166 static int lsarpc_dissect_element_lsa_AddAccountRights_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1167 static int lsarpc_dissect_element_lsa_AddAccountRights_rights(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1168 static int lsarpc_dissect_element_lsa_AddAccountRights_rights_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1169 static int lsarpc_dissect_element_lsa_RemoveAccountRights_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1170 static int lsarpc_dissect_element_lsa_RemoveAccountRights_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1171 static int lsarpc_dissect_element_lsa_RemoveAccountRights_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1172 static int lsarpc_dissect_element_lsa_RemoveAccountRights_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1173 static int lsarpc_dissect_element_lsa_RemoveAccountRights_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1174 static int lsarpc_dissect_element_lsa_RemoveAccountRights_rights(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1175 static int lsarpc_dissect_element_lsa_RemoveAccountRights_rights_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1176 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1177 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1178 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_dom_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1179 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_dom_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1180 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1181 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1182 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1183 static int lsarpc_dissect_element_lsa_DeleteTrustedDomain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1184 static int lsarpc_dissect_element_lsa_DeleteTrustedDomain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1185 static int lsarpc_dissect_element_lsa_DeleteTrustedDomain_dom_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1186 static int lsarpc_dissect_element_lsa_DeleteTrustedDomain_dom_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1187 static int lsarpc_dissect_element_lsa_OpenPolicy2_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1188 static int lsarpc_dissect_element_lsa_OpenPolicy2_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1189 static int lsarpc_dissect_element_lsa_OpenPolicy2_attr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1190 static int lsarpc_dissect_element_lsa_OpenPolicy2_attr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1191 static int lsarpc_dissect_element_lsa_OpenPolicy2_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1192 static int lsarpc_dissect_element_lsa_OpenPolicy2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1193 static int lsarpc_dissect_element_lsa_OpenPolicy2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1194 static int lsarpc_dissect_element_lsa_GetUserName_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1195 static int lsarpc_dissect_element_lsa_GetUserName_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1196 static int lsarpc_dissect_element_lsa_GetUserName_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1197 static int lsarpc_dissect_element_lsa_GetUserName_account_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1198 static int lsarpc_dissect_element_lsa_GetUserName_authority_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1199 static int lsarpc_dissect_element_lsa_GetUserName_authority_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1200 static int lsarpc_dissect_element_lsa_QueryInfoPolicy2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1201 static int lsarpc_dissect_element_lsa_QueryInfoPolicy2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1202 static int lsarpc_dissect_element_lsa_QueryInfoPolicy2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1203 static int lsarpc_dissect_element_lsa_QueryInfoPolicy2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1204 static int lsarpc_dissect_element_lsa_QueryInfoPolicy2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1205 static int lsarpc_dissect_element_lsa_SetInfoPolicy2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1206 static int lsarpc_dissect_element_lsa_SetInfoPolicy2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1207 static int lsarpc_dissect_element_lsa_SetInfoPolicy2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1208 static int lsarpc_dissect_element_lsa_SetInfoPolicy2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1209 static int lsarpc_dissect_element_lsa_SetInfoPolicy2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1210 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1211 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1212 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_trusted_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1213 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1214 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1215 static int lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1216 static int lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1217 static int lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1218 static int lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_trusted_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1219 static int lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1220 static int lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1221 static int lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1222 static int lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1223 static int lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1224 static int lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1225 static int lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1226 static int lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1227 static int lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1228 static int lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1229 static int lsarpc_dissect_element_lsa_CloseTrustedDomainEx_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1230 static int lsarpc_dissect_element_lsa_CloseTrustedDomainEx_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1231 static int lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1232 static int lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1233 static int lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1234 static int lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1235 static int lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1236 static int lsarpc_dissect_element_lsa_SetDomainInformationPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1237 static int lsarpc_dissect_element_lsa_SetDomainInformationPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1238 static int lsarpc_dissect_element_lsa_SetDomainInformationPolicy_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1239 static int lsarpc_dissect_element_lsa_SetDomainInformationPolicy_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1240 static int lsarpc_dissect_element_lsa_SetDomainInformationPolicy_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1241 static int lsarpc_dissect_element_lsa_OpenTrustedDomainByName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1242 static int lsarpc_dissect_element_lsa_OpenTrustedDomainByName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1243 static int lsarpc_dissect_element_lsa_OpenTrustedDomainByName_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1244 static int lsarpc_dissect_element_lsa_OpenTrustedDomainByName_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1245 static int lsarpc_dissect_element_lsa_OpenTrustedDomainByName_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1246 static int lsarpc_dissect_element_lsa_OpenTrustedDomainByName_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1247 static int lsarpc_dissect_element_lsa_LookupSids2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1248 static int lsarpc_dissect_element_lsa_LookupSids2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1249 static int lsarpc_dissect_element_lsa_LookupSids2_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1250 static int lsarpc_dissect_element_lsa_LookupSids2_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1251 static int lsarpc_dissect_element_lsa_LookupSids2_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1252 static int lsarpc_dissect_element_lsa_LookupSids2_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1253 static int lsarpc_dissect_element_lsa_LookupSids2_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1254 static int lsarpc_dissect_element_lsa_LookupSids2_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1255 static int lsarpc_dissect_element_lsa_LookupSids2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1256 static int lsarpc_dissect_element_lsa_LookupSids2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1257 static int lsarpc_dissect_element_lsa_LookupSids2_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1258 static int lsarpc_dissect_element_lsa_LookupSids2_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1259 static int lsarpc_dissect_element_lsa_LookupSids2_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1260 static int lsarpc_dissect_element_lsa_LookupNames2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1261 static int lsarpc_dissect_element_lsa_LookupNames2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1262 static int lsarpc_dissect_element_lsa_LookupNames2_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1263 static int lsarpc_dissect_element_lsa_LookupNames2_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1264 static int lsarpc_dissect_element_lsa_LookupNames2_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1265 static int lsarpc_dissect_element_lsa_LookupNames2_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1266 static int lsarpc_dissect_element_lsa_LookupNames2_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1267 static int lsarpc_dissect_element_lsa_LookupNames2_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1268 static int lsarpc_dissect_element_lsa_LookupNames2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1269 static int lsarpc_dissect_element_lsa_LookupNames2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1270 static int lsarpc_dissect_element_lsa_LookupNames2_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1271 static int lsarpc_dissect_element_lsa_LookupNames2_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1272 static int lsarpc_dissect_element_lsa_LookupNames2_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1273 static int lsarpc_dissect_element_lsa_LookupNames3_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1274 static int lsarpc_dissect_element_lsa_LookupNames3_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1275 static int lsarpc_dissect_element_lsa_LookupNames3_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1276 static int lsarpc_dissect_element_lsa_LookupNames3_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1277 static int lsarpc_dissect_element_lsa_LookupNames3_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1278 static int lsarpc_dissect_element_lsa_LookupNames3_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1279 static int lsarpc_dissect_element_lsa_LookupNames3_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1280 static int lsarpc_dissect_element_lsa_LookupNames3_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1281 static int lsarpc_dissect_element_lsa_LookupNames3_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1282 static int lsarpc_dissect_element_lsa_LookupNames3_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1283 static int lsarpc_dissect_element_lsa_LookupNames3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1284 static int lsarpc_dissect_element_lsa_LookupNames3_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1285 static int lsarpc_dissect_element_lsa_LookupNames3_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1286 static int lsarpc_dissect_element_lsa_LookupNames3_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1287 static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1288 static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1289 static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_trusted_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1290 static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_trusted_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1291 static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1292 static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1293 static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1294 static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1295 static int lsarpc_dissect_element_lsa_LookupSids3_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1296 static int lsarpc_dissect_element_lsa_LookupSids3_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1297 static int lsarpc_dissect_element_lsa_LookupSids3_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1298 static int lsarpc_dissect_element_lsa_LookupSids3_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1299 static int lsarpc_dissect_element_lsa_LookupSids3_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1300 static int lsarpc_dissect_element_lsa_LookupSids3_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1301 static int lsarpc_dissect_element_lsa_LookupSids3_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1302 static int lsarpc_dissect_element_lsa_LookupSids3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1303 static int lsarpc_dissect_element_lsa_LookupSids3_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1304 static int lsarpc_dissect_element_lsa_LookupSids3_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1305 static int lsarpc_dissect_element_lsa_LookupSids3_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1306 static int lsarpc_dissect_element_lsa_LookupNames4_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1307 static int lsarpc_dissect_element_lsa_LookupNames4_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1308 static int lsarpc_dissect_element_lsa_LookupNames4_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1309 static int lsarpc_dissect_element_lsa_LookupNames4_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1310 static int lsarpc_dissect_element_lsa_LookupNames4_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1311 static int lsarpc_dissect_element_lsa_LookupNames4_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1312 static int lsarpc_dissect_element_lsa_LookupNames4_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1313 static int lsarpc_dissect_element_lsa_LookupNames4_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1314 static int lsarpc_dissect_element_lsa_LookupNames4_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1315 static int lsarpc_dissect_element_lsa_LookupNames4_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1316 static int lsarpc_dissect_element_lsa_LookupNames4_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1317 static void
1318 lsarpc_policy_specific_rights(tvbuff_t *tvb _U_, gint offset _U_, proto_tree *tree _U_, guint32 access _U_)
1319 {
1320         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION, tvb, offset, 4, access);
1321         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_LOOKUP_NAMES, tvb, offset, 4, access);
1322         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SERVER_ADMIN, tvb, offset, 4, access);
1323         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_AUDIT_LOG_ADMIN, tvb, offset, 4, access);
1324         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_AUDIT_REQUIREMENTS, tvb, offset, 4, access);
1325         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS, tvb, offset, 4, access);
1326         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_PRIVILEGE, tvb, offset, 4, access);
1327         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_SECRET, tvb, offset, 4, access);
1328         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_ACCOUNT, tvb, offset, 4, access);
1329         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_TRUST_ADMIN, tvb, offset, 4, access);
1330         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_GET_PRIVATE_INFORMATION, tvb, offset, 4, access);
1331         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_AUDIT_INFORMATION, tvb, offset, 4, access);
1332         proto_tree_add_boolean(tree, hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_LOCAL_INFORMATION, tvb, offset, 4, access);
1333 }
1334 static void
1335 lsarpc_account_specific_rights(tvbuff_t *tvb _U_, gint offset _U_, proto_tree *tree _U_, guint32 access _U_)
1336 {
1337         proto_tree_add_boolean(tree, hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS, tvb, offset, 4, access);
1338         proto_tree_add_boolean(tree, hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_QUOTAS, tvb, offset, 4, access);
1339         proto_tree_add_boolean(tree, hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_PRIVILEGES, tvb, offset, 4, access);
1340         proto_tree_add_boolean(tree, hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_VIEW, tvb, offset, 4, access);
1341 }
1342 static void
1343 lsarpc_secret_specific_rights(tvbuff_t *tvb _U_, gint offset _U_, proto_tree *tree _U_, guint32 access _U_)
1344 {
1345         proto_tree_add_boolean(tree, hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_QUERY_VALUE, tvb, offset, 4, access);
1346         proto_tree_add_boolean(tree, hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_SET_VALUE, tvb, offset, 4, access);
1347 }
1348 static void
1349 lsarpc_domain_specific_rights(tvbuff_t *tvb _U_, gint offset _U_, proto_tree *tree _U_, guint32 access _U_)
1350 {
1351         proto_tree_add_boolean(tree, hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_AUTH, tvb, offset, 4, access);
1352         proto_tree_add_boolean(tree, hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_SET_AUTH, tvb, offset, 4, access);
1353         proto_tree_add_boolean(tree, hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_SET_POSIX, tvb, offset, 4, access);
1354         proto_tree_add_boolean(tree, hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_POSIX, tvb, offset, 4, access);
1355         proto_tree_add_boolean(tree, hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_SET_CONTROLLERS, tvb, offset, 4, access);
1356         proto_tree_add_boolean(tree, hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_CONTROLLERS, tvb, offset, 4, access);
1357         proto_tree_add_boolean(tree, hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_DOMAIN_NAME, tvb, offset, 4, access);
1358 }
1359 struct access_mask_info lsarpc_policy_access_mask_info = {
1360         "LSA Policy",                   /* Name of specific rights */
1361         lsarpc_policy_specific_rights,  /* Dissection function */
1362         NULL,                           /* Generic mapping table */
1363         NULL                            /* Standard mapping table */
1364 };
1365 struct access_mask_info lsarpc_account_access_mask_info = {
1366         "LSA Account",                  /* Name of specific rights */
1367         lsarpc_account_specific_rights, /* Dissection function */
1368         NULL,                           /* Generic mapping table */
1369         NULL                            /* Standard mapping table */
1370 };
1371 struct access_mask_info lsarpc_secret_access_mask_info = {
1372         "LSA Secret",                   /* Name of specific rights */
1373         lsarpc_secret_specific_rights,  /* Dissection function */
1374         NULL,                           /* Generic mapping table */
1375         NULL                            /* Standard mapping table */
1376 };
1377 struct access_mask_info lsarpc_domain_access_mask_info = {
1378         "LSA Domain",                   /* Name of specific rights */
1379         lsarpc_domain_specific_rights,  /* Dissection function */
1380         NULL,                           /* Generic mapping table */
1381         NULL                            /* Standard mapping table */
1382 };
1383 int
1384 lsarpc_dissect_bitmap_lsa_PolicyAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep, int hf_index _U_, guint32 param _U_)
1385 {
1386         offset = dissect_nt_access_mask(
1387                 tvb, offset, pinfo, tree, di, drep, hf_lsarpc_policy_access_mask,
1388                 &lsarpc_policy_access_mask_info, NULL);
1389         return offset;
1390 }
1391 int
1392 lsarpc_dissect_bitmap_lsa_AccountAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep, int hf_index _U_, guint32 param _U_)
1393 {
1394         offset = dissect_nt_access_mask(
1395                 tvb, offset, pinfo, tree, di, drep, hf_lsarpc_account_access_mask,
1396                 &lsarpc_account_access_mask_info, NULL);
1397         return offset;
1398 }
1399 int
1400 lsarpc_dissect_bitmap_lsa_SecretAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep, int hf_index _U_, guint32 param _U_)
1401 {
1402         offset = dissect_nt_access_mask(
1403                 tvb, offset, pinfo, tree, di, drep, hf_lsarpc_secret_access_mask,
1404                 &lsarpc_secret_access_mask_info, NULL);
1405         return offset;
1406 }
1407 int
1408 lsarpc_dissect_bitmap_lsa_DomainAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep, int hf_index _U_, guint32 param _U_)
1409 {
1410         offset = dissect_nt_access_mask(
1411                 tvb, offset, pinfo, tree, di, drep, hf_lsarpc_domain_access_mask,
1412                 &lsarpc_domain_access_mask_info, NULL);
1413         return offset;
1414 }
1415 static int
1416 cnf_dissect_sec_desc_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep)
1417 {
1418         guint32 len;
1419         e_ctx_hnd *polhnd = NULL;
1420         dcerpc_call_value *dcv = NULL;
1421         guint32 type=0;
1422         struct access_mask_info *ami=NULL;
1423         if(di->conformant_run){
1424                 /*just a run to handle conformant arrays, nothing to dissect */
1425                 return offset;
1426         }
1427         offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
1428                 hf_lsarpc_sec_desc_buf_len, &len);
1429         dcv = (dcerpc_call_value *)di->call_data;
1430         if(dcv){
1431                 polhnd = dcv->pol;
1432         }
1433         if(polhnd){
1434                 dcerpc_fetch_polhnd_data(polhnd, NULL, &type, NULL, NULL,
1435                                         pinfo->fd->num);
1436         }
1437         switch(type){
1438         case PIDL_POLHND_TYPE_LSA_POLICY:
1439                 ami=&lsarpc_policy_access_mask_info;
1440                 break;
1441         case PIDL_POLHND_TYPE_LSA_ACCOUNT:
1442                 ami=&lsarpc_account_access_mask_info;
1443                 break;
1444         case PIDL_POLHND_TYPE_LSA_SECRET:
1445                 ami=&lsarpc_secret_access_mask_info;
1446                 break;
1447         case PIDL_POLHND_TYPE_LSA_DOMAIN:
1448                 ami=&lsarpc_domain_access_mask_info;
1449                 break;
1450         }
1451         dissect_nt_sec_desc(tvb, offset, pinfo, tree, drep, TRUE, len, ami);
1452         offset += len;
1453         return offset;
1454 }
1455 static int
1456 cnf_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep)
1457 {
1458         guint32 len;
1459         if(di->conformant_run){
1460                 /*just a run to handle conformant arrays, nothing to dissect */
1461                 return offset;
1462         }
1463         offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
1464                 hf_lsarpc_sec_desc_buf_len, &len);
1465         offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
1466                         cnf_dissect_sec_desc_buf_, NDR_POINTER_UNIQUE,
1467                         "LSA SECURITY DESCRIPTOR data:", -1);
1468         return offset;
1469 }
1470 int
1471 lsarpc_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep){
1472         return cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
1473 }
1474 static int
1475 lsarpc_dissect_struct_security_descriptor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, guint8 *drep _U_, int unused1 _U_, int unused2 _U_){
1476         return cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
1477
1478 int
1479 lsarpc_dissect_struct_dom_sid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, guint8 *drep _U_, int unused1 _U_, int unused2 _U_) {
1480         /* sid */
1481         return dissect_ndr_nt_SID(tvb, offset, pinfo, tree, di, drep);
1482 }
1483 static int
1484 cnf_dissect_hyper(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep, guint32 param _U_, int hfindex)
1485 {
1486         offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hfindex, NULL);
1487         return offset;
1488 }
1489 static int
1490 lsarpc_dissect_element_lsa_LookupNames3_names_X(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di, guint8 *drep _U_)
1491 {
1492         proto_item *item = NULL;
1493         proto_tree *tree = NULL;
1494         int old_offset = offset;
1495         if (parent_tree) {
1496                 item = proto_tree_add_item(parent_tree, hf_lsarpc_names, tvb, offset, -1, ENC_NA);
1497                 tree = proto_item_add_subtree(item, ett_lsarpc_names);
1498         }
1499         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_names_);
1500         proto_item_set_len(item, offset-old_offset);
1501         return offset;
1502 }
1503 static int
1504 lsarpc_dissect_element_lsa_LookupNames_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, guint8 *drep _U_)
1505 {
1506         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_names_X, NDR_POINTER_REF, "Pointer to Names", hf_lsarpc_names);
1507         return offset;
1508 }
1509 static int
1510 lsarpc_dissect_element_lsa_LookupNames2_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, guint8 *drep _U_)
1511 {
1512         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_names_X, NDR_POINTER_REF, "Pointer to Names", hf_lsarpc_names);
1513         return offset;
1514 }
1515 static int
1516 lsarpc_dissect_element_lsa_LookupNames3_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, guint8 *drep _U_)
1517 {
1518         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_names_X, NDR_POINTER_REF, "Pointer to Names", hf_lsarpc_names);
1519         return offset;
1520 }
1521 static int
1522 lsarpc_dissect_element_lsa_LookupNames4_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, guint8 *drep _U_)
1523 {
1524         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_names_X, NDR_POINTER_REF, "Pointer to Names", hf_lsarpc_names);
1525         return offset;
1526 }
1527 static int
1528 lsarpc_dissect_element_lsa_String_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, guint8 *drep _U_)
1529 {
1530         char *data;
1531         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_lsarpc_String_name, FALSE, &data);
1532         proto_item_append_text(tree, ": %s", data);
1533         return offset;
1534 }
1535 static int
1536 lsarpc_dissect_element_lsa_StringLarge_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, guint8 *drep _U_)
1537 {
1538         char *data;
1539         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_lsarpc_String_name, FALSE, &data);
1540         proto_item_append_text(tree, ": %s", data);
1541         return offset;
1542 }
1543 static int
1544 lsarpc_dissect_element_lsa_DomainInfoEfs_efs_blob_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, guint8 *drep _U_)
1545 {
1546         tvbuff_t *next_tvb;
1547         gint len, reported_len;
1548         dissector_handle_t efsblob_handle;
1549         if(di->conformant_run){
1550                 /*just a run to handle conformant arrays, nothing to dissect */
1551                 return offset;
1552         }
1553         offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
1554                 hf_lsarpc_efs_blob_len, &reported_len);
1555         len = reported_len;
1556         if (len > tvb_captured_length_remaining(tvb, offset)) {
1557                 len = tvb_captured_length_remaining(tvb, offset);
1558         }
1559         next_tvb = tvb_new_subset(tvb, offset, len, reported_len);
1560         efsblob_handle = find_dissector("efsblob");
1561         if (efsblob_handle) {
1562                 call_dissector(efsblob_handle, next_tvb, pinfo, tree);
1563         }
1564         offset += reported_len;
1565         return offset;
1566 }
1567
1568
1569 /* IDL: bitmap { */
1570 /* IDL:         LSA_POLICY_NOTIFICATION =  0x00001000 , */
1571 /* IDL:         LSA_POLICY_LOOKUP_NAMES =  0x00000800 , */
1572 /* IDL:         LSA_POLICY_SERVER_ADMIN =  0x00000400 , */
1573 /* IDL:         LSA_POLICY_AUDIT_LOG_ADMIN =  0x00000200 , */
1574 /* IDL:         LSA_POLICY_SET_AUDIT_REQUIREMENTS =  0x00000100 , */
1575 /* IDL:         LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS =  0x00000080 , */
1576 /* IDL:         LSA_POLICY_CREATE_PRIVILEGE =  0x00000040 , */
1577 /* IDL:         LSA_POLICY_CREATE_SECRET =  0x00000020 , */
1578 /* IDL:         LSA_POLICY_CREATE_ACCOUNT =  0x00000010 , */
1579 /* IDL:         LSA_POLICY_TRUST_ADMIN =  0x00000008 , */
1580 /* IDL:         LSA_POLICY_GET_PRIVATE_INFORMATION =  0x00000004 , */
1581 /* IDL:         LSA_POLICY_VIEW_AUDIT_INFORMATION =  0x00000002 , */
1582 /* IDL:         LSA_POLICY_VIEW_LOCAL_INFORMATION =  0x00000001 , */
1583 /* IDL: } */
1584
1585
1586 /* IDL: bitmap { */
1587 /* IDL:         LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS =  0x00000008 , */
1588 /* IDL:         LSA_ACCOUNT_ADJUST_QUOTAS =  0x00000004 , */
1589 /* IDL:         LSA_ACCOUNT_ADJUST_PRIVILEGES =  0x00000002 , */
1590 /* IDL:         LSA_ACCOUNT_VIEW =  0x00000001 , */
1591 /* IDL: } */
1592
1593
1594 /* IDL: bitmap { */
1595 /* IDL:         LSA_DOMAIN_QUERY_AUTH =  0x00000040 , */
1596 /* IDL:         LSA_DOMAIN_SET_AUTH =  0x00000020 , */
1597 /* IDL:         LSA_DOMAIN_SET_POSIX =  0x00000010 , */
1598 /* IDL:         LSA_DOMAIN_QUERY_POSIX =  0x00000008 , */
1599 /* IDL:         LSA_DOMAIN_SET_CONTROLLERS =  0x00000004 , */
1600 /* IDL:         LSA_DOMAIN_QUERY_CONTROLLERS =  0x00000002 , */
1601 /* IDL:         LSA_DOMAIN_QUERY_DOMAIN_NAME =  0x00000001 , */
1602 /* IDL: } */
1603
1604
1605 /* IDL: bitmap { */
1606 /* IDL:         LSA_SECRET_QUERY_VALUE =  0x00000002 , */
1607 /* IDL:         LSA_SECRET_SET_VALUE =  0x00000001 , */
1608 /* IDL: } */
1609
1610
1611 /* IDL: bitmap { */
1612 /* IDL: } */
1613
1614 int
1615 lsarpc_dissect_bitmap_security_secinfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1616 {
1617         proto_item *item = NULL;
1618         proto_tree *tree = NULL;
1619
1620         guint32 flags;
1621         ALIGN_TO_4_BYTES;
1622
1623         if (parent_tree) {
1624                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));
1625                 tree = proto_item_add_subtree(item,ett_lsarpc_security_secinfo);
1626         }
1627
1628         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, -1, &flags);
1629         proto_item_append_text(item, ": ");
1630
1631         if (!flags)
1632                 proto_item_append_text(item, "(No values set)");
1633
1634         if (flags) {
1635                 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
1636         }
1637
1638         return offset;
1639 }
1640
1641
1642 /* IDL: struct { */
1643 /* IDL:         [value(2*strlen_m(string))] uint16 length; */
1644 /* IDL:         [value(2*strlen_m(string))] uint16 size; */
1645 /* IDL:         [charset(UTF16)] [length_is(length/2)] [size_is(size/2)] [unique(1)] uint16 *string; */
1646 /* IDL: } */
1647
1648 static int
1649 lsarpc_dissect_element_lsa_String_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1650 {
1651         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_String_length, 0);
1652
1653         return offset;
1654 }
1655
1656 static int
1657 lsarpc_dissect_element_lsa_String_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1658 {
1659         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_String_size, 0);
1660
1661         return offset;
1662 }
1663
1664 static int
1665 lsarpc_dissect_element_lsa_String_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1666 {
1667         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_String_string_, NDR_POINTER_UNIQUE, "Pointer to String (uint16)",hf_lsarpc_lsa_String_string);
1668
1669         return offset;
1670 }
1671
1672 int
1673 lsarpc_dissect_struct_lsa_String(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1674 {
1675         proto_item *item = NULL;
1676         proto_tree *tree = NULL;
1677         int old_offset;
1678
1679         ALIGN_TO_5_BYTES;
1680
1681         ALIGN_TO_5_BYTES;
1682
1683         old_offset = offset;
1684
1685         if (parent_tree) {
1686                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1687                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_String);
1688         }
1689         
1690         offset = lsarpc_dissect_element_lsa_String_length(tvb, offset, pinfo, tree, di, drep);
1691
1692         offset = lsarpc_dissect_element_lsa_String_size(tvb, offset, pinfo, tree, di, drep);
1693
1694         offset = lsarpc_dissect_element_lsa_String_string(tvb, offset, pinfo, tree, di, drep);
1695
1696
1697         proto_item_set_len(item, offset-old_offset);
1698
1699
1700         if (di->call_data->flags & DCERPC_IS_NDR64) {
1701                 ALIGN_TO_5_BYTES;
1702         }
1703
1704         return offset;
1705 }
1706
1707
1708 /* IDL: struct { */
1709 /* IDL:         [value(2*strlen_m(string))] uint16 length; */
1710 /* IDL:         [value(2*strlen_m_term(string))] uint16 size; */
1711 /* IDL:         [charset(UTF16)] [length_is(length/2)] [size_is(size/2)] [unique(1)] uint16 *string; */
1712 /* IDL: } */
1713
1714 static int
1715 lsarpc_dissect_element_lsa_StringLarge_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1716 {
1717         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_StringLarge_length, 0);
1718
1719         return offset;
1720 }
1721
1722 static int
1723 lsarpc_dissect_element_lsa_StringLarge_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1724 {
1725         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_StringLarge_size, 0);
1726
1727         return offset;
1728 }
1729
1730 static int
1731 lsarpc_dissect_element_lsa_StringLarge_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1732 {
1733         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_StringLarge_string_, NDR_POINTER_UNIQUE, "Pointer to String (uint16)",hf_lsarpc_lsa_StringLarge_string);
1734
1735         return offset;
1736 }
1737
1738 int
1739 lsarpc_dissect_struct_lsa_StringLarge(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1740 {
1741         proto_item *item = NULL;
1742         proto_tree *tree = NULL;
1743         int old_offset;
1744
1745         ALIGN_TO_5_BYTES;
1746
1747         ALIGN_TO_5_BYTES;
1748
1749         old_offset = offset;
1750
1751         if (parent_tree) {
1752                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1753                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_StringLarge);
1754         }
1755         
1756         offset = lsarpc_dissect_element_lsa_StringLarge_length(tvb, offset, pinfo, tree, di, drep);
1757
1758         offset = lsarpc_dissect_element_lsa_StringLarge_size(tvb, offset, pinfo, tree, di, drep);
1759
1760         offset = lsarpc_dissect_element_lsa_StringLarge_string(tvb, offset, pinfo, tree, di, drep);
1761
1762
1763         proto_item_set_len(item, offset-old_offset);
1764
1765
1766         if (di->call_data->flags & DCERPC_IS_NDR64) {
1767                 ALIGN_TO_5_BYTES;
1768         }
1769
1770         return offset;
1771 }
1772
1773
1774 /* IDL: struct { */
1775 /* IDL:         uint32 count; */
1776 /* IDL:         [size_is(count)] [unique(1)] lsa_String *names; */
1777 /* IDL: } */
1778
1779 static int
1780 lsarpc_dissect_element_lsa_Strings_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1781 {
1782         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_Strings_count, 0);
1783
1784         return offset;
1785 }
1786
1787 static int
1788 lsarpc_dissect_element_lsa_Strings_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1789 {
1790         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_Strings_names_, NDR_POINTER_UNIQUE, "Pointer to Names (lsa_String)",hf_lsarpc_lsa_Strings_names);
1791
1792         return offset;
1793 }
1794
1795 static int
1796 lsarpc_dissect_element_lsa_Strings_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1797 {
1798         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_Strings_names__);
1799
1800         return offset;
1801 }
1802
1803 static int
1804 lsarpc_dissect_element_lsa_Strings_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1805 {
1806         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_Strings_names,0);
1807
1808         return offset;
1809 }
1810
1811 int
1812 lsarpc_dissect_struct_lsa_Strings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1813 {
1814         proto_item *item = NULL;
1815         proto_tree *tree = NULL;
1816         int old_offset;
1817
1818         ALIGN_TO_5_BYTES;
1819
1820         ALIGN_TO_5_BYTES;
1821
1822         old_offset = offset;
1823
1824         if (parent_tree) {
1825                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1826                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_Strings);
1827         }
1828         
1829         offset = lsarpc_dissect_element_lsa_Strings_count(tvb, offset, pinfo, tree, di, drep);
1830
1831         offset = lsarpc_dissect_element_lsa_Strings_names(tvb, offset, pinfo, tree, di, drep);
1832
1833
1834         proto_item_set_len(item, offset-old_offset);
1835
1836
1837         if (di->call_data->flags & DCERPC_IS_NDR64) {
1838                 ALIGN_TO_5_BYTES;
1839         }
1840
1841         return offset;
1842 }
1843
1844
1845 /* IDL: struct { */
1846 /* IDL:         [value(strlen_m(string))] uint16 length; */
1847 /* IDL:         [value(strlen_m(string))] uint16 size; */
1848 /* IDL:         [charset(DOS)] [length_is(length)] [size_is(size)] [unique(1)] uint8 *string; */
1849 /* IDL: } */
1850
1851 static int
1852 lsarpc_dissect_element_lsa_AsciiString_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1853 {
1854         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiString_length, 0);
1855
1856         return offset;
1857 }
1858
1859 static int
1860 lsarpc_dissect_element_lsa_AsciiString_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1861 {
1862         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiString_size, 0);
1863
1864         return offset;
1865 }
1866
1867 static int
1868 lsarpc_dissect_element_lsa_AsciiString_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1869 {
1870         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AsciiString_string_, NDR_POINTER_UNIQUE, "Pointer to String (uint8)",hf_lsarpc_lsa_AsciiString_string);
1871
1872         return offset;
1873 }
1874
1875 static int
1876 lsarpc_dissect_element_lsa_AsciiString_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1877 {
1878         offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AsciiString_string__);
1879
1880         return offset;
1881 }
1882
1883 static int
1884 lsarpc_dissect_element_lsa_AsciiString_string__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1885 {
1886         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiString_string, 0);
1887
1888         return offset;
1889 }
1890
1891 int
1892 lsarpc_dissect_struct_lsa_AsciiString(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1893 {
1894         proto_item *item = NULL;
1895         proto_tree *tree = NULL;
1896         int old_offset;
1897
1898         ALIGN_TO_5_BYTES;
1899
1900         ALIGN_TO_5_BYTES;
1901
1902         old_offset = offset;
1903
1904         if (parent_tree) {
1905                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1906                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AsciiString);
1907         }
1908         
1909         offset = lsarpc_dissect_element_lsa_AsciiString_length(tvb, offset, pinfo, tree, di, drep);
1910
1911         offset = lsarpc_dissect_element_lsa_AsciiString_size(tvb, offset, pinfo, tree, di, drep);
1912
1913         offset = lsarpc_dissect_element_lsa_AsciiString_string(tvb, offset, pinfo, tree, di, drep);
1914
1915
1916         proto_item_set_len(item, offset-old_offset);
1917
1918
1919         if (di->call_data->flags & DCERPC_IS_NDR64) {
1920                 ALIGN_TO_5_BYTES;
1921         }
1922
1923         return offset;
1924 }
1925
1926
1927 /* IDL: struct { */
1928 /* IDL:         [value(strlen_m(string))] uint16 length; */
1929 /* IDL:         [value(strlen_m_term(string))] uint16 size; */
1930 /* IDL:         [charset(DOS)] [length_is(length)] [size_is(size)] [unique(1)] uint8 *string; */
1931 /* IDL: } */
1932
1933 static int
1934 lsarpc_dissect_element_lsa_AsciiStringLarge_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1935 {
1936         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiStringLarge_length, 0);
1937
1938         return offset;
1939 }
1940
1941 static int
1942 lsarpc_dissect_element_lsa_AsciiStringLarge_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1943 {
1944         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiStringLarge_size, 0);
1945
1946         return offset;
1947 }
1948
1949 static int
1950 lsarpc_dissect_element_lsa_AsciiStringLarge_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1951 {
1952         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AsciiStringLarge_string_, NDR_POINTER_UNIQUE, "Pointer to String (uint8)",hf_lsarpc_lsa_AsciiStringLarge_string);
1953
1954         return offset;
1955 }
1956
1957 static int
1958 lsarpc_dissect_element_lsa_AsciiStringLarge_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1959 {
1960         offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AsciiStringLarge_string__);
1961
1962         return offset;
1963 }
1964
1965 static int
1966 lsarpc_dissect_element_lsa_AsciiStringLarge_string__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
1967 {
1968         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiStringLarge_string, 0);
1969
1970         return offset;
1971 }
1972
1973 int
1974 lsarpc_dissect_struct_lsa_AsciiStringLarge(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1975 {
1976         proto_item *item = NULL;
1977         proto_tree *tree = NULL;
1978         int old_offset;
1979
1980         ALIGN_TO_5_BYTES;
1981
1982         ALIGN_TO_5_BYTES;
1983
1984         old_offset = offset;
1985
1986         if (parent_tree) {
1987                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1988                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AsciiStringLarge);
1989         }
1990         
1991         offset = lsarpc_dissect_element_lsa_AsciiStringLarge_length(tvb, offset, pinfo, tree, di, drep);
1992
1993         offset = lsarpc_dissect_element_lsa_AsciiStringLarge_size(tvb, offset, pinfo, tree, di, drep);
1994
1995         offset = lsarpc_dissect_element_lsa_AsciiStringLarge_string(tvb, offset, pinfo, tree, di, drep);
1996
1997
1998         proto_item_set_len(item, offset-old_offset);
1999
2000
2001         if (di->call_data->flags & DCERPC_IS_NDR64) {
2002                 ALIGN_TO_5_BYTES;
2003         }
2004
2005         return offset;
2006 }
2007
2008
2009 /* IDL: struct { */
2010 /* IDL:         uint32 low; */
2011 /* IDL:         uint32 high; */
2012 /* IDL: } */
2013
2014 static int
2015 lsarpc_dissect_element_lsa_LUID_low(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2016 {
2017         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LUID_low, 0);
2018
2019         return offset;
2020 }
2021
2022 static int
2023 lsarpc_dissect_element_lsa_LUID_high(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2024 {
2025         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LUID_high, 0);
2026
2027         return offset;
2028 }
2029
2030 int
2031 lsarpc_dissect_struct_lsa_LUID(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2032 {
2033         proto_item *item = NULL;
2034         proto_tree *tree = NULL;
2035         int old_offset;
2036
2037         ALIGN_TO_4_BYTES;
2038
2039         ALIGN_TO_4_BYTES;
2040
2041         old_offset = offset;
2042
2043         if (parent_tree) {
2044                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2045                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_LUID);
2046         }
2047         
2048         offset = lsarpc_dissect_element_lsa_LUID_low(tvb, offset, pinfo, tree, di, drep);
2049
2050         offset = lsarpc_dissect_element_lsa_LUID_high(tvb, offset, pinfo, tree, di, drep);
2051
2052
2053         proto_item_set_len(item, offset-old_offset);
2054
2055
2056         if (di->call_data->flags & DCERPC_IS_NDR64) {
2057                 ALIGN_TO_4_BYTES;
2058         }
2059
2060         return offset;
2061 }
2062
2063
2064 /* IDL: struct { */
2065 /* IDL:         lsa_StringLarge name; */
2066 /* IDL:         lsa_LUID luid; */
2067 /* IDL: } */
2068
2069 static int
2070 lsarpc_dissect_element_lsa_PrivEntry_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2071 {
2072         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PrivEntry_name,0);
2073
2074         return offset;
2075 }
2076
2077 static int
2078 lsarpc_dissect_element_lsa_PrivEntry_luid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2079 {
2080         offset = lsarpc_dissect_struct_lsa_LUID(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PrivEntry_luid,0);
2081
2082         return offset;
2083 }
2084
2085 int
2086 lsarpc_dissect_struct_lsa_PrivEntry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2087 {
2088         proto_item *item = NULL;
2089         proto_tree *tree = NULL;
2090         int old_offset;
2091
2092         ALIGN_TO_5_BYTES;
2093
2094         ALIGN_TO_5_BYTES;
2095
2096         old_offset = offset;
2097
2098         if (parent_tree) {
2099                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2100                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_PrivEntry);
2101         }
2102         
2103         offset = lsarpc_dissect_element_lsa_PrivEntry_name(tvb, offset, pinfo, tree, di, drep);
2104
2105         offset = lsarpc_dissect_element_lsa_PrivEntry_luid(tvb, offset, pinfo, tree, di, drep);
2106
2107
2108         proto_item_set_len(item, offset-old_offset);
2109
2110
2111         if (di->call_data->flags & DCERPC_IS_NDR64) {
2112                 ALIGN_TO_5_BYTES;
2113         }
2114
2115         return offset;
2116 }
2117
2118
2119 /* IDL: struct { */
2120 /* IDL:         uint32 count; */
2121 /* IDL:         [size_is(count)] [unique(1)] lsa_PrivEntry *privs; */
2122 /* IDL: } */
2123
2124 static int
2125 lsarpc_dissect_element_lsa_PrivArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2126 {
2127         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_PrivArray_count, 0);
2128
2129         return offset;
2130 }
2131
2132 static int
2133 lsarpc_dissect_element_lsa_PrivArray_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2134 {
2135         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_PrivArray_privs_, NDR_POINTER_UNIQUE, "Pointer to Privs (lsa_PrivEntry)",hf_lsarpc_lsa_PrivArray_privs);
2136
2137         return offset;
2138 }
2139
2140 static int
2141 lsarpc_dissect_element_lsa_PrivArray_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2142 {
2143         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_PrivArray_privs__);
2144
2145         return offset;
2146 }
2147
2148 static int
2149 lsarpc_dissect_element_lsa_PrivArray_privs__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2150 {
2151         offset = lsarpc_dissect_struct_lsa_PrivEntry(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PrivArray_privs,0);
2152
2153         return offset;
2154 }
2155
2156 int
2157 lsarpc_dissect_struct_lsa_PrivArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2158 {
2159         proto_item *item = NULL;
2160         proto_tree *tree = NULL;
2161         int old_offset;
2162
2163         ALIGN_TO_5_BYTES;
2164
2165         ALIGN_TO_5_BYTES;
2166
2167         old_offset = offset;
2168
2169         if (parent_tree) {
2170                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2171                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_PrivArray);
2172         }
2173         
2174         offset = lsarpc_dissect_element_lsa_PrivArray_count(tvb, offset, pinfo, tree, di, drep);
2175
2176         offset = lsarpc_dissect_element_lsa_PrivArray_privs(tvb, offset, pinfo, tree, di, drep);
2177
2178
2179         proto_item_set_len(item, offset-old_offset);
2180
2181
2182         if (di->call_data->flags & DCERPC_IS_NDR64) {
2183                 ALIGN_TO_5_BYTES;
2184         }
2185
2186         return offset;
2187 }
2188
2189
2190 /* IDL: enum { */
2191 /* IDL:         LSA_SECURITY_ANONYMOUS=0, */
2192 /* IDL:         LSA_SECURITY_IDENTIFICATION=1, */
2193 /* IDL:         LSA_SECURITY_IMPERSONATION=2, */
2194 /* IDL:         LSA_SECURITY_DELEGATION=3, */
2195 /* IDL: } */
2196
2197 int
2198 lsarpc_dissect_enum_lsa_SecurityImpersonationLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
2199 {
2200         guint1632 parameter=0;
2201         if (param) {
2202                 parameter = *param;
2203         }
2204         offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2205         if (param) {
2206                 *param = parameter;
2207         }
2208         return offset;
2209 }
2210
2211
2212 /* IDL: struct { */
2213 /* IDL:         uint32 len; */
2214 /* IDL:         lsa_SecurityImpersonationLevel impersonation_level; */
2215 /* IDL:         uint8 context_mode; */
2216 /* IDL:         uint8 effective_only; */
2217 /* IDL: } */
2218
2219 static int
2220 lsarpc_dissect_element_lsa_QosInfo_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2221 {
2222         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QosInfo_len, 0);
2223
2224         return offset;
2225 }
2226
2227 static int
2228 lsarpc_dissect_element_lsa_QosInfo_impersonation_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2229 {
2230         offset = lsarpc_dissect_enum_lsa_SecurityImpersonationLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QosInfo_impersonation_level, 0);
2231
2232         return offset;
2233 }
2234
2235 static int
2236 lsarpc_dissect_element_lsa_QosInfo_context_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2237 {
2238         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QosInfo_context_mode, 0);
2239
2240         return offset;
2241 }
2242
2243 static int
2244 lsarpc_dissect_element_lsa_QosInfo_effective_only(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2245 {
2246         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QosInfo_effective_only, 0);
2247
2248         return offset;
2249 }
2250
2251 int
2252 lsarpc_dissect_struct_lsa_QosInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2253 {
2254         proto_item *item = NULL;
2255         proto_tree *tree = NULL;
2256         int old_offset;
2257
2258         ALIGN_TO_4_BYTES;
2259
2260         ALIGN_TO_4_BYTES;
2261
2262         old_offset = offset;
2263
2264         if (parent_tree) {
2265                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2266                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_QosInfo);
2267         }
2268         
2269         offset = lsarpc_dissect_element_lsa_QosInfo_len(tvb, offset, pinfo, tree, di, drep);
2270
2271         offset = lsarpc_dissect_element_lsa_QosInfo_impersonation_level(tvb, offset, pinfo, tree, di, drep);
2272
2273         offset = lsarpc_dissect_element_lsa_QosInfo_context_mode(tvb, offset, pinfo, tree, di, drep);
2274
2275         offset = lsarpc_dissect_element_lsa_QosInfo_effective_only(tvb, offset, pinfo, tree, di, drep);
2276
2277
2278         proto_item_set_len(item, offset-old_offset);
2279
2280
2281         if (di->call_data->flags & DCERPC_IS_NDR64) {
2282                 ALIGN_TO_4_BYTES;
2283         }
2284
2285         return offset;
2286 }
2287
2288
2289 /* IDL: struct { */
2290 /* IDL:         uint32 len; */
2291 /* IDL:         [unique(1)] uint8 *root_dir; */
2292 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *object_name; */
2293 /* IDL:         uint32 attributes; */
2294 /* IDL:         [unique(1)] security_descriptor *sec_desc; */
2295 /* IDL:         [unique(1)] lsa_QosInfo *sec_qos; */
2296 /* IDL: } */
2297
2298 static int
2299 lsarpc_dissect_element_lsa_ObjectAttribute_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2300 {
2301         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ObjectAttribute_len, 0);
2302
2303         return offset;
2304 }
2305
2306 static int
2307 lsarpc_dissect_element_lsa_ObjectAttribute_root_dir(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2308 {
2309         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ObjectAttribute_root_dir_, NDR_POINTER_UNIQUE, "Pointer to Root Dir (uint8)",hf_lsarpc_lsa_ObjectAttribute_root_dir);
2310
2311         return offset;
2312 }
2313
2314 static int
2315 lsarpc_dissect_element_lsa_ObjectAttribute_root_dir_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2316 {
2317         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ObjectAttribute_root_dir, 0);
2318
2319         return offset;
2320 }
2321
2322 static int
2323 lsarpc_dissect_element_lsa_ObjectAttribute_object_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2324 {
2325         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ObjectAttribute_object_name_, NDR_POINTER_UNIQUE, "Pointer to Object Name (uint16)",hf_lsarpc_lsa_ObjectAttribute_object_name);
2326
2327         return offset;
2328 }
2329
2330 static int
2331 lsarpc_dissect_element_lsa_ObjectAttribute_object_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2332 {
2333         char *data;
2334
2335         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_lsarpc_lsa_ObjectAttribute_object_name, FALSE, &data);
2336         proto_item_append_text(tree, ": %s", data);
2337
2338         return offset;
2339 }
2340
2341 static int
2342 lsarpc_dissect_element_lsa_ObjectAttribute_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2343 {
2344         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ObjectAttribute_attributes, 0);
2345
2346         return offset;
2347 }
2348
2349 static int
2350 lsarpc_dissect_element_lsa_ObjectAttribute_sec_desc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2351 {
2352         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ObjectAttribute_sec_desc_, NDR_POINTER_UNIQUE, "Pointer to Sec Desc (security_descriptor)",hf_lsarpc_lsa_ObjectAttribute_sec_desc);
2353
2354         return offset;
2355 }
2356
2357 static int
2358 lsarpc_dissect_element_lsa_ObjectAttribute_sec_desc_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2359 {
2360         offset = lsarpc_dissect_struct_security_descriptor(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ObjectAttribute_sec_desc,0);
2361
2362         return offset;
2363 }
2364
2365 static int
2366 lsarpc_dissect_element_lsa_ObjectAttribute_sec_qos(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2367 {
2368         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ObjectAttribute_sec_qos_, NDR_POINTER_UNIQUE, "Pointer to Sec Qos (lsa_QosInfo)",hf_lsarpc_lsa_ObjectAttribute_sec_qos);
2369
2370         return offset;
2371 }
2372
2373 static int
2374 lsarpc_dissect_element_lsa_ObjectAttribute_sec_qos_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2375 {
2376         offset = lsarpc_dissect_struct_lsa_QosInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ObjectAttribute_sec_qos,0);
2377
2378         return offset;
2379 }
2380
2381 int
2382 lsarpc_dissect_struct_lsa_ObjectAttribute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2383 {
2384         proto_item *item = NULL;
2385         proto_tree *tree = NULL;
2386         int old_offset;
2387
2388         ALIGN_TO_5_BYTES;
2389
2390         ALIGN_TO_5_BYTES;
2391
2392         old_offset = offset;
2393
2394         if (parent_tree) {
2395                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2396                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ObjectAttribute);
2397         }
2398         
2399         offset = lsarpc_dissect_element_lsa_ObjectAttribute_len(tvb, offset, pinfo, tree, di, drep);
2400
2401         offset = lsarpc_dissect_element_lsa_ObjectAttribute_root_dir(tvb, offset, pinfo, tree, di, drep);
2402
2403         offset = lsarpc_dissect_element_lsa_ObjectAttribute_object_name(tvb, offset, pinfo, tree, di, drep);
2404
2405         offset = lsarpc_dissect_element_lsa_ObjectAttribute_attributes(tvb, offset, pinfo, tree, di, drep);
2406
2407         offset = lsarpc_dissect_element_lsa_ObjectAttribute_sec_desc(tvb, offset, pinfo, tree, di, drep);
2408
2409         offset = lsarpc_dissect_element_lsa_ObjectAttribute_sec_qos(tvb, offset, pinfo, tree, di, drep);
2410
2411
2412         proto_item_set_len(item, offset-old_offset);
2413
2414
2415         if (di->call_data->flags & DCERPC_IS_NDR64) {
2416                 ALIGN_TO_5_BYTES;
2417         }
2418
2419         return offset;
2420 }
2421
2422
2423 /* IDL: struct { */
2424 /* IDL:         uint32 percent_full; */
2425 /* IDL:         uint32 log_size; */
2426 /* IDL:         NTTIME retention_time; */
2427 /* IDL:         uint8 shutdown_in_progress; */
2428 /* IDL:         NTTIME time_to_shutdown; */
2429 /* IDL:         uint32 next_audit_record; */
2430 /* IDL:         uint32 unknown; */
2431 /* IDL: } */
2432
2433 static int
2434 lsarpc_dissect_element_lsa_AuditLogInfo_percent_full(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2435 {
2436         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_percent_full, 0);
2437
2438         return offset;
2439 }
2440
2441 static int
2442 lsarpc_dissect_element_lsa_AuditLogInfo_log_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2443 {
2444         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_log_size, 0);
2445
2446         return offset;
2447 }
2448
2449 static int
2450 lsarpc_dissect_element_lsa_AuditLogInfo_retention_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2451 {
2452         offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_retention_time);
2453
2454         return offset;
2455 }
2456
2457 static int
2458 lsarpc_dissect_element_lsa_AuditLogInfo_shutdown_in_progress(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2459 {
2460         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_shutdown_in_progress, 0);
2461
2462         return offset;
2463 }
2464
2465 static int
2466 lsarpc_dissect_element_lsa_AuditLogInfo_time_to_shutdown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2467 {
2468         offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_time_to_shutdown);
2469
2470         return offset;
2471 }
2472
2473 static int
2474 lsarpc_dissect_element_lsa_AuditLogInfo_next_audit_record(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2475 {
2476         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_next_audit_record, 0);
2477
2478         return offset;
2479 }
2480
2481 static int
2482 lsarpc_dissect_element_lsa_AuditLogInfo_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2483 {
2484         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_unknown, 0);
2485
2486         return offset;
2487 }
2488
2489 int
2490 lsarpc_dissect_struct_lsa_AuditLogInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2491 {
2492         proto_item *item = NULL;
2493         proto_tree *tree = NULL;
2494         int old_offset;
2495
2496         ALIGN_TO_4_BYTES;
2497
2498         ALIGN_TO_4_BYTES;
2499
2500         old_offset = offset;
2501
2502         if (parent_tree) {
2503                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2504                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AuditLogInfo);
2505         }
2506         
2507         offset = lsarpc_dissect_element_lsa_AuditLogInfo_percent_full(tvb, offset, pinfo, tree, di, drep);
2508
2509         offset = lsarpc_dissect_element_lsa_AuditLogInfo_log_size(tvb, offset, pinfo, tree, di, drep);
2510
2511         offset = lsarpc_dissect_element_lsa_AuditLogInfo_retention_time(tvb, offset, pinfo, tree, di, drep);
2512
2513         offset = lsarpc_dissect_element_lsa_AuditLogInfo_shutdown_in_progress(tvb, offset, pinfo, tree, di, drep);
2514
2515         offset = lsarpc_dissect_element_lsa_AuditLogInfo_time_to_shutdown(tvb, offset, pinfo, tree, di, drep);
2516
2517         offset = lsarpc_dissect_element_lsa_AuditLogInfo_next_audit_record(tvb, offset, pinfo, tree, di, drep);
2518
2519         offset = lsarpc_dissect_element_lsa_AuditLogInfo_unknown(tvb, offset, pinfo, tree, di, drep);
2520
2521
2522         proto_item_set_len(item, offset-old_offset);
2523
2524
2525         if (di->call_data->flags & DCERPC_IS_NDR64) {
2526                 ALIGN_TO_4_BYTES;
2527         }
2528
2529         return offset;
2530 }
2531
2532
2533 /* IDL: enum { */
2534 /* IDL:         LSA_AUDIT_POLICY_NONE=0, */
2535 /* IDL:         LSA_AUDIT_POLICY_SUCCESS=1, */
2536 /* IDL:         LSA_AUDIT_POLICY_FAILURE=2, */
2537 /* IDL:         LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE), */
2538 /* IDL:         LSA_AUDIT_POLICY_CLEAR=4, */
2539 /* IDL: } */
2540
2541 int
2542 lsarpc_dissect_enum_lsa_PolicyAuditPolicy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
2543 {
2544         guint32 parameter=0;
2545         if (param) {
2546                 parameter = *param;
2547         }
2548         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2549         if (param) {
2550                 *param = parameter;
2551         }
2552         return offset;
2553 }
2554
2555
2556 /* IDL: enum { */
2557 /* IDL:         LSA_AUDIT_CATEGORY_SYSTEM=0, */
2558 /* IDL:         LSA_AUDIT_CATEGORY_LOGON=1, */
2559 /* IDL:         LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2, */
2560 /* IDL:         LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3, */
2561 /* IDL:         LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=4, */
2562 /* IDL:         LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5, */
2563 /* IDL:         LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6, */
2564 /* IDL:         LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7, */
2565 /* IDL:         LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8, */
2566 /* IDL: } */
2567
2568 int
2569 lsarpc_dissect_enum_lsa_PolicyAuditEventType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
2570 {
2571         guint1632 parameter=0;
2572         if (param) {
2573                 parameter = *param;
2574         }
2575         offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2576         if (param) {
2577                 *param = parameter;
2578         }
2579         return offset;
2580 }
2581
2582
2583 /* IDL: struct { */
2584 /* IDL:         uint32 auditing_mode; */
2585 /* IDL:         [size_is(count)] [unique(1)] lsa_PolicyAuditPolicy *settings; */
2586 /* IDL:         uint32 count; */
2587 /* IDL: } */
2588
2589 static int
2590 lsarpc_dissect_element_lsa_AuditEventsInfo_auditing_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2591 {
2592         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditEventsInfo_auditing_mode, 0);
2593
2594         return offset;
2595 }
2596
2597 static int
2598 lsarpc_dissect_element_lsa_AuditEventsInfo_settings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2599 {
2600         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AuditEventsInfo_settings_, NDR_POINTER_UNIQUE, "Pointer to Settings (lsa_PolicyAuditPolicy)",hf_lsarpc_lsa_AuditEventsInfo_settings);
2601
2602         return offset;
2603 }
2604
2605 static int
2606 lsarpc_dissect_element_lsa_AuditEventsInfo_settings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2607 {
2608         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AuditEventsInfo_settings__);
2609
2610         return offset;
2611 }
2612
2613 static int
2614 lsarpc_dissect_element_lsa_AuditEventsInfo_settings__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2615 {
2616         offset = lsarpc_dissect_enum_lsa_PolicyAuditPolicy(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditEventsInfo_settings, 0);
2617
2618         return offset;
2619 }
2620
2621 static int
2622 lsarpc_dissect_element_lsa_AuditEventsInfo_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2623 {
2624         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditEventsInfo_count, 0);
2625
2626         return offset;
2627 }
2628
2629 int
2630 lsarpc_dissect_struct_lsa_AuditEventsInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2631 {
2632         proto_item *item = NULL;
2633         proto_tree *tree = NULL;
2634         int old_offset;
2635
2636         ALIGN_TO_5_BYTES;
2637
2638         ALIGN_TO_5_BYTES;
2639
2640         old_offset = offset;
2641
2642         if (parent_tree) {
2643                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2644                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AuditEventsInfo);
2645         }
2646         
2647         offset = lsarpc_dissect_element_lsa_AuditEventsInfo_auditing_mode(tvb, offset, pinfo, tree, di, drep);
2648
2649         offset = lsarpc_dissect_element_lsa_AuditEventsInfo_settings(tvb, offset, pinfo, tree, di, drep);
2650
2651         offset = lsarpc_dissect_element_lsa_AuditEventsInfo_count(tvb, offset, pinfo, tree, di, drep);
2652
2653
2654         proto_item_set_len(item, offset-old_offset);
2655
2656
2657         if (di->call_data->flags & DCERPC_IS_NDR64) {
2658                 ALIGN_TO_5_BYTES;
2659         }
2660
2661         return offset;
2662 }
2663
2664
2665 /* IDL: struct { */
2666 /* IDL:         lsa_StringLarge name; */
2667 /* IDL:         [unique(1)] dom_sid2 *sid; */
2668 /* IDL: } */
2669
2670 static int
2671 lsarpc_dissect_element_lsa_DomainInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2672 {
2673         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainInfo_name,0);
2674
2675         return offset;
2676 }
2677
2678 static int
2679 lsarpc_dissect_element_lsa_DomainInfo_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2680 {
2681         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DomainInfo_sid_, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_DomainInfo_sid);
2682
2683         return offset;
2684 }
2685
2686 static int
2687 lsarpc_dissect_element_lsa_DomainInfo_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2688 {
2689         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainInfo_sid,0);
2690
2691         return offset;
2692 }
2693
2694 int
2695 lsarpc_dissect_struct_lsa_DomainInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2696 {
2697         proto_item *item = NULL;
2698         proto_tree *tree = NULL;
2699         int old_offset;
2700
2701         ALIGN_TO_5_BYTES;
2702
2703         ALIGN_TO_5_BYTES;
2704
2705         old_offset = offset;
2706
2707         if (parent_tree) {
2708                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2709                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainInfo);
2710         }
2711         
2712         offset = lsarpc_dissect_element_lsa_DomainInfo_name(tvb, offset, pinfo, tree, di, drep);
2713
2714         offset = lsarpc_dissect_element_lsa_DomainInfo_sid(tvb, offset, pinfo, tree, di, drep);
2715
2716
2717         proto_item_set_len(item, offset-old_offset);
2718
2719
2720         if (di->call_data->flags & DCERPC_IS_NDR64) {
2721                 ALIGN_TO_5_BYTES;
2722         }
2723
2724         return offset;
2725 }
2726
2727
2728 /* IDL: struct { */
2729 /* IDL:         lsa_String name; */
2730 /* IDL: } */
2731
2732 static int
2733 lsarpc_dissect_element_lsa_PDAccountInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2734 {
2735         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PDAccountInfo_name,0);
2736
2737         return offset;
2738 }
2739
2740 int
2741 lsarpc_dissect_struct_lsa_PDAccountInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2742 {
2743         proto_item *item = NULL;
2744         proto_tree *tree = NULL;
2745         int old_offset;
2746
2747         ALIGN_TO_5_BYTES;
2748
2749         ALIGN_TO_5_BYTES;
2750
2751         old_offset = offset;
2752
2753         if (parent_tree) {
2754                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2755                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_PDAccountInfo);
2756         }
2757         
2758         offset = lsarpc_dissect_element_lsa_PDAccountInfo_name(tvb, offset, pinfo, tree, di, drep);
2759
2760
2761         proto_item_set_len(item, offset-old_offset);
2762
2763
2764         if (di->call_data->flags & DCERPC_IS_NDR64) {
2765                 ALIGN_TO_5_BYTES;
2766         }
2767
2768         return offset;
2769 }
2770
2771
2772 /* IDL: enum { */
2773 /* IDL:         LSA_POLICY_ROLE_BACKUP=2, */
2774 /* IDL:         LSA_POLICY_ROLE_PRIMARY=3, */
2775 /* IDL: } */
2776
2777 int
2778 lsarpc_dissect_enum_lsa_PolicyServerRole(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
2779 {
2780         guint1632 parameter=0;
2781         if (param) {
2782                 parameter = *param;
2783         }
2784         offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2785         if (param) {
2786                 *param = parameter;
2787         }
2788         return offset;
2789 }
2790
2791
2792 /* IDL: struct { */
2793 /* IDL:         lsa_PolicyServerRole role; */
2794 /* IDL: } */
2795
2796 static int
2797 lsarpc_dissect_element_lsa_ServerRole_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2798 {
2799         offset = lsarpc_dissect_enum_lsa_PolicyServerRole(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ServerRole_role, 0);
2800
2801         return offset;
2802 }
2803
2804 int
2805 lsarpc_dissect_struct_lsa_ServerRole(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2806 {
2807         proto_item *item = NULL;
2808         proto_tree *tree = NULL;
2809         int old_offset;
2810
2811         ALIGN_TO_3_BYTES;
2812
2813         ALIGN_TO_3_BYTES;
2814
2815         old_offset = offset;
2816
2817         if (parent_tree) {
2818                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2819                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ServerRole);
2820         }
2821         
2822         offset = lsarpc_dissect_element_lsa_ServerRole_role(tvb, offset, pinfo, tree, di, drep);
2823
2824
2825         proto_item_set_len(item, offset-old_offset);
2826
2827
2828         if (di->call_data->flags & DCERPC_IS_NDR64) {
2829                 ALIGN_TO_3_BYTES;
2830         }
2831
2832         return offset;
2833 }
2834
2835
2836 /* IDL: struct { */
2837 /* IDL:         lsa_String source; */
2838 /* IDL:         lsa_String account; */
2839 /* IDL: } */
2840
2841 static int
2842 lsarpc_dissect_element_lsa_ReplicaSourceInfo_source(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2843 {
2844         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ReplicaSourceInfo_source,0);
2845
2846         return offset;
2847 }
2848
2849 static int
2850 lsarpc_dissect_element_lsa_ReplicaSourceInfo_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2851 {
2852         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ReplicaSourceInfo_account,0);
2853
2854         return offset;
2855 }
2856
2857 int
2858 lsarpc_dissect_struct_lsa_ReplicaSourceInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2859 {
2860         proto_item *item = NULL;
2861         proto_tree *tree = NULL;
2862         int old_offset;
2863
2864         ALIGN_TO_5_BYTES;
2865
2866         ALIGN_TO_5_BYTES;
2867
2868         old_offset = offset;
2869
2870         if (parent_tree) {
2871                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2872                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ReplicaSourceInfo);
2873         }
2874         
2875         offset = lsarpc_dissect_element_lsa_ReplicaSourceInfo_source(tvb, offset, pinfo, tree, di, drep);
2876
2877         offset = lsarpc_dissect_element_lsa_ReplicaSourceInfo_account(tvb, offset, pinfo, tree, di, drep);
2878
2879
2880         proto_item_set_len(item, offset-old_offset);
2881
2882
2883         if (di->call_data->flags & DCERPC_IS_NDR64) {
2884                 ALIGN_TO_5_BYTES;
2885         }
2886
2887         return offset;
2888 }
2889
2890
2891 /* IDL: struct { */
2892 /* IDL:         uint32 paged_pool; */
2893 /* IDL:         uint32 non_paged_pool; */
2894 /* IDL:         uint32 min_wss; */
2895 /* IDL:         uint32 max_wss; */
2896 /* IDL:         uint32 pagefile; */
2897 /* IDL:         hyper unknown; */
2898 /* IDL: } */
2899
2900 static int
2901 lsarpc_dissect_element_lsa_DefaultQuotaInfo_paged_pool(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2902 {
2903         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_paged_pool, 0);
2904
2905         return offset;
2906 }
2907
2908 static int
2909 lsarpc_dissect_element_lsa_DefaultQuotaInfo_non_paged_pool(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2910 {
2911         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_non_paged_pool, 0);
2912
2913         return offset;
2914 }
2915
2916 static int
2917 lsarpc_dissect_element_lsa_DefaultQuotaInfo_min_wss(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2918 {
2919         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_min_wss, 0);
2920
2921         return offset;
2922 }
2923
2924 static int
2925 lsarpc_dissect_element_lsa_DefaultQuotaInfo_max_wss(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2926 {
2927         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_max_wss, 0);
2928
2929         return offset;
2930 }
2931
2932 static int
2933 lsarpc_dissect_element_lsa_DefaultQuotaInfo_pagefile(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2934 {
2935         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_pagefile, 0);
2936
2937         return offset;
2938 }
2939
2940 static int
2941 lsarpc_dissect_element_lsa_DefaultQuotaInfo_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2942 {
2943         offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DefaultQuotaInfo_unknown);
2944
2945         return offset;
2946 }
2947
2948 int
2949 lsarpc_dissect_struct_lsa_DefaultQuotaInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2950 {
2951         proto_item *item = NULL;
2952         proto_tree *tree = NULL;
2953         int old_offset;
2954
2955         ALIGN_TO_8_BYTES;
2956
2957         ALIGN_TO_8_BYTES;
2958
2959         old_offset = offset;
2960
2961         if (parent_tree) {
2962                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2963                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DefaultQuotaInfo);
2964         }
2965         
2966         offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_paged_pool(tvb, offset, pinfo, tree, di, drep);
2967
2968         offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_non_paged_pool(tvb, offset, pinfo, tree, di, drep);
2969
2970         offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_min_wss(tvb, offset, pinfo, tree, di, drep);
2971
2972         offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_max_wss(tvb, offset, pinfo, tree, di, drep);
2973
2974         offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_pagefile(tvb, offset, pinfo, tree, di, drep);
2975
2976         offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_unknown(tvb, offset, pinfo, tree, di, drep);
2977
2978
2979         proto_item_set_len(item, offset-old_offset);
2980
2981
2982         if (di->call_data->flags & DCERPC_IS_NDR64) {
2983                 ALIGN_TO_8_BYTES;
2984         }
2985
2986         return offset;
2987 }
2988
2989
2990 /* IDL: struct { */
2991 /* IDL:         hyper modified_id; */
2992 /* IDL:         NTTIME db_create_time; */
2993 /* IDL: } */
2994
2995 static int
2996 lsarpc_dissect_element_lsa_ModificationInfo_modified_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2997 {
2998         offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_ModificationInfo_modified_id);
2999
3000         return offset;
3001 }
3002
3003 static int
3004 lsarpc_dissect_element_lsa_ModificationInfo_db_create_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3005 {
3006         offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ModificationInfo_db_create_time);
3007
3008         return offset;
3009 }
3010
3011 int
3012 lsarpc_dissect_struct_lsa_ModificationInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3013 {
3014         proto_item *item = NULL;
3015         proto_tree *tree = NULL;
3016         int old_offset;
3017
3018         ALIGN_TO_8_BYTES;
3019
3020         ALIGN_TO_8_BYTES;
3021
3022         old_offset = offset;
3023
3024         if (parent_tree) {
3025                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3026                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ModificationInfo);
3027         }
3028         
3029         offset = lsarpc_dissect_element_lsa_ModificationInfo_modified_id(tvb, offset, pinfo, tree, di, drep);
3030
3031         offset = lsarpc_dissect_element_lsa_ModificationInfo_db_create_time(tvb, offset, pinfo, tree, di, drep);
3032
3033
3034         proto_item_set_len(item, offset-old_offset);
3035
3036
3037         if (di->call_data->flags & DCERPC_IS_NDR64) {
3038                 ALIGN_TO_8_BYTES;
3039         }
3040
3041         return offset;
3042 }
3043
3044
3045 /* IDL: struct { */
3046 /* IDL:         uint8 shutdown_on_full; */
3047 /* IDL: } */
3048
3049 static int
3050 lsarpc_dissect_element_lsa_AuditFullSetInfo_shutdown_on_full(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3051 {
3052         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditFullSetInfo_shutdown_on_full, 0);
3053
3054         return offset;
3055 }
3056
3057 int
3058 lsarpc_dissect_struct_lsa_AuditFullSetInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3059 {
3060         proto_item *item = NULL;
3061         proto_tree *tree = NULL;
3062         int old_offset;
3063
3064
3065         old_offset = offset;
3066
3067         if (parent_tree) {
3068                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3069                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AuditFullSetInfo);
3070         }
3071         
3072         offset = lsarpc_dissect_element_lsa_AuditFullSetInfo_shutdown_on_full(tvb, offset, pinfo, tree, di, drep);
3073
3074
3075         proto_item_set_len(item, offset-old_offset);
3076
3077
3078         return offset;
3079 }
3080
3081
3082 /* IDL: struct { */
3083 /* IDL:         uint16 unknown; */
3084 /* IDL:         uint8 shutdown_on_full; */
3085 /* IDL:         uint8 log_is_full; */
3086 /* IDL: } */
3087
3088 static int
3089 lsarpc_dissect_element_lsa_AuditFullQueryInfo_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3090 {
3091         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditFullQueryInfo_unknown, 0);
3092
3093         return offset;
3094 }
3095
3096 static int
3097 lsarpc_dissect_element_lsa_AuditFullQueryInfo_shutdown_on_full(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3098 {
3099         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditFullQueryInfo_shutdown_on_full, 0);
3100
3101         return offset;
3102 }
3103
3104 static int
3105 lsarpc_dissect_element_lsa_AuditFullQueryInfo_log_is_full(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3106 {
3107         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditFullQueryInfo_log_is_full, 0);
3108
3109         return offset;
3110 }
3111
3112 int
3113 lsarpc_dissect_struct_lsa_AuditFullQueryInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3114 {
3115         proto_item *item = NULL;
3116         proto_tree *tree = NULL;
3117         int old_offset;
3118
3119         ALIGN_TO_2_BYTES;
3120
3121         ALIGN_TO_2_BYTES;
3122
3123         old_offset = offset;
3124
3125         if (parent_tree) {
3126                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3127                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AuditFullQueryInfo);
3128         }
3129         
3130         offset = lsarpc_dissect_element_lsa_AuditFullQueryInfo_unknown(tvb, offset, pinfo, tree, di, drep);
3131
3132         offset = lsarpc_dissect_element_lsa_AuditFullQueryInfo_shutdown_on_full(tvb, offset, pinfo, tree, di, drep);
3133
3134         offset = lsarpc_dissect_element_lsa_AuditFullQueryInfo_log_is_full(tvb, offset, pinfo, tree, di, drep);
3135
3136
3137         proto_item_set_len(item, offset-old_offset);
3138
3139
3140         if (di->call_data->flags & DCERPC_IS_NDR64) {
3141                 ALIGN_TO_2_BYTES;
3142         }
3143
3144         return offset;
3145 }
3146
3147
3148 /* IDL: struct { */
3149 /* IDL:         lsa_StringLarge name; */
3150 /* IDL:         lsa_StringLarge dns_domain; */
3151 /* IDL:         lsa_StringLarge dns_forest; */
3152 /* IDL:         GUID domain_guid; */
3153 /* IDL:         [unique(1)] dom_sid2 *sid; */
3154 /* IDL: } */
3155
3156 static int
3157 lsarpc_dissect_element_lsa_DnsDomainInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3158 {
3159         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DnsDomainInfo_name,0);
3160
3161         return offset;
3162 }
3163
3164 static int
3165 lsarpc_dissect_element_lsa_DnsDomainInfo_dns_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3166 {
3167         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DnsDomainInfo_dns_domain,0);
3168
3169         return offset;
3170 }
3171
3172 static int
3173 lsarpc_dissect_element_lsa_DnsDomainInfo_dns_forest(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3174 {
3175         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DnsDomainInfo_dns_forest,0);
3176
3177         return offset;
3178 }
3179
3180 static int
3181 lsarpc_dissect_element_lsa_DnsDomainInfo_domain_guid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3182 {
3183         offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DnsDomainInfo_domain_guid, NULL);
3184
3185         return offset;
3186 }
3187
3188 static int
3189 lsarpc_dissect_element_lsa_DnsDomainInfo_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3190 {
3191         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DnsDomainInfo_sid_, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_DnsDomainInfo_sid);
3192
3193         return offset;
3194 }
3195
3196 static int
3197 lsarpc_dissect_element_lsa_DnsDomainInfo_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3198 {
3199         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DnsDomainInfo_sid,0);
3200
3201         return offset;
3202 }
3203
3204 int
3205 lsarpc_dissect_struct_lsa_DnsDomainInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3206 {
3207         proto_item *item = NULL;
3208         proto_tree *tree = NULL;
3209         int old_offset;
3210
3211         ALIGN_TO_5_BYTES;
3212
3213         ALIGN_TO_5_BYTES;
3214
3215         old_offset = offset;
3216
3217         if (parent_tree) {
3218                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3219                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DnsDomainInfo);
3220         }
3221         
3222         offset = lsarpc_dissect_element_lsa_DnsDomainInfo_name(tvb, offset, pinfo, tree, di, drep);
3223
3224         offset = lsarpc_dissect_element_lsa_DnsDomainInfo_dns_domain(tvb, offset, pinfo, tree, di, drep);
3225
3226         offset = lsarpc_dissect_element_lsa_DnsDomainInfo_dns_forest(tvb, offset, pinfo, tree, di, drep);
3227
3228         offset = lsarpc_dissect_element_lsa_DnsDomainInfo_domain_guid(tvb, offset, pinfo, tree, di, drep);
3229
3230         offset = lsarpc_dissect_element_lsa_DnsDomainInfo_sid(tvb, offset, pinfo, tree, di, drep);
3231
3232
3233         proto_item_set_len(item, offset-old_offset);
3234
3235
3236         if (di->call_data->flags & DCERPC_IS_NDR64) {
3237                 ALIGN_TO_5_BYTES;
3238         }
3239
3240         return offset;
3241 }
3242
3243
3244 /* IDL: enum { */
3245 /* IDL:         LSA_POLICY_INFO_AUDIT_LOG=1, */
3246 /* IDL:         LSA_POLICY_INFO_AUDIT_EVENTS=2, */
3247 /* IDL:         LSA_POLICY_INFO_DOMAIN=3, */
3248 /* IDL:         LSA_POLICY_INFO_PD=4, */
3249 /* IDL:         LSA_POLICY_INFO_ACCOUNT_DOMAIN=5, */
3250 /* IDL:         LSA_POLICY_INFO_ROLE=6, */
3251 /* IDL:         LSA_POLICY_INFO_REPLICA=7, */
3252 /* IDL:         LSA_POLICY_INFO_QUOTA=8, */
3253 /* IDL:         LSA_POLICY_INFO_DB=9, */
3254 /* IDL:         LSA_POLICY_INFO_AUDIT_FULL_SET=10, */
3255 /* IDL:         LSA_POLICY_INFO_AUDIT_FULL_QUERY=11, */
3256 /* IDL:         LSA_POLICY_INFO_DNS=12, */
3257 /* IDL:         LSA_POLICY_INFO_DNS_INT=13, */
3258 /* IDL:         LSA_POLICY_INFO_LOCAL_ACCOUNT_DOMAIN=14, */
3259 /* IDL: } */
3260
3261 int
3262 lsarpc_dissect_enum_lsa_PolicyInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
3263 {
3264         guint1632 parameter=0;
3265         if (param) {
3266                 parameter = *param;
3267         }
3268         offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
3269         if (param) {
3270                 *param = parameter;
3271         }
3272         return offset;
3273 }
3274
3275
3276 /* IDL: [switch_type(uint16)] union { */
3277 /* IDL: [case(LSA_POLICY_INFO_AUDIT_LOG)] [case(LSA_POLICY_INFO_AUDIT_LOG)] lsa_AuditLogInfo audit_log; */
3278 /* IDL: [case(LSA_POLICY_INFO_AUDIT_EVENTS)] [case(LSA_POLICY_INFO_AUDIT_EVENTS)] lsa_AuditEventsInfo audit_events; */
3279 /* IDL: [case(LSA_POLICY_INFO_DOMAIN)] [case(LSA_POLICY_INFO_DOMAIN)] lsa_DomainInfo domain; */
3280 /* IDL: [case(LSA_POLICY_INFO_PD)] [case(LSA_POLICY_INFO_PD)] lsa_PDAccountInfo pd; */
3281 /* IDL: [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] lsa_DomainInfo account_domain; */
3282 /* IDL: [case(LSA_POLICY_INFO_ROLE)] [case(LSA_POLICY_INFO_ROLE)] lsa_ServerRole role; */
3283 /* IDL: [case(LSA_POLICY_INFO_REPLICA)] [case(LSA_POLICY_INFO_REPLICA)] lsa_ReplicaSourceInfo replica; */
3284 /* IDL: [case(LSA_POLICY_INFO_QUOTA)] [case(LSA_POLICY_INFO_QUOTA)] lsa_DefaultQuotaInfo quota; */
3285 /* IDL: [case(LSA_POLICY_INFO_DB)] [case(LSA_POLICY_INFO_DB)] lsa_ModificationInfo db; */
3286 /* IDL: [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] lsa_AuditFullSetInfo auditfullset; */
3287 /* IDL: [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] lsa_AuditFullQueryInfo auditfullquery; */
3288 /* IDL: [case(LSA_POLICY_INFO_DNS)] [case(LSA_POLICY_INFO_DNS)] lsa_DnsDomainInfo dns; */
3289 /* IDL: } */
3290
3291 static int
3292 lsarpc_dissect_element_lsa_PolicyInformation_audit_log(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3293 {
3294         offset = lsarpc_dissect_struct_lsa_AuditLogInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_audit_log,0);
3295
3296         return offset;
3297 }
3298
3299 static int
3300 lsarpc_dissect_element_lsa_PolicyInformation_audit_events(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3301 {
3302         offset = lsarpc_dissect_struct_lsa_AuditEventsInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_audit_events,0);
3303
3304         return offset;
3305 }
3306
3307 static int
3308 lsarpc_dissect_element_lsa_PolicyInformation_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3309 {
3310         offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_domain,0);
3311
3312         return offset;
3313 }
3314
3315 static int
3316 lsarpc_dissect_element_lsa_PolicyInformation_pd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3317 {
3318         offset = lsarpc_dissect_struct_lsa_PDAccountInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_pd,0);
3319
3320         return offset;
3321 }
3322
3323 static int
3324 lsarpc_dissect_element_lsa_PolicyInformation_account_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3325 {
3326         offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_account_domain,0);
3327
3328         return offset;
3329 }
3330
3331 static int
3332 lsarpc_dissect_element_lsa_PolicyInformation_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3333 {
3334         offset = lsarpc_dissect_struct_lsa_ServerRole(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_role,0);
3335
3336         return offset;
3337 }
3338
3339 static int
3340 lsarpc_dissect_element_lsa_PolicyInformation_replica(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3341 {
3342         offset = lsarpc_dissect_struct_lsa_ReplicaSourceInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_replica,0);
3343
3344         return offset;
3345 }
3346
3347 static int
3348 lsarpc_dissect_element_lsa_PolicyInformation_quota(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3349 {
3350         offset = lsarpc_dissect_struct_lsa_DefaultQuotaInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_quota,0);
3351
3352         return offset;
3353 }
3354
3355 static int
3356 lsarpc_dissect_element_lsa_PolicyInformation_db(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3357 {
3358         offset = lsarpc_dissect_struct_lsa_ModificationInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_db,0);
3359
3360         return offset;
3361 }
3362
3363 static int
3364 lsarpc_dissect_element_lsa_PolicyInformation_auditfullset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3365 {
3366         offset = lsarpc_dissect_struct_lsa_AuditFullSetInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_auditfullset,0);
3367
3368         return offset;
3369 }
3370
3371 static int
3372 lsarpc_dissect_element_lsa_PolicyInformation_auditfullquery(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3373 {
3374         offset = lsarpc_dissect_struct_lsa_AuditFullQueryInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_auditfullquery,0);
3375
3376         return offset;
3377 }
3378
3379 static int
3380 lsarpc_dissect_element_lsa_PolicyInformation_dns(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3381 {
3382         offset = lsarpc_dissect_struct_lsa_DnsDomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_dns,0);
3383
3384         return offset;
3385 }
3386
3387 static int
3388 lsarpc_dissect_lsa_PolicyInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3389 {
3390         proto_item *item = NULL;
3391         proto_tree *tree = NULL;
3392         int old_offset;
3393         guint16 level;
3394
3395         old_offset = offset;
3396         if (parent_tree) {
3397                 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_PolicyInformation, &item, "lsa_PolicyInformation");
3398         }
3399
3400         offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
3401         ALIGN_TO_8_BYTES;
3402
3403         switch(level) {
3404                 case LSA_POLICY_INFO_AUDIT_LOG:
3405                         offset = lsarpc_dissect_element_lsa_PolicyInformation_audit_log(tvb, offset, pinfo, tree, di, drep);
3406                 break;
3407
3408                 case LSA_POLICY_INFO_AUDIT_EVENTS:
3409                         offset = lsarpc_dissect_element_lsa_PolicyInformation_audit_events(tvb, offset, pinfo, tree, di, drep);
3410                 break;
3411
3412                 case LSA_POLICY_INFO_DOMAIN:
3413                         offset = lsarpc_dissect_element_lsa_PolicyInformation_domain(tvb, offset, pinfo, tree, di, drep);
3414                 break;
3415
3416                 case LSA_POLICY_INFO_PD:
3417                         offset = lsarpc_dissect_element_lsa_PolicyInformation_pd(tvb, offset, pinfo, tree, di, drep);
3418                 break;
3419
3420                 case LSA_POLICY_INFO_ACCOUNT_DOMAIN:
3421                         offset = lsarpc_dissect_element_lsa_PolicyInformation_account_domain(tvb, offset, pinfo, tree, di, drep);
3422                 break;
3423
3424                 case LSA_POLICY_INFO_ROLE:
3425                         offset = lsarpc_dissect_element_lsa_PolicyInformation_role(tvb, offset, pinfo, tree, di, drep);
3426                 break;
3427
3428                 case LSA_POLICY_INFO_REPLICA:
3429                         offset = lsarpc_dissect_element_lsa_PolicyInformation_replica(tvb, offset, pinfo, tree, di, drep);
3430                 break;
3431
3432                 case LSA_POLICY_INFO_QUOTA:
3433                         offset = lsarpc_dissect_element_lsa_PolicyInformation_quota(tvb, offset, pinfo, tree, di, drep);
3434                 break;
3435
3436                 case LSA_POLICY_INFO_DB:
3437                         offset = lsarpc_dissect_element_lsa_PolicyInformation_db(tvb, offset, pinfo, tree, di, drep);
3438                 break;
3439
3440                 case LSA_POLICY_INFO_AUDIT_FULL_SET:
3441                         offset = lsarpc_dissect_element_lsa_PolicyInformation_auditfullset(tvb, offset, pinfo, tree, di, drep);
3442                 break;
3443
3444                 case LSA_POLICY_INFO_AUDIT_FULL_QUERY:
3445                         offset = lsarpc_dissect_element_lsa_PolicyInformation_auditfullquery(tvb, offset, pinfo, tree, di, drep);
3446                 break;
3447
3448                 case LSA_POLICY_INFO_DNS:
3449                         offset = lsarpc_dissect_element_lsa_PolicyInformation_dns(tvb, offset, pinfo, tree, di, drep);
3450                 break;
3451         }
3452         proto_item_set_len(item, offset-old_offset);
3453
3454
3455         return offset;
3456 }
3457
3458 /* IDL: struct { */
3459 /* IDL:         [unique(1)] dom_sid2 *sid; */
3460 /* IDL: } */
3461
3462 static int
3463 lsarpc_dissect_element_lsa_SidPtr_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3464 {
3465         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SidPtr_sid_, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_SidPtr_sid);
3466
3467         return offset;
3468 }
3469
3470 static int
3471 lsarpc_dissect_element_lsa_SidPtr_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3472 {
3473         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SidPtr_sid,0);
3474
3475         return offset;
3476 }
3477
3478 int
3479 lsarpc_dissect_struct_lsa_SidPtr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3480 {
3481         proto_item *item = NULL;
3482         proto_tree *tree = NULL;
3483         int old_offset;
3484
3485         ALIGN_TO_5_BYTES;
3486
3487         ALIGN_TO_5_BYTES;
3488
3489         old_offset = offset;
3490
3491         if (parent_tree) {
3492                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3493                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_SidPtr);
3494         }
3495         
3496         offset = lsarpc_dissect_element_lsa_SidPtr_sid(tvb, offset, pinfo, tree, di, drep);
3497
3498
3499         proto_item_set_len(item, offset-old_offset);
3500
3501
3502         if (di->call_data->flags & DCERPC_IS_NDR64) {
3503                 ALIGN_TO_5_BYTES;
3504         }
3505
3506         return offset;
3507 }
3508
3509
3510 /* IDL: struct { */
3511 /* IDL:         [range(0,1000)] uint32 num_sids; */
3512 /* IDL:         [size_is(num_sids)] [unique(1)] lsa_SidPtr *sids; */
3513 /* IDL: } */
3514
3515 static int
3516 lsarpc_dissect_element_lsa_SidArray_num_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3517 {
3518         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SidArray_num_sids, 0);
3519
3520         return offset;
3521 }
3522
3523 static int
3524 lsarpc_dissect_element_lsa_SidArray_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3525 {
3526         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SidArray_sids_, NDR_POINTER_UNIQUE, "Pointer to Sids (lsa_SidPtr)",hf_lsarpc_lsa_SidArray_sids);
3527
3528         return offset;
3529 }
3530
3531 static int
3532 lsarpc_dissect_element_lsa_SidArray_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3533 {
3534         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SidArray_sids__);
3535
3536         return offset;
3537 }
3538
3539 static int
3540 lsarpc_dissect_element_lsa_SidArray_sids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3541 {
3542         offset = lsarpc_dissect_struct_lsa_SidPtr(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SidArray_sids,0);
3543
3544         return offset;
3545 }
3546
3547 int
3548 lsarpc_dissect_struct_lsa_SidArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3549 {
3550         proto_item *item = NULL;
3551         proto_tree *tree = NULL;
3552         int old_offset;
3553
3554         ALIGN_TO_5_BYTES;
3555
3556         ALIGN_TO_5_BYTES;
3557
3558         old_offset = offset;
3559
3560         if (parent_tree) {
3561                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3562                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_SidArray);
3563         }
3564         
3565         offset = lsarpc_dissect_element_lsa_SidArray_num_sids(tvb, offset, pinfo, tree, di, drep);
3566
3567         offset = lsarpc_dissect_element_lsa_SidArray_sids(tvb, offset, pinfo, tree, di, drep);
3568
3569
3570         proto_item_set_len(item, offset-old_offset);
3571
3572
3573         if (di->call_data->flags & DCERPC_IS_NDR64) {
3574                 ALIGN_TO_5_BYTES;
3575         }
3576
3577         return offset;
3578 }
3579
3580
3581 /* IDL: struct { */
3582 /* IDL:         uint32 count; */
3583 /* IDL:         [size_is(count)] [unique(1)] lsa_DomainInfo *domains; */
3584 /* IDL: } */
3585
3586 static int
3587 lsarpc_dissect_element_lsa_DomainList_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3588 {
3589         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DomainList_count, 0);
3590
3591         return offset;
3592 }
3593
3594 static int
3595 lsarpc_dissect_element_lsa_DomainList_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3596 {
3597         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DomainList_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_DomainInfo)",hf_lsarpc_lsa_DomainList_domains);
3598
3599         return offset;
3600 }
3601
3602 static int
3603 lsarpc_dissect_element_lsa_DomainList_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3604 {
3605         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DomainList_domains__);
3606
3607         return offset;
3608 }
3609
3610 static int
3611 lsarpc_dissect_element_lsa_DomainList_domains__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3612 {
3613         offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainList_domains,0);
3614
3615         return offset;
3616 }
3617
3618 int
3619 lsarpc_dissect_struct_lsa_DomainList(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3620 {
3621         proto_item *item = NULL;
3622         proto_tree *tree = NULL;
3623         int old_offset;
3624
3625         ALIGN_TO_5_BYTES;
3626
3627         ALIGN_TO_5_BYTES;
3628
3629         old_offset = offset;
3630
3631         if (parent_tree) {
3632                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3633                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainList);
3634         }
3635         
3636         offset = lsarpc_dissect_element_lsa_DomainList_count(tvb, offset, pinfo, tree, di, drep);
3637
3638         offset = lsarpc_dissect_element_lsa_DomainList_domains(tvb, offset, pinfo, tree, di, drep);
3639
3640
3641         proto_item_set_len(item, offset-old_offset);
3642
3643
3644         if (di->call_data->flags & DCERPC_IS_NDR64) {
3645                 ALIGN_TO_5_BYTES;
3646         }
3647
3648         return offset;
3649 }
3650
3651
3652 /* IDL: enum { */
3653 /* IDL:         SID_NAME_USE_NONE=0, */
3654 /* IDL:         SID_NAME_USER=1, */
3655 /* IDL:         SID_NAME_DOM_GRP=2, */
3656 /* IDL:         SID_NAME_DOMAIN=3, */
3657 /* IDL:         SID_NAME_ALIAS=4, */
3658 /* IDL:         SID_NAME_WKN_GRP=5, */
3659 /* IDL:         SID_NAME_DELETED=6, */
3660 /* IDL:         SID_NAME_INVALID=7, */
3661 /* IDL:         SID_NAME_UNKNOWN=8, */
3662 /* IDL:         SID_NAME_COMPUTER=9, */
3663 /* IDL: } */
3664
3665 int
3666 lsarpc_dissect_enum_lsa_SidType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
3667 {
3668         guint1632 parameter=0;
3669         if (param) {
3670                 parameter = *param;
3671         }
3672         offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
3673         if (param) {
3674                 *param = parameter;
3675         }
3676         return offset;
3677 }
3678
3679
3680 /* IDL: struct { */
3681 /* IDL:         lsa_SidType sid_type; */
3682 /* IDL:         uint32 rid; */
3683 /* IDL:         uint32 sid_index; */
3684 /* IDL: } */
3685
3686 static int
3687 lsarpc_dissect_element_lsa_TranslatedSid_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3688 {
3689         offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid_sid_type, 0);
3690
3691         return offset;
3692 }
3693
3694 static int
3695 lsarpc_dissect_element_lsa_TranslatedSid_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3696 {
3697         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid_rid, 0);
3698
3699         return offset;
3700 }
3701
3702 static int
3703 lsarpc_dissect_element_lsa_TranslatedSid_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3704 {
3705         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid_sid_index, 0);
3706
3707         return offset;
3708 }
3709
3710 int
3711 lsarpc_dissect_struct_lsa_TranslatedSid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3712 {
3713         proto_item *item = NULL;
3714         proto_tree *tree = NULL;
3715         int old_offset;
3716
3717         ALIGN_TO_4_BYTES;
3718
3719         ALIGN_TO_4_BYTES;
3720
3721         old_offset = offset;
3722
3723         if (parent_tree) {
3724                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3725                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedSid);
3726         }
3727         
3728         offset = lsarpc_dissect_element_lsa_TranslatedSid_sid_type(tvb, offset, pinfo, tree, di, drep);
3729
3730         offset = lsarpc_dissect_element_lsa_TranslatedSid_rid(tvb, offset, pinfo, tree, di, drep);
3731
3732         offset = lsarpc_dissect_element_lsa_TranslatedSid_sid_index(tvb, offset, pinfo, tree, di, drep);
3733
3734
3735         proto_item_set_len(item, offset-old_offset);
3736
3737
3738         if (di->call_data->flags & DCERPC_IS_NDR64) {
3739                 ALIGN_TO_4_BYTES;
3740         }
3741
3742         return offset;
3743 }
3744
3745
3746 /* IDL: struct { */
3747 /* IDL:         [range(0,1000)] uint32 count; */
3748 /* IDL:         [size_is(count)] [unique(1)] lsa_TranslatedSid *sids; */
3749 /* IDL: } */
3750
3751 static int
3752 lsarpc_dissect_element_lsa_TransSidArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3753 {
3754         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransSidArray_count, 0);
3755
3756         return offset;
3757 }
3758
3759 static int
3760 lsarpc_dissect_element_lsa_TransSidArray_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3761 {
3762         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransSidArray_sids_, NDR_POINTER_UNIQUE, "Pointer to Sids (lsa_TranslatedSid)",hf_lsarpc_lsa_TransSidArray_sids);
3763
3764         return offset;
3765 }
3766
3767 static int
3768 lsarpc_dissect_element_lsa_TransSidArray_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3769 {
3770         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransSidArray_sids__);
3771
3772         return offset;
3773 }
3774
3775 static int
3776 lsarpc_dissect_element_lsa_TransSidArray_sids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3777 {
3778         offset = lsarpc_dissect_struct_lsa_TranslatedSid(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransSidArray_sids,0);
3779
3780         return offset;
3781 }
3782
3783 int
3784 lsarpc_dissect_struct_lsa_TransSidArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3785 {
3786         proto_item *item = NULL;
3787         proto_tree *tree = NULL;
3788         int old_offset;
3789
3790         ALIGN_TO_5_BYTES;
3791
3792         ALIGN_TO_5_BYTES;
3793
3794         old_offset = offset;
3795
3796         if (parent_tree) {
3797                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3798                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransSidArray);
3799         }
3800         
3801         offset = lsarpc_dissect_element_lsa_TransSidArray_count(tvb, offset, pinfo, tree, di, drep);
3802
3803         offset = lsarpc_dissect_element_lsa_TransSidArray_sids(tvb, offset, pinfo, tree, di, drep);
3804
3805
3806         proto_item_set_len(item, offset-old_offset);
3807
3808
3809         if (di->call_data->flags & DCERPC_IS_NDR64) {
3810                 ALIGN_TO_5_BYTES;
3811         }
3812
3813         return offset;
3814 }
3815
3816
3817 /* IDL: struct { */
3818 /* IDL:         [range(0,1000)] uint32 count; */
3819 /* IDL:         [size_is(count)] [unique(1)] lsa_DomainInfo *domains; */
3820 /* IDL:         uint32 max_size; */
3821 /* IDL: } */
3822
3823 static int
3824 lsarpc_dissect_element_lsa_RefDomainList_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3825 {
3826         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RefDomainList_count, 0);
3827
3828         return offset;
3829 }
3830
3831 static int
3832 lsarpc_dissect_element_lsa_RefDomainList_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3833 {
3834         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RefDomainList_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_DomainInfo)",hf_lsarpc_lsa_RefDomainList_domains);
3835
3836         return offset;
3837 }
3838
3839 static int
3840 lsarpc_dissect_element_lsa_RefDomainList_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3841 {
3842         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RefDomainList_domains__);
3843
3844         return offset;
3845 }
3846
3847 static int
3848 lsarpc_dissect_element_lsa_RefDomainList_domains__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3849 {
3850         offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RefDomainList_domains,0);
3851
3852         return offset;
3853 }
3854
3855 static int
3856 lsarpc_dissect_element_lsa_RefDomainList_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3857 {
3858         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RefDomainList_max_size, 0);
3859
3860         return offset;
3861 }
3862
3863 int
3864 lsarpc_dissect_struct_lsa_RefDomainList(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3865 {
3866         proto_item *item = NULL;
3867         proto_tree *tree = NULL;
3868         int old_offset;
3869
3870         ALIGN_TO_5_BYTES;
3871
3872         ALIGN_TO_5_BYTES;
3873
3874         old_offset = offset;
3875
3876         if (parent_tree) {
3877                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3878                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_RefDomainList);
3879         }
3880         
3881         offset = lsarpc_dissect_element_lsa_RefDomainList_count(tvb, offset, pinfo, tree, di, drep);
3882
3883         offset = lsarpc_dissect_element_lsa_RefDomainList_domains(tvb, offset, pinfo, tree, di, drep);
3884
3885         offset = lsarpc_dissect_element_lsa_RefDomainList_max_size(tvb, offset, pinfo, tree, di, drep);
3886
3887
3888         proto_item_set_len(item, offset-old_offset);
3889
3890
3891         if (di->call_data->flags & DCERPC_IS_NDR64) {
3892                 ALIGN_TO_5_BYTES;
3893         }
3894
3895         return offset;
3896 }
3897
3898
3899 /* IDL: enum { */
3900 /* IDL:         LSA_LOOKUP_NAMES_ALL=1, */
3901 /* IDL:         LSA_LOOKUP_NAMES_DOMAINS_ONLY=2, */
3902 /* IDL:         LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3, */
3903 /* IDL:         LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4, */
3904 /* IDL:         LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5, */
3905 /* IDL:         LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6, */
3906 /* IDL: } */
3907
3908 int
3909 lsarpc_dissect_enum_lsa_LookupNamesLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
3910 {
3911         guint1632 parameter=0;
3912         if (param) {
3913                 parameter = *param;
3914         }
3915         offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
3916         if (param) {
3917                 *param = parameter;
3918         }
3919         return offset;
3920 }
3921
3922
3923 /* IDL: struct { */
3924 /* IDL:         lsa_SidType sid_type; */
3925 /* IDL:         lsa_String name; */
3926 /* IDL:         uint32 sid_index; */
3927 /* IDL: } */
3928
3929 static int
3930 lsarpc_dissect_element_lsa_TranslatedName_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3931 {
3932         offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName_sid_type, 0);
3933
3934         return offset;
3935 }
3936
3937 static int
3938 lsarpc_dissect_element_lsa_TranslatedName_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3939 {
3940         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TranslatedName_name,0);
3941
3942         return offset;
3943 }
3944
3945 static int
3946 lsarpc_dissect_element_lsa_TranslatedName_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3947 {
3948         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName_sid_index, 0);
3949
3950         return offset;
3951 }
3952
3953 int
3954 lsarpc_dissect_struct_lsa_TranslatedName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3955 {
3956         proto_item *item = NULL;
3957         proto_tree *tree = NULL;
3958         int old_offset;
3959
3960         ALIGN_TO_5_BYTES;
3961
3962         ALIGN_TO_5_BYTES;
3963
3964         old_offset = offset;
3965
3966         if (parent_tree) {
3967                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3968                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedName);
3969         }
3970         
3971         offset = lsarpc_dissect_element_lsa_TranslatedName_sid_type(tvb, offset, pinfo, tree, di, drep);
3972
3973         offset = lsarpc_dissect_element_lsa_TranslatedName_name(tvb, offset, pinfo, tree, di, drep);
3974
3975         offset = lsarpc_dissect_element_lsa_TranslatedName_sid_index(tvb, offset, pinfo, tree, di, drep);
3976
3977
3978         proto_item_set_len(item, offset-old_offset);
3979
3980
3981         if (di->call_data->flags & DCERPC_IS_NDR64) {
3982                 ALIGN_TO_5_BYTES;
3983         }
3984
3985         return offset;
3986 }
3987
3988
3989 /* IDL: struct { */
3990 /* IDL:         [range(0,1000)] uint32 count; */
3991 /* IDL:         [size_is(count)] [unique(1)] lsa_TranslatedName *names; */
3992 /* IDL: } */
3993
3994 static int
3995 lsarpc_dissect_element_lsa_TransNameArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3996 {
3997         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransNameArray_count, 0);
3998
3999         return offset;
4000 }
4001
4002 static int
4003 lsarpc_dissect_element_lsa_TransNameArray_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4004 {
4005         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransNameArray_names_, NDR_POINTER_UNIQUE, "Pointer to Names (lsa_TranslatedName)",hf_lsarpc_lsa_TransNameArray_names);
4006
4007         return offset;
4008 }
4009
4010 static int
4011 lsarpc_dissect_element_lsa_TransNameArray_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4012 {
4013         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransNameArray_names__);
4014
4015         return offset;
4016 }
4017
4018 static int
4019 lsarpc_dissect_element_lsa_TransNameArray_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4020 {
4021         offset = lsarpc_dissect_struct_lsa_TranslatedName(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransNameArray_names,0);
4022
4023         return offset;
4024 }
4025
4026 int
4027 lsarpc_dissect_struct_lsa_TransNameArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4028 {
4029         proto_item *item = NULL;
4030         proto_tree *tree = NULL;
4031         int old_offset;
4032
4033         ALIGN_TO_5_BYTES;
4034
4035         ALIGN_TO_5_BYTES;
4036
4037         old_offset = offset;
4038
4039         if (parent_tree) {
4040                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4041                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransNameArray);
4042         }
4043         
4044         offset = lsarpc_dissect_element_lsa_TransNameArray_count(tvb, offset, pinfo, tree, di, drep);
4045
4046         offset = lsarpc_dissect_element_lsa_TransNameArray_names(tvb, offset, pinfo, tree, di, drep);
4047
4048
4049         proto_item_set_len(item, offset-old_offset);
4050
4051
4052         if (di->call_data->flags & DCERPC_IS_NDR64) {
4053                 ALIGN_TO_5_BYTES;
4054         }
4055
4056         return offset;
4057 }
4058
4059
4060 /* IDL: struct { */
4061 /* IDL:         lsa_LUID luid; */
4062 /* IDL:         uint32 attribute; */
4063 /* IDL: } */
4064
4065 static int
4066 lsarpc_dissect_element_lsa_LUIDAttribute_luid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4067 {
4068         offset = lsarpc_dissect_struct_lsa_LUID(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LUIDAttribute_luid,0);
4069
4070         return offset;
4071 }
4072
4073 static int
4074 lsarpc_dissect_element_lsa_LUIDAttribute_attribute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4075 {
4076         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LUIDAttribute_attribute, 0);
4077
4078         return offset;
4079 }
4080
4081 int
4082 lsarpc_dissect_struct_lsa_LUIDAttribute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4083 {
4084         proto_item *item = NULL;
4085         proto_tree *tree = NULL;
4086         int old_offset;
4087
4088         ALIGN_TO_4_BYTES;
4089
4090         ALIGN_TO_4_BYTES;
4091
4092         old_offset = offset;
4093
4094         if (parent_tree) {
4095                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4096                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_LUIDAttribute);
4097         }
4098         
4099         offset = lsarpc_dissect_element_lsa_LUIDAttribute_luid(tvb, offset, pinfo, tree, di, drep);
4100
4101         offset = lsarpc_dissect_element_lsa_LUIDAttribute_attribute(tvb, offset, pinfo, tree, di, drep);
4102
4103
4104         proto_item_set_len(item, offset-old_offset);
4105
4106
4107         if (di->call_data->flags & DCERPC_IS_NDR64) {
4108                 ALIGN_TO_4_BYTES;
4109         }
4110
4111         return offset;
4112 }
4113
4114
4115 /* IDL: struct { */
4116 /* IDL:         [range(0,1000)] uint32 count; */
4117 /* IDL:         uint32 unknown; */
4118 /* IDL:         [size_is(count)] lsa_LUIDAttribute set[*]; */
4119 /* IDL: } */
4120
4121 static int
4122 lsarpc_dissect_element_lsa_PrivilegeSet_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4123 {
4124         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_PrivilegeSet_count, 0);
4125
4126         return offset;
4127 }
4128
4129 static int
4130 lsarpc_dissect_element_lsa_PrivilegeSet_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4131 {
4132         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_PrivilegeSet_unknown, 0);
4133
4134         return offset;
4135 }
4136
4137 static int
4138 lsarpc_dissect_element_lsa_PrivilegeSet_set(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4139 {
4140         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_PrivilegeSet_set_);
4141
4142         return offset;
4143 }
4144
4145 static int
4146 lsarpc_dissect_element_lsa_PrivilegeSet_set_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4147 {
4148         offset = lsarpc_dissect_struct_lsa_LUIDAttribute(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PrivilegeSet_set,0);
4149
4150         return offset;
4151 }
4152
4153 int
4154 lsarpc_dissect_struct_lsa_PrivilegeSet(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4155 {
4156         proto_item *item = NULL;
4157         proto_tree *tree = NULL;
4158         int old_offset;
4159
4160         ALIGN_TO_4_BYTES;
4161
4162         ALIGN_TO_4_BYTES;
4163
4164         old_offset = offset;
4165
4166         if (parent_tree) {
4167                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4168                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_PrivilegeSet);
4169         }
4170         
4171         offset = lsarpc_dissect_element_lsa_PrivilegeSet_count(tvb, offset, pinfo, tree, di, drep);
4172
4173         offset = lsarpc_dissect_element_lsa_PrivilegeSet_unknown(tvb, offset, pinfo, tree, di, drep);
4174
4175         offset = lsarpc_dissect_element_lsa_PrivilegeSet_set(tvb, offset, pinfo, tree, di, drep);
4176
4177
4178         proto_item_set_len(item, offset-old_offset);
4179
4180
4181         if (di->call_data->flags & DCERPC_IS_NDR64) {
4182                 ALIGN_TO_4_BYTES;
4183         }
4184
4185         return offset;
4186 }
4187
4188
4189 /* IDL: struct { */
4190 /* IDL:         uint32 length; */
4191 /* IDL:         uint32 size; */
4192 /* IDL:         [length_is(length)] [size_is(size)] [unique(1)] uint8 *data; */
4193 /* IDL: } */
4194
4195 static int
4196 lsarpc_dissect_element_lsa_DATA_BUF_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4197 {
4198         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF_length, 0);
4199
4200         return offset;
4201 }
4202
4203 static int
4204 lsarpc_dissect_element_lsa_DATA_BUF_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4205 {
4206         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF_size, 0);
4207
4208         return offset;
4209 }
4210
4211 static int
4212 lsarpc_dissect_element_lsa_DATA_BUF_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4213 {
4214         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DATA_BUF_data_, NDR_POINTER_UNIQUE, "Pointer to Data (uint8)",hf_lsarpc_lsa_DATA_BUF_data);
4215
4216         return offset;
4217 }
4218
4219 static int
4220 lsarpc_dissect_element_lsa_DATA_BUF_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4221 {
4222         offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DATA_BUF_data__);
4223
4224         return offset;
4225 }
4226
4227 static int
4228 lsarpc_dissect_element_lsa_DATA_BUF_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4229 {
4230         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF_data, 0);
4231
4232         return offset;
4233 }
4234
4235 int
4236 lsarpc_dissect_struct_lsa_DATA_BUF(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4237 {
4238         proto_item *item = NULL;
4239         proto_tree *tree = NULL;
4240         int old_offset;
4241
4242         ALIGN_TO_5_BYTES;
4243
4244         ALIGN_TO_5_BYTES;
4245
4246         old_offset = offset;
4247
4248         if (parent_tree) {
4249                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4250                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DATA_BUF);
4251         }
4252         
4253         offset = lsarpc_dissect_element_lsa_DATA_BUF_length(tvb, offset, pinfo, tree, di, drep);
4254
4255         offset = lsarpc_dissect_element_lsa_DATA_BUF_size(tvb, offset, pinfo, tree, di, drep);
4256
4257         offset = lsarpc_dissect_element_lsa_DATA_BUF_data(tvb, offset, pinfo, tree, di, drep);
4258
4259
4260         proto_item_set_len(item, offset-old_offset);
4261
4262
4263         if (di->call_data->flags & DCERPC_IS_NDR64) {
4264                 ALIGN_TO_5_BYTES;
4265         }
4266
4267         return offset;
4268 }
4269
4270
4271 /* IDL: struct { */
4272 /* IDL:         [range(0,65536)] uint32 size; */
4273 /* IDL:         [size_is(size)] [unique(1)] uint8 *data; */
4274 /* IDL: } */
4275
4276 static int
4277 lsarpc_dissect_element_lsa_DATA_BUF2_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4278 {
4279         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF2_size, 0);
4280
4281         return offset;
4282 }
4283
4284 static int
4285 lsarpc_dissect_element_lsa_DATA_BUF2_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4286 {
4287         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DATA_BUF2_data_, NDR_POINTER_UNIQUE, "Pointer to Data (uint8)",hf_lsarpc_lsa_DATA_BUF2_data);
4288
4289         return offset;
4290 }
4291
4292 static int
4293 lsarpc_dissect_element_lsa_DATA_BUF2_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4294 {
4295         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DATA_BUF2_data__);
4296
4297         return offset;
4298 }
4299
4300 static int
4301 lsarpc_dissect_element_lsa_DATA_BUF2_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4302 {
4303         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF2_data, 0);
4304
4305         return offset;
4306 }
4307
4308 int
4309 lsarpc_dissect_struct_lsa_DATA_BUF2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4310 {
4311         proto_item *item = NULL;
4312         proto_tree *tree = NULL;
4313         int old_offset;
4314
4315         ALIGN_TO_5_BYTES;
4316
4317         ALIGN_TO_5_BYTES;
4318
4319         old_offset = offset;
4320
4321         if (parent_tree) {
4322                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4323                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DATA_BUF2);
4324         }
4325         
4326         offset = lsarpc_dissect_element_lsa_DATA_BUF2_size(tvb, offset, pinfo, tree, di, drep);
4327
4328         offset = lsarpc_dissect_element_lsa_DATA_BUF2_data(tvb, offset, pinfo, tree, di, drep);
4329
4330
4331         proto_item_set_len(item, offset-old_offset);
4332
4333
4334         if (di->call_data->flags & DCERPC_IS_NDR64) {
4335                 ALIGN_TO_5_BYTES;
4336         }
4337
4338         return offset;
4339 }
4340
4341
4342 /* IDL: enum { */
4343 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_NAME=1, */
4344 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO=2, */
4345 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3, */
4346 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4, */
4347 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_BASIC=5, */
4348 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6, */
4349 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7, */
4350 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8, */
4351 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_11=11, */
4352 /* IDL:         LSA_TRUSTED_DOMAIN_INFO_INFO_ALL=12, */
4353 /* IDL: } */
4354
4355 int
4356 lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
4357 {
4358         guint1632 parameter=0;
4359         if (param) {
4360                 parameter = *param;
4361         }
4362         offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
4363         if (param) {
4364                 *param = parameter;
4365         }
4366         return offset;
4367 }
4368
4369
4370 /* IDL: struct { */
4371 /* IDL:         lsa_StringLarge netbios_name; */
4372 /* IDL: } */
4373
4374 static int
4375 lsarpc_dissect_element_lsa_TrustDomainInfoName_netbios_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4376 {
4377         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoName_netbios_name,0);
4378
4379         return offset;
4380 }
4381
4382 int
4383 lsarpc_dissect_struct_lsa_TrustDomainInfoName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4384 {
4385         proto_item *item = NULL;
4386         proto_tree *tree = NULL;
4387         int old_offset;
4388
4389         ALIGN_TO_5_BYTES;
4390
4391         ALIGN_TO_5_BYTES;
4392
4393         old_offset = offset;
4394
4395         if (parent_tree) {
4396                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4397                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoName);
4398         }
4399         
4400         offset = lsarpc_dissect_element_lsa_TrustDomainInfoName_netbios_name(tvb, offset, pinfo, tree, di, drep);
4401
4402
4403         proto_item_set_len(item, offset-old_offset);
4404
4405
4406         if (di->call_data->flags & DCERPC_IS_NDR64) {
4407                 ALIGN_TO_5_BYTES;
4408         }
4409
4410         return offset;
4411 }
4412
4413
4414 /* IDL: struct { */
4415 /* IDL:         uint32 posix_offset; */
4416 /* IDL: } */
4417
4418 static int
4419 lsarpc_dissect_element_lsa_TrustDomainInfoPosixOffset_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4420 {
4421         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoPosixOffset_posix_offset, 0);
4422
4423         return offset;
4424 }
4425
4426 int
4427 lsarpc_dissect_struct_lsa_TrustDomainInfoPosixOffset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4428 {
4429         proto_item *item = NULL;
4430         proto_tree *tree = NULL;
4431         int old_offset;
4432
4433         ALIGN_TO_4_BYTES;
4434
4435         ALIGN_TO_4_BYTES;
4436
4437         old_offset = offset;
4438
4439         if (parent_tree) {
4440                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4441                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoPosixOffset);
4442         }
4443         
4444         offset = lsarpc_dissect_element_lsa_TrustDomainInfoPosixOffset_posix_offset(tvb, offset, pinfo, tree, di, drep);
4445
4446
4447         proto_item_set_len(item, offset-old_offset);
4448
4449
4450         if (di->call_data->flags & DCERPC_IS_NDR64) {
4451                 ALIGN_TO_4_BYTES;
4452         }
4453
4454         return offset;
4455 }
4456
4457
4458 /* IDL: struct { */
4459 /* IDL:         [unique(1)] lsa_DATA_BUF *password; */
4460 /* IDL:         [unique(1)] lsa_DATA_BUF *old_password; */
4461 /* IDL: } */
4462
4463 static int
4464 lsarpc_dissect_element_lsa_TrustDomainInfoPassword_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4465 {
4466         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoPassword_password_, NDR_POINTER_UNIQUE, "Pointer to Password (lsa_DATA_BUF)",hf_lsarpc_lsa_TrustDomainInfoPassword_password);
4467
4468         return offset;
4469 }
4470
4471 static int
4472 lsarpc_dissect_element_lsa_TrustDomainInfoPassword_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4473 {
4474         offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoPassword_password,0);
4475
4476         return offset;
4477 }
4478
4479 static int
4480 lsarpc_dissect_element_lsa_TrustDomainInfoPassword_old_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4481 {
4482         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoPassword_old_password_, NDR_POINTER_UNIQUE, "Pointer to Old Password (lsa_DATA_BUF)",hf_lsarpc_lsa_TrustDomainInfoPassword_old_password);
4483
4484         return offset;
4485 }
4486
4487 static int
4488 lsarpc_dissect_element_lsa_TrustDomainInfoPassword_old_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4489 {
4490         offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoPassword_old_password,0);
4491
4492         return offset;
4493 }
4494
4495 int
4496 lsarpc_dissect_struct_lsa_TrustDomainInfoPassword(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4497 {
4498         proto_item *item = NULL;
4499         proto_tree *tree = NULL;
4500         int old_offset;
4501
4502         ALIGN_TO_5_BYTES;
4503
4504         ALIGN_TO_5_BYTES;
4505
4506         old_offset = offset;
4507
4508         if (parent_tree) {
4509                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4510                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoPassword);
4511         }
4512         
4513         offset = lsarpc_dissect_element_lsa_TrustDomainInfoPassword_password(tvb, offset, pinfo, tree, di, drep);
4514
4515         offset = lsarpc_dissect_element_lsa_TrustDomainInfoPassword_old_password(tvb, offset, pinfo, tree, di, drep);
4516
4517
4518         proto_item_set_len(item, offset-old_offset);
4519
4520
4521         if (di->call_data->flags & DCERPC_IS_NDR64) {
4522                 ALIGN_TO_5_BYTES;
4523         }
4524
4525         return offset;
4526 }
4527
4528
4529 /* IDL: struct { */
4530 /* IDL:         lsa_String netbios_name; */
4531 /* IDL:         [unique(1)] dom_sid2 *sid; */
4532 /* IDL: } */
4533
4534 static int
4535 lsarpc_dissect_element_lsa_TrustDomainInfoBasic_netbios_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4536 {
4537         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoBasic_netbios_name,0);
4538
4539         return offset;
4540 }
4541
4542 static int
4543 lsarpc_dissect_element_lsa_TrustDomainInfoBasic_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4544 {
4545         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoBasic_sid_, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_TrustDomainInfoBasic_sid);
4546
4547         return offset;
4548 }
4549
4550 static int
4551 lsarpc_dissect_element_lsa_TrustDomainInfoBasic_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4552 {
4553         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoBasic_sid,0);
4554
4555         return offset;
4556 }
4557
4558 int
4559 lsarpc_dissect_struct_lsa_TrustDomainInfoBasic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4560 {
4561         proto_item *item = NULL;
4562         proto_tree *tree = NULL;
4563         int old_offset;
4564
4565         ALIGN_TO_5_BYTES;
4566
4567         ALIGN_TO_5_BYTES;
4568
4569         old_offset = offset;
4570
4571         if (parent_tree) {
4572                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4573                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoBasic);
4574         }
4575         
4576         offset = lsarpc_dissect_element_lsa_TrustDomainInfoBasic_netbios_name(tvb, offset, pinfo, tree, di, drep);
4577
4578         offset = lsarpc_dissect_element_lsa_TrustDomainInfoBasic_sid(tvb, offset, pinfo, tree, di, drep);
4579
4580
4581         proto_item_set_len(item, offset-old_offset);
4582
4583
4584         if (di->call_data->flags & DCERPC_IS_NDR64) {
4585                 ALIGN_TO_5_BYTES;
4586         }
4587
4588         return offset;
4589 }
4590
4591
4592 /* IDL: struct { */
4593 /* IDL:         lsa_StringLarge domain_name; */
4594 /* IDL:         lsa_StringLarge netbios_name; */
4595 /* IDL:         [unique(1)] dom_sid2 *sid; */
4596 /* IDL:         uint32 trust_direction; */
4597 /* IDL:         uint32 trust_type; */
4598 /* IDL:         uint32 trust_attributes; */
4599 /* IDL: } */
4600
4601 static int
4602 lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4603 {
4604         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoEx_domain_name,0);
4605
4606         return offset;
4607 }
4608
4609 static int
4610 lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_netbios_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4611 {
4612         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoEx_netbios_name,0);
4613
4614         return offset;
4615 }
4616
4617 static int
4618 lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4619 {
4620         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_sid_, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_TrustDomainInfoInfoEx_sid);
4621
4622         return offset;
4623 }
4624
4625 static int
4626 lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4627 {
4628         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoEx_sid,0);
4629
4630         return offset;
4631 }
4632
4633 static int
4634 lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_direction(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4635 {
4636         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_direction, 0);
4637
4638         return offset;
4639 }
4640
4641 static int
4642 lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4643 {
4644         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_type, 0);
4645
4646         return offset;
4647 }
4648
4649 static int
4650 lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4651 {
4652         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_attributes, 0);
4653
4654         return offset;
4655 }
4656
4657 int
4658 lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4659 {
4660         proto_item *item = NULL;
4661         proto_tree *tree = NULL;
4662         int old_offset;
4663
4664         ALIGN_TO_5_BYTES;
4665
4666         ALIGN_TO_5_BYTES;
4667
4668         old_offset = offset;
4669
4670         if (parent_tree) {
4671                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4672                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoInfoEx);
4673         }
4674         
4675         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_domain_name(tvb, offset, pinfo, tree, di, drep);
4676
4677         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_netbios_name(tvb, offset, pinfo, tree, di, drep);
4678
4679         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_sid(tvb, offset, pinfo, tree, di, drep);
4680
4681         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_direction(tvb, offset, pinfo, tree, di, drep);
4682
4683         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_type(tvb, offset, pinfo, tree, di, drep);
4684
4685         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_attributes(tvb, offset, pinfo, tree, di, drep);
4686
4687
4688         proto_item_set_len(item, offset-old_offset);
4689
4690
4691         if (di->call_data->flags & DCERPC_IS_NDR64) {
4692                 ALIGN_TO_5_BYTES;
4693         }
4694
4695         return offset;
4696 }
4697
4698
4699 /* IDL: struct { */
4700 /* IDL:         NTTIME_hyper last_update_time; */
4701 /* IDL:         uint32 secret_type; */
4702 /* IDL:         lsa_DATA_BUF2 data; */
4703 /* IDL: } */
4704
4705 static int
4706 lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_last_update_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4707 {
4708         offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoBuffer_last_update_time);
4709
4710         return offset;
4711 }
4712
4713 static int
4714 lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_secret_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4715 {
4716         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoBuffer_secret_type, 0);
4717
4718         return offset;
4719 }
4720
4721 static int
4722 lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4723 {
4724         offset = lsarpc_dissect_struct_lsa_DATA_BUF2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoBuffer_data,0);
4725
4726         return offset;
4727 }
4728
4729 int
4730 lsarpc_dissect_struct_lsa_TrustDomainInfoBuffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4731 {
4732         proto_item *item = NULL;
4733         proto_tree *tree = NULL;
4734         int old_offset;
4735
4736         ALIGN_TO_8_BYTES;
4737
4738         ALIGN_TO_8_BYTES;
4739
4740         old_offset = offset;
4741
4742         if (parent_tree) {
4743                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4744                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoBuffer);
4745         }
4746         
4747         offset = lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_last_update_time(tvb, offset, pinfo, tree, di, drep);
4748
4749         offset = lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_secret_type(tvb, offset, pinfo, tree, di, drep);
4750
4751         offset = lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_data(tvb, offset, pinfo, tree, di, drep);
4752
4753
4754         proto_item_set_len(item, offset-old_offset);
4755
4756
4757         if (di->call_data->flags & DCERPC_IS_NDR64) {
4758                 ALIGN_TO_8_BYTES;
4759         }
4760
4761         return offset;
4762 }
4763
4764
4765 /* IDL: struct { */
4766 /* IDL:         uint32 incoming_count; */
4767 /* IDL:         [unique(1)] lsa_TrustDomainInfoBuffer *incoming_current_auth_info; */
4768 /* IDL:         [unique(1)] lsa_TrustDomainInfoBuffer *incoming_previous_auth_info; */
4769 /* IDL:         uint32 outgoing_count; */
4770 /* IDL:         [unique(1)] lsa_TrustDomainInfoBuffer *outgoing_current_auth_info; */
4771 /* IDL:         [unique(1)] lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info; */
4772 /* IDL: } */
4773
4774 static int
4775 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4776 {
4777         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_count, 0);
4778
4779         return offset;
4780 }
4781
4782 static int
4783 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4784 {
4785         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info_, NDR_POINTER_UNIQUE, "Pointer to Incoming Current Auth Info (lsa_TrustDomainInfoBuffer)",hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info);
4786
4787         return offset;
4788 }
4789
4790 static int
4791 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4792 {
4793         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBuffer(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info,0);
4794
4795         return offset;
4796 }
4797
4798 static int
4799 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4800 {
4801         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info_, NDR_POINTER_UNIQUE, "Pointer to Incoming Previous Auth Info (lsa_TrustDomainInfoBuffer)",hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info);
4802
4803         return offset;
4804 }
4805
4806 static int
4807 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4808 {
4809         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBuffer(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info,0);
4810
4811         return offset;
4812 }
4813
4814 static int
4815 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4816 {
4817         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_count, 0);
4818
4819         return offset;
4820 }
4821
4822 static int
4823 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4824 {
4825         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info_, NDR_POINTER_UNIQUE, "Pointer to Outgoing Current Auth Info (lsa_TrustDomainInfoBuffer)",hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info);
4826
4827         return offset;
4828 }
4829
4830 static int
4831 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4832 {
4833         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBuffer(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info,0);
4834
4835         return offset;
4836 }
4837
4838 static int
4839 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4840 {
4841         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info_, NDR_POINTER_UNIQUE, "Pointer to Outgoing Previous Auth Info (lsa_TrustDomainInfoBuffer)",hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info);
4842
4843         return offset;
4844 }
4845
4846 static int
4847 lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4848 {
4849         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBuffer(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info,0);
4850
4851         return offset;
4852 }
4853
4854 int
4855 lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4856 {
4857         proto_item *item = NULL;
4858         proto_tree *tree = NULL;
4859         int old_offset;
4860
4861         ALIGN_TO_5_BYTES;
4862
4863         ALIGN_TO_5_BYTES;
4864
4865         old_offset = offset;
4866
4867         if (parent_tree) {
4868                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4869                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoAuthInfo);
4870         }
4871         
4872         offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_count(tvb, offset, pinfo, tree, di, drep);
4873
4874         offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info(tvb, offset, pinfo, tree, di, drep);
4875
4876         offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info(tvb, offset, pinfo, tree, di, drep);
4877
4878         offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_count(tvb, offset, pinfo, tree, di, drep);
4879
4880         offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info(tvb, offset, pinfo, tree, di, drep);
4881
4882         offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info(tvb, offset, pinfo, tree, di, drep);
4883
4884
4885         proto_item_set_len(item, offset-old_offset);
4886
4887
4888         if (di->call_data->flags & DCERPC_IS_NDR64) {
4889                 ALIGN_TO_5_BYTES;
4890         }
4891
4892         return offset;
4893 }
4894
4895
4896 /* IDL: struct { */
4897 /* IDL:         lsa_TrustDomainInfoInfoEx info_ex; */
4898 /* IDL:         lsa_TrustDomainInfoPosixOffset posix_offset; */
4899 /* IDL:         lsa_TrustDomainInfoAuthInfo auth_info; */
4900 /* IDL: } */
4901
4902 static int
4903 lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4904 {
4905         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfo_info_ex,0);
4906
4907         return offset;
4908 }
4909
4910 static int
4911 lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4912 {
4913         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPosixOffset(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfo_posix_offset,0);
4914
4915         return offset;
4916 }
4917
4918 static int
4919 lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4920 {
4921         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfo_auth_info,0);
4922
4923         return offset;
4924 }
4925
4926 int
4927 lsarpc_dissect_struct_lsa_TrustDomainInfoFullInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4928 {
4929         proto_item *item = NULL;
4930         proto_tree *tree = NULL;
4931         int old_offset;
4932
4933         ALIGN_TO_5_BYTES;
4934
4935         ALIGN_TO_5_BYTES;
4936
4937         old_offset = offset;
4938
4939         if (parent_tree) {
4940                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4941                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoFullInfo);
4942         }
4943         
4944         offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_info_ex(tvb, offset, pinfo, tree, di, drep);
4945
4946         offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_posix_offset(tvb, offset, pinfo, tree, di, drep);
4947
4948         offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_auth_info(tvb, offset, pinfo, tree, di, drep);
4949
4950
4951         proto_item_set_len(item, offset-old_offset);
4952
4953
4954         if (di->call_data->flags & DCERPC_IS_NDR64) {
4955                 ALIGN_TO_5_BYTES;
4956         }
4957
4958         return offset;
4959 }
4960
4961
4962 /* IDL: struct { */
4963 /* IDL:         lsa_TrustDomainInfoInfoEx info_ex; */
4964 /* IDL:         lsa_DATA_BUF2 data1; */
4965 /* IDL: } */
4966
4967 static int
4968 lsarpc_dissect_element_lsa_TrustDomainInfo11_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4969 {
4970         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfo11_info_ex,0);
4971
4972         return offset;
4973 }
4974
4975 static int
4976 lsarpc_dissect_element_lsa_TrustDomainInfo11_data1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4977 {
4978         offset = lsarpc_dissect_struct_lsa_DATA_BUF2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfo11_data1,0);
4979
4980         return offset;
4981 }
4982
4983 int
4984 lsarpc_dissect_struct_lsa_TrustDomainInfo11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4985 {
4986         proto_item *item = NULL;
4987         proto_tree *tree = NULL;
4988         int old_offset;
4989
4990         ALIGN_TO_5_BYTES;
4991
4992         ALIGN_TO_5_BYTES;
4993
4994         old_offset = offset;
4995
4996         if (parent_tree) {
4997                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4998                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfo11);
4999         }
5000         
5001         offset = lsarpc_dissect_element_lsa_TrustDomainInfo11_info_ex(tvb, offset, pinfo, tree, di, drep);
5002
5003         offset = lsarpc_dissect_element_lsa_TrustDomainInfo11_data1(tvb, offset, pinfo, tree, di, drep);
5004
5005
5006         proto_item_set_len(item, offset-old_offset);
5007
5008
5009         if (di->call_data->flags & DCERPC_IS_NDR64) {
5010                 ALIGN_TO_5_BYTES;
5011         }
5012
5013         return offset;
5014 }
5015
5016
5017 /* IDL: struct { */
5018 /* IDL:         lsa_TrustDomainInfoInfoEx info_ex; */
5019 /* IDL:         lsa_DATA_BUF2 data1; */
5020 /* IDL:         lsa_TrustDomainInfoPosixOffset posix_offset; */
5021 /* IDL:         lsa_TrustDomainInfoAuthInfo auth_info; */
5022 /* IDL: } */
5023
5024 static int
5025 lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5026 {
5027         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoAll_info_ex,0);
5028
5029         return offset;
5030 }
5031
5032 static int
5033 lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_data1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5034 {
5035         offset = lsarpc_dissect_struct_lsa_DATA_BUF2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoAll_data1,0);
5036
5037         return offset;
5038 }
5039
5040 static int
5041 lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5042 {
5043         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPosixOffset(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoAll_posix_offset,0);
5044
5045         return offset;
5046 }
5047
5048 static int
5049 lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5050 {
5051         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoAll_auth_info,0);
5052
5053         return offset;
5054 }
5055
5056 int
5057 lsarpc_dissect_struct_lsa_TrustDomainInfoInfoAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5058 {
5059         proto_item *item = NULL;
5060         proto_tree *tree = NULL;
5061         int old_offset;
5062
5063         ALIGN_TO_5_BYTES;
5064
5065         ALIGN_TO_5_BYTES;
5066
5067         old_offset = offset;
5068
5069         if (parent_tree) {
5070                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5071                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoInfoAll);
5072         }
5073         
5074         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_info_ex(tvb, offset, pinfo, tree, di, drep);
5075
5076         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_data1(tvb, offset, pinfo, tree, di, drep);
5077
5078         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_posix_offset(tvb, offset, pinfo, tree, di, drep);
5079
5080         offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoAll_auth_info(tvb, offset, pinfo, tree, di, drep);
5081
5082
5083         proto_item_set_len(item, offset-old_offset);
5084
5085
5086         if (di->call_data->flags & DCERPC_IS_NDR64) {
5087                 ALIGN_TO_5_BYTES;
5088         }
5089
5090         return offset;
5091 }
5092
5093
5094 /* IDL: [switch_type(lsa_TrustDomInfoEnum)] union { */
5095 /* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] lsa_TrustDomainInfoName name; */
5096 /* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] lsa_TrustDomainInfoPosixOffset posix_offset; */
5097 /* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] lsa_TrustDomainInfoPassword password; */
5098 /* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] lsa_TrustDomainInfoBasic info_basic; */
5099 /* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] lsa_TrustDomainInfoInfoEx info_ex; */
5100 /* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] lsa_TrustDomainInfoAuthInfo auth_info; */
5101 /* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] lsa_TrustDomainInfoFullInfo full_info; */
5102 /* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_11)] [case(LSA_TRUSTED_DOMAIN_INFO_11)] lsa_TrustDomainInfo11 info11; */
5103 /* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] [case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] lsa_TrustDomainInfoInfoAll info_all; */
5104 /* IDL: } */
5105
5106 static int
5107 lsarpc_dissect_element_lsa_TrustedDomainInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5108 {
5109         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoName(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_name,0);
5110
5111         return offset;
5112 }
5113
5114 static int
5115 lsarpc_dissect_element_lsa_TrustedDomainInfo_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5116 {
5117         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPosixOffset(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_posix_offset,0);
5118
5119         return offset;
5120 }
5121
5122 static int
5123 lsarpc_dissect_element_lsa_TrustedDomainInfo_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5124 {
5125         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPassword(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_password,0);
5126
5127         return offset;
5128 }
5129
5130 static int
5131 lsarpc_dissect_element_lsa_TrustedDomainInfo_info_basic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5132 {
5133         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBasic(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_info_basic,0);
5134
5135         return offset;
5136 }
5137
5138 static int
5139 lsarpc_dissect_element_lsa_TrustedDomainInfo_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5140 {
5141         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_info_ex,0);
5142
5143         return offset;
5144 }
5145
5146 static int
5147 lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5148 {
5149         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_auth_info,0);
5150
5151         return offset;
5152 }
5153
5154 static int
5155 lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5156 {
5157         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoFullInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_full_info,0);
5158
5159         return offset;
5160 }
5161
5162 static int
5163 lsarpc_dissect_element_lsa_TrustedDomainInfo_info11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5164 {
5165         offset = lsarpc_dissect_struct_lsa_TrustDomainInfo11(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_info11,0);
5166
5167         return offset;
5168 }
5169
5170 static int
5171 lsarpc_dissect_element_lsa_TrustedDomainInfo_info_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5172 {
5173         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoAll(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_info_all,0);
5174
5175         return offset;
5176 }
5177
5178 static int
5179 lsarpc_dissect_lsa_TrustedDomainInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5180 {
5181         proto_item *item = NULL;
5182         proto_tree *tree = NULL;
5183         int old_offset;
5184         guint1632 level;
5185
5186         old_offset = offset;
5187         if (parent_tree) {
5188                 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_TrustedDomainInfo, &item, "lsa_TrustedDomainInfo");
5189         }
5190
5191         offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
5192         ALIGN_TO_5_BYTES;
5193
5194         switch(level) {
5195                 case LSA_TRUSTED_DOMAIN_INFO_NAME:
5196                         offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_name(tvb, offset, pinfo, tree, di, drep);
5197                 break;
5198
5199                 case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET:
5200                         offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_posix_offset(tvb, offset, pinfo, tree, di, drep);
5201                 break;
5202
5203                 case LSA_TRUSTED_DOMAIN_INFO_PASSWORD:
5204                         offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_password(tvb, offset, pinfo, tree, di, drep);
5205                 break;
5206
5207                 case LSA_TRUSTED_DOMAIN_INFO_BASIC:
5208                         offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_info_basic(tvb, offset, pinfo, tree, di, drep);
5209                 break;
5210
5211                 case LSA_TRUSTED_DOMAIN_INFO_INFO_EX:
5212                         offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_info_ex(tvb, offset, pinfo, tree, di, drep);
5213                 break;
5214
5215                 case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO:
5216                         offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info(tvb, offset, pinfo, tree, di, drep);
5217                 break;
5218
5219                 case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO:
5220                         offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info(tvb, offset, pinfo, tree, di, drep);
5221                 break;
5222
5223                 case LSA_TRUSTED_DOMAIN_INFO_11:
5224                         offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_info11(tvb, offset, pinfo, tree, di, drep);
5225                 break;
5226
5227                 case LSA_TRUSTED_DOMAIN_INFO_INFO_ALL:
5228                         offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_info_all(tvb, offset, pinfo, tree, di, drep);
5229                 break;
5230         }
5231         proto_item_set_len(item, offset-old_offset);
5232
5233
5234         return offset;
5235 }
5236
5237 /* IDL: struct { */
5238 /* IDL:         [unique(1)] lsa_DATA_BUF *buf; */
5239 /* IDL: } */
5240
5241 static int
5242 lsarpc_dissect_element_lsa_DATA_BUF_PTR_buf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5243 {
5244         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DATA_BUF_PTR_buf_, NDR_POINTER_UNIQUE, "Pointer to Buf (lsa_DATA_BUF)",hf_lsarpc_lsa_DATA_BUF_PTR_buf);
5245
5246         return offset;
5247 }
5248
5249 static int
5250 lsarpc_dissect_element_lsa_DATA_BUF_PTR_buf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5251 {
5252         offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DATA_BUF_PTR_buf,0);
5253
5254         return offset;
5255 }
5256
5257 int
5258 lsarpc_dissect_struct_lsa_DATA_BUF_PTR(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5259 {
5260         proto_item *item = NULL;
5261         proto_tree *tree = NULL;
5262         int old_offset;
5263
5264         ALIGN_TO_5_BYTES;
5265
5266         ALIGN_TO_5_BYTES;
5267
5268         old_offset = offset;
5269
5270         if (parent_tree) {
5271                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5272                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DATA_BUF_PTR);
5273         }
5274         
5275         offset = lsarpc_dissect_element_lsa_DATA_BUF_PTR_buf(tvb, offset, pinfo, tree, di, drep);
5276
5277
5278         proto_item_set_len(item, offset-old_offset);
5279
5280
5281         if (di->call_data->flags & DCERPC_IS_NDR64) {
5282                 ALIGN_TO_5_BYTES;
5283         }
5284
5285         return offset;
5286 }
5287
5288
5289 /* IDL: struct { */
5290 /* IDL:         [charset(UTF16)] [unique(1)] uint16 *name; */
5291 /* IDL: } */
5292
5293 static int
5294 lsarpc_dissect_element_lsa_RightAttribute_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5295 {
5296         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RightAttribute_name_, NDR_POINTER_UNIQUE, "Pointer to Name (uint16)",hf_lsarpc_lsa_RightAttribute_name);
5297
5298         return offset;
5299 }
5300
5301 static int
5302 lsarpc_dissect_element_lsa_RightAttribute_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5303 {
5304         char *data;
5305
5306         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_lsarpc_lsa_RightAttribute_name, FALSE, &data);
5307         proto_item_append_text(tree, ": %s", data);
5308
5309         return offset;
5310 }
5311
5312 int
5313 lsarpc_dissect_struct_lsa_RightAttribute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5314 {
5315         proto_item *item = NULL;
5316         proto_tree *tree = NULL;
5317         int old_offset;
5318
5319         ALIGN_TO_5_BYTES;
5320
5321         ALIGN_TO_5_BYTES;
5322
5323         old_offset = offset;
5324
5325         if (parent_tree) {
5326                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5327                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_RightAttribute);
5328         }
5329         
5330         offset = lsarpc_dissect_element_lsa_RightAttribute_name(tvb, offset, pinfo, tree, di, drep);
5331
5332
5333         proto_item_set_len(item, offset-old_offset);
5334
5335
5336         if (di->call_data->flags & DCERPC_IS_NDR64) {
5337                 ALIGN_TO_5_BYTES;
5338         }
5339
5340         return offset;
5341 }
5342
5343
5344 /* IDL: struct { */
5345 /* IDL:         uint32 count; */
5346 /* IDL:         [size_is(count)] [unique(1)] lsa_StringLarge *names; */
5347 /* IDL: } */
5348
5349 static int
5350 lsarpc_dissect_element_lsa_RightSet_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5351 {
5352         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RightSet_count, 0);
5353
5354         return offset;
5355 }
5356
5357 static int
5358 lsarpc_dissect_element_lsa_RightSet_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5359 {
5360         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RightSet_names_, NDR_POINTER_UNIQUE, "Pointer to Names (lsa_StringLarge)",hf_lsarpc_lsa_RightSet_names);
5361
5362         return offset;
5363 }
5364
5365 static int
5366 lsarpc_dissect_element_lsa_RightSet_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5367 {
5368         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RightSet_names__);
5369
5370         return offset;
5371 }
5372
5373 static int
5374 lsarpc_dissect_element_lsa_RightSet_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5375 {
5376         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RightSet_names,0);
5377
5378         return offset;
5379 }
5380
5381 int
5382 lsarpc_dissect_struct_lsa_RightSet(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5383 {
5384         proto_item *item = NULL;
5385         proto_tree *tree = NULL;
5386         int old_offset;
5387
5388         ALIGN_TO_5_BYTES;
5389
5390         ALIGN_TO_5_BYTES;
5391
5392         old_offset = offset;
5393
5394         if (parent_tree) {
5395                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5396                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_RightSet);
5397         }
5398         
5399         offset = lsarpc_dissect_element_lsa_RightSet_count(tvb, offset, pinfo, tree, di, drep);
5400
5401         offset = lsarpc_dissect_element_lsa_RightSet_names(tvb, offset, pinfo, tree, di, drep);
5402
5403
5404         proto_item_set_len(item, offset-old_offset);
5405
5406
5407         if (di->call_data->flags & DCERPC_IS_NDR64) {
5408                 ALIGN_TO_5_BYTES;
5409         }
5410
5411         return offset;
5412 }
5413
5414
5415 /* IDL: struct { */
5416 /* IDL:         [unique(1)] lsa_String *string; */
5417 /* IDL: } */
5418
5419 static int
5420 lsarpc_dissect_element_lsa_StringPointer_string(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5421 {
5422         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_StringPointer_string_, NDR_POINTER_UNIQUE, "Pointer to String (lsa_String)",hf_lsarpc_lsa_StringPointer_string);
5423
5424         return offset;
5425 }
5426
5427 static int
5428 lsarpc_dissect_element_lsa_StringPointer_string_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5429 {
5430         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_StringPointer_string,0);
5431
5432         return offset;
5433 }
5434
5435 int
5436 lsarpc_dissect_struct_lsa_StringPointer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5437 {
5438         proto_item *item = NULL;
5439         proto_tree *tree = NULL;
5440         int old_offset;
5441
5442         ALIGN_TO_5_BYTES;
5443
5444         ALIGN_TO_5_BYTES;
5445
5446         old_offset = offset;
5447
5448         if (parent_tree) {
5449                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5450                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_StringPointer);
5451         }
5452         
5453         offset = lsarpc_dissect_element_lsa_StringPointer_string(tvb, offset, pinfo, tree, di, drep);
5454
5455
5456         proto_item_set_len(item, offset-old_offset);
5457
5458
5459         if (di->call_data->flags & DCERPC_IS_NDR64) {
5460                 ALIGN_TO_5_BYTES;
5461         }
5462
5463         return offset;
5464 }
5465
5466
5467 /* IDL: struct { */
5468 /* IDL:         uint32 count; */
5469 /* IDL:         [size_is(count)] [unique(1)] lsa_TrustDomainInfoInfoEx *domains; */
5470 /* IDL: } */
5471
5472 static int
5473 lsarpc_dissect_element_lsa_DomainListEx_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5474 {
5475         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DomainListEx_count, 0);
5476
5477         return offset;
5478 }
5479
5480 static int
5481 lsarpc_dissect_element_lsa_DomainListEx_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5482 {
5483         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DomainListEx_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_TrustDomainInfoInfoEx)",hf_lsarpc_lsa_DomainListEx_domains);
5484
5485         return offset;
5486 }
5487
5488 static int
5489 lsarpc_dissect_element_lsa_DomainListEx_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5490 {
5491         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DomainListEx_domains__);
5492
5493         return offset;
5494 }
5495
5496 static int
5497 lsarpc_dissect_element_lsa_DomainListEx_domains__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5498 {
5499         offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainListEx_domains,0);
5500
5501         return offset;
5502 }
5503
5504 int
5505 lsarpc_dissect_struct_lsa_DomainListEx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5506 {
5507         proto_item *item = NULL;
5508         proto_tree *tree = NULL;
5509         int old_offset;
5510
5511         ALIGN_TO_5_BYTES;
5512
5513         ALIGN_TO_5_BYTES;
5514
5515         old_offset = offset;
5516
5517         if (parent_tree) {
5518                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5519                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainListEx);
5520         }
5521         
5522         offset = lsarpc_dissect_element_lsa_DomainListEx_count(tvb, offset, pinfo, tree, di, drep);
5523
5524         offset = lsarpc_dissect_element_lsa_DomainListEx_domains(tvb, offset, pinfo, tree, di, drep);
5525
5526
5527         proto_item_set_len(item, offset-old_offset);
5528
5529
5530         if (di->call_data->flags & DCERPC_IS_NDR64) {
5531                 ALIGN_TO_5_BYTES;
5532         }
5533
5534         return offset;
5535 }
5536
5537
5538 /* IDL: struct { */
5539 /* IDL:         uint32 enforce_restrictions; */
5540 /* IDL:         hyper service_tkt_lifetime; */
5541 /* IDL:         hyper user_tkt_lifetime; */
5542 /* IDL:         hyper user_tkt_renewaltime; */
5543 /* IDL:         hyper clock_skew; */
5544 /* IDL:         hyper unknown6; */
5545 /* IDL: } */
5546
5547 static int
5548 lsarpc_dissect_element_lsa_DomainInfoKerberos_enforce_restrictions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5549 {
5550         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DomainInfoKerberos_enforce_restrictions, 0);
5551
5552         return offset;
5553 }
5554
5555 static int
5556 lsarpc_dissect_element_lsa_DomainInfoKerberos_service_tkt_lifetime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5557 {
5558         offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_service_tkt_lifetime);
5559
5560         return offset;
5561 }
5562
5563 static int
5564 lsarpc_dissect_element_lsa_DomainInfoKerberos_user_tkt_lifetime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5565 {
5566         offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_lifetime);
5567
5568         return offset;
5569 }
5570
5571 static int
5572 lsarpc_dissect_element_lsa_DomainInfoKerberos_user_tkt_renewaltime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5573 {
5574         offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_renewaltime);
5575
5576         return offset;
5577 }
5578
5579 static int
5580 lsarpc_dissect_element_lsa_DomainInfoKerberos_clock_skew(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5581 {
5582         offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_clock_skew);
5583
5584         return offset;
5585 }
5586
5587 static int
5588 lsarpc_dissect_element_lsa_DomainInfoKerberos_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5589 {
5590         offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_unknown6);
5591
5592         return offset;
5593 }
5594
5595 int
5596 lsarpc_dissect_struct_lsa_DomainInfoKerberos(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5597 {
5598         proto_item *item = NULL;
5599         proto_tree *tree = NULL;
5600         int old_offset;
5601
5602         ALIGN_TO_8_BYTES;
5603
5604         ALIGN_TO_8_BYTES;
5605
5606         old_offset = offset;
5607
5608         if (parent_tree) {
5609                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5610                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainInfoKerberos);
5611         }
5612         
5613         offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_enforce_restrictions(tvb, offset, pinfo, tree, di, drep);
5614
5615         offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_service_tkt_lifetime(tvb, offset, pinfo, tree, di, drep);
5616
5617         offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_user_tkt_lifetime(tvb, offset, pinfo, tree, di, drep);
5618
5619         offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_user_tkt_renewaltime(tvb, offset, pinfo, tree, di, drep);
5620
5621         offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_clock_skew(tvb, offset, pinfo, tree, di, drep);
5622
5623         offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_unknown6(tvb, offset, pinfo, tree, di, drep);
5624
5625
5626         proto_item_set_len(item, offset-old_offset);
5627
5628
5629         if (di->call_data->flags & DCERPC_IS_NDR64) {
5630                 ALIGN_TO_8_BYTES;
5631         }
5632
5633         return offset;
5634 }
5635
5636
5637 /* IDL: struct { */
5638 /* IDL:         uint32 blob_size; */
5639 /* IDL:         [size_is(blob_size)] [unique(1)] uint8 *efs_blob; */
5640 /* IDL: } */
5641
5642 static int
5643 lsarpc_dissect_element_lsa_DomainInfoEfs_blob_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5644 {
5645         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DomainInfoEfs_blob_size, 0);
5646
5647         return offset;
5648 }
5649
5650 static int
5651 lsarpc_dissect_element_lsa_DomainInfoEfs_efs_blob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5652 {
5653         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DomainInfoEfs_efs_blob_, NDR_POINTER_UNIQUE, "Pointer to Efs Blob (uint8)",hf_lsarpc_lsa_DomainInfoEfs_efs_blob);
5654
5655         return offset;
5656 }
5657
5658 int
5659 lsarpc_dissect_struct_lsa_DomainInfoEfs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5660 {
5661         proto_item *item = NULL;
5662         proto_tree *tree = NULL;
5663         int old_offset;
5664
5665         ALIGN_TO_5_BYTES;
5666
5667         ALIGN_TO_5_BYTES;
5668
5669         old_offset = offset;
5670
5671         if (parent_tree) {
5672                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5673                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainInfoEfs);
5674         }
5675         
5676         offset = lsarpc_dissect_element_lsa_DomainInfoEfs_blob_size(tvb, offset, pinfo, tree, di, drep);
5677
5678         offset = lsarpc_dissect_element_lsa_DomainInfoEfs_efs_blob(tvb, offset, pinfo, tree, di, drep);
5679
5680
5681         proto_item_set_len(item, offset-old_offset);
5682
5683
5684         if (di->call_data->flags & DCERPC_IS_NDR64) {
5685                 ALIGN_TO_5_BYTES;
5686         }
5687
5688         return offset;
5689 }
5690
5691
5692 /* IDL: enum { */
5693 /* IDL:         LSA_DOMAIN_INFO_POLICY_QOS=1, */
5694 /* IDL:         LSA_DOMAIN_INFO_POLICY_EFS=2, */
5695 /* IDL:         LSA_DOMAIN_INFO_POLICY_KERBEROS=3, */
5696 /* IDL: } */
5697
5698 int
5699 lsarpc_dissect_enum_lsa_DomainInfoEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint1632 *param _U_)
5700 {
5701         guint1632 parameter=0;
5702         if (param) {
5703                 parameter = *param;
5704         }
5705         offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
5706         if (param) {
5707                 *param = parameter;
5708         }
5709         return offset;
5710 }
5711
5712
5713 /* IDL: [switch_type(uint16)] union { */
5714 /* IDL: [case(LSA_DOMAIN_INFO_POLICY_EFS)] [case(LSA_DOMAIN_INFO_POLICY_EFS)] lsa_DomainInfoEfs efs_info; */
5715 /* IDL: [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] lsa_DomainInfoKerberos kerberos_info; */
5716 /* IDL: } */
5717
5718 static int
5719 lsarpc_dissect_element_lsa_DomainInformationPolicy_efs_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5720 {
5721         offset = lsarpc_dissect_struct_lsa_DomainInfoEfs(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainInformationPolicy_efs_info,0);
5722
5723         return offset;
5724 }
5725
5726 static int
5727 lsarpc_dissect_element_lsa_DomainInformationPolicy_kerberos_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5728 {
5729         offset = lsarpc_dissect_struct_lsa_DomainInfoKerberos(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainInformationPolicy_kerberos_info,0);
5730
5731         return offset;
5732 }
5733
5734 static int
5735 lsarpc_dissect_lsa_DomainInformationPolicy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5736 {
5737         proto_item *item = NULL;
5738         proto_tree *tree = NULL;
5739         int old_offset;
5740         guint16 level;
5741
5742         old_offset = offset;
5743         if (parent_tree) {
5744                 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_DomainInformationPolicy, &item, "lsa_DomainInformationPolicy");
5745         }
5746
5747         offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
5748         ALIGN_TO_8_BYTES;
5749
5750         switch(level) {
5751                 case LSA_DOMAIN_INFO_POLICY_EFS:
5752                         offset = lsarpc_dissect_element_lsa_DomainInformationPolicy_efs_info(tvb, offset, pinfo, tree, di, drep);
5753                 break;
5754
5755                 case LSA_DOMAIN_INFO_POLICY_KERBEROS:
5756                         offset = lsarpc_dissect_element_lsa_DomainInformationPolicy_kerberos_info(tvb, offset, pinfo, tree, di, drep);
5757                 break;
5758         }
5759         proto_item_set_len(item, offset-old_offset);
5760
5761
5762         return offset;
5763 }
5764
5765 /* IDL: struct { */
5766 /* IDL:         lsa_SidType sid_type; */
5767 /* IDL:         lsa_String name; */
5768 /* IDL:         uint32 sid_index; */
5769 /* IDL:         uint32 unknown; */
5770 /* IDL: } */
5771
5772 static int
5773 lsarpc_dissect_element_lsa_TranslatedName2_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5774 {
5775         offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName2_sid_type, 0);
5776
5777         return offset;
5778 }
5779
5780 static int
5781 lsarpc_dissect_element_lsa_TranslatedName2_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5782 {
5783         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TranslatedName2_name,0);
5784
5785         return offset;
5786 }
5787
5788 static int
5789 lsarpc_dissect_element_lsa_TranslatedName2_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5790 {
5791         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName2_sid_index, 0);
5792
5793         return offset;
5794 }
5795
5796 static int
5797 lsarpc_dissect_element_lsa_TranslatedName2_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5798 {
5799         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName2_unknown, 0);
5800
5801         return offset;
5802 }
5803
5804 int
5805 lsarpc_dissect_struct_lsa_TranslatedName2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5806 {
5807         proto_item *item = NULL;
5808         proto_tree *tree = NULL;
5809         int old_offset;
5810
5811         ALIGN_TO_5_BYTES;
5812
5813         ALIGN_TO_5_BYTES;
5814
5815         old_offset = offset;
5816
5817         if (parent_tree) {
5818                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5819                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedName2);
5820         }
5821         
5822         offset = lsarpc_dissect_element_lsa_TranslatedName2_sid_type(tvb, offset, pinfo, tree, di, drep);
5823
5824         offset = lsarpc_dissect_element_lsa_TranslatedName2_name(tvb, offset, pinfo, tree, di, drep);
5825
5826         offset = lsarpc_dissect_element_lsa_TranslatedName2_sid_index(tvb, offset, pinfo, tree, di, drep);
5827
5828         offset = lsarpc_dissect_element_lsa_TranslatedName2_unknown(tvb, offset, pinfo, tree, di, drep);
5829
5830
5831         proto_item_set_len(item, offset-old_offset);
5832
5833
5834         if (di->call_data->flags & DCERPC_IS_NDR64) {
5835                 ALIGN_TO_5_BYTES;
5836         }
5837
5838         return offset;
5839 }
5840
5841
5842 /* IDL: struct { */
5843 /* IDL:         [range(0,1000)] uint32 count; */
5844 /* IDL:         [size_is(count)] [unique(1)] lsa_TranslatedName2 *names; */
5845 /* IDL: } */
5846
5847 static int
5848 lsarpc_dissect_element_lsa_TransNameArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5849 {
5850         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransNameArray2_count, 0);
5851
5852         return offset;
5853 }
5854
5855 static int
5856 lsarpc_dissect_element_lsa_TransNameArray2_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5857 {
5858         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransNameArray2_names_, NDR_POINTER_UNIQUE, "Pointer to Names (lsa_TranslatedName2)",hf_lsarpc_lsa_TransNameArray2_names);
5859
5860         return offset;
5861 }
5862
5863 static int
5864 lsarpc_dissect_element_lsa_TransNameArray2_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5865 {
5866         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransNameArray2_names__);
5867
5868         return offset;
5869 }
5870
5871 static int
5872 lsarpc_dissect_element_lsa_TransNameArray2_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5873 {
5874         offset = lsarpc_dissect_struct_lsa_TranslatedName2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransNameArray2_names,0);
5875
5876         return offset;
5877 }
5878
5879 int
5880 lsarpc_dissect_struct_lsa_TransNameArray2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5881 {
5882         proto_item *item = NULL;
5883         proto_tree *tree = NULL;
5884         int old_offset;
5885
5886         ALIGN_TO_5_BYTES;
5887
5888         ALIGN_TO_5_BYTES;
5889
5890         old_offset = offset;
5891
5892         if (parent_tree) {
5893                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5894                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransNameArray2);
5895         }
5896         
5897         offset = lsarpc_dissect_element_lsa_TransNameArray2_count(tvb, offset, pinfo, tree, di, drep);
5898
5899         offset = lsarpc_dissect_element_lsa_TransNameArray2_names(tvb, offset, pinfo, tree, di, drep);
5900
5901
5902         proto_item_set_len(item, offset-old_offset);
5903
5904
5905         if (di->call_data->flags & DCERPC_IS_NDR64) {
5906                 ALIGN_TO_5_BYTES;
5907         }
5908
5909         return offset;
5910 }
5911
5912
5913 /* IDL: struct { */
5914 /* IDL:         lsa_SidType sid_type; */
5915 /* IDL:         uint32 rid; */
5916 /* IDL:         uint32 sid_index; */
5917 /* IDL:         uint32 unknown; */
5918 /* IDL: } */
5919
5920 static int
5921 lsarpc_dissect_element_lsa_TranslatedSid2_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5922 {
5923         offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid2_sid_type, 0);
5924
5925         return offset;
5926 }
5927
5928 static int
5929 lsarpc_dissect_element_lsa_TranslatedSid2_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5930 {
5931         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid2_rid, 0);
5932
5933         return offset;
5934 }
5935
5936 static int
5937 lsarpc_dissect_element_lsa_TranslatedSid2_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5938 {
5939         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid2_sid_index, 0);
5940
5941         return offset;
5942 }
5943
5944 static int
5945 lsarpc_dissect_element_lsa_TranslatedSid2_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5946 {
5947         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid2_unknown, 0);
5948
5949         return offset;
5950 }
5951
5952 int
5953 lsarpc_dissect_struct_lsa_TranslatedSid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5954 {
5955         proto_item *item = NULL;
5956         proto_tree *tree = NULL;
5957         int old_offset;
5958
5959         ALIGN_TO_4_BYTES;
5960
5961         ALIGN_TO_4_BYTES;
5962
5963         old_offset = offset;
5964
5965         if (parent_tree) {
5966                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5967                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedSid2);
5968         }
5969         
5970         offset = lsarpc_dissect_element_lsa_TranslatedSid2_sid_type(tvb, offset, pinfo, tree, di, drep);
5971
5972         offset = lsarpc_dissect_element_lsa_TranslatedSid2_rid(tvb, offset, pinfo, tree, di, drep);
5973
5974         offset = lsarpc_dissect_element_lsa_TranslatedSid2_sid_index(tvb, offset, pinfo, tree, di, drep);
5975
5976         offset = lsarpc_dissect_element_lsa_TranslatedSid2_unknown(tvb, offset, pinfo, tree, di, drep);
5977
5978
5979         proto_item_set_len(item, offset-old_offset);
5980
5981
5982         if (di->call_data->flags & DCERPC_IS_NDR64) {
5983                 ALIGN_TO_4_BYTES;
5984         }
5985
5986         return offset;
5987 }
5988
5989
5990 /* IDL: struct { */
5991 /* IDL:         [range(0,1000)] uint32 count; */
5992 /* IDL:         [size_is(count)] [unique(1)] lsa_TranslatedSid2 *sids; */
5993 /* IDL: } */
5994
5995 static int
5996 lsarpc_dissect_element_lsa_TransSidArray2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5997 {
5998         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransSidArray2_count, 0);
5999
6000         return offset;
6001 }
6002
6003 static int
6004 lsarpc_dissect_element_lsa_TransSidArray2_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6005 {
6006         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransSidArray2_sids_, NDR_POINTER_UNIQUE, "Pointer to Sids (lsa_TranslatedSid2)",hf_lsarpc_lsa_TransSidArray2_sids);
6007
6008         return offset;
6009 }
6010
6011 static int
6012 lsarpc_dissect_element_lsa_TransSidArray2_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6013 {
6014         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransSidArray2_sids__);
6015
6016         return offset;
6017 }
6018
6019 static int
6020 lsarpc_dissect_element_lsa_TransSidArray2_sids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6021 {
6022         offset = lsarpc_dissect_struct_lsa_TranslatedSid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransSidArray2_sids,0);
6023
6024         return offset;
6025 }
6026
6027 int
6028 lsarpc_dissect_struct_lsa_TransSidArray2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6029 {
6030         proto_item *item = NULL;
6031         proto_tree *tree = NULL;
6032         int old_offset;
6033
6034         ALIGN_TO_5_BYTES;
6035
6036         ALIGN_TO_5_BYTES;
6037
6038         old_offset = offset;
6039
6040         if (parent_tree) {
6041                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6042                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransSidArray2);
6043         }
6044         
6045         offset = lsarpc_dissect_element_lsa_TransSidArray2_count(tvb, offset, pinfo, tree, di, drep);
6046
6047         offset = lsarpc_dissect_element_lsa_TransSidArray2_sids(tvb, offset, pinfo, tree, di, drep);
6048
6049
6050         proto_item_set_len(item, offset-old_offset);
6051
6052
6053         if (di->call_data->flags & DCERPC_IS_NDR64) {
6054                 ALIGN_TO_5_BYTES;
6055         }
6056
6057         return offset;
6058 }
6059
6060
6061 /* IDL: struct { */
6062 /* IDL:         lsa_SidType sid_type; */
6063 /* IDL:         [unique(1)] dom_sid2 *sid; */
6064 /* IDL:         uint32 sid_index; */
6065 /* IDL:         uint32 unknown; */
6066 /* IDL: } */
6067
6068 static int
6069 lsarpc_dissect_element_lsa_TranslatedSid3_sid_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6070 {
6071         offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid3_sid_type, 0);
6072
6073         return offset;
6074 }
6075
6076 static int
6077 lsarpc_dissect_element_lsa_TranslatedSid3_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6078 {
6079         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TranslatedSid3_sid_, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_TranslatedSid3_sid);
6080
6081         return offset;
6082 }
6083
6084 static int
6085 lsarpc_dissect_element_lsa_TranslatedSid3_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6086 {
6087         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TranslatedSid3_sid,0);
6088
6089         return offset;
6090 }
6091
6092 static int
6093 lsarpc_dissect_element_lsa_TranslatedSid3_sid_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6094 {
6095         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid3_sid_index, 0);
6096
6097         return offset;
6098 }
6099
6100 static int
6101 lsarpc_dissect_element_lsa_TranslatedSid3_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6102 {
6103         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid3_unknown, 0);
6104
6105         return offset;
6106 }
6107
6108 int
6109 lsarpc_dissect_struct_lsa_TranslatedSid3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6110 {
6111         proto_item *item = NULL;
6112         proto_tree *tree = NULL;
6113         int old_offset;
6114
6115         ALIGN_TO_5_BYTES;
6116
6117         ALIGN_TO_5_BYTES;
6118
6119         old_offset = offset;
6120
6121         if (parent_tree) {
6122                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6123                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedSid3);
6124         }
6125         
6126         offset = lsarpc_dissect_element_lsa_TranslatedSid3_sid_type(tvb, offset, pinfo, tree, di, drep);
6127
6128         offset = lsarpc_dissect_element_lsa_TranslatedSid3_sid(tvb, offset, pinfo, tree, di, drep);
6129
6130         offset = lsarpc_dissect_element_lsa_TranslatedSid3_sid_index(tvb, offset, pinfo, tree, di, drep);
6131
6132         offset = lsarpc_dissect_element_lsa_TranslatedSid3_unknown(tvb, offset, pinfo, tree, di, drep);
6133
6134
6135         proto_item_set_len(item, offset-old_offset);
6136
6137
6138         if (di->call_data->flags & DCERPC_IS_NDR64) {
6139                 ALIGN_TO_5_BYTES;
6140         }
6141
6142         return offset;
6143 }
6144
6145
6146 /* IDL: struct { */
6147 /* IDL:         [range(0,1000)] uint32 count; */
6148 /* IDL:         [size_is(count)] [unique(1)] lsa_TranslatedSid3 *sids; */
6149 /* IDL: } */
6150
6151 static int
6152 lsarpc_dissect_element_lsa_TransSidArray3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6153 {
6154         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransSidArray3_count, 0);
6155
6156         return offset;
6157 }
6158
6159 static int
6160 lsarpc_dissect_element_lsa_TransSidArray3_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6161 {
6162         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransSidArray3_sids_, NDR_POINTER_UNIQUE, "Pointer to Sids (lsa_TranslatedSid3)",hf_lsarpc_lsa_TransSidArray3_sids);
6163
6164         return offset;
6165 }
6166
6167 static int
6168 lsarpc_dissect_element_lsa_TransSidArray3_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6169 {
6170         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransSidArray3_sids__);
6171
6172         return offset;
6173 }
6174
6175 static int
6176 lsarpc_dissect_element_lsa_TransSidArray3_sids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6177 {
6178         offset = lsarpc_dissect_struct_lsa_TranslatedSid3(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransSidArray3_sids,0);
6179
6180         return offset;
6181 }
6182
6183 int
6184 lsarpc_dissect_struct_lsa_TransSidArray3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6185 {
6186         proto_item *item = NULL;
6187         proto_tree *tree = NULL;
6188         int old_offset;
6189
6190         ALIGN_TO_5_BYTES;
6191
6192         ALIGN_TO_5_BYTES;
6193
6194         old_offset = offset;
6195
6196         if (parent_tree) {
6197                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6198                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransSidArray3);
6199         }
6200         
6201         offset = lsarpc_dissect_element_lsa_TransSidArray3_count(tvb, offset, pinfo, tree, di, drep);
6202
6203         offset = lsarpc_dissect_element_lsa_TransSidArray3_sids(tvb, offset, pinfo, tree, di, drep);
6204
6205
6206         proto_item_set_len(item, offset-old_offset);
6207
6208
6209         if (di->call_data->flags & DCERPC_IS_NDR64) {
6210                 ALIGN_TO_5_BYTES;
6211         }
6212
6213         return offset;
6214 }
6215
6216
6217 /* IDL: struct { */
6218 /* IDL:         [range(0,131072)] uint32 length; */
6219 /* IDL:         [size_is(length)] [unique(1)] uint8 *data; */
6220 /* IDL: } */
6221
6222 static int
6223 lsarpc_dissect_element_lsa_ForestTrustBinaryData_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6224 {
6225         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustBinaryData_length, 0);
6226
6227         return offset;
6228 }
6229
6230 static int
6231 lsarpc_dissect_element_lsa_ForestTrustBinaryData_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6232 {
6233         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustBinaryData_data_, NDR_POINTER_UNIQUE, "Pointer to Data (uint8)",hf_lsarpc_lsa_ForestTrustBinaryData_data);
6234
6235         return offset;
6236 }
6237
6238 static int
6239 lsarpc_dissect_element_lsa_ForestTrustBinaryData_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6240 {
6241         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustBinaryData_data__);
6242
6243         return offset;
6244 }
6245
6246 static int
6247 lsarpc_dissect_element_lsa_ForestTrustBinaryData_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6248 {
6249         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustBinaryData_data, 0);
6250
6251         return offset;
6252 }
6253
6254 int
6255 lsarpc_dissect_struct_lsa_ForestTrustBinaryData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6256 {
6257         proto_item *item = NULL;
6258         proto_tree *tree = NULL;
6259         int old_offset;
6260
6261         ALIGN_TO_5_BYTES;
6262
6263         ALIGN_TO_5_BYTES;
6264
6265         old_offset = offset;
6266
6267         if (parent_tree) {
6268                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6269                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustBinaryData);
6270         }
6271         
6272         offset = lsarpc_dissect_element_lsa_ForestTrustBinaryData_length(tvb, offset, pinfo, tree, di, drep);
6273
6274         offset = lsarpc_dissect_element_lsa_ForestTrustBinaryData_data(tvb, offset, pinfo, tree, di, drep);
6275
6276
6277         proto_item_set_len(item, offset-old_offset);
6278
6279
6280         if (di->call_data->flags & DCERPC_IS_NDR64) {
6281                 ALIGN_TO_5_BYTES;
6282         }
6283
6284         return offset;
6285 }
6286
6287
6288 /* IDL: struct { */
6289 /* IDL:         [unique(1)] dom_sid2 *domain_sid; */
6290 /* IDL:         lsa_StringLarge dns_domain_name; */
6291 /* IDL:         lsa_StringLarge netbios_domain_name; */
6292 /* IDL: } */
6293
6294 static int
6295 lsarpc_dissect_element_lsa_ForestTrustDomainInfo_domain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6296 {
6297         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustDomainInfo_domain_sid_, NDR_POINTER_UNIQUE, "Pointer to Domain Sid (dom_sid2)",hf_lsarpc_lsa_ForestTrustDomainInfo_domain_sid);
6298
6299         return offset;
6300 }
6301
6302 static int
6303 lsarpc_dissect_element_lsa_ForestTrustDomainInfo_domain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6304 {
6305         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustDomainInfo_domain_sid,0);
6306
6307         return offset;
6308 }
6309
6310 static int
6311 lsarpc_dissect_element_lsa_ForestTrustDomainInfo_dns_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6312 {
6313         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustDomainInfo_dns_domain_name,0);
6314
6315         return offset;
6316 }
6317
6318 static int
6319 lsarpc_dissect_element_lsa_ForestTrustDomainInfo_netbios_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6320 {
6321         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustDomainInfo_netbios_domain_name,0);
6322
6323         return offset;
6324 }
6325
6326 int
6327 lsarpc_dissect_struct_lsa_ForestTrustDomainInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6328 {
6329         proto_item *item = NULL;
6330         proto_tree *tree = NULL;
6331         int old_offset;
6332
6333         ALIGN_TO_5_BYTES;
6334
6335         ALIGN_TO_5_BYTES;
6336
6337         old_offset = offset;
6338
6339         if (parent_tree) {
6340                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6341                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustDomainInfo);
6342         }
6343         
6344         offset = lsarpc_dissect_element_lsa_ForestTrustDomainInfo_domain_sid(tvb, offset, pinfo, tree, di, drep);
6345
6346         offset = lsarpc_dissect_element_lsa_ForestTrustDomainInfo_dns_domain_name(tvb, offset, pinfo, tree, di, drep);
6347
6348         offset = lsarpc_dissect_element_lsa_ForestTrustDomainInfo_netbios_domain_name(tvb, offset, pinfo, tree, di, drep);
6349
6350
6351         proto_item_set_len(item, offset-old_offset);
6352
6353
6354         if (di->call_data->flags & DCERPC_IS_NDR64) {
6355                 ALIGN_TO_5_BYTES;
6356         }
6357
6358         return offset;
6359 }
6360
6361
6362 /* IDL: [switch_type(uint32)] union { */
6363 /* IDL: [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] lsa_String top_level_name; */
6364 /* IDL: [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] lsa_StringLarge top_level_name_ex; */
6365 /* IDL: [case(LSA_FOREST_TRUST_DOMAIN_INFO)] [case(LSA_FOREST_TRUST_DOMAIN_INFO)] lsa_ForestTrustDomainInfo domain_info; */
6366 /* IDL: [default] ; */
6367 /* IDL: } */
6368
6369 static int
6370 lsarpc_dissect_element_lsa_ForestTrustData_top_level_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6371 {
6372         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData_top_level_name,0);
6373
6374         return offset;
6375 }
6376
6377 static int
6378 lsarpc_dissect_element_lsa_ForestTrustData_top_level_name_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6379 {
6380         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData_top_level_name_ex,0);
6381
6382         return offset;
6383 }
6384
6385 static int
6386 lsarpc_dissect_element_lsa_ForestTrustData_domain_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6387 {
6388         offset = lsarpc_dissect_struct_lsa_ForestTrustDomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData_domain_info,0);
6389
6390         return offset;
6391 }
6392
6393 static int
6394 lsarpc_dissect_element_lsa_ForestTrustData_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6395 {
6396         offset = lsarpc_dissect_struct_lsa_ForestTrustBinaryData(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData_data,0);
6397
6398         return offset;
6399 }
6400
6401 static int
6402 lsarpc_dissect_lsa_ForestTrustData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6403 {
6404         proto_item *item = NULL;
6405         proto_tree *tree = NULL;
6406         int old_offset;
6407         guint32 level;
6408
6409         old_offset = offset;
6410         if (parent_tree) {
6411                 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_ForestTrustData, &item, "lsa_ForestTrustData");
6412         }
6413
6414         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
6415         ALIGN_TO_5_BYTES;
6416
6417         switch(level) {
6418                 case LSA_FOREST_TRUST_TOP_LEVEL_NAME:
6419                         offset = lsarpc_dissect_element_lsa_ForestTrustData_top_level_name(tvb, offset, pinfo, tree, di, drep);
6420                 break;
6421
6422                 case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX:
6423                         offset = lsarpc_dissect_element_lsa_ForestTrustData_top_level_name_ex(tvb, offset, pinfo, tree, di, drep);
6424                 break;
6425
6426                 case LSA_FOREST_TRUST_DOMAIN_INFO:
6427                         offset = lsarpc_dissect_element_lsa_ForestTrustData_domain_info(tvb, offset, pinfo, tree, di, drep);
6428                 break;
6429
6430                 default:
6431                         offset = lsarpc_dissect_element_lsa_ForestTrustData_data(tvb, offset, pinfo, tree, di, drep);
6432                 break;
6433         }
6434         proto_item_set_len(item, offset-old_offset);
6435
6436
6437         return offset;
6438 }
6439
6440 /* IDL: enum { */
6441 /* IDL:         LSA_FOREST_TRUST_TOP_LEVEL_NAME=0, */
6442 /* IDL:         LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1, */
6443 /* IDL:         LSA_FOREST_TRUST_DOMAIN_INFO=2, */
6444 /* IDL:         LSA_FOREST_TRUST_RECORD_TYPE_LAST=3, */
6445 /* IDL: } */
6446
6447 int
6448 lsarpc_dissect_enum_lsa_ForestTrustRecordType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
6449 {
6450         guint32 parameter=0;
6451         if (param) {
6452                 parameter = *param;
6453         }
6454         offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
6455         if (param) {
6456                 *param = parameter;
6457         }
6458         return offset;
6459 }
6460
6461
6462 /* IDL: struct { */
6463 /* IDL:         uint32 flags; */
6464 /* IDL:         lsa_ForestTrustRecordType level; */
6465 /* IDL:         hyper unknown; */
6466 /* IDL:         [switch_is(level)] lsa_ForestTrustData forest_trust_data; */
6467 /* IDL: } */
6468
6469 static int
6470 lsarpc_dissect_element_lsa_ForestTrustRecord_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6471 {
6472         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord_flags, 0);
6473
6474         return offset;
6475 }
6476
6477 static int
6478 lsarpc_dissect_element_lsa_ForestTrustRecord_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *level)
6479 {
6480         offset = lsarpc_dissect_enum_lsa_ForestTrustRecordType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord_level, level);
6481
6482         return offset;
6483 }
6484
6485 static int
6486 lsarpc_dissect_element_lsa_ForestTrustRecord_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6487 {
6488         offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_ForestTrustRecord_unknown);
6489
6490         return offset;
6491 }
6492
6493 static int
6494 lsarpc_dissect_element_lsa_ForestTrustRecord_forest_trust_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *level)
6495 {
6496         offset = lsarpc_dissect_lsa_ForestTrustData(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord_forest_trust_data, *level);
6497
6498         return offset;
6499 }
6500
6501 int
6502 lsarpc_dissect_struct_lsa_ForestTrustRecord(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6503 {
6504         guint32 level = 0;
6505         proto_item *item = NULL;
6506         proto_tree *tree = NULL;
6507         int old_offset;
6508
6509         ALIGN_TO_8_BYTES;
6510
6511         ALIGN_TO_8_BYTES;
6512
6513         old_offset = offset;
6514
6515         if (parent_tree) {
6516                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6517                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustRecord);
6518         }
6519         
6520         offset = lsarpc_dissect_element_lsa_ForestTrustRecord_flags(tvb, offset, pinfo, tree, di, drep);
6521
6522         offset = lsarpc_dissect_element_lsa_ForestTrustRecord_level(tvb, offset, pinfo, tree, di, drep, &level);
6523
6524         offset = lsarpc_dissect_element_lsa_ForestTrustRecord_unknown(tvb, offset, pinfo, tree, di, drep);
6525
6526         offset = lsarpc_dissect_element_lsa_ForestTrustRecord_forest_trust_data(tvb, offset, pinfo, tree, di, drep, &level);
6527
6528
6529         proto_item_set_len(item, offset-old_offset);
6530
6531
6532         if (di->call_data->flags & DCERPC_IS_NDR64) {
6533                 ALIGN_TO_8_BYTES;
6534         }
6535
6536         return offset;
6537 }
6538
6539
6540 /* IDL: struct { */
6541 /* IDL:         [range(0,4000)] uint32 count; */
6542 /* IDL:         [size_is(count)] [unique(1)] lsa_ForestTrustRecord **entries; */
6543 /* IDL: } */
6544
6545 static int
6546 lsarpc_dissect_element_lsa_ForestTrustInformation_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6547 {
6548         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustInformation_count, 0);
6549
6550         return offset;
6551 }
6552
6553 static int
6554 lsarpc_dissect_element_lsa_ForestTrustInformation_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6555 {
6556         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustInformation_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (lsa_ForestTrustRecord)",hf_lsarpc_lsa_ForestTrustInformation_entries);
6557
6558         return offset;
6559 }
6560
6561 static int
6562 lsarpc_dissect_element_lsa_ForestTrustInformation_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6563 {
6564         offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustInformation_entries__);
6565
6566         return offset;
6567 }
6568
6569 static int
6570 lsarpc_dissect_element_lsa_ForestTrustInformation_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6571 {
6572         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustInformation_entries___, NDR_POINTER_UNIQUE, "Pointer to Entries (lsa_ForestTrustRecord)",hf_lsarpc_lsa_ForestTrustInformation_entries);
6573
6574         return offset;
6575 }
6576
6577 static int
6578 lsarpc_dissect_element_lsa_ForestTrustInformation_entries___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6579 {
6580         offset = lsarpc_dissect_struct_lsa_ForestTrustRecord(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustInformation_entries,0);
6581
6582         return offset;
6583 }
6584
6585 int
6586 lsarpc_dissect_struct_lsa_ForestTrustInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6587 {
6588         proto_item *item = NULL;
6589         proto_tree *tree = NULL;
6590         int old_offset;
6591
6592         ALIGN_TO_5_BYTES;
6593
6594         ALIGN_TO_5_BYTES;
6595
6596         old_offset = offset;
6597
6598         if (parent_tree) {
6599                 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6600                 tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustInformation);
6601         }
6602         
6603         offset = lsarpc_dissect_element_lsa_ForestTrustInformation_count(tvb, offset, pinfo, tree, di, drep);
6604
6605         offset = lsarpc_dissect_element_lsa_ForestTrustInformation_entries(tvb, offset, pinfo, tree, di, drep);
6606
6607
6608         proto_item_set_len(item, offset-old_offset);
6609
6610
6611         if (di->call_data->flags & DCERPC_IS_NDR64) {
6612                 ALIGN_TO_5_BYTES;
6613         }
6614
6615         return offset;
6616 }
6617
6618 static int
6619 lsarpc_dissect_element_lsa_Close_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6620 {
6621         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_Close_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_Close_handle);
6622
6623         return offset;
6624 }
6625
6626 static int
6627 lsarpc_dissect_element_lsa_Close_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6628 {
6629         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_Close_handle, PIDL_POLHND_CLOSE);
6630
6631         return offset;
6632 }
6633
6634 /* IDL: NTSTATUS lsa_Close( */
6635 /* IDL: [in] [out] [ref] policy_handle *handle */
6636 /* IDL: ); */
6637
6638 static int
6639 lsarpc_dissect_lsa_Close_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6640 {
6641         guint32 status;
6642
6643         di->dcerpc_procedure_name="lsa_Close";
6644         offset = lsarpc_dissect_element_lsa_Close_handle(tvb, offset, pinfo, tree, di, drep);
6645         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6646
6647         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
6648
6649         if (status != 0)
6650                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
6651
6652         return offset;
6653 }
6654
6655 static int
6656 lsarpc_dissect_lsa_Close_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6657 {
6658         di->dcerpc_procedure_name="lsa_Close";
6659         offset = lsarpc_dissect_element_lsa_Close_handle(tvb, offset, pinfo, tree, di, drep);
6660         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6661         return offset;
6662 }
6663
6664 static int
6665 lsarpc_dissect_element_lsa_Delete_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6666 {
6667         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_Delete_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_Delete_handle);
6668
6669         return offset;
6670 }
6671
6672 static int
6673 lsarpc_dissect_element_lsa_Delete_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6674 {
6675         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_Delete_handle, PIDL_POLHND_CLOSE);
6676
6677         return offset;
6678 }
6679
6680 /* IDL: NTSTATUS lsa_Delete( */
6681 /* IDL: [in] [ref] policy_handle *handle */
6682 /* IDL: ); */
6683
6684 static int
6685 lsarpc_dissect_lsa_Delete_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6686 {
6687         guint32 status;
6688
6689         di->dcerpc_procedure_name="lsa_Delete";
6690         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
6691
6692         if (status != 0)
6693                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
6694
6695         return offset;
6696 }
6697
6698 static int
6699 lsarpc_dissect_lsa_Delete_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6700 {
6701         di->dcerpc_procedure_name="lsa_Delete";
6702         offset = lsarpc_dissect_element_lsa_Delete_handle(tvb, offset, pinfo, tree, di, drep);
6703         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6704         return offset;
6705 }
6706
6707 static int
6708 lsarpc_dissect_element_lsa_EnumPrivs_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6709 {
6710         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumPrivs_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_EnumPrivs_handle);
6711
6712         return offset;
6713 }
6714
6715 static int
6716 lsarpc_dissect_element_lsa_EnumPrivs_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6717 {
6718         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumPrivs_handle, 0);
6719
6720         return offset;
6721 }
6722
6723 static int
6724 lsarpc_dissect_element_lsa_EnumPrivs_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6725 {
6726         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumPrivs_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_lsarpc_lsa_EnumPrivs_resume_handle);
6727
6728         return offset;
6729 }
6730
6731 static int
6732 lsarpc_dissect_element_lsa_EnumPrivs_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6733 {
6734         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumPrivs_resume_handle, 0);
6735
6736         return offset;
6737 }
6738
6739 static int
6740 lsarpc_dissect_element_lsa_EnumPrivs_max_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6741 {
6742         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumPrivs_max_count, 0);
6743
6744         return offset;
6745 }
6746
6747 static int
6748 lsarpc_dissect_element_lsa_EnumPrivs_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6749 {
6750         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumPrivs_privs_, NDR_POINTER_REF, "Pointer to Privs (lsa_PrivArray)",hf_lsarpc_lsa_EnumPrivs_privs);
6751
6752         return offset;
6753 }
6754
6755 static int
6756 lsarpc_dissect_element_lsa_EnumPrivs_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6757 {
6758         offset = lsarpc_dissect_struct_lsa_PrivArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumPrivs_privs,0);
6759
6760         return offset;
6761 }
6762
6763 /* IDL: NTSTATUS lsa_EnumPrivs( */
6764 /* IDL: [in] [ref] policy_handle *handle, */
6765 /* IDL: [in] [out] [ref] uint32 *resume_handle, */
6766 /* IDL: [in] uint32 max_count, */
6767 /* IDL: [out] [ref] lsa_PrivArray *privs */
6768 /* IDL: ); */
6769
6770 static int
6771 lsarpc_dissect_lsa_EnumPrivs_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6772 {
6773         guint32 status;
6774
6775         di->dcerpc_procedure_name="lsa_EnumPrivs";
6776         offset = lsarpc_dissect_element_lsa_EnumPrivs_resume_handle(tvb, offset, pinfo, tree, di, drep);
6777         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6778
6779         offset = lsarpc_dissect_element_lsa_EnumPrivs_privs(tvb, offset, pinfo, tree, di, drep);
6780         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6781
6782         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
6783
6784         if (status != 0)
6785                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
6786
6787         return offset;
6788 }
6789
6790 static int
6791 lsarpc_dissect_lsa_EnumPrivs_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6792 {
6793         di->dcerpc_procedure_name="lsa_EnumPrivs";
6794         offset = lsarpc_dissect_element_lsa_EnumPrivs_handle(tvb, offset, pinfo, tree, di, drep);
6795         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6796         offset = lsarpc_dissect_element_lsa_EnumPrivs_resume_handle(tvb, offset, pinfo, tree, di, drep);
6797         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6798         offset = lsarpc_dissect_element_lsa_EnumPrivs_max_count(tvb, offset, pinfo, tree, di, drep);
6799         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6800         return offset;
6801 }
6802
6803 static int
6804 lsarpc_dissect_element_lsa_QuerySecurity_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6805 {
6806         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QuerySecurity_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_QuerySecurity_handle);
6807
6808         return offset;
6809 }
6810
6811 static int
6812 lsarpc_dissect_element_lsa_QuerySecurity_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6813 {
6814         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecurity_handle, 0);
6815
6816         return offset;
6817 }
6818
6819 static int
6820 lsarpc_dissect_element_lsa_QuerySecurity_sec_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6821 {
6822         offset = lsarpc_dissect_bitmap_security_secinfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecurity_sec_info, 0);
6823
6824         return offset;
6825 }
6826
6827 static int
6828 lsarpc_dissect_element_lsa_QuerySecurity_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6829 {
6830         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QuerySecurity_sdbuf_, NDR_POINTER_UNIQUE, "Pointer to Sdbuf (sec_desc_buf)",hf_lsarpc_lsa_QuerySecurity_sdbuf);
6831
6832         return offset;
6833 }
6834
6835 static int
6836 lsarpc_dissect_element_lsa_QuerySecurity_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6837 {
6838         offset=cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
6839
6840         return offset;
6841 }
6842
6843 /* IDL: NTSTATUS lsa_QuerySecurity( */
6844 /* IDL: [in] [ref] policy_handle *handle, */
6845 /* IDL: [in] security_secinfo sec_info, */
6846 /* IDL: [out] [unique(1)] sec_desc_buf *sdbuf */
6847 /* IDL: ); */
6848
6849 static int
6850 lsarpc_dissect_lsa_QuerySecurity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6851 {
6852         guint32 status;
6853
6854         di->dcerpc_procedure_name="lsa_QuerySecurity";
6855         offset = lsarpc_dissect_element_lsa_QuerySecurity_sdbuf(tvb, offset, pinfo, tree, di, drep);
6856         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6857
6858         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
6859
6860         if (status != 0)
6861                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
6862
6863         return offset;
6864 }
6865
6866 static int
6867 lsarpc_dissect_lsa_QuerySecurity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6868 {
6869         di->dcerpc_procedure_name="lsa_QuerySecurity";
6870         offset = lsarpc_dissect_element_lsa_QuerySecurity_handle(tvb, offset, pinfo, tree, di, drep);
6871         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6872         offset = lsarpc_dissect_element_lsa_QuerySecurity_sec_info(tvb, offset, pinfo, tree, di, drep);
6873         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6874         return offset;
6875 }
6876
6877 /* IDL: NTSTATUS lsa_SetSecObj( */
6878 /* IDL:  */
6879 /* IDL: ); */
6880
6881 static int
6882 lsarpc_dissect_lsa_SetSecObj_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6883 {
6884         guint32 status;
6885
6886         di->dcerpc_procedure_name="lsa_SetSecObj";
6887         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
6888
6889         if (status != 0)
6890                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
6891
6892         return offset;
6893 }
6894
6895 static int
6896 lsarpc_dissect_lsa_SetSecObj_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6897 {
6898         di->dcerpc_procedure_name="lsa_SetSecObj";
6899         return offset;
6900 }
6901
6902 /* IDL: NTSTATUS lsa_ChangePassword( */
6903 /* IDL:  */
6904 /* IDL: ); */
6905
6906 static int
6907 lsarpc_dissect_lsa_ChangePassword_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6908 {
6909         guint32 status;
6910
6911         di->dcerpc_procedure_name="lsa_ChangePassword";
6912         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
6913
6914         if (status != 0)
6915                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
6916
6917         return offset;
6918 }
6919
6920 static int
6921 lsarpc_dissect_lsa_ChangePassword_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6922 {
6923         di->dcerpc_procedure_name="lsa_ChangePassword";
6924         return offset;
6925 }
6926
6927 static int
6928 lsarpc_dissect_element_lsa_OpenPolicy_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6929 {
6930         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_lsarpc_lsa_OpenPolicy_system_name);
6931
6932         return offset;
6933 }
6934
6935 static int
6936 lsarpc_dissect_element_lsa_OpenPolicy_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6937 {
6938         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy_system_name, 0);
6939
6940         return offset;
6941 }
6942
6943 static int
6944 lsarpc_dissect_element_lsa_OpenPolicy_attr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6945 {
6946         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy_attr_, NDR_POINTER_REF, "Pointer to Attr (lsa_ObjectAttribute)",hf_lsarpc_lsa_OpenPolicy_attr);
6947
6948         return offset;
6949 }
6950
6951 static int
6952 lsarpc_dissect_element_lsa_OpenPolicy_attr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6953 {
6954         offset = lsarpc_dissect_struct_lsa_ObjectAttribute(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenPolicy_attr,0);
6955
6956         return offset;
6957 }
6958
6959 static int
6960 lsarpc_dissect_element_lsa_OpenPolicy_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6961 {
6962         offset = lsarpc_dissect_bitmap_lsa_PolicyAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy_access_mask, 0);
6963
6964         return offset;
6965 }
6966
6967 static int
6968 lsarpc_dissect_element_lsa_OpenPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6969 {
6970         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_OpenPolicy_handle);
6971
6972         return offset;
6973 }
6974
6975 static int
6976 lsarpc_dissect_element_lsa_OpenPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6977 {
6978         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_POLICY);
6979
6980         return offset;
6981 }
6982
6983 /* IDL: NTSTATUS lsa_OpenPolicy( */
6984 /* IDL: [in] [unique(1)] uint16 *system_name, */
6985 /* IDL: [in] [ref] lsa_ObjectAttribute *attr, */
6986 /* IDL: [in] lsa_PolicyAccessMask access_mask, */
6987 /* IDL: [out] [ref] policy_handle *handle */
6988 /* IDL: ); */
6989
6990 static int
6991 lsarpc_dissect_lsa_OpenPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6992 {
6993         guint32 status;
6994
6995         di->dcerpc_procedure_name="lsa_OpenPolicy";
6996         offset = lsarpc_dissect_element_lsa_OpenPolicy_handle(tvb, offset, pinfo, tree, di, drep);
6997         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
6998
6999         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7000
7001         if (status != 0)
7002                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7003
7004         return offset;
7005 }
7006
7007 static int
7008 lsarpc_dissect_lsa_OpenPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7009 {
7010         di->dcerpc_procedure_name="lsa_OpenPolicy";
7011         offset = lsarpc_dissect_element_lsa_OpenPolicy_system_name(tvb, offset, pinfo, tree, di, drep);
7012         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7013         offset = lsarpc_dissect_element_lsa_OpenPolicy_attr(tvb, offset, pinfo, tree, di, drep);
7014         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7015         offset = lsarpc_dissect_element_lsa_OpenPolicy_access_mask(tvb, offset, pinfo, tree, di, drep);
7016         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7017         return offset;
7018 }
7019
7020 static int
7021 lsarpc_dissect_element_lsa_QueryInfoPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7022 {
7023         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryInfoPolicy_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_QueryInfoPolicy_handle);
7024
7025         return offset;
7026 }
7027
7028 static int
7029 lsarpc_dissect_element_lsa_QueryInfoPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7030 {
7031         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy_handle, 0);
7032
7033         return offset;
7034 }
7035
7036 static int
7037 lsarpc_dissect_element_lsa_QueryInfoPolicy_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7038 {
7039         offset = lsarpc_dissect_enum_lsa_PolicyInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy_level, 0);
7040
7041         return offset;
7042 }
7043
7044 static int
7045 lsarpc_dissect_element_lsa_QueryInfoPolicy_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7046 {
7047         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryInfoPolicy_info_, NDR_POINTER_UNIQUE, "Pointer to Info (lsa_PolicyInformation)",hf_lsarpc_lsa_QueryInfoPolicy_info);
7048
7049         return offset;
7050 }
7051
7052 static int
7053 lsarpc_dissect_element_lsa_QueryInfoPolicy_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7054 {
7055         offset = lsarpc_dissect_lsa_PolicyInformation(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy_info, 0);
7056
7057         return offset;
7058 }
7059
7060 /* IDL: NTSTATUS lsa_QueryInfoPolicy( */
7061 /* IDL: [in] [ref] policy_handle *handle, */
7062 /* IDL: [in] lsa_PolicyInfo level, */
7063 /* IDL: [out] [switch_is(level)] [unique(1)] lsa_PolicyInformation *info */
7064 /* IDL: ); */
7065
7066 static int
7067 lsarpc_dissect_lsa_QueryInfoPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7068 {
7069         guint32 status;
7070
7071         di->dcerpc_procedure_name="lsa_QueryInfoPolicy";
7072         offset = lsarpc_dissect_element_lsa_QueryInfoPolicy_info(tvb, offset, pinfo, tree, di, drep);
7073         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7074
7075         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7076
7077         if (status != 0)
7078                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7079
7080         return offset;
7081 }
7082
7083 static int
7084 lsarpc_dissect_lsa_QueryInfoPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7085 {
7086         di->dcerpc_procedure_name="lsa_QueryInfoPolicy";
7087         offset = lsarpc_dissect_element_lsa_QueryInfoPolicy_handle(tvb, offset, pinfo, tree, di, drep);
7088         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7089         offset = lsarpc_dissect_element_lsa_QueryInfoPolicy_level(tvb, offset, pinfo, tree, di, drep);
7090         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7091         return offset;
7092 }
7093
7094 static int
7095 lsarpc_dissect_element_lsa_SetInfoPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7096 {
7097         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetInfoPolicy_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_SetInfoPolicy_handle);
7098
7099         return offset;
7100 }
7101
7102 static int
7103 lsarpc_dissect_element_lsa_SetInfoPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7104 {
7105         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy_handle, 0);
7106
7107         return offset;
7108 }
7109
7110 static int
7111 lsarpc_dissect_element_lsa_SetInfoPolicy_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7112 {
7113         offset = lsarpc_dissect_enum_lsa_PolicyInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy_level, 0);
7114
7115         return offset;
7116 }
7117
7118 static int
7119 lsarpc_dissect_element_lsa_SetInfoPolicy_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7120 {
7121         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetInfoPolicy_info_, NDR_POINTER_REF, "Pointer to Info (lsa_PolicyInformation)",hf_lsarpc_lsa_SetInfoPolicy_info);
7122
7123         return offset;
7124 }
7125
7126 static int
7127 lsarpc_dissect_element_lsa_SetInfoPolicy_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7128 {
7129         offset = lsarpc_dissect_lsa_PolicyInformation(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy_info, 0);
7130
7131         return offset;
7132 }
7133
7134 /* IDL: NTSTATUS lsa_SetInfoPolicy( */
7135 /* IDL: [in] [ref] policy_handle *handle, */
7136 /* IDL: [in] lsa_PolicyInfo level, */
7137 /* IDL: [in] [ref] [switch_is(level)] lsa_PolicyInformation *info */
7138 /* IDL: ); */
7139
7140 static int
7141 lsarpc_dissect_lsa_SetInfoPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7142 {
7143         guint32 status;
7144
7145         di->dcerpc_procedure_name="lsa_SetInfoPolicy";
7146         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7147
7148         if (status != 0)
7149                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7150
7151         return offset;
7152 }
7153
7154 static int
7155 lsarpc_dissect_lsa_SetInfoPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7156 {
7157         di->dcerpc_procedure_name="lsa_SetInfoPolicy";
7158         offset = lsarpc_dissect_element_lsa_SetInfoPolicy_handle(tvb, offset, pinfo, tree, di, drep);
7159         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7160         offset = lsarpc_dissect_element_lsa_SetInfoPolicy_level(tvb, offset, pinfo, tree, di, drep);
7161         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7162         offset = lsarpc_dissect_element_lsa_SetInfoPolicy_info(tvb, offset, pinfo, tree, di, drep);
7163         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7164         return offset;
7165 }
7166
7167 /* IDL: NTSTATUS lsa_ClearAuditLog( */
7168 /* IDL:  */
7169 /* IDL: ); */
7170
7171 static int
7172 lsarpc_dissect_lsa_ClearAuditLog_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7173 {
7174         guint32 status;
7175
7176         di->dcerpc_procedure_name="lsa_ClearAuditLog";
7177         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7178
7179         if (status != 0)
7180                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7181
7182         return offset;
7183 }
7184
7185 static int
7186 lsarpc_dissect_lsa_ClearAuditLog_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7187 {
7188         di->dcerpc_procedure_name="lsa_ClearAuditLog";
7189         return offset;
7190 }
7191
7192 static int
7193 lsarpc_dissect_element_lsa_CreateAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7194 {
7195         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateAccount_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_CreateAccount_handle);
7196
7197         return offset;
7198 }
7199
7200 static int
7201 lsarpc_dissect_element_lsa_CreateAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7202 {
7203         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateAccount_handle, 0);
7204
7205         return offset;
7206 }
7207
7208 static int
7209 lsarpc_dissect_element_lsa_CreateAccount_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7210 {
7211         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateAccount_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_CreateAccount_sid);
7212
7213         return offset;
7214 }
7215
7216 static int
7217 lsarpc_dissect_element_lsa_CreateAccount_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7218 {
7219         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateAccount_sid,0);
7220
7221         return offset;
7222 }
7223
7224 static int
7225 lsarpc_dissect_element_lsa_CreateAccount_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7226 {
7227         offset = lsarpc_dissect_bitmap_lsa_AccountAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateAccount_access_mask, 0);
7228
7229         return offset;
7230 }
7231
7232 static int
7233 lsarpc_dissect_element_lsa_CreateAccount_acct_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7234 {
7235         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateAccount_acct_handle_, NDR_POINTER_REF, "Pointer to Acct Handle (policy_handle)",hf_lsarpc_lsa_CreateAccount_acct_handle);
7236
7237         return offset;
7238 }
7239
7240 static int
7241 lsarpc_dissect_element_lsa_CreateAccount_acct_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7242 {
7243         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateAccount_acct_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_ACCOUNT);
7244
7245         return offset;
7246 }
7247
7248 /* IDL: NTSTATUS lsa_CreateAccount( */
7249 /* IDL: [in] [ref] policy_handle *handle, */
7250 /* IDL: [in] [ref] dom_sid2 *sid, */
7251 /* IDL: [in] lsa_AccountAccessMask access_mask, */
7252 /* IDL: [out] [ref] policy_handle *acct_handle */
7253 /* IDL: ); */
7254
7255 static int
7256 lsarpc_dissect_lsa_CreateAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7257 {
7258         guint32 status;
7259
7260         di->dcerpc_procedure_name="lsa_CreateAccount";
7261         offset = lsarpc_dissect_element_lsa_CreateAccount_acct_handle(tvb, offset, pinfo, tree, di, drep);
7262         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7263
7264         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7265
7266         if (status != 0)
7267                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7268
7269         return offset;
7270 }
7271
7272 static int
7273 lsarpc_dissect_lsa_CreateAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7274 {
7275         di->dcerpc_procedure_name="lsa_CreateAccount";
7276         offset = lsarpc_dissect_element_lsa_CreateAccount_handle(tvb, offset, pinfo, tree, di, drep);
7277         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7278         offset = lsarpc_dissect_element_lsa_CreateAccount_sid(tvb, offset, pinfo, tree, di, drep);
7279         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7280         offset = lsarpc_dissect_element_lsa_CreateAccount_access_mask(tvb, offset, pinfo, tree, di, drep);
7281         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7282         return offset;
7283 }
7284
7285 static int
7286 lsarpc_dissect_element_lsa_EnumAccounts_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7287 {
7288         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumAccounts_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_EnumAccounts_handle);
7289
7290         return offset;
7291 }
7292
7293 static int
7294 lsarpc_dissect_element_lsa_EnumAccounts_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7295 {
7296         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccounts_handle, 0);
7297
7298         return offset;
7299 }
7300
7301 static int
7302 lsarpc_dissect_element_lsa_EnumAccounts_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7303 {
7304         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumAccounts_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_lsarpc_lsa_EnumAccounts_resume_handle);
7305
7306         return offset;
7307 }
7308
7309 static int
7310 lsarpc_dissect_element_lsa_EnumAccounts_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7311 {
7312         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccounts_resume_handle, 0);
7313
7314         return offset;
7315 }
7316
7317 static int
7318 lsarpc_dissect_element_lsa_EnumAccounts_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7319 {
7320         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccounts_num_entries, 0);
7321
7322         return offset;
7323 }
7324
7325 static int
7326 lsarpc_dissect_element_lsa_EnumAccounts_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7327 {
7328         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumAccounts_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_lsarpc_lsa_EnumAccounts_sids);
7329
7330         return offset;
7331 }
7332
7333 static int
7334 lsarpc_dissect_element_lsa_EnumAccounts_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7335 {
7336         offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccounts_sids,0);
7337
7338         return offset;
7339 }
7340
7341 /* IDL: NTSTATUS lsa_EnumAccounts( */
7342 /* IDL: [in] [ref] policy_handle *handle, */
7343 /* IDL: [in] [out] [ref] uint32 *resume_handle, */
7344 /* IDL: [in] [range(0,8192)] uint32 num_entries, */
7345 /* IDL: [out] [ref] lsa_SidArray *sids */
7346 /* IDL: ); */
7347
7348 static int
7349 lsarpc_dissect_lsa_EnumAccounts_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7350 {
7351         guint32 status;
7352
7353         di->dcerpc_procedure_name="lsa_EnumAccounts";
7354         offset = lsarpc_dissect_element_lsa_EnumAccounts_resume_handle(tvb, offset, pinfo, tree, di, drep);
7355         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7356
7357         offset = lsarpc_dissect_element_lsa_EnumAccounts_sids(tvb, offset, pinfo, tree, di, drep);
7358         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7359
7360         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7361
7362         if (status != 0)
7363                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7364
7365         return offset;
7366 }
7367
7368 static int
7369 lsarpc_dissect_lsa_EnumAccounts_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7370 {
7371         di->dcerpc_procedure_name="lsa_EnumAccounts";
7372         offset = lsarpc_dissect_element_lsa_EnumAccounts_handle(tvb, offset, pinfo, tree, di, drep);
7373         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7374         offset = lsarpc_dissect_element_lsa_EnumAccounts_resume_handle(tvb, offset, pinfo, tree, di, drep);
7375         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7376         offset = lsarpc_dissect_element_lsa_EnumAccounts_num_entries(tvb, offset, pinfo, tree, di, drep);
7377         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7378         return offset;
7379 }
7380
7381 static int
7382 lsarpc_dissect_element_lsa_CreateTrustedDomain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7383 {
7384         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomain_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_CreateTrustedDomain_handle);
7385
7386         return offset;
7387 }
7388
7389 static int
7390 lsarpc_dissect_element_lsa_CreateTrustedDomain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7391 {
7392         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomain_handle, 0);
7393
7394         return offset;
7395 }
7396
7397 static int
7398 lsarpc_dissect_element_lsa_CreateTrustedDomain_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7399 {
7400         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomain_info_, NDR_POINTER_REF, "Pointer to Info (lsa_DomainInfo)",hf_lsarpc_lsa_CreateTrustedDomain_info);
7401
7402         return offset;
7403 }
7404
7405 static int
7406 lsarpc_dissect_element_lsa_CreateTrustedDomain_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7407 {
7408         offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateTrustedDomain_info,0);
7409
7410         return offset;
7411 }
7412
7413 static int
7414 lsarpc_dissect_element_lsa_CreateTrustedDomain_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7415 {
7416         offset = lsarpc_dissect_bitmap_lsa_DomainAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomain_access_mask, 0);
7417
7418         return offset;
7419 }
7420
7421 static int
7422 lsarpc_dissect_element_lsa_CreateTrustedDomain_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7423 {
7424         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomain_trustdom_handle_, NDR_POINTER_REF, "Pointer to Trustdom Handle (policy_handle)",hf_lsarpc_lsa_CreateTrustedDomain_trustdom_handle);
7425
7426         return offset;
7427 }
7428
7429 static int
7430 lsarpc_dissect_element_lsa_CreateTrustedDomain_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7431 {
7432         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomain_trustdom_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_DOMAIN);
7433
7434         return offset;
7435 }
7436
7437 /* IDL: NTSTATUS lsa_CreateTrustedDomain( */
7438 /* IDL: [in] [ref] policy_handle *handle, */
7439 /* IDL: [in] [ref] lsa_DomainInfo *info, */
7440 /* IDL: [in] lsa_DomainAccessMask access_mask, */
7441 /* IDL: [out] [ref] policy_handle *trustdom_handle */
7442 /* IDL: ); */
7443
7444 static int
7445 lsarpc_dissect_lsa_CreateTrustedDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7446 {
7447         guint32 status;
7448
7449         di->dcerpc_procedure_name="lsa_CreateTrustedDomain";
7450         offset = lsarpc_dissect_element_lsa_CreateTrustedDomain_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
7451         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7452
7453         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7454
7455         if (status != 0)
7456                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7457
7458         return offset;
7459 }
7460
7461 static int
7462 lsarpc_dissect_lsa_CreateTrustedDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7463 {
7464         di->dcerpc_procedure_name="lsa_CreateTrustedDomain";
7465         offset = lsarpc_dissect_element_lsa_CreateTrustedDomain_handle(tvb, offset, pinfo, tree, di, drep);
7466         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7467         offset = lsarpc_dissect_element_lsa_CreateTrustedDomain_info(tvb, offset, pinfo, tree, di, drep);
7468         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7469         offset = lsarpc_dissect_element_lsa_CreateTrustedDomain_access_mask(tvb, offset, pinfo, tree, di, drep);
7470         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7471         return offset;
7472 }
7473
7474 static int
7475 lsarpc_dissect_element_lsa_EnumTrustDom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7476 {
7477         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumTrustDom_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_EnumTrustDom_handle);
7478
7479         return offset;
7480 }
7481
7482 static int
7483 lsarpc_dissect_element_lsa_EnumTrustDom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7484 {
7485         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustDom_handle, 0);
7486
7487         return offset;
7488 }
7489
7490 static int
7491 lsarpc_dissect_element_lsa_EnumTrustDom_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7492 {
7493         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumTrustDom_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_lsarpc_lsa_EnumTrustDom_resume_handle);
7494
7495         return offset;
7496 }
7497
7498 static int
7499 lsarpc_dissect_element_lsa_EnumTrustDom_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7500 {
7501         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustDom_resume_handle, 0);
7502
7503         return offset;
7504 }
7505
7506 static int
7507 lsarpc_dissect_element_lsa_EnumTrustDom_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7508 {
7509         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustDom_max_size, 0);
7510
7511         return offset;
7512 }
7513
7514 static int
7515 lsarpc_dissect_element_lsa_EnumTrustDom_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7516 {
7517         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumTrustDom_domains_, NDR_POINTER_REF, "Pointer to Domains (lsa_DomainList)",hf_lsarpc_lsa_EnumTrustDom_domains);
7518
7519         return offset;
7520 }
7521
7522 static int
7523 lsarpc_dissect_element_lsa_EnumTrustDom_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7524 {
7525         offset = lsarpc_dissect_struct_lsa_DomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumTrustDom_domains,0);
7526
7527         return offset;
7528 }
7529
7530 /* IDL: NTSTATUS lsa_EnumTrustDom( */
7531 /* IDL: [in] [ref] policy_handle *handle, */
7532 /* IDL: [in] [out] [ref] uint32 *resume_handle, */
7533 /* IDL: [in] uint32 max_size, */
7534 /* IDL: [out] [ref] lsa_DomainList *domains */
7535 /* IDL: ); */
7536
7537 static int
7538 lsarpc_dissect_lsa_EnumTrustDom_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7539 {
7540         guint32 status;
7541
7542         di->dcerpc_procedure_name="lsa_EnumTrustDom";
7543         offset = lsarpc_dissect_element_lsa_EnumTrustDom_resume_handle(tvb, offset, pinfo, tree, di, drep);
7544         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7545
7546         offset = lsarpc_dissect_element_lsa_EnumTrustDom_domains(tvb, offset, pinfo, tree, di, drep);
7547         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7548
7549         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7550
7551         if (status != 0)
7552                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7553
7554         return offset;
7555 }
7556
7557 static int
7558 lsarpc_dissect_lsa_EnumTrustDom_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7559 {
7560         di->dcerpc_procedure_name="lsa_EnumTrustDom";
7561         offset = lsarpc_dissect_element_lsa_EnumTrustDom_handle(tvb, offset, pinfo, tree, di, drep);
7562         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7563         offset = lsarpc_dissect_element_lsa_EnumTrustDom_resume_handle(tvb, offset, pinfo, tree, di, drep);
7564         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7565         offset = lsarpc_dissect_element_lsa_EnumTrustDom_max_size(tvb, offset, pinfo, tree, di, drep);
7566         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7567         return offset;
7568 }
7569
7570 static int
7571 lsarpc_dissect_element_lsa_LookupNames_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7572 {
7573         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_LookupNames_handle);
7574
7575         return offset;
7576 }
7577
7578 static int
7579 lsarpc_dissect_element_lsa_LookupNames_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7580 {
7581         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames_handle, 0);
7582
7583         return offset;
7584 }
7585
7586 static int
7587 lsarpc_dissect_element_lsa_LookupNames_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7588 {
7589         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames_num_names, 0);
7590
7591         return offset;
7592 }
7593
7594 static int
7595 lsarpc_dissect_element_lsa_LookupNames_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7596 {
7597         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupNames_domains);
7598
7599         return offset;
7600 }
7601
7602 static int
7603 lsarpc_dissect_element_lsa_LookupNames_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7604 {
7605         offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames_domains,0);
7606
7607         return offset;
7608 }
7609
7610 static int
7611 lsarpc_dissect_element_lsa_LookupNames_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7612 {
7613         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_TransSidArray)",hf_lsarpc_lsa_LookupNames_sids);
7614
7615         return offset;
7616 }
7617
7618 static int
7619 lsarpc_dissect_element_lsa_LookupNames_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7620 {
7621         offset = lsarpc_dissect_struct_lsa_TransSidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames_sids,0);
7622
7623         return offset;
7624 }
7625
7626 static int
7627 lsarpc_dissect_element_lsa_LookupNames_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7628 {
7629         offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames_level, 0);
7630
7631         return offset;
7632 }
7633
7634 static int
7635 lsarpc_dissect_element_lsa_LookupNames_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7636 {
7637         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames_count_, NDR_POINTER_REF, "Pointer to Count (uint32)",hf_lsarpc_lsa_LookupNames_count);
7638
7639         return offset;
7640 }
7641
7642 static int
7643 lsarpc_dissect_element_lsa_LookupNames_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7644 {
7645         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames_count, 0);
7646
7647         return offset;
7648 }
7649
7650 /* IDL: NTSTATUS lsa_LookupNames( */
7651 /* IDL: [in] [ref] policy_handle *handle, */
7652 /* IDL: [in] [range(0,1000)] uint32 num_names, */
7653 /* IDL: [in] [size_is(num_names)] lsa_String names[*], */
7654 /* IDL: [out] [unique(1)] lsa_RefDomainList *domains, */
7655 /* IDL: [in] [out] [ref] lsa_TransSidArray *sids, */
7656 /* IDL: [in] lsa_LookupNamesLevel level, */
7657 /* IDL: [in] [out] [ref] uint32 *count */
7658 /* IDL: ); */
7659
7660 static int
7661 lsarpc_dissect_lsa_LookupNames_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7662 {
7663         guint32 status;
7664
7665         di->dcerpc_procedure_name="lsa_LookupNames";
7666         offset = lsarpc_dissect_element_lsa_LookupNames_domains(tvb, offset, pinfo, tree, di, drep);
7667         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7668
7669         offset = lsarpc_dissect_element_lsa_LookupNames_sids(tvb, offset, pinfo, tree, di, drep);
7670         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7671
7672         offset = lsarpc_dissect_element_lsa_LookupNames_count(tvb, offset, pinfo, tree, di, drep);
7673         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7674
7675         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7676
7677         if (status != 0)
7678                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7679
7680         return offset;
7681 }
7682
7683 static int
7684 lsarpc_dissect_lsa_LookupNames_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7685 {
7686         di->dcerpc_procedure_name="lsa_LookupNames";
7687         offset = lsarpc_dissect_element_lsa_LookupNames_handle(tvb, offset, pinfo, tree, di, drep);
7688         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7689         offset = lsarpc_dissect_element_lsa_LookupNames_num_names(tvb, offset, pinfo, tree, di, drep);
7690         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7691         offset = lsarpc_dissect_element_lsa_LookupNames_names(tvb, offset, pinfo, tree, di, drep);
7692         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7693         offset = lsarpc_dissect_element_lsa_LookupNames_sids(tvb, offset, pinfo, tree, di, drep);
7694         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7695         offset = lsarpc_dissect_element_lsa_LookupNames_level(tvb, offset, pinfo, tree, di, drep);
7696         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7697         offset = lsarpc_dissect_element_lsa_LookupNames_count(tvb, offset, pinfo, tree, di, drep);
7698         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7699         return offset;
7700 }
7701
7702 static int
7703 lsarpc_dissect_element_lsa_LookupSids_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7704 {
7705         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_LookupSids_handle);
7706
7707         return offset;
7708 }
7709
7710 static int
7711 lsarpc_dissect_element_lsa_LookupSids_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7712 {
7713         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids_handle, 0);
7714
7715         return offset;
7716 }
7717
7718 static int
7719 lsarpc_dissect_element_lsa_LookupSids_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7720 {
7721         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_lsarpc_lsa_LookupSids_sids);
7722
7723         return offset;
7724 }
7725
7726 static int
7727 lsarpc_dissect_element_lsa_LookupSids_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7728 {
7729         offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids_sids,0);
7730
7731         return offset;
7732 }
7733
7734 static int
7735 lsarpc_dissect_element_lsa_LookupSids_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7736 {
7737         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupSids_domains);
7738
7739         return offset;
7740 }
7741
7742 static int
7743 lsarpc_dissect_element_lsa_LookupSids_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7744 {
7745         offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids_domains,0);
7746
7747         return offset;
7748 }
7749
7750 static int
7751 lsarpc_dissect_element_lsa_LookupSids_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7752 {
7753         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids_names_, NDR_POINTER_REF, "Pointer to Names (lsa_TransNameArray)",hf_lsarpc_lsa_LookupSids_names);
7754
7755         return offset;
7756 }
7757
7758 static int
7759 lsarpc_dissect_element_lsa_LookupSids_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7760 {
7761         offset = lsarpc_dissect_struct_lsa_TransNameArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids_names,0);
7762
7763         return offset;
7764 }
7765
7766 static int
7767 lsarpc_dissect_element_lsa_LookupSids_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7768 {
7769         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids_level, 0);
7770
7771         return offset;
7772 }
7773
7774 static int
7775 lsarpc_dissect_element_lsa_LookupSids_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7776 {
7777         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids_count_, NDR_POINTER_REF, "Pointer to Count (uint32)",hf_lsarpc_lsa_LookupSids_count);
7778
7779         return offset;
7780 }
7781
7782 static int
7783 lsarpc_dissect_element_lsa_LookupSids_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7784 {
7785         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids_count, 0);
7786
7787         return offset;
7788 }
7789
7790 /* IDL: NTSTATUS lsa_LookupSids( */
7791 /* IDL: [in] [ref] policy_handle *handle, */
7792 /* IDL: [in] [ref] lsa_SidArray *sids, */
7793 /* IDL: [out] [unique(1)] lsa_RefDomainList *domains, */
7794 /* IDL: [in] [out] [ref] lsa_TransNameArray *names, */
7795 /* IDL: [in] uint16 level, */
7796 /* IDL: [in] [out] [ref] uint32 *count */
7797 /* IDL: ); */
7798
7799 static int
7800 lsarpc_dissect_lsa_LookupSids_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7801 {
7802         guint32 status;
7803
7804         di->dcerpc_procedure_name="lsa_LookupSids";
7805         offset = lsarpc_dissect_element_lsa_LookupSids_domains(tvb, offset, pinfo, tree, di, drep);
7806         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7807
7808         offset = lsarpc_dissect_element_lsa_LookupSids_names(tvb, offset, pinfo, tree, di, drep);
7809         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7810
7811         offset = lsarpc_dissect_element_lsa_LookupSids_count(tvb, offset, pinfo, tree, di, drep);
7812         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7813
7814         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7815
7816         if (status != 0)
7817                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7818
7819         return offset;
7820 }
7821
7822 static int
7823 lsarpc_dissect_lsa_LookupSids_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7824 {
7825         di->dcerpc_procedure_name="lsa_LookupSids";
7826         offset = lsarpc_dissect_element_lsa_LookupSids_handle(tvb, offset, pinfo, tree, di, drep);
7827         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7828         offset = lsarpc_dissect_element_lsa_LookupSids_sids(tvb, offset, pinfo, tree, di, drep);
7829         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7830         offset = lsarpc_dissect_element_lsa_LookupSids_names(tvb, offset, pinfo, tree, di, drep);
7831         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7832         offset = lsarpc_dissect_element_lsa_LookupSids_level(tvb, offset, pinfo, tree, di, drep);
7833         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7834         offset = lsarpc_dissect_element_lsa_LookupSids_count(tvb, offset, pinfo, tree, di, drep);
7835         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7836         return offset;
7837 }
7838
7839 static int
7840 lsarpc_dissect_element_lsa_CreateSecret_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7841 {
7842         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateSecret_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_CreateSecret_handle);
7843
7844         return offset;
7845 }
7846
7847 static int
7848 lsarpc_dissect_element_lsa_CreateSecret_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7849 {
7850         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateSecret_handle, 0);
7851
7852         return offset;
7853 }
7854
7855 static int
7856 lsarpc_dissect_element_lsa_CreateSecret_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7857 {
7858         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateSecret_name,0);
7859
7860         return offset;
7861 }
7862
7863 static int
7864 lsarpc_dissect_element_lsa_CreateSecret_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7865 {
7866         offset = lsarpc_dissect_bitmap_lsa_SecretAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateSecret_access_mask, 0);
7867
7868         return offset;
7869 }
7870
7871 static int
7872 lsarpc_dissect_element_lsa_CreateSecret_sec_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7873 {
7874         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateSecret_sec_handle_, NDR_POINTER_REF, "Pointer to Sec Handle (policy_handle)",hf_lsarpc_lsa_CreateSecret_sec_handle);
7875
7876         return offset;
7877 }
7878
7879 static int
7880 lsarpc_dissect_element_lsa_CreateSecret_sec_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7881 {
7882         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateSecret_sec_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_SECRET);
7883
7884         return offset;
7885 }
7886
7887 /* IDL: NTSTATUS lsa_CreateSecret( */
7888 /* IDL: [in] [ref] policy_handle *handle, */
7889 /* IDL: [in] lsa_String name, */
7890 /* IDL: [in] lsa_SecretAccessMask access_mask, */
7891 /* IDL: [out] [ref] policy_handle *sec_handle */
7892 /* IDL: ); */
7893
7894 static int
7895 lsarpc_dissect_lsa_CreateSecret_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7896 {
7897         guint32 status;
7898
7899         di->dcerpc_procedure_name="lsa_CreateSecret";
7900         offset = lsarpc_dissect_element_lsa_CreateSecret_sec_handle(tvb, offset, pinfo, tree, di, drep);
7901         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7902
7903         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7904
7905         if (status != 0)
7906                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
7907
7908         return offset;
7909 }
7910
7911 static int
7912 lsarpc_dissect_lsa_CreateSecret_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7913 {
7914         di->dcerpc_procedure_name="lsa_CreateSecret";
7915         offset = lsarpc_dissect_element_lsa_CreateSecret_handle(tvb, offset, pinfo, tree, di, drep);
7916         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7917         offset = lsarpc_dissect_element_lsa_CreateSecret_name(tvb, offset, pinfo, tree, di, drep);
7918         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7919         offset = lsarpc_dissect_element_lsa_CreateSecret_access_mask(tvb, offset, pinfo, tree, di, drep);
7920         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7921         return offset;
7922 }
7923
7924 static int
7925 lsarpc_dissect_element_lsa_OpenAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7926 {
7927         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenAccount_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_OpenAccount_handle);
7928
7929         return offset;
7930 }
7931
7932 static int
7933 lsarpc_dissect_element_lsa_OpenAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7934 {
7935         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenAccount_handle, 0);
7936
7937         return offset;
7938 }
7939
7940 static int
7941 lsarpc_dissect_element_lsa_OpenAccount_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7942 {
7943         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenAccount_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_OpenAccount_sid);
7944
7945         return offset;
7946 }
7947
7948 static int
7949 lsarpc_dissect_element_lsa_OpenAccount_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7950 {
7951         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenAccount_sid,0);
7952
7953         return offset;
7954 }
7955
7956 static int
7957 lsarpc_dissect_element_lsa_OpenAccount_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7958 {
7959         offset = lsarpc_dissect_bitmap_lsa_AccountAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenAccount_access_mask, 0);
7960
7961         return offset;
7962 }
7963
7964 static int
7965 lsarpc_dissect_element_lsa_OpenAccount_acct_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7966 {
7967         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenAccount_acct_handle_, NDR_POINTER_REF, "Pointer to Acct Handle (policy_handle)",hf_lsarpc_lsa_OpenAccount_acct_handle);
7968
7969         return offset;
7970 }
7971
7972 static int
7973 lsarpc_dissect_element_lsa_OpenAccount_acct_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7974 {
7975         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenAccount_acct_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_ACCOUNT);
7976
7977         return offset;
7978 }
7979
7980 /* IDL: NTSTATUS lsa_OpenAccount( */
7981 /* IDL: [in] [ref] policy_handle *handle, */
7982 /* IDL: [in] [ref] dom_sid2 *sid, */
7983 /* IDL: [in] lsa_AccountAccessMask access_mask, */
7984 /* IDL: [out] [ref] policy_handle *acct_handle */
7985 /* IDL: ); */
7986
7987 static int
7988 lsarpc_dissect_lsa_OpenAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7989 {
7990         guint32 status;
7991
7992         di->dcerpc_procedure_name="lsa_OpenAccount";
7993         offset = lsarpc_dissect_element_lsa_OpenAccount_acct_handle(tvb, offset, pinfo, tree, di, drep);
7994         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
7995
7996         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
7997
7998         if (status != 0)
7999                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8000
8001         return offset;
8002 }
8003
8004 static int
8005 lsarpc_dissect_lsa_OpenAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8006 {
8007         di->dcerpc_procedure_name="lsa_OpenAccount";
8008         offset = lsarpc_dissect_element_lsa_OpenAccount_handle(tvb, offset, pinfo, tree, di, drep);
8009         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8010         offset = lsarpc_dissect_element_lsa_OpenAccount_sid(tvb, offset, pinfo, tree, di, drep);
8011         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8012         offset = lsarpc_dissect_element_lsa_OpenAccount_access_mask(tvb, offset, pinfo, tree, di, drep);
8013         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8014         return offset;
8015 }
8016
8017 static int
8018 lsarpc_dissect_element_lsa_EnumPrivsAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8019 {
8020         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumPrivsAccount_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_EnumPrivsAccount_handle);
8021
8022         return offset;
8023 }
8024
8025 static int
8026 lsarpc_dissect_element_lsa_EnumPrivsAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8027 {
8028         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumPrivsAccount_handle, 0);
8029
8030         return offset;
8031 }
8032
8033 static int
8034 lsarpc_dissect_element_lsa_EnumPrivsAccount_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8035 {
8036         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumPrivsAccount_privs_, NDR_POINTER_UNIQUE, "Pointer to Privs (lsa_PrivilegeSet)",hf_lsarpc_lsa_EnumPrivsAccount_privs);
8037
8038         return offset;
8039 }
8040
8041 static int
8042 lsarpc_dissect_element_lsa_EnumPrivsAccount_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8043 {
8044         offset = lsarpc_dissect_struct_lsa_PrivilegeSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumPrivsAccount_privs,0);
8045
8046         return offset;
8047 }
8048
8049 /* IDL: NTSTATUS lsa_EnumPrivsAccount( */
8050 /* IDL: [in] [ref] policy_handle *handle, */
8051 /* IDL: [out] [unique(1)] lsa_PrivilegeSet *privs */
8052 /* IDL: ); */
8053
8054 static int
8055 lsarpc_dissect_lsa_EnumPrivsAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8056 {
8057         guint32 status;
8058
8059         di->dcerpc_procedure_name="lsa_EnumPrivsAccount";
8060         offset = lsarpc_dissect_element_lsa_EnumPrivsAccount_privs(tvb, offset, pinfo, tree, di, drep);
8061         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8062
8063         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8064
8065         if (status != 0)
8066                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8067
8068         return offset;
8069 }
8070
8071 static int
8072 lsarpc_dissect_lsa_EnumPrivsAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8073 {
8074         di->dcerpc_procedure_name="lsa_EnumPrivsAccount";
8075         offset = lsarpc_dissect_element_lsa_EnumPrivsAccount_handle(tvb, offset, pinfo, tree, di, drep);
8076         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8077         return offset;
8078 }
8079
8080 static int
8081 lsarpc_dissect_element_lsa_AddPrivilegesToAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8082 {
8083         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AddPrivilegesToAccount_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_AddPrivilegesToAccount_handle);
8084
8085         return offset;
8086 }
8087
8088 static int
8089 lsarpc_dissect_element_lsa_AddPrivilegesToAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8090 {
8091         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AddPrivilegesToAccount_handle, 0);
8092
8093         return offset;
8094 }
8095
8096 static int
8097 lsarpc_dissect_element_lsa_AddPrivilegesToAccount_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8098 {
8099         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AddPrivilegesToAccount_privs_, NDR_POINTER_REF, "Pointer to Privs (lsa_PrivilegeSet)",hf_lsarpc_lsa_AddPrivilegesToAccount_privs);
8100
8101         return offset;
8102 }
8103
8104 static int
8105 lsarpc_dissect_element_lsa_AddPrivilegesToAccount_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8106 {
8107         offset = lsarpc_dissect_struct_lsa_PrivilegeSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_AddPrivilegesToAccount_privs,0);
8108
8109         return offset;
8110 }
8111
8112 /* IDL: NTSTATUS lsa_AddPrivilegesToAccount( */
8113 /* IDL: [in] [ref] policy_handle *handle, */
8114 /* IDL: [in] [ref] lsa_PrivilegeSet *privs */
8115 /* IDL: ); */
8116
8117 static int
8118 lsarpc_dissect_lsa_AddPrivilegesToAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8119 {
8120         guint32 status;
8121
8122         di->dcerpc_procedure_name="lsa_AddPrivilegesToAccount";
8123         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8124
8125         if (status != 0)
8126                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8127
8128         return offset;
8129 }
8130
8131 static int
8132 lsarpc_dissect_lsa_AddPrivilegesToAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8133 {
8134         di->dcerpc_procedure_name="lsa_AddPrivilegesToAccount";
8135         offset = lsarpc_dissect_element_lsa_AddPrivilegesToAccount_handle(tvb, offset, pinfo, tree, di, drep);
8136         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8137         offset = lsarpc_dissect_element_lsa_AddPrivilegesToAccount_privs(tvb, offset, pinfo, tree, di, drep);
8138         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8139         return offset;
8140 }
8141
8142 static int
8143 lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8144 {
8145         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_RemovePrivilegesFromAccount_handle);
8146
8147         return offset;
8148 }
8149
8150 static int
8151 lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8152 {
8153         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RemovePrivilegesFromAccount_handle, 0);
8154
8155         return offset;
8156 }
8157
8158 static int
8159 lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_remove_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8160 {
8161         offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RemovePrivilegesFromAccount_remove_all, 0);
8162
8163         return offset;
8164 }
8165
8166 static int
8167 lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_privs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8168 {
8169         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_privs_, NDR_POINTER_UNIQUE, "Pointer to Privs (lsa_PrivilegeSet)",hf_lsarpc_lsa_RemovePrivilegesFromAccount_privs);
8170
8171         return offset;
8172 }
8173
8174 static int
8175 lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_privs_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8176 {
8177         offset = lsarpc_dissect_struct_lsa_PrivilegeSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RemovePrivilegesFromAccount_privs,0);
8178
8179         return offset;
8180 }
8181
8182 /* IDL: NTSTATUS lsa_RemovePrivilegesFromAccount( */
8183 /* IDL: [in] [ref] policy_handle *handle, */
8184 /* IDL: [in] uint8 remove_all, */
8185 /* IDL: [in] [unique(1)] lsa_PrivilegeSet *privs */
8186 /* IDL: ); */
8187
8188 static int
8189 lsarpc_dissect_lsa_RemovePrivilegesFromAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8190 {
8191         guint32 status;
8192
8193         di->dcerpc_procedure_name="lsa_RemovePrivilegesFromAccount";
8194         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8195
8196         if (status != 0)
8197                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8198
8199         return offset;
8200 }
8201
8202 static int
8203 lsarpc_dissect_lsa_RemovePrivilegesFromAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8204 {
8205         di->dcerpc_procedure_name="lsa_RemovePrivilegesFromAccount";
8206         offset = lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_handle(tvb, offset, pinfo, tree, di, drep);
8207         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8208         offset = lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_remove_all(tvb, offset, pinfo, tree, di, drep);
8209         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8210         offset = lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_privs(tvb, offset, pinfo, tree, di, drep);
8211         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8212         return offset;
8213 }
8214
8215 /* IDL: NTSTATUS lsa_GetQuotasForAccount( */
8216 /* IDL:  */
8217 /* IDL: ); */
8218
8219 static int
8220 lsarpc_dissect_lsa_GetQuotasForAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8221 {
8222         guint32 status;
8223
8224         di->dcerpc_procedure_name="lsa_GetQuotasForAccount";
8225         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8226
8227         if (status != 0)
8228                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8229
8230         return offset;
8231 }
8232
8233 static int
8234 lsarpc_dissect_lsa_GetQuotasForAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8235 {
8236         di->dcerpc_procedure_name="lsa_GetQuotasForAccount";
8237         return offset;
8238 }
8239
8240 /* IDL: NTSTATUS lsa_SetQuotasForAccount( */
8241 /* IDL:  */
8242 /* IDL: ); */
8243
8244 static int
8245 lsarpc_dissect_lsa_SetQuotasForAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8246 {
8247         guint32 status;
8248
8249         di->dcerpc_procedure_name="lsa_SetQuotasForAccount";
8250         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8251
8252         if (status != 0)
8253                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8254
8255         return offset;
8256 }
8257
8258 static int
8259 lsarpc_dissect_lsa_SetQuotasForAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8260 {
8261         di->dcerpc_procedure_name="lsa_SetQuotasForAccount";
8262         return offset;
8263 }
8264
8265 /* IDL: NTSTATUS lsa_GetSystemAccessAccount( */
8266 /* IDL:  */
8267 /* IDL: ); */
8268
8269 static int
8270 lsarpc_dissect_lsa_GetSystemAccessAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8271 {
8272         guint32 status;
8273
8274         di->dcerpc_procedure_name="lsa_GetSystemAccessAccount";
8275         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8276
8277         if (status != 0)
8278                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8279
8280         return offset;
8281 }
8282
8283 static int
8284 lsarpc_dissect_lsa_GetSystemAccessAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8285 {
8286         di->dcerpc_procedure_name="lsa_GetSystemAccessAccount";
8287         return offset;
8288 }
8289
8290 /* IDL: NTSTATUS lsa_SetSystemAccessAccount( */
8291 /* IDL:  */
8292 /* IDL: ); */
8293
8294 static int
8295 lsarpc_dissect_lsa_SetSystemAccessAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8296 {
8297         guint32 status;
8298
8299         di->dcerpc_procedure_name="lsa_SetSystemAccessAccount";
8300         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8301
8302         if (status != 0)
8303                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8304
8305         return offset;
8306 }
8307
8308 static int
8309 lsarpc_dissect_lsa_SetSystemAccessAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8310 {
8311         di->dcerpc_procedure_name="lsa_SetSystemAccessAccount";
8312         return offset;
8313 }
8314
8315 static int
8316 lsarpc_dissect_element_lsa_OpenTrustedDomain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8317 {
8318         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenTrustedDomain_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_OpenTrustedDomain_handle);
8319
8320         return offset;
8321 }
8322
8323 static int
8324 lsarpc_dissect_element_lsa_OpenTrustedDomain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8325 {
8326         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomain_handle, 0);
8327
8328         return offset;
8329 }
8330
8331 static int
8332 lsarpc_dissect_element_lsa_OpenTrustedDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8333 {
8334         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenTrustedDomain_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_OpenTrustedDomain_sid);
8335
8336         return offset;
8337 }
8338
8339 static int
8340 lsarpc_dissect_element_lsa_OpenTrustedDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8341 {
8342         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenTrustedDomain_sid,0);
8343
8344         return offset;
8345 }
8346
8347 static int
8348 lsarpc_dissect_element_lsa_OpenTrustedDomain_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8349 {
8350         offset = lsarpc_dissect_bitmap_lsa_DomainAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomain_access_mask, 0);
8351
8352         return offset;
8353 }
8354
8355 static int
8356 lsarpc_dissect_element_lsa_OpenTrustedDomain_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8357 {
8358         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenTrustedDomain_trustdom_handle_, NDR_POINTER_REF, "Pointer to Trustdom Handle (policy_handle)",hf_lsarpc_lsa_OpenTrustedDomain_trustdom_handle);
8359
8360         return offset;
8361 }
8362
8363 static int
8364 lsarpc_dissect_element_lsa_OpenTrustedDomain_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8365 {
8366         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomain_trustdom_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_DOMAIN);
8367
8368         return offset;
8369 }
8370
8371 /* IDL: NTSTATUS lsa_OpenTrustedDomain( */
8372 /* IDL: [in] [ref] policy_handle *handle, */
8373 /* IDL: [in] [ref] dom_sid2 *sid, */
8374 /* IDL: [in] lsa_DomainAccessMask access_mask, */
8375 /* IDL: [out] [ref] policy_handle *trustdom_handle */
8376 /* IDL: ); */
8377
8378 static int
8379 lsarpc_dissect_lsa_OpenTrustedDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8380 {
8381         guint32 status;
8382
8383         di->dcerpc_procedure_name="lsa_OpenTrustedDomain";
8384         offset = lsarpc_dissect_element_lsa_OpenTrustedDomain_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
8385         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8386
8387         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8388
8389         if (status != 0)
8390                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8391
8392         return offset;
8393 }
8394
8395 static int
8396 lsarpc_dissect_lsa_OpenTrustedDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8397 {
8398         di->dcerpc_procedure_name="lsa_OpenTrustedDomain";
8399         offset = lsarpc_dissect_element_lsa_OpenTrustedDomain_handle(tvb, offset, pinfo, tree, di, drep);
8400         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8401         offset = lsarpc_dissect_element_lsa_OpenTrustedDomain_sid(tvb, offset, pinfo, tree, di, drep);
8402         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8403         offset = lsarpc_dissect_element_lsa_OpenTrustedDomain_access_mask(tvb, offset, pinfo, tree, di, drep);
8404         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8405         return offset;
8406 }
8407
8408 static int
8409 lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8410 {
8411         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_trustdom_handle_, NDR_POINTER_REF, "Pointer to Trustdom Handle (policy_handle)",hf_lsarpc_lsa_QueryTrustedDomainInfo_trustdom_handle);
8412
8413         return offset;
8414 }
8415
8416 static int
8417 lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8418 {
8419         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfo_trustdom_handle, 0);
8420
8421         return offset;
8422 }
8423
8424 static int
8425 lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8426 {
8427         offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfo_level, 0);
8428
8429         return offset;
8430 }
8431
8432 static int
8433 lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8434 {
8435         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_info_, NDR_POINTER_UNIQUE, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_QueryTrustedDomainInfo_info);
8436
8437         return offset;
8438 }
8439
8440 static int
8441 lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8442 {
8443         offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfo_info, 0);
8444
8445         return offset;
8446 }
8447
8448 /* IDL: NTSTATUS lsa_QueryTrustedDomainInfo( */
8449 /* IDL: [in] [ref] policy_handle *trustdom_handle, */
8450 /* IDL: [in] lsa_TrustDomInfoEnum level, */
8451 /* IDL: [out] [switch_is(level)] [unique(1)] lsa_TrustedDomainInfo *info */
8452 /* IDL: ); */
8453
8454 static int
8455 lsarpc_dissect_lsa_QueryTrustedDomainInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8456 {
8457         guint32 status;
8458
8459         di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfo";
8460         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_info(tvb, offset, pinfo, tree, di, drep);
8461         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8462
8463         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8464
8465         if (status != 0)
8466                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8467
8468         return offset;
8469 }
8470
8471 static int
8472 lsarpc_dissect_lsa_QueryTrustedDomainInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8473 {
8474         di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfo";
8475         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
8476         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8477         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_level(tvb, offset, pinfo, tree, di, drep);
8478         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8479         return offset;
8480 }
8481
8482 /* IDL: NTSTATUS lsa_SetInformationTrustedDomain( */
8483 /* IDL:  */
8484 /* IDL: ); */
8485
8486 static int
8487 lsarpc_dissect_lsa_SetInformationTrustedDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8488 {
8489         guint32 status;
8490
8491         di->dcerpc_procedure_name="lsa_SetInformationTrustedDomain";
8492         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8493
8494         if (status != 0)
8495                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8496
8497         return offset;
8498 }
8499
8500 static int
8501 lsarpc_dissect_lsa_SetInformationTrustedDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8502 {
8503         di->dcerpc_procedure_name="lsa_SetInformationTrustedDomain";
8504         return offset;
8505 }
8506
8507 static int
8508 lsarpc_dissect_element_lsa_OpenSecret_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8509 {
8510         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenSecret_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_OpenSecret_handle);
8511
8512         return offset;
8513 }
8514
8515 static int
8516 lsarpc_dissect_element_lsa_OpenSecret_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8517 {
8518         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenSecret_handle, 0);
8519
8520         return offset;
8521 }
8522
8523 static int
8524 lsarpc_dissect_element_lsa_OpenSecret_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8525 {
8526         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenSecret_name,0);
8527
8528         return offset;
8529 }
8530
8531 static int
8532 lsarpc_dissect_element_lsa_OpenSecret_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8533 {
8534         offset = lsarpc_dissect_bitmap_lsa_SecretAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenSecret_access_mask, 0);
8535
8536         return offset;
8537 }
8538
8539 static int
8540 lsarpc_dissect_element_lsa_OpenSecret_sec_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8541 {
8542         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenSecret_sec_handle_, NDR_POINTER_REF, "Pointer to Sec Handle (policy_handle)",hf_lsarpc_lsa_OpenSecret_sec_handle);
8543
8544         return offset;
8545 }
8546
8547 static int
8548 lsarpc_dissect_element_lsa_OpenSecret_sec_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8549 {
8550         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenSecret_sec_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_SECRET);
8551
8552         return offset;
8553 }
8554
8555 /* IDL: NTSTATUS lsa_OpenSecret( */
8556 /* IDL: [in] [ref] policy_handle *handle, */
8557 /* IDL: [in] lsa_String name, */
8558 /* IDL: [in] lsa_SecretAccessMask access_mask, */
8559 /* IDL: [out] [ref] policy_handle *sec_handle */
8560 /* IDL: ); */
8561
8562 static int
8563 lsarpc_dissect_lsa_OpenSecret_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8564 {
8565         guint32 status;
8566
8567         di->dcerpc_procedure_name="lsa_OpenSecret";
8568         offset = lsarpc_dissect_element_lsa_OpenSecret_sec_handle(tvb, offset, pinfo, tree, di, drep);
8569         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8570
8571         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8572
8573         if (status != 0)
8574                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8575
8576         return offset;
8577 }
8578
8579 static int
8580 lsarpc_dissect_lsa_OpenSecret_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8581 {
8582         di->dcerpc_procedure_name="lsa_OpenSecret";
8583         offset = lsarpc_dissect_element_lsa_OpenSecret_handle(tvb, offset, pinfo, tree, di, drep);
8584         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8585         offset = lsarpc_dissect_element_lsa_OpenSecret_name(tvb, offset, pinfo, tree, di, drep);
8586         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8587         offset = lsarpc_dissect_element_lsa_OpenSecret_access_mask(tvb, offset, pinfo, tree, di, drep);
8588         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8589         return offset;
8590 }
8591
8592 static int
8593 lsarpc_dissect_element_lsa_SetSecret_sec_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8594 {
8595         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetSecret_sec_handle_, NDR_POINTER_REF, "Pointer to Sec Handle (policy_handle)",hf_lsarpc_lsa_SetSecret_sec_handle);
8596
8597         return offset;
8598 }
8599
8600 static int
8601 lsarpc_dissect_element_lsa_SetSecret_sec_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8602 {
8603         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetSecret_sec_handle, 0);
8604
8605         return offset;
8606 }
8607
8608 static int
8609 lsarpc_dissect_element_lsa_SetSecret_new_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8610 {
8611         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetSecret_new_val_, NDR_POINTER_UNIQUE, "Pointer to New Val (lsa_DATA_BUF)",hf_lsarpc_lsa_SetSecret_new_val);
8612
8613         return offset;
8614 }
8615
8616 static int
8617 lsarpc_dissect_element_lsa_SetSecret_new_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8618 {
8619         offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SetSecret_new_val,0);
8620
8621         return offset;
8622 }
8623
8624 static int
8625 lsarpc_dissect_element_lsa_SetSecret_old_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8626 {
8627         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetSecret_old_val_, NDR_POINTER_UNIQUE, "Pointer to Old Val (lsa_DATA_BUF)",hf_lsarpc_lsa_SetSecret_old_val);
8628
8629         return offset;
8630 }
8631
8632 static int
8633 lsarpc_dissect_element_lsa_SetSecret_old_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8634 {
8635         offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SetSecret_old_val,0);
8636
8637         return offset;
8638 }
8639
8640 /* IDL: NTSTATUS lsa_SetSecret( */
8641 /* IDL: [in] [ref] policy_handle *sec_handle, */
8642 /* IDL: [in] [unique(1)] lsa_DATA_BUF *new_val, */
8643 /* IDL: [in] [unique(1)] lsa_DATA_BUF *old_val */
8644 /* IDL: ); */
8645
8646 static int
8647 lsarpc_dissect_lsa_SetSecret_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8648 {
8649         guint32 status;
8650
8651         di->dcerpc_procedure_name="lsa_SetSecret";
8652         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8653
8654         if (status != 0)
8655                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8656
8657         return offset;
8658 }
8659
8660 static int
8661 lsarpc_dissect_lsa_SetSecret_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8662 {
8663         di->dcerpc_procedure_name="lsa_SetSecret";
8664         offset = lsarpc_dissect_element_lsa_SetSecret_sec_handle(tvb, offset, pinfo, tree, di, drep);
8665         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8666         offset = lsarpc_dissect_element_lsa_SetSecret_new_val(tvb, offset, pinfo, tree, di, drep);
8667         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8668         offset = lsarpc_dissect_element_lsa_SetSecret_old_val(tvb, offset, pinfo, tree, di, drep);
8669         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8670         return offset;
8671 }
8672
8673 static int
8674 lsarpc_dissect_element_lsa_QuerySecret_sec_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8675 {
8676         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QuerySecret_sec_handle_, NDR_POINTER_REF, "Pointer to Sec Handle (policy_handle)",hf_lsarpc_lsa_QuerySecret_sec_handle);
8677
8678         return offset;
8679 }
8680
8681 static int
8682 lsarpc_dissect_element_lsa_QuerySecret_sec_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8683 {
8684         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecret_sec_handle, 0);
8685
8686         return offset;
8687 }
8688
8689 static int
8690 lsarpc_dissect_element_lsa_QuerySecret_new_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8691 {
8692         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QuerySecret_new_val_, NDR_POINTER_UNIQUE, "Pointer to New Val (lsa_DATA_BUF_PTR)",hf_lsarpc_lsa_QuerySecret_new_val);
8693
8694         return offset;
8695 }
8696
8697 static int
8698 lsarpc_dissect_element_lsa_QuerySecret_new_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8699 {
8700         offset = lsarpc_dissect_struct_lsa_DATA_BUF_PTR(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_QuerySecret_new_val,0);
8701
8702         return offset;
8703 }
8704
8705 static int
8706 lsarpc_dissect_element_lsa_QuerySecret_new_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8707 {
8708         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QuerySecret_new_mtime_, NDR_POINTER_UNIQUE, "Pointer to New Mtime (NTTIME_hyper)",hf_lsarpc_lsa_QuerySecret_new_mtime);
8709
8710         return offset;
8711 }
8712
8713 static int
8714 lsarpc_dissect_element_lsa_QuerySecret_new_mtime_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8715 {
8716         offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecret_new_mtime);
8717
8718         return offset;
8719 }
8720
8721 static int
8722 lsarpc_dissect_element_lsa_QuerySecret_old_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8723 {
8724         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QuerySecret_old_val_, NDR_POINTER_UNIQUE, "Pointer to Old Val (lsa_DATA_BUF_PTR)",hf_lsarpc_lsa_QuerySecret_old_val);
8725
8726         return offset;
8727 }
8728
8729 static int
8730 lsarpc_dissect_element_lsa_QuerySecret_old_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8731 {
8732         offset = lsarpc_dissect_struct_lsa_DATA_BUF_PTR(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_QuerySecret_old_val,0);
8733
8734         return offset;
8735 }
8736
8737 static int
8738 lsarpc_dissect_element_lsa_QuerySecret_old_mtime(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8739 {
8740         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QuerySecret_old_mtime_, NDR_POINTER_UNIQUE, "Pointer to Old Mtime (NTTIME_hyper)",hf_lsarpc_lsa_QuerySecret_old_mtime);
8741
8742         return offset;
8743 }
8744
8745 static int
8746 lsarpc_dissect_element_lsa_QuerySecret_old_mtime_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8747 {
8748         offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecret_old_mtime);
8749
8750         return offset;
8751 }
8752
8753 /* IDL: NTSTATUS lsa_QuerySecret( */
8754 /* IDL: [in] [ref] policy_handle *sec_handle, */
8755 /* IDL: [in] [out] [unique(1)] lsa_DATA_BUF_PTR *new_val, */
8756 /* IDL: [in] [out] [unique(1)] NTTIME_hyper *new_mtime, */
8757 /* IDL: [in] [out] [unique(1)] lsa_DATA_BUF_PTR *old_val, */
8758 /* IDL: [in] [out] [unique(1)] NTTIME_hyper *old_mtime */
8759 /* IDL: ); */
8760
8761 static int
8762 lsarpc_dissect_lsa_QuerySecret_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8763 {
8764         guint32 status;
8765
8766         di->dcerpc_procedure_name="lsa_QuerySecret";
8767         offset = lsarpc_dissect_element_lsa_QuerySecret_new_val(tvb, offset, pinfo, tree, di, drep);
8768         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8769
8770         offset = lsarpc_dissect_element_lsa_QuerySecret_new_mtime(tvb, offset, pinfo, tree, di, drep);
8771         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8772
8773         offset = lsarpc_dissect_element_lsa_QuerySecret_old_val(tvb, offset, pinfo, tree, di, drep);
8774         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8775
8776         offset = lsarpc_dissect_element_lsa_QuerySecret_old_mtime(tvb, offset, pinfo, tree, di, drep);
8777         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8778
8779         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8780
8781         if (status != 0)
8782                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8783
8784         return offset;
8785 }
8786
8787 static int
8788 lsarpc_dissect_lsa_QuerySecret_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8789 {
8790         di->dcerpc_procedure_name="lsa_QuerySecret";
8791         offset = lsarpc_dissect_element_lsa_QuerySecret_sec_handle(tvb, offset, pinfo, tree, di, drep);
8792         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8793         offset = lsarpc_dissect_element_lsa_QuerySecret_new_val(tvb, offset, pinfo, tree, di, drep);
8794         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8795         offset = lsarpc_dissect_element_lsa_QuerySecret_new_mtime(tvb, offset, pinfo, tree, di, drep);
8796         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8797         offset = lsarpc_dissect_element_lsa_QuerySecret_old_val(tvb, offset, pinfo, tree, di, drep);
8798         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8799         offset = lsarpc_dissect_element_lsa_QuerySecret_old_mtime(tvb, offset, pinfo, tree, di, drep);
8800         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8801         return offset;
8802 }
8803
8804 static int
8805 lsarpc_dissect_element_lsa_LookupPrivValue_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8806 {
8807         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivValue_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_LookupPrivValue_handle);
8808
8809         return offset;
8810 }
8811
8812 static int
8813 lsarpc_dissect_element_lsa_LookupPrivValue_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8814 {
8815         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivValue_handle, 0);
8816
8817         return offset;
8818 }
8819
8820 static int
8821 lsarpc_dissect_element_lsa_LookupPrivValue_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8822 {
8823         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivValue_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_lsarpc_lsa_LookupPrivValue_name);
8824
8825         return offset;
8826 }
8827
8828 static int
8829 lsarpc_dissect_element_lsa_LookupPrivValue_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8830 {
8831         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivValue_name,0);
8832
8833         return offset;
8834 }
8835
8836 static int
8837 lsarpc_dissect_element_lsa_LookupPrivValue_luid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8838 {
8839         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivValue_luid_, NDR_POINTER_REF, "Pointer to Luid (lsa_LUID)",hf_lsarpc_lsa_LookupPrivValue_luid);
8840
8841         return offset;
8842 }
8843
8844 static int
8845 lsarpc_dissect_element_lsa_LookupPrivValue_luid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8846 {
8847         offset = lsarpc_dissect_struct_lsa_LUID(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivValue_luid,0);
8848
8849         return offset;
8850 }
8851
8852 /* IDL: NTSTATUS lsa_LookupPrivValue( */
8853 /* IDL: [in] [ref] policy_handle *handle, */
8854 /* IDL: [in] [ref] lsa_String *name, */
8855 /* IDL: [out] [ref] lsa_LUID *luid */
8856 /* IDL: ); */
8857
8858 static int
8859 lsarpc_dissect_lsa_LookupPrivValue_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8860 {
8861         guint32 status;
8862
8863         di->dcerpc_procedure_name="lsa_LookupPrivValue";
8864         offset = lsarpc_dissect_element_lsa_LookupPrivValue_luid(tvb, offset, pinfo, tree, di, drep);
8865         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8866
8867         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8868
8869         if (status != 0)
8870                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8871
8872         return offset;
8873 }
8874
8875 static int
8876 lsarpc_dissect_lsa_LookupPrivValue_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8877 {
8878         di->dcerpc_procedure_name="lsa_LookupPrivValue";
8879         offset = lsarpc_dissect_element_lsa_LookupPrivValue_handle(tvb, offset, pinfo, tree, di, drep);
8880         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8881         offset = lsarpc_dissect_element_lsa_LookupPrivValue_name(tvb, offset, pinfo, tree, di, drep);
8882         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8883         return offset;
8884 }
8885
8886 static int
8887 lsarpc_dissect_element_lsa_LookupPrivName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8888 {
8889         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivName_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_LookupPrivName_handle);
8890
8891         return offset;
8892 }
8893
8894 static int
8895 lsarpc_dissect_element_lsa_LookupPrivName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8896 {
8897         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivName_handle, 0);
8898
8899         return offset;
8900 }
8901
8902 static int
8903 lsarpc_dissect_element_lsa_LookupPrivName_luid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8904 {
8905         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivName_luid_, NDR_POINTER_REF, "Pointer to Luid (lsa_LUID)",hf_lsarpc_lsa_LookupPrivName_luid);
8906
8907         return offset;
8908 }
8909
8910 static int
8911 lsarpc_dissect_element_lsa_LookupPrivName_luid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8912 {
8913         offset = lsarpc_dissect_struct_lsa_LUID(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivName_luid,0);
8914
8915         return offset;
8916 }
8917
8918 static int
8919 lsarpc_dissect_element_lsa_LookupPrivName_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8920 {
8921         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivName_name_, NDR_POINTER_UNIQUE, "Pointer to Name (lsa_StringLarge)",hf_lsarpc_lsa_LookupPrivName_name);
8922
8923         return offset;
8924 }
8925
8926 static int
8927 lsarpc_dissect_element_lsa_LookupPrivName_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8928 {
8929         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivName_name,0);
8930
8931         return offset;
8932 }
8933
8934 /* IDL: NTSTATUS lsa_LookupPrivName( */
8935 /* IDL: [in] [ref] policy_handle *handle, */
8936 /* IDL: [in] [ref] lsa_LUID *luid, */
8937 /* IDL: [out] [unique(1)] lsa_StringLarge *name */
8938 /* IDL: ); */
8939
8940 static int
8941 lsarpc_dissect_lsa_LookupPrivName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8942 {
8943         guint32 status;
8944
8945         di->dcerpc_procedure_name="lsa_LookupPrivName";
8946         offset = lsarpc_dissect_element_lsa_LookupPrivName_name(tvb, offset, pinfo, tree, di, drep);
8947         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8948
8949         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
8950
8951         if (status != 0)
8952                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
8953
8954         return offset;
8955 }
8956
8957 static int
8958 lsarpc_dissect_lsa_LookupPrivName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8959 {
8960         di->dcerpc_procedure_name="lsa_LookupPrivName";
8961         offset = lsarpc_dissect_element_lsa_LookupPrivName_handle(tvb, offset, pinfo, tree, di, drep);
8962         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8963         offset = lsarpc_dissect_element_lsa_LookupPrivName_luid(tvb, offset, pinfo, tree, di, drep);
8964         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8965         return offset;
8966 }
8967
8968 static int
8969 lsarpc_dissect_element_lsa_LookupPrivDisplayName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8970 {
8971         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivDisplayName_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_LookupPrivDisplayName_handle);
8972
8973         return offset;
8974 }
8975
8976 static int
8977 lsarpc_dissect_element_lsa_LookupPrivDisplayName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8978 {
8979         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivDisplayName_handle, 0);
8980
8981         return offset;
8982 }
8983
8984 static int
8985 lsarpc_dissect_element_lsa_LookupPrivDisplayName_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8986 {
8987         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivDisplayName_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_lsarpc_lsa_LookupPrivDisplayName_name);
8988
8989         return offset;
8990 }
8991
8992 static int
8993 lsarpc_dissect_element_lsa_LookupPrivDisplayName_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8994 {
8995         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivDisplayName_name,0);
8996
8997         return offset;
8998 }
8999
9000 static int
9001 lsarpc_dissect_element_lsa_LookupPrivDisplayName_disp_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9002 {
9003         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivDisplayName_disp_name_, NDR_POINTER_UNIQUE, "Pointer to Disp Name (lsa_StringLarge)",hf_lsarpc_lsa_LookupPrivDisplayName_disp_name);
9004
9005         return offset;
9006 }
9007
9008 static int
9009 lsarpc_dissect_element_lsa_LookupPrivDisplayName_disp_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9010 {
9011         offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivDisplayName_disp_name,0);
9012
9013         return offset;
9014 }
9015
9016 static int
9017 lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9018 {
9019         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id_, NDR_POINTER_REF, "Pointer to Language Id (uint16)",hf_lsarpc_lsa_LookupPrivDisplayName_language_id);
9020
9021         return offset;
9022 }
9023
9024 static int
9025 lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9026 {
9027         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivDisplayName_language_id, 0);
9028
9029         return offset;
9030 }
9031
9032 static int
9033 lsarpc_dissect_element_lsa_LookupPrivDisplayName_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9034 {
9035         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivDisplayName_unknown, 0);
9036
9037         return offset;
9038 }
9039
9040 /* IDL: NTSTATUS lsa_LookupPrivDisplayName( */
9041 /* IDL: [in] [ref] policy_handle *handle, */
9042 /* IDL: [in] [ref] lsa_String *name, */
9043 /* IDL: [out] [unique(1)] lsa_StringLarge *disp_name, */
9044 /* IDL: [in] [out] [ref] uint16 *language_id, */
9045 /* IDL: [in] uint16 unknown */
9046 /* IDL: ); */
9047
9048 static int
9049 lsarpc_dissect_lsa_LookupPrivDisplayName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9050 {
9051         guint32 status;
9052
9053         di->dcerpc_procedure_name="lsa_LookupPrivDisplayName";
9054         offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_disp_name(tvb, offset, pinfo, tree, di, drep);
9055         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9056
9057         offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id(tvb, offset, pinfo, tree, di, drep);
9058         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9059
9060         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9061
9062         if (status != 0)
9063                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9064
9065         return offset;
9066 }
9067
9068 static int
9069 lsarpc_dissect_lsa_LookupPrivDisplayName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9070 {
9071         di->dcerpc_procedure_name="lsa_LookupPrivDisplayName";
9072         offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_handle(tvb, offset, pinfo, tree, di, drep);
9073         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9074         offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_name(tvb, offset, pinfo, tree, di, drep);
9075         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9076         offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id(tvb, offset, pinfo, tree, di, drep);
9077         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9078         offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_unknown(tvb, offset, pinfo, tree, di, drep);
9079         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9080         return offset;
9081 }
9082
9083 /* IDL: NTSTATUS lsa_DeleteObject( */
9084 /* IDL:  */
9085 /* IDL: ); */
9086
9087 static int
9088 lsarpc_dissect_lsa_DeleteObject_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9089 {
9090         guint32 status;
9091
9092         di->dcerpc_procedure_name="lsa_DeleteObject";
9093         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9094
9095         if (status != 0)
9096                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9097
9098         return offset;
9099 }
9100
9101 static int
9102 lsarpc_dissect_lsa_DeleteObject_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9103 {
9104         di->dcerpc_procedure_name="lsa_DeleteObject";
9105         return offset;
9106 }
9107
9108 static int
9109 lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9110 {
9111         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_EnumAccountsWithUserRight_handle);
9112
9113         return offset;
9114 }
9115
9116 static int
9117 lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9118 {
9119         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccountsWithUserRight_handle, 0);
9120
9121         return offset;
9122 }
9123
9124 static int
9125 lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9126 {
9127         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_name_, NDR_POINTER_UNIQUE, "Pointer to Name (lsa_String)",hf_lsarpc_lsa_EnumAccountsWithUserRight_name);
9128
9129         return offset;
9130 }
9131
9132 static int
9133 lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9134 {
9135         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccountsWithUserRight_name,0);
9136
9137         return offset;
9138 }
9139
9140 static int
9141 lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9142 {
9143         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_lsarpc_lsa_EnumAccountsWithUserRight_sids);
9144
9145         return offset;
9146 }
9147
9148 static int
9149 lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9150 {
9151         offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccountsWithUserRight_sids,0);
9152
9153         return offset;
9154 }
9155
9156 /* IDL: NTSTATUS lsa_EnumAccountsWithUserRight( */
9157 /* IDL: [in] [ref] policy_handle *handle, */
9158 /* IDL: [in] [unique(1)] lsa_String *name, */
9159 /* IDL: [out] [ref] lsa_SidArray *sids */
9160 /* IDL: ); */
9161
9162 static int
9163 lsarpc_dissect_lsa_EnumAccountsWithUserRight_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9164 {
9165         guint32 status;
9166
9167         di->dcerpc_procedure_name="lsa_EnumAccountsWithUserRight";
9168         offset = lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_sids(tvb, offset, pinfo, tree, di, drep);
9169         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9170
9171         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9172
9173         if (status != 0)
9174                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9175
9176         return offset;
9177 }
9178
9179 static int
9180 lsarpc_dissect_lsa_EnumAccountsWithUserRight_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9181 {
9182         di->dcerpc_procedure_name="lsa_EnumAccountsWithUserRight";
9183         offset = lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_handle(tvb, offset, pinfo, tree, di, drep);
9184         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9185         offset = lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_name(tvb, offset, pinfo, tree, di, drep);
9186         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9187         return offset;
9188 }
9189
9190 static int
9191 lsarpc_dissect_element_lsa_EnumAccountRights_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9192 {
9193         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumAccountRights_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_EnumAccountRights_handle);
9194
9195         return offset;
9196 }
9197
9198 static int
9199 lsarpc_dissect_element_lsa_EnumAccountRights_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9200 {
9201         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccountRights_handle, 0);
9202
9203         return offset;
9204 }
9205
9206 static int
9207 lsarpc_dissect_element_lsa_EnumAccountRights_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9208 {
9209         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumAccountRights_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_EnumAccountRights_sid);
9210
9211         return offset;
9212 }
9213
9214 static int
9215 lsarpc_dissect_element_lsa_EnumAccountRights_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9216 {
9217         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccountRights_sid,0);
9218
9219         return offset;
9220 }
9221
9222 static int
9223 lsarpc_dissect_element_lsa_EnumAccountRights_rights(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9224 {
9225         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumAccountRights_rights_, NDR_POINTER_REF, "Pointer to Rights (lsa_RightSet)",hf_lsarpc_lsa_EnumAccountRights_rights);
9226
9227         return offset;
9228 }
9229
9230 static int
9231 lsarpc_dissect_element_lsa_EnumAccountRights_rights_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9232 {
9233         offset = lsarpc_dissect_struct_lsa_RightSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccountRights_rights,0);
9234
9235         return offset;
9236 }
9237
9238 /* IDL: NTSTATUS lsa_EnumAccountRights( */
9239 /* IDL: [in] [ref] policy_handle *handle, */
9240 /* IDL: [in] [ref] dom_sid2 *sid, */
9241 /* IDL: [out] [ref] lsa_RightSet *rights */
9242 /* IDL: ); */
9243
9244 static int
9245 lsarpc_dissect_lsa_EnumAccountRights_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9246 {
9247         guint32 status;
9248
9249         di->dcerpc_procedure_name="lsa_EnumAccountRights";
9250         offset = lsarpc_dissect_element_lsa_EnumAccountRights_rights(tvb, offset, pinfo, tree, di, drep);
9251         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9252
9253         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9254
9255         if (status != 0)
9256                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9257
9258         return offset;
9259 }
9260
9261 static int
9262 lsarpc_dissect_lsa_EnumAccountRights_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9263 {
9264         di->dcerpc_procedure_name="lsa_EnumAccountRights";
9265         offset = lsarpc_dissect_element_lsa_EnumAccountRights_handle(tvb, offset, pinfo, tree, di, drep);
9266         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9267         offset = lsarpc_dissect_element_lsa_EnumAccountRights_sid(tvb, offset, pinfo, tree, di, drep);
9268         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9269         return offset;
9270 }
9271
9272 static int
9273 lsarpc_dissect_element_lsa_AddAccountRights_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9274 {
9275         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AddAccountRights_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_AddAccountRights_handle);
9276
9277         return offset;
9278 }
9279
9280 static int
9281 lsarpc_dissect_element_lsa_AddAccountRights_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9282 {
9283         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AddAccountRights_handle, 0);
9284
9285         return offset;
9286 }
9287
9288 static int
9289 lsarpc_dissect_element_lsa_AddAccountRights_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9290 {
9291         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AddAccountRights_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_AddAccountRights_sid);
9292
9293         return offset;
9294 }
9295
9296 static int
9297 lsarpc_dissect_element_lsa_AddAccountRights_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9298 {
9299         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_AddAccountRights_sid,0);
9300
9301         return offset;
9302 }
9303
9304 static int
9305 lsarpc_dissect_element_lsa_AddAccountRights_rights(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9306 {
9307         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AddAccountRights_rights_, NDR_POINTER_REF, "Pointer to Rights (lsa_RightSet)",hf_lsarpc_lsa_AddAccountRights_rights);
9308
9309         return offset;
9310 }
9311
9312 static int
9313 lsarpc_dissect_element_lsa_AddAccountRights_rights_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9314 {
9315         offset = lsarpc_dissect_struct_lsa_RightSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_AddAccountRights_rights,0);
9316
9317         return offset;
9318 }
9319
9320 /* IDL: NTSTATUS lsa_AddAccountRights( */
9321 /* IDL: [in] [ref] policy_handle *handle, */
9322 /* IDL: [in] [ref] dom_sid2 *sid, */
9323 /* IDL: [in] [ref] lsa_RightSet *rights */
9324 /* IDL: ); */
9325
9326 static int
9327 lsarpc_dissect_lsa_AddAccountRights_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9328 {
9329         guint32 status;
9330
9331         di->dcerpc_procedure_name="lsa_AddAccountRights";
9332         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9333
9334         if (status != 0)
9335                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9336
9337         return offset;
9338 }
9339
9340 static int
9341 lsarpc_dissect_lsa_AddAccountRights_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9342 {
9343         di->dcerpc_procedure_name="lsa_AddAccountRights";
9344         offset = lsarpc_dissect_element_lsa_AddAccountRights_handle(tvb, offset, pinfo, tree, di, drep);
9345         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9346         offset = lsarpc_dissect_element_lsa_AddAccountRights_sid(tvb, offset, pinfo, tree, di, drep);
9347         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9348         offset = lsarpc_dissect_element_lsa_AddAccountRights_rights(tvb, offset, pinfo, tree, di, drep);
9349         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9350         return offset;
9351 }
9352
9353 static int
9354 lsarpc_dissect_element_lsa_RemoveAccountRights_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9355 {
9356         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RemoveAccountRights_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_RemoveAccountRights_handle);
9357
9358         return offset;
9359 }
9360
9361 static int
9362 lsarpc_dissect_element_lsa_RemoveAccountRights_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9363 {
9364         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RemoveAccountRights_handle, 0);
9365
9366         return offset;
9367 }
9368
9369 static int
9370 lsarpc_dissect_element_lsa_RemoveAccountRights_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9371 {
9372         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RemoveAccountRights_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_lsarpc_lsa_RemoveAccountRights_sid);
9373
9374         return offset;
9375 }
9376
9377 static int
9378 lsarpc_dissect_element_lsa_RemoveAccountRights_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9379 {
9380         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RemoveAccountRights_sid,0);
9381
9382         return offset;
9383 }
9384
9385 static int
9386 lsarpc_dissect_element_lsa_RemoveAccountRights_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9387 {
9388         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RemoveAccountRights_unknown, 0);
9389
9390         return offset;
9391 }
9392
9393 static int
9394 lsarpc_dissect_element_lsa_RemoveAccountRights_rights(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9395 {
9396         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RemoveAccountRights_rights_, NDR_POINTER_REF, "Pointer to Rights (lsa_RightSet)",hf_lsarpc_lsa_RemoveAccountRights_rights);
9397
9398         return offset;
9399 }
9400
9401 static int
9402 lsarpc_dissect_element_lsa_RemoveAccountRights_rights_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9403 {
9404         offset = lsarpc_dissect_struct_lsa_RightSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RemoveAccountRights_rights,0);
9405
9406         return offset;
9407 }
9408
9409 /* IDL: NTSTATUS lsa_RemoveAccountRights( */
9410 /* IDL: [in] [ref] policy_handle *handle, */
9411 /* IDL: [in] [ref] dom_sid2 *sid, */
9412 /* IDL: [in] uint32 unknown, */
9413 /* IDL: [in] [ref] lsa_RightSet *rights */
9414 /* IDL: ); */
9415
9416 static int
9417 lsarpc_dissect_lsa_RemoveAccountRights_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9418 {
9419         guint32 status;
9420
9421         di->dcerpc_procedure_name="lsa_RemoveAccountRights";
9422         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9423
9424         if (status != 0)
9425                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9426
9427         return offset;
9428 }
9429
9430 static int
9431 lsarpc_dissect_lsa_RemoveAccountRights_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9432 {
9433         di->dcerpc_procedure_name="lsa_RemoveAccountRights";
9434         offset = lsarpc_dissect_element_lsa_RemoveAccountRights_handle(tvb, offset, pinfo, tree, di, drep);
9435         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9436         offset = lsarpc_dissect_element_lsa_RemoveAccountRights_sid(tvb, offset, pinfo, tree, di, drep);
9437         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9438         offset = lsarpc_dissect_element_lsa_RemoveAccountRights_unknown(tvb, offset, pinfo, tree, di, drep);
9439         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9440         offset = lsarpc_dissect_element_lsa_RemoveAccountRights_rights(tvb, offset, pinfo, tree, di, drep);
9441         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9442         return offset;
9443 }
9444
9445 static int
9446 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9447 {
9448         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_handle);
9449
9450         return offset;
9451 }
9452
9453 static int
9454 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9455 {
9456         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_handle, 0);
9457
9458         return offset;
9459 }
9460
9461 static int
9462 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_dom_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9463 {
9464         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_dom_sid_, NDR_POINTER_REF, "Pointer to Dom Sid (dom_sid2)",hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_dom_sid);
9465
9466         return offset;
9467 }
9468
9469 static int
9470 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_dom_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9471 {
9472         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_dom_sid,0);
9473
9474         return offset;
9475 }
9476
9477 static int
9478 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9479 {
9480         offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_level, 0);
9481
9482         return offset;
9483 }
9484
9485 static int
9486 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9487 {
9488         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_info_, NDR_POINTER_UNIQUE, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_info);
9489
9490         return offset;
9491 }
9492
9493 static int
9494 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9495 {
9496         offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_info, 0);
9497
9498         return offset;
9499 }
9500
9501 /* IDL: NTSTATUS lsa_QueryTrustedDomainInfoBySid( */
9502 /* IDL: [in] [ref] policy_handle *handle, */
9503 /* IDL: [in] [ref] dom_sid2 *dom_sid, */
9504 /* IDL: [in] lsa_TrustDomInfoEnum level, */
9505 /* IDL: [out] [switch_is(level)] [unique(1)] lsa_TrustedDomainInfo *info */
9506 /* IDL: ); */
9507
9508 static int
9509 lsarpc_dissect_lsa_QueryTrustedDomainInfoBySid_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9510 {
9511         guint32 status;
9512
9513         di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfoBySid";
9514         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_info(tvb, offset, pinfo, tree, di, drep);
9515         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9516
9517         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9518
9519         if (status != 0)
9520                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9521
9522         return offset;
9523 }
9524
9525 static int
9526 lsarpc_dissect_lsa_QueryTrustedDomainInfoBySid_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9527 {
9528         di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfoBySid";
9529         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_handle(tvb, offset, pinfo, tree, di, drep);
9530         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9531         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_dom_sid(tvb, offset, pinfo, tree, di, drep);
9532         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9533         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_level(tvb, offset, pinfo, tree, di, drep);
9534         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9535         return offset;
9536 }
9537
9538 /* IDL: NTSTATUS lsa_SetTrustedDomainInfo( */
9539 /* IDL:  */
9540 /* IDL: ); */
9541
9542 static int
9543 lsarpc_dissect_lsa_SetTrustedDomainInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9544 {
9545         guint32 status;
9546
9547         di->dcerpc_procedure_name="lsa_SetTrustedDomainInfo";
9548         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9549
9550         if (status != 0)
9551                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9552
9553         return offset;
9554 }
9555
9556 static int
9557 lsarpc_dissect_lsa_SetTrustedDomainInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9558 {
9559         di->dcerpc_procedure_name="lsa_SetTrustedDomainInfo";
9560         return offset;
9561 }
9562
9563 static int
9564 lsarpc_dissect_element_lsa_DeleteTrustedDomain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9565 {
9566         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DeleteTrustedDomain_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_DeleteTrustedDomain_handle);
9567
9568         return offset;
9569 }
9570
9571 static int
9572 lsarpc_dissect_element_lsa_DeleteTrustedDomain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9573 {
9574         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DeleteTrustedDomain_handle, 0);
9575
9576         return offset;
9577 }
9578
9579 static int
9580 lsarpc_dissect_element_lsa_DeleteTrustedDomain_dom_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9581 {
9582         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DeleteTrustedDomain_dom_sid_, NDR_POINTER_REF, "Pointer to Dom Sid (dom_sid2)",hf_lsarpc_lsa_DeleteTrustedDomain_dom_sid);
9583
9584         return offset;
9585 }
9586
9587 static int
9588 lsarpc_dissect_element_lsa_DeleteTrustedDomain_dom_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9589 {
9590         offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DeleteTrustedDomain_dom_sid,0);
9591
9592         return offset;
9593 }
9594
9595 /* IDL: NTSTATUS lsa_DeleteTrustedDomain( */
9596 /* IDL: [in] [ref] policy_handle *handle, */
9597 /* IDL: [in] [ref] dom_sid2 *dom_sid */
9598 /* IDL: ); */
9599
9600 static int
9601 lsarpc_dissect_lsa_DeleteTrustedDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9602 {
9603         guint32 status;
9604
9605         di->dcerpc_procedure_name="lsa_DeleteTrustedDomain";
9606         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9607
9608         if (status != 0)
9609                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9610
9611         return offset;
9612 }
9613
9614 static int
9615 lsarpc_dissect_lsa_DeleteTrustedDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9616 {
9617         di->dcerpc_procedure_name="lsa_DeleteTrustedDomain";
9618         offset = lsarpc_dissect_element_lsa_DeleteTrustedDomain_handle(tvb, offset, pinfo, tree, di, drep);
9619         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9620         offset = lsarpc_dissect_element_lsa_DeleteTrustedDomain_dom_sid(tvb, offset, pinfo, tree, di, drep);
9621         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9622         return offset;
9623 }
9624
9625 /* IDL: NTSTATUS lsa_StorePrivateData( */
9626 /* IDL:  */
9627 /* IDL: ); */
9628
9629 static int
9630 lsarpc_dissect_lsa_StorePrivateData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9631 {
9632         guint32 status;
9633
9634         di->dcerpc_procedure_name="lsa_StorePrivateData";
9635         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9636
9637         if (status != 0)
9638                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9639
9640         return offset;
9641 }
9642
9643 static int
9644 lsarpc_dissect_lsa_StorePrivateData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9645 {
9646         di->dcerpc_procedure_name="lsa_StorePrivateData";
9647         return offset;
9648 }
9649
9650 /* IDL: NTSTATUS lsa_RetrievePrivateData( */
9651 /* IDL:  */
9652 /* IDL: ); */
9653
9654 static int
9655 lsarpc_dissect_lsa_RetrievePrivateData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9656 {
9657         guint32 status;
9658
9659         di->dcerpc_procedure_name="lsa_RetrievePrivateData";
9660         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9661
9662         if (status != 0)
9663                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9664
9665         return offset;
9666 }
9667
9668 static int
9669 lsarpc_dissect_lsa_RetrievePrivateData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9670 {
9671         di->dcerpc_procedure_name="lsa_RetrievePrivateData";
9672         return offset;
9673 }
9674
9675 static int
9676 lsarpc_dissect_element_lsa_OpenPolicy2_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9677 {
9678         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy2_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_lsarpc_lsa_OpenPolicy2_system_name);
9679
9680         return offset;
9681 }
9682
9683 static int
9684 lsarpc_dissect_element_lsa_OpenPolicy2_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9685 {
9686         char *data;
9687
9688         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_lsarpc_lsa_OpenPolicy2_system_name, FALSE, &data);
9689         proto_item_append_text(tree, ": %s", data);
9690
9691         return offset;
9692 }
9693
9694 static int
9695 lsarpc_dissect_element_lsa_OpenPolicy2_attr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9696 {
9697         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy2_attr_, NDR_POINTER_REF, "Pointer to Attr (lsa_ObjectAttribute)",hf_lsarpc_lsa_OpenPolicy2_attr);
9698
9699         return offset;
9700 }
9701
9702 static int
9703 lsarpc_dissect_element_lsa_OpenPolicy2_attr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9704 {
9705         offset = lsarpc_dissect_struct_lsa_ObjectAttribute(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenPolicy2_attr,0);
9706
9707         return offset;
9708 }
9709
9710 static int
9711 lsarpc_dissect_element_lsa_OpenPolicy2_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9712 {
9713         offset = lsarpc_dissect_bitmap_lsa_PolicyAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy2_access_mask, 0);
9714
9715         return offset;
9716 }
9717
9718 static int
9719 lsarpc_dissect_element_lsa_OpenPolicy2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9720 {
9721         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy2_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_OpenPolicy2_handle);
9722
9723         return offset;
9724 }
9725
9726 static int
9727 lsarpc_dissect_element_lsa_OpenPolicy2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9728 {
9729         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy2_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_POLICY);
9730
9731         return offset;
9732 }
9733
9734 /* IDL: NTSTATUS lsa_OpenPolicy2( */
9735 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
9736 /* IDL: [in] [ref] lsa_ObjectAttribute *attr, */
9737 /* IDL: [in] lsa_PolicyAccessMask access_mask, */
9738 /* IDL: [out] [ref] policy_handle *handle */
9739 /* IDL: ); */
9740
9741 static int
9742 lsarpc_dissect_lsa_OpenPolicy2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9743 {
9744         guint32 status;
9745
9746         di->dcerpc_procedure_name="lsa_OpenPolicy2";
9747         offset = lsarpc_dissect_element_lsa_OpenPolicy2_handle(tvb, offset, pinfo, tree, di, drep);
9748         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9749
9750         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9751
9752         if (status != 0)
9753                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9754
9755         return offset;
9756 }
9757
9758 static int
9759 lsarpc_dissect_lsa_OpenPolicy2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9760 {
9761         di->dcerpc_procedure_name="lsa_OpenPolicy2";
9762         offset = lsarpc_dissect_element_lsa_OpenPolicy2_system_name(tvb, offset, pinfo, tree, di, drep);
9763         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9764         offset = lsarpc_dissect_element_lsa_OpenPolicy2_attr(tvb, offset, pinfo, tree, di, drep);
9765         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9766         offset = lsarpc_dissect_element_lsa_OpenPolicy2_access_mask(tvb, offset, pinfo, tree, di, drep);
9767         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9768         return offset;
9769 }
9770
9771 static int
9772 lsarpc_dissect_element_lsa_GetUserName_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9773 {
9774         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_GetUserName_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_lsarpc_lsa_GetUserName_system_name);
9775
9776         return offset;
9777 }
9778
9779 static int
9780 lsarpc_dissect_element_lsa_GetUserName_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9781 {
9782         char *data;
9783
9784         offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_lsarpc_lsa_GetUserName_system_name, FALSE, &data);
9785         proto_item_append_text(tree, ": %s", data);
9786
9787         return offset;
9788 }
9789
9790 static int
9791 lsarpc_dissect_element_lsa_GetUserName_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9792 {
9793         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_GetUserName_account_name_, NDR_POINTER_UNIQUE, "Pointer to Account Name (lsa_String)",hf_lsarpc_lsa_GetUserName_account_name);
9794
9795         return offset;
9796 }
9797
9798 static int
9799 lsarpc_dissect_element_lsa_GetUserName_account_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9800 {
9801         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_GetUserName_account_name,0);
9802
9803         return offset;
9804 }
9805
9806 static int
9807 lsarpc_dissect_element_lsa_GetUserName_authority_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9808 {
9809         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_GetUserName_authority_name_, NDR_POINTER_UNIQUE, "Pointer to Authority Name (lsa_StringPointer)",hf_lsarpc_lsa_GetUserName_authority_name);
9810
9811         return offset;
9812 }
9813
9814 static int
9815 lsarpc_dissect_element_lsa_GetUserName_authority_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9816 {
9817         offset = lsarpc_dissect_struct_lsa_StringPointer(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_GetUserName_authority_name,0);
9818
9819         return offset;
9820 }
9821
9822 /* IDL: NTSTATUS lsa_GetUserName( */
9823 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
9824 /* IDL: [in] [out] [unique(1)] lsa_String *account_name, */
9825 /* IDL: [in] [out] [unique(1)] lsa_StringPointer *authority_name */
9826 /* IDL: ); */
9827
9828 static int
9829 lsarpc_dissect_lsa_GetUserName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9830 {
9831         guint32 status;
9832
9833         di->dcerpc_procedure_name="lsa_GetUserName";
9834         offset = lsarpc_dissect_element_lsa_GetUserName_account_name(tvb, offset, pinfo, tree, di, drep);
9835         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9836
9837         offset = lsarpc_dissect_element_lsa_GetUserName_authority_name(tvb, offset, pinfo, tree, di, drep);
9838         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9839
9840         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9841
9842         if (status != 0)
9843                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9844
9845         return offset;
9846 }
9847
9848 static int
9849 lsarpc_dissect_lsa_GetUserName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9850 {
9851         di->dcerpc_procedure_name="lsa_GetUserName";
9852         offset = lsarpc_dissect_element_lsa_GetUserName_system_name(tvb, offset, pinfo, tree, di, drep);
9853         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9854         offset = lsarpc_dissect_element_lsa_GetUserName_account_name(tvb, offset, pinfo, tree, di, drep);
9855         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9856         offset = lsarpc_dissect_element_lsa_GetUserName_authority_name(tvb, offset, pinfo, tree, di, drep);
9857         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9858         return offset;
9859 }
9860
9861 static int
9862 lsarpc_dissect_element_lsa_QueryInfoPolicy2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9863 {
9864         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryInfoPolicy2_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_QueryInfoPolicy2_handle);
9865
9866         return offset;
9867 }
9868
9869 static int
9870 lsarpc_dissect_element_lsa_QueryInfoPolicy2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9871 {
9872         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy2_handle, 0);
9873
9874         return offset;
9875 }
9876
9877 static int
9878 lsarpc_dissect_element_lsa_QueryInfoPolicy2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9879 {
9880         offset = lsarpc_dissect_enum_lsa_PolicyInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy2_level, 0);
9881
9882         return offset;
9883 }
9884
9885 static int
9886 lsarpc_dissect_element_lsa_QueryInfoPolicy2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9887 {
9888         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryInfoPolicy2_info_, NDR_POINTER_UNIQUE, "Pointer to Info (lsa_PolicyInformation)",hf_lsarpc_lsa_QueryInfoPolicy2_info);
9889
9890         return offset;
9891 }
9892
9893 static int
9894 lsarpc_dissect_element_lsa_QueryInfoPolicy2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9895 {
9896         offset = lsarpc_dissect_lsa_PolicyInformation(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy2_info, 0);
9897
9898         return offset;
9899 }
9900
9901 /* IDL: NTSTATUS lsa_QueryInfoPolicy2( */
9902 /* IDL: [in] [ref] policy_handle *handle, */
9903 /* IDL: [in] lsa_PolicyInfo level, */
9904 /* IDL: [out] [switch_is(level)] [unique(1)] lsa_PolicyInformation *info */
9905 /* IDL: ); */
9906
9907 static int
9908 lsarpc_dissect_lsa_QueryInfoPolicy2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9909 {
9910         guint32 status;
9911
9912         di->dcerpc_procedure_name="lsa_QueryInfoPolicy2";
9913         offset = lsarpc_dissect_element_lsa_QueryInfoPolicy2_info(tvb, offset, pinfo, tree, di, drep);
9914         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9915
9916         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9917
9918         if (status != 0)
9919                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9920
9921         return offset;
9922 }
9923
9924 static int
9925 lsarpc_dissect_lsa_QueryInfoPolicy2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9926 {
9927         di->dcerpc_procedure_name="lsa_QueryInfoPolicy2";
9928         offset = lsarpc_dissect_element_lsa_QueryInfoPolicy2_handle(tvb, offset, pinfo, tree, di, drep);
9929         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9930         offset = lsarpc_dissect_element_lsa_QueryInfoPolicy2_level(tvb, offset, pinfo, tree, di, drep);
9931         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9932         return offset;
9933 }
9934
9935 static int
9936 lsarpc_dissect_element_lsa_SetInfoPolicy2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9937 {
9938         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetInfoPolicy2_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_SetInfoPolicy2_handle);
9939
9940         return offset;
9941 }
9942
9943 static int
9944 lsarpc_dissect_element_lsa_SetInfoPolicy2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9945 {
9946         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy2_handle, 0);
9947
9948         return offset;
9949 }
9950
9951 static int
9952 lsarpc_dissect_element_lsa_SetInfoPolicy2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9953 {
9954         offset = lsarpc_dissect_enum_lsa_PolicyInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy2_level, 0);
9955
9956         return offset;
9957 }
9958
9959 static int
9960 lsarpc_dissect_element_lsa_SetInfoPolicy2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9961 {
9962         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetInfoPolicy2_info_, NDR_POINTER_REF, "Pointer to Info (lsa_PolicyInformation)",hf_lsarpc_lsa_SetInfoPolicy2_info);
9963
9964         return offset;
9965 }
9966
9967 static int
9968 lsarpc_dissect_element_lsa_SetInfoPolicy2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9969 {
9970         offset = lsarpc_dissect_lsa_PolicyInformation(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy2_info, 0);
9971
9972         return offset;
9973 }
9974
9975 /* IDL: NTSTATUS lsa_SetInfoPolicy2( */
9976 /* IDL: [in] [ref] policy_handle *handle, */
9977 /* IDL: [in] lsa_PolicyInfo level, */
9978 /* IDL: [in] [ref] [switch_is(level)] lsa_PolicyInformation *info */
9979 /* IDL: ); */
9980
9981 static int
9982 lsarpc_dissect_lsa_SetInfoPolicy2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9983 {
9984         guint32 status;
9985
9986         di->dcerpc_procedure_name="lsa_SetInfoPolicy2";
9987         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
9988
9989         if (status != 0)
9990                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9991
9992         return offset;
9993 }
9994
9995 static int
9996 lsarpc_dissect_lsa_SetInfoPolicy2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9997 {
9998         di->dcerpc_procedure_name="lsa_SetInfoPolicy2";
9999         offset = lsarpc_dissect_element_lsa_SetInfoPolicy2_handle(tvb, offset, pinfo, tree, di, drep);
10000         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10001         offset = lsarpc_dissect_element_lsa_SetInfoPolicy2_level(tvb, offset, pinfo, tree, di, drep);
10002         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10003         offset = lsarpc_dissect_element_lsa_SetInfoPolicy2_info(tvb, offset, pinfo, tree, di, drep);
10004         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10005         return offset;
10006 }
10007
10008 static int
10009 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10010 {
10011         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_QueryTrustedDomainInfoByName_handle);
10012
10013         return offset;
10014 }
10015
10016 static int
10017 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10018 {
10019         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoByName_handle, 0);
10020
10021         return offset;
10022 }
10023
10024 static int
10025 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_trusted_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10026 {
10027         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_QueryTrustedDomainInfoByName_trusted_domain,0);
10028
10029         return offset;
10030 }
10031
10032 static int
10033 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10034 {
10035         offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoByName_level, 0);
10036
10037         return offset;
10038 }
10039
10040 static int
10041 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10042 {
10043         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_info_, NDR_POINTER_UNIQUE, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_QueryTrustedDomainInfoByName_info);
10044
10045         return offset;
10046 }
10047
10048 static int
10049 lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10050 {
10051         offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoByName_info, 0);
10052
10053         return offset;
10054 }
10055
10056 /* IDL: NTSTATUS lsa_QueryTrustedDomainInfoByName( */
10057 /* IDL: [in] [ref] policy_handle *handle, */
10058 /* IDL: [in] lsa_String trusted_domain, */
10059 /* IDL: [in] lsa_TrustDomInfoEnum level, */
10060 /* IDL: [out] [switch_is(level)] [unique(1)] lsa_TrustedDomainInfo *info */
10061 /* IDL: ); */
10062
10063 static int
10064 lsarpc_dissect_lsa_QueryTrustedDomainInfoByName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10065 {
10066         guint32 status;
10067
10068         di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfoByName";
10069         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_info(tvb, offset, pinfo, tree, di, drep);
10070         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10071
10072         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10073
10074         if (status != 0)
10075                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10076
10077         return offset;
10078 }
10079
10080 static int
10081 lsarpc_dissect_lsa_QueryTrustedDomainInfoByName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10082 {
10083         di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfoByName";
10084         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_handle(tvb, offset, pinfo, tree, di, drep);
10085         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10086         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_trusted_domain(tvb, offset, pinfo, tree, di, drep);
10087         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10088         offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_level(tvb, offset, pinfo, tree, di, drep);
10089         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10090         return offset;
10091 }
10092
10093 static int
10094 lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10095 {
10096         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_SetTrustedDomainInfoByName_handle);
10097
10098         return offset;
10099 }
10100
10101 static int
10102 lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10103 {
10104         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetTrustedDomainInfoByName_handle, 0);
10105
10106         return offset;
10107 }
10108
10109 static int
10110 lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_trusted_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10111 {
10112         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SetTrustedDomainInfoByName_trusted_domain,0);
10113
10114         return offset;
10115 }
10116
10117 static int
10118 lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10119 {
10120         offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetTrustedDomainInfoByName_level, 0);
10121
10122         return offset;
10123 }
10124
10125 static int
10126 lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10127 {
10128         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_info_, NDR_POINTER_UNIQUE, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_SetTrustedDomainInfoByName_info);
10129
10130         return offset;
10131 }
10132
10133 static int
10134 lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10135 {
10136         offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetTrustedDomainInfoByName_info, 0);
10137
10138         return offset;
10139 }
10140
10141 /* IDL: NTSTATUS lsa_SetTrustedDomainInfoByName( */
10142 /* IDL: [in] [ref] policy_handle *handle, */
10143 /* IDL: [in] lsa_String trusted_domain, */
10144 /* IDL: [in] lsa_TrustDomInfoEnum level, */
10145 /* IDL: [in] [switch_is(level)] [unique(1)] lsa_TrustedDomainInfo *info */
10146 /* IDL: ); */
10147
10148 static int
10149 lsarpc_dissect_lsa_SetTrustedDomainInfoByName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10150 {
10151         guint32 status;
10152
10153         di->dcerpc_procedure_name="lsa_SetTrustedDomainInfoByName";
10154         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10155
10156         if (status != 0)
10157                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10158
10159         return offset;
10160 }
10161
10162 static int
10163 lsarpc_dissect_lsa_SetTrustedDomainInfoByName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10164 {
10165         di->dcerpc_procedure_name="lsa_SetTrustedDomainInfoByName";
10166         offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_handle(tvb, offset, pinfo, tree, di, drep);
10167         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10168         offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_trusted_domain(tvb, offset, pinfo, tree, di, drep);
10169         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10170         offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_level(tvb, offset, pinfo, tree, di, drep);
10171         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10172         offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_info(tvb, offset, pinfo, tree, di, drep);
10173         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10174         return offset;
10175 }
10176
10177 static int
10178 lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10179 {
10180         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_EnumTrustedDomainsEx_handle);
10181
10182         return offset;
10183 }
10184
10185 static int
10186 lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10187 {
10188         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustedDomainsEx_handle, 0);
10189
10190         return offset;
10191 }
10192
10193 static int
10194 lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10195 {
10196         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_lsarpc_lsa_EnumTrustedDomainsEx_resume_handle);
10197
10198         return offset;
10199 }
10200
10201 static int
10202 lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10203 {
10204         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustedDomainsEx_resume_handle, 0);
10205
10206         return offset;
10207 }
10208
10209 static int
10210 lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10211 {
10212         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_domains_, NDR_POINTER_REF, "Pointer to Domains (lsa_DomainListEx)",hf_lsarpc_lsa_EnumTrustedDomainsEx_domains);
10213
10214         return offset;
10215 }
10216
10217 static int
10218 lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10219 {
10220         offset = lsarpc_dissect_struct_lsa_DomainListEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumTrustedDomainsEx_domains,0);
10221
10222         return offset;
10223 }
10224
10225 static int
10226 lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10227 {
10228         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustedDomainsEx_max_size, 0);
10229
10230         return offset;
10231 }
10232
10233 /* IDL: NTSTATUS lsa_EnumTrustedDomainsEx( */
10234 /* IDL: [in] [ref] policy_handle *handle, */
10235 /* IDL: [in] [out] [ref] uint32 *resume_handle, */
10236 /* IDL: [out] [ref] lsa_DomainListEx *domains, */
10237 /* IDL: [in] uint32 max_size */
10238 /* IDL: ); */
10239
10240 static int
10241 lsarpc_dissect_lsa_EnumTrustedDomainsEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10242 {
10243         guint32 status;
10244
10245         di->dcerpc_procedure_name="lsa_EnumTrustedDomainsEx";
10246         offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_resume_handle(tvb, offset, pinfo, tree, di, drep);
10247         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10248
10249         offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_domains(tvb, offset, pinfo, tree, di, drep);
10250         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10251
10252         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10253
10254         if (status != 0)
10255                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10256
10257         return offset;
10258 }
10259
10260 static int
10261 lsarpc_dissect_lsa_EnumTrustedDomainsEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10262 {
10263         di->dcerpc_procedure_name="lsa_EnumTrustedDomainsEx";
10264         offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_handle(tvb, offset, pinfo, tree, di, drep);
10265         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10266         offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_resume_handle(tvb, offset, pinfo, tree, di, drep);
10267         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10268         offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_max_size(tvb, offset, pinfo, tree, di, drep);
10269         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10270         return offset;
10271 }
10272
10273 /* IDL: NTSTATUS lsa_CreateTrustedDomainEx( */
10274 /* IDL:  */
10275 /* IDL: ); */
10276
10277 static int
10278 lsarpc_dissect_lsa_CreateTrustedDomainEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10279 {
10280         guint32 status;
10281
10282         di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx";
10283         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10284
10285         if (status != 0)
10286                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10287
10288         return offset;
10289 }
10290
10291 static int
10292 lsarpc_dissect_lsa_CreateTrustedDomainEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10293 {
10294         di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx";
10295         return offset;
10296 }
10297
10298 static int
10299 lsarpc_dissect_element_lsa_CloseTrustedDomainEx_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10300 {
10301         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CloseTrustedDomainEx_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_CloseTrustedDomainEx_handle);
10302
10303         return offset;
10304 }
10305
10306 static int
10307 lsarpc_dissect_element_lsa_CloseTrustedDomainEx_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10308 {
10309         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CloseTrustedDomainEx_handle, PIDL_POLHND_CLOSE);
10310
10311         return offset;
10312 }
10313
10314 /* IDL: NTSTATUS lsa_CloseTrustedDomainEx( */
10315 /* IDL: [in] [out] [ref] policy_handle *handle */
10316 /* IDL: ); */
10317
10318 static int
10319 lsarpc_dissect_lsa_CloseTrustedDomainEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10320 {
10321         guint32 status;
10322
10323         di->dcerpc_procedure_name="lsa_CloseTrustedDomainEx";
10324         offset = lsarpc_dissect_element_lsa_CloseTrustedDomainEx_handle(tvb, offset, pinfo, tree, di, drep);
10325         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10326
10327         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10328
10329         if (status != 0)
10330                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10331
10332         return offset;
10333 }
10334
10335 static int
10336 lsarpc_dissect_lsa_CloseTrustedDomainEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10337 {
10338         di->dcerpc_procedure_name="lsa_CloseTrustedDomainEx";
10339         offset = lsarpc_dissect_element_lsa_CloseTrustedDomainEx_handle(tvb, offset, pinfo, tree, di, drep);
10340         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10341         return offset;
10342 }
10343
10344 static int
10345 lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10346 {
10347         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_QueryDomainInformationPolicy_handle);
10348
10349         return offset;
10350 }
10351
10352 static int
10353 lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10354 {
10355         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryDomainInformationPolicy_handle, 0);
10356
10357         return offset;
10358 }
10359
10360 static int
10361 lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10362 {
10363         offset = lsarpc_dissect_enum_lsa_DomainInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryDomainInformationPolicy_level, 0);
10364
10365         return offset;
10366 }
10367
10368 static int
10369 lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10370 {
10371         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_info_, NDR_POINTER_UNIQUE, "Pointer to Info (lsa_DomainInformationPolicy)",hf_lsarpc_lsa_QueryDomainInformationPolicy_info);
10372
10373         return offset;
10374 }
10375
10376 static int
10377 lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10378 {
10379         offset = lsarpc_dissect_lsa_DomainInformationPolicy(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryDomainInformationPolicy_info, 0);
10380
10381         return offset;
10382 }
10383
10384 /* IDL: NTSTATUS lsa_QueryDomainInformationPolicy( */
10385 /* IDL: [in] [ref] policy_handle *handle, */
10386 /* IDL: [in] lsa_DomainInfoEnum level, */
10387 /* IDL: [out] [switch_is(level)] [unique(1)] lsa_DomainInformationPolicy *info */
10388 /* IDL: ); */
10389
10390 static int
10391 lsarpc_dissect_lsa_QueryDomainInformationPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10392 {
10393         guint32 status;
10394
10395         di->dcerpc_procedure_name="lsa_QueryDomainInformationPolicy";
10396         offset = lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_info(tvb, offset, pinfo, tree, di, drep);
10397         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10398
10399         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10400
10401         if (status != 0)
10402                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10403
10404         return offset;
10405 }
10406
10407 static int
10408 lsarpc_dissect_lsa_QueryDomainInformationPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10409 {
10410         di->dcerpc_procedure_name="lsa_QueryDomainInformationPolicy";
10411         offset = lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_handle(tvb, offset, pinfo, tree, di, drep);
10412         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10413         offset = lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_level(tvb, offset, pinfo, tree, di, drep);
10414         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10415         return offset;
10416 }
10417
10418 static int
10419 lsarpc_dissect_element_lsa_SetDomainInformationPolicy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10420 {
10421         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetDomainInformationPolicy_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_SetDomainInformationPolicy_handle);
10422
10423         return offset;
10424 }
10425
10426 static int
10427 lsarpc_dissect_element_lsa_SetDomainInformationPolicy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10428 {
10429         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetDomainInformationPolicy_handle, 0);
10430
10431         return offset;
10432 }
10433
10434 static int
10435 lsarpc_dissect_element_lsa_SetDomainInformationPolicy_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10436 {
10437         offset = lsarpc_dissect_enum_lsa_DomainInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetDomainInformationPolicy_level, 0);
10438
10439         return offset;
10440 }
10441
10442 static int
10443 lsarpc_dissect_element_lsa_SetDomainInformationPolicy_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10444 {
10445         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetDomainInformationPolicy_info_, NDR_POINTER_UNIQUE, "Pointer to Info (lsa_DomainInformationPolicy)",hf_lsarpc_lsa_SetDomainInformationPolicy_info);
10446
10447         return offset;
10448 }
10449
10450 static int
10451 lsarpc_dissect_element_lsa_SetDomainInformationPolicy_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10452 {
10453         offset = lsarpc_dissect_lsa_DomainInformationPolicy(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetDomainInformationPolicy_info, 0);
10454
10455         return offset;
10456 }
10457
10458 /* IDL: NTSTATUS lsa_SetDomainInformationPolicy( */
10459 /* IDL: [in] [ref] policy_handle *handle, */
10460 /* IDL: [in] lsa_DomainInfoEnum level, */
10461 /* IDL: [in] [switch_is(level)] [unique(1)] lsa_DomainInformationPolicy *info */
10462 /* IDL: ); */
10463
10464 static int
10465 lsarpc_dissect_lsa_SetDomainInformationPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10466 {
10467         guint32 status;
10468
10469         di->dcerpc_procedure_name="lsa_SetDomainInformationPolicy";
10470         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10471
10472         if (status != 0)
10473                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10474
10475         return offset;
10476 }
10477
10478 static int
10479 lsarpc_dissect_lsa_SetDomainInformationPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10480 {
10481         di->dcerpc_procedure_name="lsa_SetDomainInformationPolicy";
10482         offset = lsarpc_dissect_element_lsa_SetDomainInformationPolicy_handle(tvb, offset, pinfo, tree, di, drep);
10483         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10484         offset = lsarpc_dissect_element_lsa_SetDomainInformationPolicy_level(tvb, offset, pinfo, tree, di, drep);
10485         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10486         offset = lsarpc_dissect_element_lsa_SetDomainInformationPolicy_info(tvb, offset, pinfo, tree, di, drep);
10487         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10488         return offset;
10489 }
10490
10491 static int
10492 lsarpc_dissect_element_lsa_OpenTrustedDomainByName_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10493 {
10494         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenTrustedDomainByName_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_OpenTrustedDomainByName_handle);
10495
10496         return offset;
10497 }
10498
10499 static int
10500 lsarpc_dissect_element_lsa_OpenTrustedDomainByName_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10501 {
10502         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomainByName_handle, 0);
10503
10504         return offset;
10505 }
10506
10507 static int
10508 lsarpc_dissect_element_lsa_OpenTrustedDomainByName_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10509 {
10510         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenTrustedDomainByName_name,0);
10511
10512         return offset;
10513 }
10514
10515 static int
10516 lsarpc_dissect_element_lsa_OpenTrustedDomainByName_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10517 {
10518         offset = lsarpc_dissect_bitmap_lsa_DomainAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomainByName_access_mask, 0);
10519
10520         return offset;
10521 }
10522
10523 static int
10524 lsarpc_dissect_element_lsa_OpenTrustedDomainByName_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10525 {
10526         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenTrustedDomainByName_trustdom_handle_, NDR_POINTER_REF, "Pointer to Trustdom Handle (policy_handle)",hf_lsarpc_lsa_OpenTrustedDomainByName_trustdom_handle);
10527
10528         return offset;
10529 }
10530
10531 static int
10532 lsarpc_dissect_element_lsa_OpenTrustedDomainByName_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10533 {
10534         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomainByName_trustdom_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_DOMAIN);
10535
10536         return offset;
10537 }
10538
10539 /* IDL: NTSTATUS lsa_OpenTrustedDomainByName( */
10540 /* IDL: [in] [ref] policy_handle *handle, */
10541 /* IDL: [in] lsa_String name, */
10542 /* IDL: [in] lsa_DomainAccessMask access_mask, */
10543 /* IDL: [out] [ref] policy_handle *trustdom_handle */
10544 /* IDL: ); */
10545
10546 static int
10547 lsarpc_dissect_lsa_OpenTrustedDomainByName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10548 {
10549         guint32 status;
10550
10551         di->dcerpc_procedure_name="lsa_OpenTrustedDomainByName";
10552         offset = lsarpc_dissect_element_lsa_OpenTrustedDomainByName_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
10553         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10554
10555         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10556
10557         if (status != 0)
10558                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10559
10560         return offset;
10561 }
10562
10563 static int
10564 lsarpc_dissect_lsa_OpenTrustedDomainByName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10565 {
10566         di->dcerpc_procedure_name="lsa_OpenTrustedDomainByName";
10567         offset = lsarpc_dissect_element_lsa_OpenTrustedDomainByName_handle(tvb, offset, pinfo, tree, di, drep);
10568         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10569         offset = lsarpc_dissect_element_lsa_OpenTrustedDomainByName_name(tvb, offset, pinfo, tree, di, drep);
10570         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10571         offset = lsarpc_dissect_element_lsa_OpenTrustedDomainByName_access_mask(tvb, offset, pinfo, tree, di, drep);
10572         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10573         return offset;
10574 }
10575
10576 /* IDL: NTSTATUS lsa_TestCall( */
10577 /* IDL:  */
10578 /* IDL: ); */
10579
10580 static int
10581 lsarpc_dissect_lsa_TestCall_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10582 {
10583         guint32 status;
10584
10585         di->dcerpc_procedure_name="lsa_TestCall";
10586         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10587
10588         if (status != 0)
10589                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10590
10591         return offset;
10592 }
10593
10594 static int
10595 lsarpc_dissect_lsa_TestCall_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10596 {
10597         di->dcerpc_procedure_name="lsa_TestCall";
10598         return offset;
10599 }
10600
10601 static int
10602 lsarpc_dissect_element_lsa_LookupSids2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10603 {
10604         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids2_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_LookupSids2_handle);
10605
10606         return offset;
10607 }
10608
10609 static int
10610 lsarpc_dissect_element_lsa_LookupSids2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10611 {
10612         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_handle, 0);
10613
10614         return offset;
10615 }
10616
10617 static int
10618 lsarpc_dissect_element_lsa_LookupSids2_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10619 {
10620         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids2_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_lsarpc_lsa_LookupSids2_sids);
10621
10622         return offset;
10623 }
10624
10625 static int
10626 lsarpc_dissect_element_lsa_LookupSids2_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10627 {
10628         offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids2_sids,0);
10629
10630         return offset;
10631 }
10632
10633 static int
10634 lsarpc_dissect_element_lsa_LookupSids2_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10635 {
10636         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids2_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupSids2_domains);
10637
10638         return offset;
10639 }
10640
10641 static int
10642 lsarpc_dissect_element_lsa_LookupSids2_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10643 {
10644         offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids2_domains,0);
10645
10646         return offset;
10647 }
10648
10649 static int
10650 lsarpc_dissect_element_lsa_LookupSids2_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10651 {
10652         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids2_names_, NDR_POINTER_REF, "Pointer to Names (lsa_TransNameArray2)",hf_lsarpc_lsa_LookupSids2_names);
10653
10654         return offset;
10655 }
10656
10657 static int
10658 lsarpc_dissect_element_lsa_LookupSids2_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10659 {
10660         offset = lsarpc_dissect_struct_lsa_TransNameArray2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids2_names,0);
10661
10662         return offset;
10663 }
10664
10665 static int
10666 lsarpc_dissect_element_lsa_LookupSids2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10667 {
10668         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_level, 0);
10669
10670         return offset;
10671 }
10672
10673 static int
10674 lsarpc_dissect_element_lsa_LookupSids2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10675 {
10676         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids2_count_, NDR_POINTER_REF, "Pointer to Count (uint32)",hf_lsarpc_lsa_LookupSids2_count);
10677
10678         return offset;
10679 }
10680
10681 static int
10682 lsarpc_dissect_element_lsa_LookupSids2_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10683 {
10684         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_count, 0);
10685
10686         return offset;
10687 }
10688
10689 static int
10690 lsarpc_dissect_element_lsa_LookupSids2_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10691 {
10692         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_unknown1, 0);
10693
10694         return offset;
10695 }
10696
10697 static int
10698 lsarpc_dissect_element_lsa_LookupSids2_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10699 {
10700         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_unknown2, 0);
10701
10702         return offset;
10703 }
10704
10705 /* IDL: NTSTATUS lsa_LookupSids2( */
10706 /* IDL: [in] [ref] policy_handle *handle, */
10707 /* IDL: [in] [ref] lsa_SidArray *sids, */
10708 /* IDL: [out] [unique(1)] lsa_RefDomainList *domains, */
10709 /* IDL: [in] [out] [ref] lsa_TransNameArray2 *names, */
10710 /* IDL: [in] uint16 level, */
10711 /* IDL: [in] [out] [ref] uint32 *count, */
10712 /* IDL: [in] uint32 unknown1, */
10713 /* IDL: [in] uint32 unknown2 */
10714 /* IDL: ); */
10715
10716 static int
10717 lsarpc_dissect_lsa_LookupSids2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10718 {
10719         guint32 status;
10720
10721         di->dcerpc_procedure_name="lsa_LookupSids2";
10722         offset = lsarpc_dissect_element_lsa_LookupSids2_domains(tvb, offset, pinfo, tree, di, drep);
10723         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10724
10725         offset = lsarpc_dissect_element_lsa_LookupSids2_names(tvb, offset, pinfo, tree, di, drep);
10726         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10727
10728         offset = lsarpc_dissect_element_lsa_LookupSids2_count(tvb, offset, pinfo, tree, di, drep);
10729         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10730
10731         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10732
10733         if (status != 0)
10734                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10735
10736         return offset;
10737 }
10738
10739 static int
10740 lsarpc_dissect_lsa_LookupSids2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10741 {
10742         di->dcerpc_procedure_name="lsa_LookupSids2";
10743         offset = lsarpc_dissect_element_lsa_LookupSids2_handle(tvb, offset, pinfo, tree, di, drep);
10744         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10745         offset = lsarpc_dissect_element_lsa_LookupSids2_sids(tvb, offset, pinfo, tree, di, drep);
10746         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10747         offset = lsarpc_dissect_element_lsa_LookupSids2_names(tvb, offset, pinfo, tree, di, drep);
10748         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10749         offset = lsarpc_dissect_element_lsa_LookupSids2_level(tvb, offset, pinfo, tree, di, drep);
10750         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10751         offset = lsarpc_dissect_element_lsa_LookupSids2_count(tvb, offset, pinfo, tree, di, drep);
10752         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10753         offset = lsarpc_dissect_element_lsa_LookupSids2_unknown1(tvb, offset, pinfo, tree, di, drep);
10754         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10755         offset = lsarpc_dissect_element_lsa_LookupSids2_unknown2(tvb, offset, pinfo, tree, di, drep);
10756         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10757         return offset;
10758 }
10759
10760 static int
10761 lsarpc_dissect_element_lsa_LookupNames2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10762 {
10763         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames2_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_LookupNames2_handle);
10764
10765         return offset;
10766 }
10767
10768 static int
10769 lsarpc_dissect_element_lsa_LookupNames2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10770 {
10771         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_handle, 0);
10772
10773         return offset;
10774 }
10775
10776 static int
10777 lsarpc_dissect_element_lsa_LookupNames2_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10778 {
10779         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_num_names, 0);
10780
10781         return offset;
10782 }
10783
10784 static int
10785 lsarpc_dissect_element_lsa_LookupNames2_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10786 {
10787         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames2_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupNames2_domains);
10788
10789         return offset;
10790 }
10791
10792 static int
10793 lsarpc_dissect_element_lsa_LookupNames2_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10794 {
10795         offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames2_domains,0);
10796
10797         return offset;
10798 }
10799
10800 static int
10801 lsarpc_dissect_element_lsa_LookupNames2_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10802 {
10803         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames2_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_TransSidArray2)",hf_lsarpc_lsa_LookupNames2_sids);
10804
10805         return offset;
10806 }
10807
10808 static int
10809 lsarpc_dissect_element_lsa_LookupNames2_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10810 {
10811         offset = lsarpc_dissect_struct_lsa_TransSidArray2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames2_sids,0);
10812
10813         return offset;
10814 }
10815
10816 static int
10817 lsarpc_dissect_element_lsa_LookupNames2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10818 {
10819         offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_level, 0);
10820
10821         return offset;
10822 }
10823
10824 static int
10825 lsarpc_dissect_element_lsa_LookupNames2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10826 {
10827         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames2_count_, NDR_POINTER_REF, "Pointer to Count (uint32)",hf_lsarpc_lsa_LookupNames2_count);
10828
10829         return offset;
10830 }
10831
10832 static int
10833 lsarpc_dissect_element_lsa_LookupNames2_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10834 {
10835         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_count, 0);
10836
10837         return offset;
10838 }
10839
10840 static int
10841 lsarpc_dissect_element_lsa_LookupNames2_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10842 {
10843         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_unknown1, 0);
10844
10845         return offset;
10846 }
10847
10848 static int
10849 lsarpc_dissect_element_lsa_LookupNames2_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10850 {
10851         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_unknown2, 0);
10852
10853         return offset;
10854 }
10855
10856 /* IDL: NTSTATUS lsa_LookupNames2( */
10857 /* IDL: [in] [ref] policy_handle *handle, */
10858 /* IDL: [in] [range(0,1000)] uint32 num_names, */
10859 /* IDL: [in] [size_is(num_names)] lsa_String names[*], */
10860 /* IDL: [out] [unique(1)] lsa_RefDomainList *domains, */
10861 /* IDL: [in] [out] [ref] lsa_TransSidArray2 *sids, */
10862 /* IDL: [in] lsa_LookupNamesLevel level, */
10863 /* IDL: [in] [out] [ref] uint32 *count, */
10864 /* IDL: [in] uint32 unknown1, */
10865 /* IDL: [in] uint32 unknown2 */
10866 /* IDL: ); */
10867
10868 static int
10869 lsarpc_dissect_lsa_LookupNames2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10870 {
10871         guint32 status;
10872
10873         di->dcerpc_procedure_name="lsa_LookupNames2";
10874         offset = lsarpc_dissect_element_lsa_LookupNames2_domains(tvb, offset, pinfo, tree, di, drep);
10875         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10876
10877         offset = lsarpc_dissect_element_lsa_LookupNames2_sids(tvb, offset, pinfo, tree, di, drep);
10878         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10879
10880         offset = lsarpc_dissect_element_lsa_LookupNames2_count(tvb, offset, pinfo, tree, di, drep);
10881         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10882
10883         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10884
10885         if (status != 0)
10886                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10887
10888         return offset;
10889 }
10890
10891 static int
10892 lsarpc_dissect_lsa_LookupNames2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10893 {
10894         di->dcerpc_procedure_name="lsa_LookupNames2";
10895         offset = lsarpc_dissect_element_lsa_LookupNames2_handle(tvb, offset, pinfo, tree, di, drep);
10896         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10897         offset = lsarpc_dissect_element_lsa_LookupNames2_num_names(tvb, offset, pinfo, tree, di, drep);
10898         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10899         offset = lsarpc_dissect_element_lsa_LookupNames2_names(tvb, offset, pinfo, tree, di, drep);
10900         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10901         offset = lsarpc_dissect_element_lsa_LookupNames2_sids(tvb, offset, pinfo, tree, di, drep);
10902         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10903         offset = lsarpc_dissect_element_lsa_LookupNames2_level(tvb, offset, pinfo, tree, di, drep);
10904         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10905         offset = lsarpc_dissect_element_lsa_LookupNames2_count(tvb, offset, pinfo, tree, di, drep);
10906         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10907         offset = lsarpc_dissect_element_lsa_LookupNames2_unknown1(tvb, offset, pinfo, tree, di, drep);
10908         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10909         offset = lsarpc_dissect_element_lsa_LookupNames2_unknown2(tvb, offset, pinfo, tree, di, drep);
10910         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10911         return offset;
10912 }
10913
10914 /* IDL: NTSTATUS lsa_CreateTrustedDomainEx2( */
10915 /* IDL:  */
10916 /* IDL: ); */
10917
10918 static int
10919 lsarpc_dissect_lsa_CreateTrustedDomainEx2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10920 {
10921         guint32 status;
10922
10923         di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx2";
10924         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10925
10926         if (status != 0)
10927                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10928
10929         return offset;
10930 }
10931
10932 static int
10933 lsarpc_dissect_lsa_CreateTrustedDomainEx2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10934 {
10935         di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx2";
10936         return offset;
10937 }
10938
10939 /* IDL: NTSTATUS lsa_CREDRWRITE( */
10940 /* IDL:  */
10941 /* IDL: ); */
10942
10943 static int
10944 lsarpc_dissect_lsa_CREDRWRITE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10945 {
10946         guint32 status;
10947
10948         di->dcerpc_procedure_name="lsa_CREDRWRITE";
10949         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10950
10951         if (status != 0)
10952                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10953
10954         return offset;
10955 }
10956
10957 static int
10958 lsarpc_dissect_lsa_CREDRWRITE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10959 {
10960         di->dcerpc_procedure_name="lsa_CREDRWRITE";
10961         return offset;
10962 }
10963
10964 /* IDL: NTSTATUS lsa_CREDRREAD( */
10965 /* IDL:  */
10966 /* IDL: ); */
10967
10968 static int
10969 lsarpc_dissect_lsa_CREDRREAD_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10970 {
10971         guint32 status;
10972
10973         di->dcerpc_procedure_name="lsa_CREDRREAD";
10974         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
10975
10976         if (status != 0)
10977                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10978
10979         return offset;
10980 }
10981
10982 static int
10983 lsarpc_dissect_lsa_CREDRREAD_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10984 {
10985         di->dcerpc_procedure_name="lsa_CREDRREAD";
10986         return offset;
10987 }
10988
10989 /* IDL: NTSTATUS lsa_CREDRENUMERATE( */
10990 /* IDL:  */
10991 /* IDL: ); */
10992
10993 static int
10994 lsarpc_dissect_lsa_CREDRENUMERATE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10995 {
10996         guint32 status;
10997
10998         di->dcerpc_procedure_name="lsa_CREDRENUMERATE";
10999         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11000
11001         if (status != 0)
11002                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11003
11004         return offset;
11005 }
11006
11007 static int
11008 lsarpc_dissect_lsa_CREDRENUMERATE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11009 {
11010         di->dcerpc_procedure_name="lsa_CREDRENUMERATE";
11011         return offset;
11012 }
11013
11014 /* IDL: NTSTATUS lsa_CREDRWRITEDOMAINCREDENTIALS( */
11015 /* IDL:  */
11016 /* IDL: ); */
11017
11018 static int
11019 lsarpc_dissect_lsa_CREDRWRITEDOMAINCREDENTIALS_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11020 {
11021         guint32 status;
11022
11023         di->dcerpc_procedure_name="lsa_CREDRWRITEDOMAINCREDENTIALS";
11024         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11025
11026         if (status != 0)
11027                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11028
11029         return offset;
11030 }
11031
11032 static int
11033 lsarpc_dissect_lsa_CREDRWRITEDOMAINCREDENTIALS_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11034 {
11035         di->dcerpc_procedure_name="lsa_CREDRWRITEDOMAINCREDENTIALS";
11036         return offset;
11037 }
11038
11039 /* IDL: NTSTATUS lsa_CREDRREADDOMAINCREDENTIALS( */
11040 /* IDL:  */
11041 /* IDL: ); */
11042
11043 static int
11044 lsarpc_dissect_lsa_CREDRREADDOMAINCREDENTIALS_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11045 {
11046         guint32 status;
11047
11048         di->dcerpc_procedure_name="lsa_CREDRREADDOMAINCREDENTIALS";
11049         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11050
11051         if (status != 0)
11052                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11053
11054         return offset;
11055 }
11056
11057 static int
11058 lsarpc_dissect_lsa_CREDRREADDOMAINCREDENTIALS_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11059 {
11060         di->dcerpc_procedure_name="lsa_CREDRREADDOMAINCREDENTIALS";
11061         return offset;
11062 }
11063
11064 /* IDL: NTSTATUS lsa_CREDRDELETE( */
11065 /* IDL:  */
11066 /* IDL: ); */
11067
11068 static int
11069 lsarpc_dissect_lsa_CREDRDELETE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11070 {
11071         guint32 status;
11072
11073         di->dcerpc_procedure_name="lsa_CREDRDELETE";
11074         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11075
11076         if (status != 0)
11077                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11078
11079         return offset;
11080 }
11081
11082 static int
11083 lsarpc_dissect_lsa_CREDRDELETE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11084 {
11085         di->dcerpc_procedure_name="lsa_CREDRDELETE";
11086         return offset;
11087 }
11088
11089 /* IDL: NTSTATUS lsa_CREDRGETTARGETINFO( */
11090 /* IDL:  */
11091 /* IDL: ); */
11092
11093 static int
11094 lsarpc_dissect_lsa_CREDRGETTARGETINFO_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11095 {
11096         guint32 status;
11097
11098         di->dcerpc_procedure_name="lsa_CREDRGETTARGETINFO";
11099         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11100
11101         if (status != 0)
11102                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11103
11104         return offset;
11105 }
11106
11107 static int
11108 lsarpc_dissect_lsa_CREDRGETTARGETINFO_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11109 {
11110         di->dcerpc_procedure_name="lsa_CREDRGETTARGETINFO";
11111         return offset;
11112 }
11113
11114 /* IDL: NTSTATUS lsa_CREDRPROFILELOADED( */
11115 /* IDL:  */
11116 /* IDL: ); */
11117
11118 static int
11119 lsarpc_dissect_lsa_CREDRPROFILELOADED_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11120 {
11121         guint32 status;
11122
11123         di->dcerpc_procedure_name="lsa_CREDRPROFILELOADED";
11124         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11125
11126         if (status != 0)
11127                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11128
11129         return offset;
11130 }
11131
11132 static int
11133 lsarpc_dissect_lsa_CREDRPROFILELOADED_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11134 {
11135         di->dcerpc_procedure_name="lsa_CREDRPROFILELOADED";
11136         return offset;
11137 }
11138
11139 static int
11140 lsarpc_dissect_element_lsa_LookupNames3_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11141 {
11142         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_LookupNames3_handle);
11143
11144         return offset;
11145 }
11146
11147 static int
11148 lsarpc_dissect_element_lsa_LookupNames3_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11149 {
11150         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_handle, 0);
11151
11152         return offset;
11153 }
11154
11155 static int
11156 lsarpc_dissect_element_lsa_LookupNames3_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11157 {
11158         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_num_names, 0);
11159
11160         return offset;
11161 }
11162
11163 static int
11164 lsarpc_dissect_element_lsa_LookupNames3_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11165 {
11166         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames3_names,0);
11167
11168         return offset;
11169 }
11170
11171 static int
11172 lsarpc_dissect_element_lsa_LookupNames3_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11173 {
11174         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupNames3_domains);
11175
11176         return offset;
11177 }
11178
11179 static int
11180 lsarpc_dissect_element_lsa_LookupNames3_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11181 {
11182         offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames3_domains,0);
11183
11184         return offset;
11185 }
11186
11187 static int
11188 lsarpc_dissect_element_lsa_LookupNames3_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11189 {
11190         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_TransSidArray3)",hf_lsarpc_lsa_LookupNames3_sids);
11191
11192         return offset;
11193 }
11194
11195 static int
11196 lsarpc_dissect_element_lsa_LookupNames3_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11197 {
11198         offset = lsarpc_dissect_struct_lsa_TransSidArray3(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames3_sids,0);
11199
11200         return offset;
11201 }
11202
11203 static int
11204 lsarpc_dissect_element_lsa_LookupNames3_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11205 {
11206         offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_level, 0);
11207
11208         return offset;
11209 }
11210
11211 static int
11212 lsarpc_dissect_element_lsa_LookupNames3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11213 {
11214         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_count_, NDR_POINTER_REF, "Pointer to Count (uint32)",hf_lsarpc_lsa_LookupNames3_count);
11215
11216         return offset;
11217 }
11218
11219 static int
11220 lsarpc_dissect_element_lsa_LookupNames3_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11221 {
11222         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_count, 0);
11223
11224         return offset;
11225 }
11226
11227 static int
11228 lsarpc_dissect_element_lsa_LookupNames3_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11229 {
11230         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_unknown1, 0);
11231
11232         return offset;
11233 }
11234
11235 static int
11236 lsarpc_dissect_element_lsa_LookupNames3_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11237 {
11238         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_unknown2, 0);
11239
11240         return offset;
11241 }
11242
11243 /* IDL: NTSTATUS lsa_LookupNames3( */
11244 /* IDL: [in] [ref] policy_handle *handle, */
11245 /* IDL: [in] [range(0,1000)] uint32 num_names, */
11246 /* IDL: [in] [size_is(num_names)] lsa_String names[*], */
11247 /* IDL: [out] [unique(1)] lsa_RefDomainList *domains, */
11248 /* IDL: [in] [out] [ref] lsa_TransSidArray3 *sids, */
11249 /* IDL: [in] lsa_LookupNamesLevel level, */
11250 /* IDL: [in] [out] [ref] uint32 *count, */
11251 /* IDL: [in] uint32 unknown1, */
11252 /* IDL: [in] uint32 unknown2 */
11253 /* IDL: ); */
11254
11255 static int
11256 lsarpc_dissect_lsa_LookupNames3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11257 {
11258         guint32 status;
11259
11260         di->dcerpc_procedure_name="lsa_LookupNames3";
11261         offset = lsarpc_dissect_element_lsa_LookupNames3_domains(tvb, offset, pinfo, tree, di, drep);
11262         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11263
11264         offset = lsarpc_dissect_element_lsa_LookupNames3_sids(tvb, offset, pinfo, tree, di, drep);
11265         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11266
11267         offset = lsarpc_dissect_element_lsa_LookupNames3_count(tvb, offset, pinfo, tree, di, drep);
11268         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11269
11270         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11271
11272         if (status != 0)
11273                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11274
11275         return offset;
11276 }
11277
11278 static int
11279 lsarpc_dissect_lsa_LookupNames3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11280 {
11281         di->dcerpc_procedure_name="lsa_LookupNames3";
11282         offset = lsarpc_dissect_element_lsa_LookupNames3_handle(tvb, offset, pinfo, tree, di, drep);
11283         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11284         offset = lsarpc_dissect_element_lsa_LookupNames3_num_names(tvb, offset, pinfo, tree, di, drep);
11285         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11286         offset = lsarpc_dissect_element_lsa_LookupNames3_names(tvb, offset, pinfo, tree, di, drep);
11287         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11288         offset = lsarpc_dissect_element_lsa_LookupNames3_sids(tvb, offset, pinfo, tree, di, drep);
11289         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11290         offset = lsarpc_dissect_element_lsa_LookupNames3_level(tvb, offset, pinfo, tree, di, drep);
11291         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11292         offset = lsarpc_dissect_element_lsa_LookupNames3_count(tvb, offset, pinfo, tree, di, drep);
11293         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11294         offset = lsarpc_dissect_element_lsa_LookupNames3_unknown1(tvb, offset, pinfo, tree, di, drep);
11295         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11296         offset = lsarpc_dissect_element_lsa_LookupNames3_unknown2(tvb, offset, pinfo, tree, di, drep);
11297         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11298         return offset;
11299 }
11300
11301 /* IDL: NTSTATUS lsa_CREDRGETSESSIONTYPES( */
11302 /* IDL:  */
11303 /* IDL: ); */
11304
11305 static int
11306 lsarpc_dissect_lsa_CREDRGETSESSIONTYPES_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11307 {
11308         guint32 status;
11309
11310         di->dcerpc_procedure_name="lsa_CREDRGETSESSIONTYPES";
11311         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11312
11313         if (status != 0)
11314                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11315
11316         return offset;
11317 }
11318
11319 static int
11320 lsarpc_dissect_lsa_CREDRGETSESSIONTYPES_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11321 {
11322         di->dcerpc_procedure_name="lsa_CREDRGETSESSIONTYPES";
11323         return offset;
11324 }
11325
11326 /* IDL: NTSTATUS lsa_LSARREGISTERAUDITEVENT( */
11327 /* IDL:  */
11328 /* IDL: ); */
11329
11330 static int
11331 lsarpc_dissect_lsa_LSARREGISTERAUDITEVENT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11332 {
11333         guint32 status;
11334
11335         di->dcerpc_procedure_name="lsa_LSARREGISTERAUDITEVENT";
11336         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11337
11338         if (status != 0)
11339                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11340
11341         return offset;
11342 }
11343
11344 static int
11345 lsarpc_dissect_lsa_LSARREGISTERAUDITEVENT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11346 {
11347         di->dcerpc_procedure_name="lsa_LSARREGISTERAUDITEVENT";
11348         return offset;
11349 }
11350
11351 /* IDL: NTSTATUS lsa_LSARGENAUDITEVENT( */
11352 /* IDL:  */
11353 /* IDL: ); */
11354
11355 static int
11356 lsarpc_dissect_lsa_LSARGENAUDITEVENT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11357 {
11358         guint32 status;
11359
11360         di->dcerpc_procedure_name="lsa_LSARGENAUDITEVENT";
11361         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11362
11363         if (status != 0)
11364                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11365
11366         return offset;
11367 }
11368
11369 static int
11370 lsarpc_dissect_lsa_LSARGENAUDITEVENT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11371 {
11372         di->dcerpc_procedure_name="lsa_LSARGENAUDITEVENT";
11373         return offset;
11374 }
11375
11376 /* IDL: NTSTATUS lsa_LSARUNREGISTERAUDITEVENT( */
11377 /* IDL:  */
11378 /* IDL: ); */
11379
11380 static int
11381 lsarpc_dissect_lsa_LSARUNREGISTERAUDITEVENT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11382 {
11383         guint32 status;
11384
11385         di->dcerpc_procedure_name="lsa_LSARUNREGISTERAUDITEVENT";
11386         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11387
11388         if (status != 0)
11389                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11390
11391         return offset;
11392 }
11393
11394 static int
11395 lsarpc_dissect_lsa_LSARUNREGISTERAUDITEVENT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11396 {
11397         di->dcerpc_procedure_name="lsa_LSARUNREGISTERAUDITEVENT";
11398         return offset;
11399 }
11400
11401 static int
11402 lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11403 {
11404         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_lsaRQueryForestTrustInformation_handle);
11405
11406         return offset;
11407 }
11408
11409 static int
11410 lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11411 {
11412         offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRQueryForestTrustInformation_handle, 0);
11413
11414         return offset;
11415 }
11416
11417 static int
11418 lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_trusted_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11419 {
11420         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_trusted_domain_name_, NDR_POINTER_REF, "Pointer to Trusted Domain Name (lsa_String)",hf_lsarpc_lsa_lsaRQueryForestTrustInformation_trusted_domain_name);
11421
11422         return offset;
11423 }
11424
11425 static int
11426 lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_trusted_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11427 {
11428         offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRQueryForestTrustInformation_trusted_domain_name,0);
11429
11430         return offset;
11431 }
11432
11433 static int
11434 lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11435 {
11436         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRQueryForestTrustInformation_unknown, 0);
11437
11438         return offset;
11439 }
11440
11441 static int
11442 lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11443 {
11444         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info_, NDR_POINTER_REF, "Pointer to Forest Trust Info (lsa_ForestTrustInformation)",hf_lsarpc_lsa_lsaRQueryForestTrustInformation_forest_trust_info);
11445
11446         return offset;
11447 }
11448
11449 static int
11450 lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11451 {
11452         offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info__, NDR_POINTER_UNIQUE, "Pointer to Forest Trust Info (lsa_ForestTrustInformation)",hf_lsarpc_lsa_lsaRQueryForestTrustInformation_forest_trust_info);
11453
11454         return offset;
11455 }
11456
11457 static int
11458 lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11459 {
11460         offset = lsarpc_dissect_struct_lsa_ForestTrustInformation(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRQueryForestTrustInformation_forest_trust_info,0);
11461
11462         return offset;
11463 }
11464
11465 /* IDL: NTSTATUS lsa_lsaRQueryForestTrustInformation( */
11466 /* IDL: [in] [ref] policy_handle *handle, */
11467 /* IDL: [in] [ref] lsa_String *trusted_domain_name, */
11468 /* IDL: [in] uint16 unknown, */
11469 /* IDL: [out] [ref] lsa_ForestTrustInformation **forest_trust_info */
11470 /* IDL: ); */
11471
11472 static int
11473 lsarpc_dissect_lsa_lsaRQueryForestTrustInformation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11474 {
11475         guint32 status;
11476
11477         di->dcerpc_procedure_name="lsa_lsaRQueryForestTrustInformation";
11478         offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info(tvb, offset, pinfo, tree, di, drep);
11479         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11480
11481         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11482
11483         if (status != 0)
11484                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11485
11486         return offset;
11487 }
11488
11489 static int
11490 lsarpc_dissect_lsa_lsaRQueryForestTrustInformation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11491 {
11492         di->dcerpc_procedure_name="lsa_lsaRQueryForestTrustInformation";
11493         offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_handle(tvb, offset, pinfo, tree, di, drep);
11494         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11495         offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_trusted_domain_name(tvb, offset, pinfo, tree, di, drep);
11496         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11497         offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_unknown(tvb, offset, pinfo, tree, di, drep);
11498         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11499         return offset;
11500 }
11501
11502 /* IDL: NTSTATUS lsa_LSARSETFORESTTRUSTINFORMATION( */
11503 /* IDL:  */
11504 /* IDL: ); */
11505
11506 static int
11507 lsarpc_dissect_lsa_LSARSETFORESTTRUSTINFORMATION_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11508 {
11509         guint32 status;
11510
11511         di->dcerpc_procedure_name="lsa_LSARSETFORESTTRUSTINFORMATION";
11512         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11513
11514         if (status != 0)
11515                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11516
11517         return offset;
11518 }
11519
11520 static int
11521 lsarpc_dissect_lsa_LSARSETFORESTTRUSTINFORMATION_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11522 {
11523         di->dcerpc_procedure_name="lsa_LSARSETFORESTTRUSTINFORMATION";
11524         return offset;
11525 }
11526
11527 /* IDL: NTSTATUS lsa_CREDRRENAME( */
11528 /* IDL:  */
11529 /* IDL: ); */
11530
11531 static int
11532 lsarpc_dissect_lsa_CREDRRENAME_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11533 {
11534         guint32 status;
11535
11536         di->dcerpc_procedure_name="lsa_CREDRRENAME";
11537         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11538
11539         if (status != 0)
11540                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11541
11542         return offset;
11543 }
11544
11545 static int
11546 lsarpc_dissect_lsa_CREDRRENAME_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11547 {
11548         di->dcerpc_procedure_name="lsa_CREDRRENAME";
11549         return offset;
11550 }
11551
11552 static int
11553 lsarpc_dissect_element_lsa_LookupSids3_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11554 {
11555         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids3_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_lsarpc_lsa_LookupSids3_sids);
11556
11557         return offset;
11558 }
11559
11560 static int
11561 lsarpc_dissect_element_lsa_LookupSids3_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11562 {
11563         offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids3_sids,0);
11564
11565         return offset;
11566 }
11567
11568 static int
11569 lsarpc_dissect_element_lsa_LookupSids3_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11570 {
11571         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids3_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupSids3_domains);
11572
11573         return offset;
11574 }
11575
11576 static int
11577 lsarpc_dissect_element_lsa_LookupSids3_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11578 {
11579         offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids3_domains,0);
11580
11581         return offset;
11582 }
11583
11584 static int
11585 lsarpc_dissect_element_lsa_LookupSids3_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11586 {
11587         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids3_names_, NDR_POINTER_REF, "Pointer to Names (lsa_TransNameArray2)",hf_lsarpc_lsa_LookupSids3_names);
11588
11589         return offset;
11590 }
11591
11592 static int
11593 lsarpc_dissect_element_lsa_LookupSids3_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11594 {
11595         offset = lsarpc_dissect_struct_lsa_TransNameArray2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids3_names,0);
11596
11597         return offset;
11598 }
11599
11600 static int
11601 lsarpc_dissect_element_lsa_LookupSids3_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11602 {
11603         offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids3_level, 0);
11604
11605         return offset;
11606 }
11607
11608 static int
11609 lsarpc_dissect_element_lsa_LookupSids3_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11610 {
11611         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids3_count_, NDR_POINTER_REF, "Pointer to Count (uint32)",hf_lsarpc_lsa_LookupSids3_count);
11612
11613         return offset;
11614 }
11615
11616 static int
11617 lsarpc_dissect_element_lsa_LookupSids3_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11618 {
11619         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids3_count, 0);
11620
11621         return offset;
11622 }
11623
11624 static int
11625 lsarpc_dissect_element_lsa_LookupSids3_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11626 {
11627         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids3_unknown1, 0);
11628
11629         return offset;
11630 }
11631
11632 static int
11633 lsarpc_dissect_element_lsa_LookupSids3_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11634 {
11635         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids3_unknown2, 0);
11636
11637         return offset;
11638 }
11639
11640 /* IDL: NTSTATUS lsa_LookupSids3( */
11641 /* IDL: [in] [ref] lsa_SidArray *sids, */
11642 /* IDL: [out] [unique(1)] lsa_RefDomainList *domains, */
11643 /* IDL: [in] [out] [ref] lsa_TransNameArray2 *names, */
11644 /* IDL: [in] uint16 level, */
11645 /* IDL: [in] [out] [ref] uint32 *count, */
11646 /* IDL: [in] uint32 unknown1, */
11647 /* IDL: [in] uint32 unknown2 */
11648 /* IDL: ); */
11649
11650 static int
11651 lsarpc_dissect_lsa_LookupSids3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11652 {
11653         guint32 status;
11654
11655         di->dcerpc_procedure_name="lsa_LookupSids3";
11656         offset = lsarpc_dissect_element_lsa_LookupSids3_domains(tvb, offset, pinfo, tree, di, drep);
11657         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11658
11659         offset = lsarpc_dissect_element_lsa_LookupSids3_names(tvb, offset, pinfo, tree, di, drep);
11660         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11661
11662         offset = lsarpc_dissect_element_lsa_LookupSids3_count(tvb, offset, pinfo, tree, di, drep);
11663         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11664
11665         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11666
11667         if (status != 0)
11668                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11669
11670         return offset;
11671 }
11672
11673 static int
11674 lsarpc_dissect_lsa_LookupSids3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11675 {
11676         di->dcerpc_procedure_name="lsa_LookupSids3";
11677         offset = lsarpc_dissect_element_lsa_LookupSids3_sids(tvb, offset, pinfo, tree, di, drep);
11678         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11679         offset = lsarpc_dissect_element_lsa_LookupSids3_names(tvb, offset, pinfo, tree, di, drep);
11680         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11681         offset = lsarpc_dissect_element_lsa_LookupSids3_level(tvb, offset, pinfo, tree, di, drep);
11682         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11683         offset = lsarpc_dissect_element_lsa_LookupSids3_count(tvb, offset, pinfo, tree, di, drep);
11684         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11685         offset = lsarpc_dissect_element_lsa_LookupSids3_unknown1(tvb, offset, pinfo, tree, di, drep);
11686         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11687         offset = lsarpc_dissect_element_lsa_LookupSids3_unknown2(tvb, offset, pinfo, tree, di, drep);
11688         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11689         return offset;
11690 }
11691
11692 static int
11693 lsarpc_dissect_element_lsa_LookupNames4_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11694 {
11695         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_num_names, 0);
11696
11697         return offset;
11698 }
11699
11700 static int
11701 lsarpc_dissect_element_lsa_LookupNames4_domains(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11702 {
11703         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames4_domains_, NDR_POINTER_UNIQUE, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupNames4_domains);
11704
11705         return offset;
11706 }
11707
11708 static int
11709 lsarpc_dissect_element_lsa_LookupNames4_domains_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11710 {
11711         offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames4_domains,0);
11712
11713         return offset;
11714 }
11715
11716 static int
11717 lsarpc_dissect_element_lsa_LookupNames4_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11718 {
11719         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames4_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_TransSidArray3)",hf_lsarpc_lsa_LookupNames4_sids);
11720
11721         return offset;
11722 }
11723
11724 static int
11725 lsarpc_dissect_element_lsa_LookupNames4_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11726 {
11727         offset = lsarpc_dissect_struct_lsa_TransSidArray3(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames4_sids,0);
11728
11729         return offset;
11730 }
11731
11732 static int
11733 lsarpc_dissect_element_lsa_LookupNames4_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11734 {
11735         offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_level, 0);
11736
11737         return offset;
11738 }
11739
11740 static int
11741 lsarpc_dissect_element_lsa_LookupNames4_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11742 {
11743         offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames4_count_, NDR_POINTER_REF, "Pointer to Count (uint32)",hf_lsarpc_lsa_LookupNames4_count);
11744
11745         return offset;
11746 }
11747
11748 static int
11749 lsarpc_dissect_element_lsa_LookupNames4_count_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11750 {
11751         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_count, 0);
11752
11753         return offset;
11754 }
11755
11756 static int
11757 lsarpc_dissect_element_lsa_LookupNames4_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11758 {
11759         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_unknown1, 0);
11760
11761         return offset;
11762 }
11763
11764 static int
11765 lsarpc_dissect_element_lsa_LookupNames4_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11766 {
11767         offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_unknown2, 0);
11768
11769         return offset;
11770 }
11771
11772 /* IDL: NTSTATUS lsa_LookupNames4( */
11773 /* IDL: [in] [range(0,1000)] uint32 num_names, */
11774 /* IDL: [in] [size_is(num_names)] lsa_String names[*], */
11775 /* IDL: [out] [unique(1)] lsa_RefDomainList *domains, */
11776 /* IDL: [in] [out] [ref] lsa_TransSidArray3 *sids, */
11777 /* IDL: [in] lsa_LookupNamesLevel level, */
11778 /* IDL: [in] [out] [ref] uint32 *count, */
11779 /* IDL: [in] uint32 unknown1, */
11780 /* IDL: [in] uint32 unknown2 */
11781 /* IDL: ); */
11782
11783 static int
11784 lsarpc_dissect_lsa_LookupNames4_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11785 {
11786         guint32 status;
11787
11788         di->dcerpc_procedure_name="lsa_LookupNames4";
11789         offset = lsarpc_dissect_element_lsa_LookupNames4_domains(tvb, offset, pinfo, tree, di, drep);
11790         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11791
11792         offset = lsarpc_dissect_element_lsa_LookupNames4_sids(tvb, offset, pinfo, tree, di, drep);
11793         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11794
11795         offset = lsarpc_dissect_element_lsa_LookupNames4_count(tvb, offset, pinfo, tree, di, drep);
11796         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11797
11798         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11799
11800         if (status != 0)
11801                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11802
11803         return offset;
11804 }
11805
11806 static int
11807 lsarpc_dissect_lsa_LookupNames4_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11808 {
11809         di->dcerpc_procedure_name="lsa_LookupNames4";
11810         offset = lsarpc_dissect_element_lsa_LookupNames4_num_names(tvb, offset, pinfo, tree, di, drep);
11811         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11812         offset = lsarpc_dissect_element_lsa_LookupNames4_names(tvb, offset, pinfo, tree, di, drep);
11813         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11814         offset = lsarpc_dissect_element_lsa_LookupNames4_sids(tvb, offset, pinfo, tree, di, drep);
11815         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11816         offset = lsarpc_dissect_element_lsa_LookupNames4_level(tvb, offset, pinfo, tree, di, drep);
11817         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11818         offset = lsarpc_dissect_element_lsa_LookupNames4_count(tvb, offset, pinfo, tree, di, drep);
11819         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11820         offset = lsarpc_dissect_element_lsa_LookupNames4_unknown1(tvb, offset, pinfo, tree, di, drep);
11821         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11822         offset = lsarpc_dissect_element_lsa_LookupNames4_unknown2(tvb, offset, pinfo, tree, di, drep);
11823         offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11824         return offset;
11825 }
11826
11827 /* IDL: NTSTATUS lsa_LSAROPENPOLICYSCE( */
11828 /* IDL:  */
11829 /* IDL: ); */
11830
11831 static int
11832 lsarpc_dissect_lsa_LSAROPENPOLICYSCE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11833 {
11834         guint32 status;
11835
11836         di->dcerpc_procedure_name="lsa_LSAROPENPOLICYSCE";
11837         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11838
11839         if (status != 0)
11840                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11841
11842         return offset;
11843 }
11844
11845 static int
11846 lsarpc_dissect_lsa_LSAROPENPOLICYSCE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11847 {
11848         di->dcerpc_procedure_name="lsa_LSAROPENPOLICYSCE";
11849         return offset;
11850 }
11851
11852 /* IDL: NTSTATUS lsa_LSARADTREGISTERSECURITYEVENTSOURCE( */
11853 /* IDL:  */
11854 /* IDL: ); */
11855
11856 static int
11857 lsarpc_dissect_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11858 {
11859         guint32 status;
11860
11861         di->dcerpc_procedure_name="lsa_LSARADTREGISTERSECURITYEVENTSOURCE";
11862         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11863
11864         if (status != 0)
11865                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11866
11867         return offset;
11868 }
11869
11870 static int
11871 lsarpc_dissect_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11872 {
11873         di->dcerpc_procedure_name="lsa_LSARADTREGISTERSECURITYEVENTSOURCE";
11874         return offset;
11875 }
11876
11877 /* IDL: NTSTATUS lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE( */
11878 /* IDL:  */
11879 /* IDL: ); */
11880
11881 static int
11882 lsarpc_dissect_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11883 {
11884         guint32 status;
11885
11886         di->dcerpc_procedure_name="lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE";
11887         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11888
11889         if (status != 0)
11890                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11891
11892         return offset;
11893 }
11894
11895 static int
11896 lsarpc_dissect_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11897 {
11898         di->dcerpc_procedure_name="lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE";
11899         return offset;
11900 }
11901
11902 /* IDL: NTSTATUS lsa_LSARADTREPORTSECURITYEVENT( */
11903 /* IDL:  */
11904 /* IDL: ); */
11905
11906 static int
11907 lsarpc_dissect_lsa_LSARADTREPORTSECURITYEVENT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11908 {
11909         guint32 status;
11910
11911         di->dcerpc_procedure_name="lsa_LSARADTREPORTSECURITYEVENT";
11912         offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);
11913
11914         if (status != 0)
11915                 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11916
11917         return offset;
11918 }
11919
11920 static int
11921 lsarpc_dissect_lsa_LSARADTREPORTSECURITYEVENT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11922 {
11923         di->dcerpc_procedure_name="lsa_LSARADTREPORTSECURITYEVENT";
11924         return offset;
11925 }
11926
11927
11928 static dcerpc_sub_dissector lsarpc_dissectors[] = {
11929         { 0, "lsa_Close",
11930            lsarpc_dissect_lsa_Close_request, lsarpc_dissect_lsa_Close_response},
11931         { 1, "lsa_Delete",
11932            lsarpc_dissect_lsa_Delete_request, lsarpc_dissect_lsa_Delete_response},
11933         { 2, "lsa_EnumPrivs",
11934            lsarpc_dissect_lsa_EnumPrivs_request, lsarpc_dissect_lsa_EnumPrivs_response},
11935         { 3, "lsa_QuerySecurity",
11936            lsarpc_dissect_lsa_QuerySecurity_request, lsarpc_dissect_lsa_QuerySecurity_response},
11937         { 4, "lsa_SetSecObj",
11938            lsarpc_dissect_lsa_SetSecObj_request, lsarpc_dissect_lsa_SetSecObj_response},
11939         { 5, "lsa_ChangePassword",
11940            lsarpc_dissect_lsa_ChangePassword_request, lsarpc_dissect_lsa_ChangePassword_response},
11941         { 6, "lsa_OpenPolicy",
11942            lsarpc_dissect_lsa_OpenPolicy_request, lsarpc_dissect_lsa_OpenPolicy_response},
11943         { 7, "lsa_QueryInfoPolicy",
11944            lsarpc_dissect_lsa_QueryInfoPolicy_request, lsarpc_dissect_lsa_QueryInfoPolicy_response},
11945         { 8, "lsa_SetInfoPolicy",
11946            lsarpc_dissect_lsa_SetInfoPolicy_request, lsarpc_dissect_lsa_SetInfoPolicy_response},
11947         { 9, "lsa_ClearAuditLog",
11948            lsarpc_dissect_lsa_ClearAuditLog_request, lsarpc_dissect_lsa_ClearAuditLog_response},
11949         { 10, "lsa_CreateAccount",
11950            lsarpc_dissect_lsa_CreateAccount_request, lsarpc_dissect_lsa_CreateAccount_response},
11951         { 11, "lsa_EnumAccounts",
11952            lsarpc_dissect_lsa_EnumAccounts_request, lsarpc_dissect_lsa_EnumAccounts_response},
11953         { 12, "lsa_CreateTrustedDomain",
11954            lsarpc_dissect_lsa_CreateTrustedDomain_request, lsarpc_dissect_lsa_CreateTrustedDomain_response},
11955         { 13, "lsa_EnumTrustDom",
11956            lsarpc_dissect_lsa_EnumTrustDom_request, lsarpc_dissect_lsa_EnumTrustDom_response},
11957         { 14, "lsa_LookupNames",
11958            lsarpc_dissect_lsa_LookupNames_request, lsarpc_dissect_lsa_LookupNames_response},
11959         { 15, "lsa_LookupSids",
11960            lsarpc_dissect_lsa_LookupSids_request, lsarpc_dissect_lsa_LookupSids_response},
11961         { 16, "lsa_CreateSecret",
11962            lsarpc_dissect_lsa_CreateSecret_request, lsarpc_dissect_lsa_CreateSecret_response},
11963         { 17, "lsa_OpenAccount",
11964            lsarpc_dissect_lsa_OpenAccount_request, lsarpc_dissect_lsa_OpenAccount_response},
11965         { 18, "lsa_EnumPrivsAccount",
11966            lsarpc_dissect_lsa_EnumPrivsAccount_request, lsarpc_dissect_lsa_EnumPrivsAccount_response},
11967         { 19, "lsa_AddPrivilegesToAccount",
11968            lsarpc_dissect_lsa_AddPrivilegesToAccount_request, lsarpc_dissect_lsa_AddPrivilegesToAccount_response},
11969         { 20, "lsa_RemovePrivilegesFromAccount",
11970            lsarpc_dissect_lsa_RemovePrivilegesFromAccount_request, lsarpc_dissect_lsa_RemovePrivilegesFromAccount_response},
11971         { 21, "lsa_GetQuotasForAccount",
11972            lsarpc_dissect_lsa_GetQuotasForAccount_request, lsarpc_dissect_lsa_GetQuotasForAccount_response},
11973         { 22, "lsa_SetQuotasForAccount",
11974            lsarpc_dissect_lsa_SetQuotasForAccount_request, lsarpc_dissect_lsa_SetQuotasForAccount_response},
11975         { 23, "lsa_GetSystemAccessAccount",
11976            lsarpc_dissect_lsa_GetSystemAccessAccount_request, lsarpc_dissect_lsa_GetSystemAccessAccount_response},
11977         { 24, "lsa_SetSystemAccessAccount",
11978            lsarpc_dissect_lsa_SetSystemAccessAccount_request, lsarpc_dissect_lsa_SetSystemAccessAccount_response},
11979         { 25, "lsa_OpenTrustedDomain",
11980            lsarpc_dissect_lsa_OpenTrustedDomain_request, lsarpc_dissect_lsa_OpenTrustedDomain_response},
11981         { 26, "lsa_QueryTrustedDomainInfo",
11982            lsarpc_dissect_lsa_QueryTrustedDomainInfo_request, lsarpc_dissect_lsa_QueryTrustedDomainInfo_response},
11983         { 27, "lsa_SetInformationTrustedDomain",
11984            lsarpc_dissect_lsa_SetInformationTrustedDomain_request, lsarpc_dissect_lsa_SetInformationTrustedDomain_response},
11985         { 28, "lsa_OpenSecret",
11986            lsarpc_dissect_lsa_OpenSecret_request, lsarpc_dissect_lsa_OpenSecret_response},
11987         { 29, "lsa_SetSecret",
11988            lsarpc_dissect_lsa_SetSecret_request, lsarpc_dissect_lsa_SetSecret_response},
11989         { 30, "lsa_QuerySecret",
11990            lsarpc_dissect_lsa_QuerySecret_request, lsarpc_dissect_lsa_QuerySecret_response},
11991         { 31, "lsa_LookupPrivValue",
11992            lsarpc_dissect_lsa_LookupPrivValue_request, lsarpc_dissect_lsa_LookupPrivValue_response},
11993         { 32, "lsa_LookupPrivName",
11994            lsarpc_dissect_lsa_LookupPrivName_request, lsarpc_dissect_lsa_LookupPrivName_response},
11995         { 33, "lsa_LookupPrivDisplayName",
11996            lsarpc_dissect_lsa_LookupPrivDisplayName_request, lsarpc_dissect_lsa_LookupPrivDisplayName_response},
11997         { 34, "lsa_DeleteObject",
11998            lsarpc_dissect_lsa_DeleteObject_request, lsarpc_dissect_lsa_DeleteObject_response},
11999         { 35, "lsa_EnumAccountsWithUserRight",
12000            lsarpc_dissect_lsa_EnumAccountsWithUserRight_request, lsarpc_dissect_lsa_EnumAccountsWithUserRight_response},
12001         { 36, "lsa_EnumAccountRights",
12002            lsarpc_dissect_lsa_EnumAccountRights_request, lsarpc_dissect_lsa_EnumAccountRights_response},
12003         { 37, "lsa_AddAccountRights",
12004            lsarpc_dissect_lsa_AddAccountRights_request, lsarpc_dissect_lsa_AddAccountRights_response},
12005         { 38, "lsa_RemoveAccountRights",
12006            lsarpc_dissect_lsa_RemoveAccountRights_request, lsarpc_dissect_lsa_RemoveAccountRights_response},
12007         { 39, "lsa_QueryTrustedDomainInfoBySid",
12008            lsarpc_dissect_lsa_QueryTrustedDomainInfoBySid_request, lsarpc_dissect_lsa_QueryTrustedDomainInfoBySid_response},
12009         { 40, "lsa_SetTrustedDomainInfo",
12010            lsarpc_dissect_lsa_SetTrustedDomainInfo_request, lsarpc_dissect_lsa_SetTrustedDomainInfo_response},
12011         { 41, "lsa_DeleteTrustedDomain",
12012            lsarpc_dissect_lsa_DeleteTrustedDomain_request, lsarpc_dissect_lsa_DeleteTrustedDomain_response},
12013         { 42, "lsa_StorePrivateData",
12014            lsarpc_dissect_lsa_StorePrivateData_request, lsarpc_dissect_lsa_StorePrivateData_response},
12015         { 43, "lsa_RetrievePrivateData",
12016            lsarpc_dissect_lsa_RetrievePrivateData_request, lsarpc_dissect_lsa_RetrievePrivateData_response},
12017         { 44, "lsa_OpenPolicy2",
12018            lsarpc_dissect_lsa_OpenPolicy2_request, lsarpc_dissect_lsa_OpenPolicy2_response},
12019         { 45, "lsa_GetUserName",
12020            lsarpc_dissect_lsa_GetUserName_request, lsarpc_dissect_lsa_GetUserName_response},
12021         { 46, "lsa_QueryInfoPolicy2",
12022            lsarpc_dissect_lsa_QueryInfoPolicy2_request, lsarpc_dissect_lsa_QueryInfoPolicy2_response},
12023         { 47, "lsa_SetInfoPolicy2",
12024            lsarpc_dissect_lsa_SetInfoPolicy2_request, lsarpc_dissect_lsa_SetInfoPolicy2_response},
12025         { 48, "lsa_QueryTrustedDomainInfoByName",
12026            lsarpc_dissect_lsa_QueryTrustedDomainInfoByName_request, lsarpc_dissect_lsa_QueryTrustedDomainInfoByName_response},
12027         { 49, "lsa_SetTrustedDomainInfoByName",
12028            lsarpc_dissect_lsa_SetTrustedDomainInfoByName_request, lsarpc_dissect_lsa_SetTrustedDomainInfoByName_response},
12029         { 50, "lsa_EnumTrustedDomainsEx",
12030            lsarpc_dissect_lsa_EnumTrustedDomainsEx_request, lsarpc_dissect_lsa_EnumTrustedDomainsEx_response},
12031         { 51, "lsa_CreateTrustedDomainEx",
12032            lsarpc_dissect_lsa_CreateTrustedDomainEx_request, lsarpc_dissect_lsa_CreateTrustedDomainEx_response},
12033         { 52, "lsa_CloseTrustedDomainEx",
12034            lsarpc_dissect_lsa_CloseTrustedDomainEx_request, lsarpc_dissect_lsa_CloseTrustedDomainEx_response},
12035         { 53, "lsa_QueryDomainInformationPolicy",
12036            lsarpc_dissect_lsa_QueryDomainInformationPolicy_request, lsarpc_dissect_lsa_QueryDomainInformationPolicy_response},
12037         { 54, "lsa_SetDomainInformationPolicy",
12038            lsarpc_dissect_lsa_SetDomainInformationPolicy_request, lsarpc_dissect_lsa_SetDomainInformationPolicy_response},
12039         { 55, "lsa_OpenTrustedDomainByName",
12040            lsarpc_dissect_lsa_OpenTrustedDomainByName_request, lsarpc_dissect_lsa_OpenTrustedDomainByName_response},
12041         { 56, "lsa_TestCall",
12042            lsarpc_dissect_lsa_TestCall_request, lsarpc_dissect_lsa_TestCall_response},
12043         { 57, "lsa_LookupSids2",
12044            lsarpc_dissect_lsa_LookupSids2_request, lsarpc_dissect_lsa_LookupSids2_response},
12045         { 58, "lsa_LookupNames2",
12046            lsarpc_dissect_lsa_LookupNames2_request, lsarpc_dissect_lsa_LookupNames2_response},
12047         { 59, "lsa_CreateTrustedDomainEx2",
12048            lsarpc_dissect_lsa_CreateTrustedDomainEx2_request, lsarpc_dissect_lsa_CreateTrustedDomainEx2_response},
12049         { 60, "lsa_CREDRWRITE",
12050            lsarpc_dissect_lsa_CREDRWRITE_request, lsarpc_dissect_lsa_CREDRWRITE_response},
12051         { 61, "lsa_CREDRREAD",
12052            lsarpc_dissect_lsa_CREDRREAD_request, lsarpc_dissect_lsa_CREDRREAD_response},
12053         { 62, "lsa_CREDRENUMERATE",
12054            lsarpc_dissect_lsa_CREDRENUMERATE_request, lsarpc_dissect_lsa_CREDRENUMERATE_response},
12055         { 63, "lsa_CREDRWRITEDOMAINCREDENTIALS",
12056            lsarpc_dissect_lsa_CREDRWRITEDOMAINCREDENTIALS_request, lsarpc_dissect_lsa_CREDRWRITEDOMAINCREDENTIALS_response},
12057         { 64, "lsa_CREDRREADDOMAINCREDENTIALS",
12058            lsarpc_dissect_lsa_CREDRREADDOMAINCREDENTIALS_request, lsarpc_dissect_lsa_CREDRREADDOMAINCREDENTIALS_response},
12059         { 65, "lsa_CREDRDELETE",
12060            lsarpc_dissect_lsa_CREDRDELETE_request, lsarpc_dissect_lsa_CREDRDELETE_response},
12061         { 66, "lsa_CREDRGETTARGETINFO",
12062            lsarpc_dissect_lsa_CREDRGETTARGETINFO_request, lsarpc_dissect_lsa_CREDRGETTARGETINFO_response},
12063         { 67, "lsa_CREDRPROFILELOADED",
12064            lsarpc_dissect_lsa_CREDRPROFILELOADED_request, lsarpc_dissect_lsa_CREDRPROFILELOADED_response},
12065         { 68, "lsa_LookupNames3",
12066            lsarpc_dissect_lsa_LookupNames3_request, lsarpc_dissect_lsa_LookupNames3_response},
12067         { 69, "lsa_CREDRGETSESSIONTYPES",
12068            lsarpc_dissect_lsa_CREDRGETSESSIONTYPES_request, lsarpc_dissect_lsa_CREDRGETSESSIONTYPES_response},
12069         { 70, "lsa_LSARREGISTERAUDITEVENT",
12070            lsarpc_dissect_lsa_LSARREGISTERAUDITEVENT_request, lsarpc_dissect_lsa_LSARREGISTERAUDITEVENT_response},
12071         { 71, "lsa_LSARGENAUDITEVENT",
12072            lsarpc_dissect_lsa_LSARGENAUDITEVENT_request, lsarpc_dissect_lsa_LSARGENAUDITEVENT_response},
12073         { 72, "lsa_LSARUNREGISTERAUDITEVENT",
12074            lsarpc_dissect_lsa_LSARUNREGISTERAUDITEVENT_request, lsarpc_dissect_lsa_LSARUNREGISTERAUDITEVENT_response},
12075         { 73, "lsa_lsaRQueryForestTrustInformation",
12076            lsarpc_dissect_lsa_lsaRQueryForestTrustInformation_request, lsarpc_dissect_lsa_lsaRQueryForestTrustInformation_response},
12077         { 74, "lsa_LSARSETFORESTTRUSTINFORMATION",
12078            lsarpc_dissect_lsa_LSARSETFORESTTRUSTINFORMATION_request, lsarpc_dissect_lsa_LSARSETFORESTTRUSTINFORMATION_response},
12079         { 75, "lsa_CREDRRENAME",
12080            lsarpc_dissect_lsa_CREDRRENAME_request, lsarpc_dissect_lsa_CREDRRENAME_response},
12081         { 76, "lsa_LookupSids3",
12082            lsarpc_dissect_lsa_LookupSids3_request, lsarpc_dissect_lsa_LookupSids3_response},
12083         { 77, "lsa_LookupNames4",
12084            lsarpc_dissect_lsa_LookupNames4_request, lsarpc_dissect_lsa_LookupNames4_response},
12085         { 78, "lsa_LSAROPENPOLICYSCE",
12086            lsarpc_dissect_lsa_LSAROPENPOLICYSCE_request, lsarpc_dissect_lsa_LSAROPENPOLICYSCE_response},
12087         { 79, "lsa_LSARADTREGISTERSECURITYEVENTSOURCE",
12088            lsarpc_dissect_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_request, lsarpc_dissect_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_response},
12089         { 80, "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE",
12090            lsarpc_dissect_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_request, lsarpc_dissect_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_response},
12091         { 81, "lsa_LSARADTREPORTSECURITYEVENT",
12092            lsarpc_dissect_lsa_LSARADTREPORTSECURITYEVENT_request, lsarpc_dissect_lsa_LSARADTREPORTSECURITYEVENT_response},
12093         { 0, NULL, NULL, NULL }
12094 };
12095
12096 void proto_register_dcerpc_lsarpc(void)
12097 {
12098         static hf_register_info hf[] = {
12099         { &hf_lsarpc_String_name,
12100                 { "String", "lsarpc.lsa.string", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
12101         { &hf_lsarpc_account_access_mask,
12102                 { "Access Mask", "lsarpc.policy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12103         { &hf_lsarpc_domain_access_mask,
12104                 { "Access Mask", "lsarpc.policy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12105         { &hf_lsarpc_efs_blob_len,
12106                 { "EFS blob size", "lsarpc.efs.blob_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12107         { &hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_PRIVILEGES,
12108                 { "Lsa Account Adjust Privileges", "lsarpc.lsa_AccountAccessMask.LSA_ACCOUNT_ADJUST_PRIVILEGES", FT_BOOLEAN, 32, TFS(&lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_PRIVILEGES_tfs), ( 0x00000002 ), NULL, HFILL }},
12109         { &hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_QUOTAS,
12110                 { "Lsa Account Adjust Quotas", "lsarpc.lsa_AccountAccessMask.LSA_ACCOUNT_ADJUST_QUOTAS", FT_BOOLEAN, 32, TFS(&lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_QUOTAS_tfs), ( 0x00000004 ), NULL, HFILL }},
12111         { &hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS,
12112                 { "Lsa Account Adjust System Access", "lsarpc.lsa_AccountAccessMask.LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS", FT_BOOLEAN, 32, TFS(&lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS_tfs), ( 0x00000008 ), NULL, HFILL }},
12113         { &hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_VIEW,
12114                 { "Lsa Account View", "lsarpc.lsa_AccountAccessMask.LSA_ACCOUNT_VIEW", FT_BOOLEAN, 32, TFS(&lsa_AccountAccessMask_LSA_ACCOUNT_VIEW_tfs), ( 0x00000001 ), NULL, HFILL }},
12115         { &hf_lsarpc_lsa_AddAccountRights_handle,
12116                 { "Handle", "lsarpc.lsa_AddAccountRights.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12117         { &hf_lsarpc_lsa_AddAccountRights_rights,
12118                 { "Rights", "lsarpc.lsa_AddAccountRights.rights", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12119         { &hf_lsarpc_lsa_AddAccountRights_sid,
12120                 { "Sid", "lsarpc.lsa_AddAccountRights.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12121         { &hf_lsarpc_lsa_AddPrivilegesToAccount_handle,
12122                 { "Handle", "lsarpc.lsa_AddPrivilegesToAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12123         { &hf_lsarpc_lsa_AddPrivilegesToAccount_privs,
12124                 { "Privs", "lsarpc.lsa_AddPrivilegesToAccount.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12125         { &hf_lsarpc_lsa_AsciiStringLarge_length,
12126                 { "Length", "lsarpc.lsa_AsciiStringLarge.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12127         { &hf_lsarpc_lsa_AsciiStringLarge_size,
12128                 { "Size", "lsarpc.lsa_AsciiStringLarge.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12129         { &hf_lsarpc_lsa_AsciiStringLarge_string,
12130                 { "String", "lsarpc.lsa_AsciiStringLarge.string", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
12131         { &hf_lsarpc_lsa_AsciiString_length,
12132                 { "Length", "lsarpc.lsa_AsciiString.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12133         { &hf_lsarpc_lsa_AsciiString_size,
12134                 { "Size", "lsarpc.lsa_AsciiString.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12135         { &hf_lsarpc_lsa_AsciiString_string,
12136                 { "String", "lsarpc.lsa_AsciiString.string", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
12137         { &hf_lsarpc_lsa_AuditEventsInfo_auditing_mode,
12138                 { "Auditing Mode", "lsarpc.lsa_AuditEventsInfo.auditing_mode", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12139         { &hf_lsarpc_lsa_AuditEventsInfo_count,
12140                 { "Count", "lsarpc.lsa_AuditEventsInfo.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12141         { &hf_lsarpc_lsa_AuditEventsInfo_settings,
12142                 { "Settings", "lsarpc.lsa_AuditEventsInfo.settings", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_PolicyAuditPolicy_vals), 0, NULL, HFILL }},
12143         { &hf_lsarpc_lsa_AuditFullQueryInfo_log_is_full,
12144                 { "Log Is Full", "lsarpc.lsa_AuditFullQueryInfo.log_is_full", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12145         { &hf_lsarpc_lsa_AuditFullQueryInfo_shutdown_on_full,
12146                 { "Shutdown On Full", "lsarpc.lsa_AuditFullQueryInfo.shutdown_on_full", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12147         { &hf_lsarpc_lsa_AuditFullQueryInfo_unknown,
12148                 { "Unknown", "lsarpc.lsa_AuditFullQueryInfo.unknown", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12149         { &hf_lsarpc_lsa_AuditFullSetInfo_shutdown_on_full,
12150                 { "Shutdown On Full", "lsarpc.lsa_AuditFullSetInfo.shutdown_on_full", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12151         { &hf_lsarpc_lsa_AuditLogInfo_log_size,
12152                 { "Log Size", "lsarpc.lsa_AuditLogInfo.log_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12153         { &hf_lsarpc_lsa_AuditLogInfo_next_audit_record,
12154                 { "Next Audit Record", "lsarpc.lsa_AuditLogInfo.next_audit_record", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12155         { &hf_lsarpc_lsa_AuditLogInfo_percent_full,
12156                 { "Percent Full", "lsarpc.lsa_AuditLogInfo.percent_full", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12157         { &hf_lsarpc_lsa_AuditLogInfo_retention_time,
12158                 { "Retention Time", "lsarpc.lsa_AuditLogInfo.retention_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
12159         { &hf_lsarpc_lsa_AuditLogInfo_shutdown_in_progress,
12160                 { "Shutdown In Progress", "lsarpc.lsa_AuditLogInfo.shutdown_in_progress", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12161         { &hf_lsarpc_lsa_AuditLogInfo_time_to_shutdown,
12162                 { "Time To Shutdown", "lsarpc.lsa_AuditLogInfo.time_to_shutdown", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
12163         { &hf_lsarpc_lsa_AuditLogInfo_unknown,
12164                 { "Unknown", "lsarpc.lsa_AuditLogInfo.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12165         { &hf_lsarpc_lsa_CloseTrustedDomainEx_handle,
12166                 { "Handle", "lsarpc.lsa_CloseTrustedDomainEx.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12167         { &hf_lsarpc_lsa_Close_handle,
12168                 { "Handle", "lsarpc.lsa_Close.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12169         { &hf_lsarpc_lsa_CreateAccount_access_mask,
12170                 { "Access Mask", "lsarpc.lsa_CreateAccount.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12171         { &hf_lsarpc_lsa_CreateAccount_acct_handle,
12172                 { "Acct Handle", "lsarpc.lsa_CreateAccount.acct_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12173         { &hf_lsarpc_lsa_CreateAccount_handle,
12174                 { "Handle", "lsarpc.lsa_CreateAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12175         { &hf_lsarpc_lsa_CreateAccount_sid,
12176                 { "Sid", "lsarpc.lsa_CreateAccount.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12177         { &hf_lsarpc_lsa_CreateSecret_access_mask,
12178                 { "Access Mask", "lsarpc.lsa_CreateSecret.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12179         { &hf_lsarpc_lsa_CreateSecret_handle,
12180                 { "Handle", "lsarpc.lsa_CreateSecret.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12181         { &hf_lsarpc_lsa_CreateSecret_name,
12182                 { "Name", "lsarpc.lsa_CreateSecret.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12183         { &hf_lsarpc_lsa_CreateSecret_sec_handle,
12184                 { "Sec Handle", "lsarpc.lsa_CreateSecret.sec_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12185         { &hf_lsarpc_lsa_CreateTrustedDomain_access_mask,
12186                 { "Access Mask", "lsarpc.lsa_CreateTrustedDomain.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12187         { &hf_lsarpc_lsa_CreateTrustedDomain_handle,
12188                 { "Handle", "lsarpc.lsa_CreateTrustedDomain.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12189         { &hf_lsarpc_lsa_CreateTrustedDomain_info,
12190                 { "Info", "lsarpc.lsa_CreateTrustedDomain.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12191         { &hf_lsarpc_lsa_CreateTrustedDomain_trustdom_handle,
12192                 { "Trustdom Handle", "lsarpc.lsa_CreateTrustedDomain.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12193         { &hf_lsarpc_lsa_DATA_BUF2_data,
12194                 { "Data", "lsarpc.lsa_DATA_BUF2.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12195         { &hf_lsarpc_lsa_DATA_BUF2_size,
12196                 { "Size", "lsarpc.lsa_DATA_BUF2.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12197         { &hf_lsarpc_lsa_DATA_BUF_PTR_buf,
12198                 { "Buf", "lsarpc.lsa_DATA_BUF_PTR.buf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12199         { &hf_lsarpc_lsa_DATA_BUF_data,
12200                 { "Data", "lsarpc.lsa_DATA_BUF.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12201         { &hf_lsarpc_lsa_DATA_BUF_length,
12202                 { "Length", "lsarpc.lsa_DATA_BUF.length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12203         { &hf_lsarpc_lsa_DATA_BUF_size,
12204                 { "Size", "lsarpc.lsa_DATA_BUF.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12205         { &hf_lsarpc_lsa_DefaultQuotaInfo_max_wss,
12206                 { "Max Wss", "lsarpc.lsa_DefaultQuotaInfo.max_wss", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12207         { &hf_lsarpc_lsa_DefaultQuotaInfo_min_wss,
12208                 { "Min Wss", "lsarpc.lsa_DefaultQuotaInfo.min_wss", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12209         { &hf_lsarpc_lsa_DefaultQuotaInfo_non_paged_pool,
12210                 { "Non Paged Pool", "lsarpc.lsa_DefaultQuotaInfo.non_paged_pool", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12211         { &hf_lsarpc_lsa_DefaultQuotaInfo_paged_pool,
12212                 { "Paged Pool", "lsarpc.lsa_DefaultQuotaInfo.paged_pool", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12213         { &hf_lsarpc_lsa_DefaultQuotaInfo_pagefile,
12214                 { "Pagefile", "lsarpc.lsa_DefaultQuotaInfo.pagefile", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12215         { &hf_lsarpc_lsa_DefaultQuotaInfo_unknown,
12216                 { "Unknown", "lsarpc.lsa_DefaultQuotaInfo.unknown", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
12217         { &hf_lsarpc_lsa_DeleteTrustedDomain_dom_sid,
12218                 { "Dom Sid", "lsarpc.lsa_DeleteTrustedDomain.dom_sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12219         { &hf_lsarpc_lsa_DeleteTrustedDomain_handle,
12220                 { "Handle", "lsarpc.lsa_DeleteTrustedDomain.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12221         { &hf_lsarpc_lsa_Delete_handle,
12222                 { "Handle", "lsarpc.lsa_Delete.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12223         { &hf_lsarpc_lsa_DnsDomainInfo_dns_domain,
12224                 { "Dns Domain", "lsarpc.lsa_DnsDomainInfo.dns_domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12225         { &hf_lsarpc_lsa_DnsDomainInfo_dns_forest,
12226                 { "Dns Forest", "lsarpc.lsa_DnsDomainInfo.dns_forest", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12227         { &hf_lsarpc_lsa_DnsDomainInfo_domain_guid,
12228                 { "Domain Guid", "lsarpc.lsa_DnsDomainInfo.domain_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
12229         { &hf_lsarpc_lsa_DnsDomainInfo_name,
12230                 { "Name", "lsarpc.lsa_DnsDomainInfo.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12231         { &hf_lsarpc_lsa_DnsDomainInfo_sid,
12232                 { "Sid", "lsarpc.lsa_DnsDomainInfo.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12233         { &hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_AUTH,
12234                 { "Lsa Domain Query Auth", "lsarpc.lsa_DomainAccessMask.LSA_DOMAIN_QUERY_AUTH", FT_BOOLEAN, 32, TFS(&lsa_DomainAccessMask_LSA_DOMAIN_QUERY_AUTH_tfs), ( 0x00000040 ), NULL, HFILL }},
12235         { &hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_CONTROLLERS,
12236                 { "Lsa Domain Query Controllers", "lsarpc.lsa_DomainAccessMask.LSA_DOMAIN_QUERY_CONTROLLERS", FT_BOOLEAN, 32, TFS(&lsa_DomainAccessMask_LSA_DOMAIN_QUERY_CONTROLLERS_tfs), ( 0x00000002 ), NULL, HFILL }},
12237         { &hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_DOMAIN_NAME,
12238                 { "Lsa Domain Query Domain Name", "lsarpc.lsa_DomainAccessMask.LSA_DOMAIN_QUERY_DOMAIN_NAME", FT_BOOLEAN, 32, TFS(&lsa_DomainAccessMask_LSA_DOMAIN_QUERY_DOMAIN_NAME_tfs), ( 0x00000001 ), NULL, HFILL }},
12239         { &hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_QUERY_POSIX,
12240                 { "Lsa Domain Query Posix", "lsarpc.lsa_DomainAccessMask.LSA_DOMAIN_QUERY_POSIX", FT_BOOLEAN, 32, TFS(&lsa_DomainAccessMask_LSA_DOMAIN_QUERY_POSIX_tfs), ( 0x00000008 ), NULL, HFILL }},
12241         { &hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_SET_AUTH,
12242                 { "Lsa Domain Set Auth", "lsarpc.lsa_DomainAccessMask.LSA_DOMAIN_SET_AUTH", FT_BOOLEAN, 32, TFS(&lsa_DomainAccessMask_LSA_DOMAIN_SET_AUTH_tfs), ( 0x00000020 ), NULL, HFILL }},
12243         { &hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_SET_CONTROLLERS,
12244                 { "Lsa Domain Set Controllers", "lsarpc.lsa_DomainAccessMask.LSA_DOMAIN_SET_CONTROLLERS", FT_BOOLEAN, 32, TFS(&lsa_DomainAccessMask_LSA_DOMAIN_SET_CONTROLLERS_tfs), ( 0x00000004 ), NULL, HFILL }},
12245         { &hf_lsarpc_lsa_DomainAccessMask_LSA_DOMAIN_SET_POSIX,
12246                 { "Lsa Domain Set Posix", "lsarpc.lsa_DomainAccessMask.LSA_DOMAIN_SET_POSIX", FT_BOOLEAN, 32, TFS(&lsa_DomainAccessMask_LSA_DOMAIN_SET_POSIX_tfs), ( 0x00000010 ), NULL, HFILL }},
12247         { &hf_lsarpc_lsa_DomainInfoEfs_blob_size,
12248                 { "Blob Size", "lsarpc.lsa_DomainInfoEfs.blob_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12249         { &hf_lsarpc_lsa_DomainInfoEfs_efs_blob,
12250                 { "Efs Blob", "lsarpc.lsa_DomainInfoEfs.efs_blob", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12251         { &hf_lsarpc_lsa_DomainInfoKerberos_clock_skew,
12252                 { "Clock Skew", "lsarpc.lsa_DomainInfoKerberos.clock_skew", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
12253         { &hf_lsarpc_lsa_DomainInfoKerberos_enforce_restrictions,
12254                 { "Enforce Restrictions", "lsarpc.lsa_DomainInfoKerberos.enforce_restrictions", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12255         { &hf_lsarpc_lsa_DomainInfoKerberos_service_tkt_lifetime,
12256                 { "Service Tkt Lifetime", "lsarpc.lsa_DomainInfoKerberos.service_tkt_lifetime", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
12257         { &hf_lsarpc_lsa_DomainInfoKerberos_unknown6,
12258                 { "Unknown6", "lsarpc.lsa_DomainInfoKerberos.unknown6", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
12259         { &hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_lifetime,
12260                 { "User Tkt Lifetime", "lsarpc.lsa_DomainInfoKerberos.user_tkt_lifetime", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
12261         { &hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_renewaltime,
12262                 { "User Tkt Renewaltime", "lsarpc.lsa_DomainInfoKerberos.user_tkt_renewaltime", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
12263         { &hf_lsarpc_lsa_DomainInfo_name,
12264                 { "Name", "lsarpc.lsa_DomainInfo.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12265         { &hf_lsarpc_lsa_DomainInfo_sid,
12266                 { "Sid", "lsarpc.lsa_DomainInfo.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12267         { &hf_lsarpc_lsa_DomainInformationPolicy_efs_info,
12268                 { "Efs Info", "lsarpc.lsa_DomainInformationPolicy.efs_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12269         { &hf_lsarpc_lsa_DomainInformationPolicy_kerberos_info,
12270                 { "Kerberos Info", "lsarpc.lsa_DomainInformationPolicy.kerberos_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12271         { &hf_lsarpc_lsa_DomainListEx_count,
12272                 { "Count", "lsarpc.lsa_DomainListEx.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12273         { &hf_lsarpc_lsa_DomainListEx_domains,
12274                 { "Domains", "lsarpc.lsa_DomainListEx.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12275         { &hf_lsarpc_lsa_DomainList_count,
12276                 { "Count", "lsarpc.lsa_DomainList.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12277         { &hf_lsarpc_lsa_DomainList_domains,
12278                 { "Domains", "lsarpc.lsa_DomainList.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12279         { &hf_lsarpc_lsa_EnumAccountRights_handle,
12280                 { "Handle", "lsarpc.lsa_EnumAccountRights.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12281         { &hf_lsarpc_lsa_EnumAccountRights_rights,
12282                 { "Rights", "lsarpc.lsa_EnumAccountRights.rights", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12283         { &hf_lsarpc_lsa_EnumAccountRights_sid,
12284                 { "Sid", "lsarpc.lsa_EnumAccountRights.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12285         { &hf_lsarpc_lsa_EnumAccountsWithUserRight_handle,
12286                 { "Handle", "lsarpc.lsa_EnumAccountsWithUserRight.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12287         { &hf_lsarpc_lsa_EnumAccountsWithUserRight_name,
12288                 { "Name", "lsarpc.lsa_EnumAccountsWithUserRight.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12289         { &hf_lsarpc_lsa_EnumAccountsWithUserRight_sids,
12290                 { "Sids", "lsarpc.lsa_EnumAccountsWithUserRight.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12291         { &hf_lsarpc_lsa_EnumAccounts_handle,
12292                 { "Handle", "lsarpc.lsa_EnumAccounts.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12293         { &hf_lsarpc_lsa_EnumAccounts_num_entries,
12294                 { "Num Entries", "lsarpc.lsa_EnumAccounts.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12295         { &hf_lsarpc_lsa_EnumAccounts_resume_handle,
12296                 { "Resume Handle", "lsarpc.lsa_EnumAccounts.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12297         { &hf_lsarpc_lsa_EnumAccounts_sids,
12298                 { "Sids", "lsarpc.lsa_EnumAccounts.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12299         { &hf_lsarpc_lsa_EnumPrivsAccount_handle,
12300                 { "Handle", "lsarpc.lsa_EnumPrivsAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12301         { &hf_lsarpc_lsa_EnumPrivsAccount_privs,
12302                 { "Privs", "lsarpc.lsa_EnumPrivsAccount.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12303         { &hf_lsarpc_lsa_EnumPrivs_handle,
12304                 { "Handle", "lsarpc.lsa_EnumPrivs.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12305         { &hf_lsarpc_lsa_EnumPrivs_max_count,
12306                 { "Max Count", "lsarpc.lsa_EnumPrivs.max_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12307         { &hf_lsarpc_lsa_EnumPrivs_privs,
12308                 { "Privs", "lsarpc.lsa_EnumPrivs.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12309         { &hf_lsarpc_lsa_EnumPrivs_resume_handle,
12310                 { "Resume Handle", "lsarpc.lsa_EnumPrivs.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12311         { &hf_lsarpc_lsa_EnumTrustDom_domains,
12312                 { "Domains", "lsarpc.lsa_EnumTrustDom.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12313         { &hf_lsarpc_lsa_EnumTrustDom_handle,
12314                 { "Handle", "lsarpc.lsa_EnumTrustDom.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12315         { &hf_lsarpc_lsa_EnumTrustDom_max_size,
12316                 { "Max Size", "lsarpc.lsa_EnumTrustDom.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12317         { &hf_lsarpc_lsa_EnumTrustDom_resume_handle,
12318                 { "Resume Handle", "lsarpc.lsa_EnumTrustDom.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12319         { &hf_lsarpc_lsa_EnumTrustedDomainsEx_domains,
12320                 { "Domains", "lsarpc.lsa_EnumTrustedDomainsEx.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12321         { &hf_lsarpc_lsa_EnumTrustedDomainsEx_handle,
12322                 { "Handle", "lsarpc.lsa_EnumTrustedDomainsEx.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12323         { &hf_lsarpc_lsa_EnumTrustedDomainsEx_max_size,
12324                 { "Max Size", "lsarpc.lsa_EnumTrustedDomainsEx.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12325         { &hf_lsarpc_lsa_EnumTrustedDomainsEx_resume_handle,
12326                 { "Resume Handle", "lsarpc.lsa_EnumTrustedDomainsEx.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12327         { &hf_lsarpc_lsa_ForestTrustBinaryData_data,
12328                 { "Data", "lsarpc.lsa_ForestTrustBinaryData.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12329         { &hf_lsarpc_lsa_ForestTrustBinaryData_length,
12330                 { "Length", "lsarpc.lsa_ForestTrustBinaryData.length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12331         { &hf_lsarpc_lsa_ForestTrustData_data,
12332                 { "Data", "lsarpc.lsa_ForestTrustData.data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12333         { &hf_lsarpc_lsa_ForestTrustData_domain_info,
12334                 { "Domain Info", "lsarpc.lsa_ForestTrustData.domain_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12335         { &hf_lsarpc_lsa_ForestTrustData_top_level_name,
12336                 { "Top Level Name", "lsarpc.lsa_ForestTrustData.top_level_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12337         { &hf_lsarpc_lsa_ForestTrustData_top_level_name_ex,
12338                 { "Top Level Name Ex", "lsarpc.lsa_ForestTrustData.top_level_name_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12339         { &hf_lsarpc_lsa_ForestTrustDomainInfo_dns_domain_name,
12340                 { "Dns Domain Name", "lsarpc.lsa_ForestTrustDomainInfo.dns_domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12341         { &hf_lsarpc_lsa_ForestTrustDomainInfo_domain_sid,
12342                 { "Domain Sid", "lsarpc.lsa_ForestTrustDomainInfo.domain_sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12343         { &hf_lsarpc_lsa_ForestTrustDomainInfo_netbios_domain_name,
12344                 { "Netbios Domain Name", "lsarpc.lsa_ForestTrustDomainInfo.netbios_domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12345         { &hf_lsarpc_lsa_ForestTrustInformation_count,
12346                 { "Count", "lsarpc.lsa_ForestTrustInformation.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12347         { &hf_lsarpc_lsa_ForestTrustInformation_entries,
12348                 { "Entries", "lsarpc.lsa_ForestTrustInformation.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12349         { &hf_lsarpc_lsa_ForestTrustRecord_flags,
12350                 { "Flags", "lsarpc.lsa_ForestTrustRecord.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12351         { &hf_lsarpc_lsa_ForestTrustRecord_forest_trust_data,
12352                 { "Forest Trust Data", "lsarpc.lsa_ForestTrustRecord.forest_trust_data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12353         { &hf_lsarpc_lsa_ForestTrustRecord_level,
12354                 { "Level", "lsarpc.lsa_ForestTrustRecord.level", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_ForestTrustRecordType_vals), 0, NULL, HFILL }},
12355         { &hf_lsarpc_lsa_ForestTrustRecord_unknown,
12356                 { "Unknown", "lsarpc.lsa_ForestTrustRecord.unknown", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
12357         { &hf_lsarpc_lsa_GetUserName_account_name,
12358                 { "Account Name", "lsarpc.lsa_GetUserName.account_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12359         { &hf_lsarpc_lsa_GetUserName_authority_name,
12360                 { "Authority Name", "lsarpc.lsa_GetUserName.authority_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12361         { &hf_lsarpc_lsa_GetUserName_system_name,
12362                 { "System Name", "lsarpc.lsa_GetUserName.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
12363         { &hf_lsarpc_lsa_LUIDAttribute_attribute,
12364                 { "Attribute", "lsarpc.lsa_LUIDAttribute.attribute", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12365         { &hf_lsarpc_lsa_LUIDAttribute_luid,
12366                 { "Luid", "lsarpc.lsa_LUIDAttribute.luid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12367         { &hf_lsarpc_lsa_LUID_high,
12368                 { "High", "lsarpc.lsa_LUID.high", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12369         { &hf_lsarpc_lsa_LUID_low,
12370                 { "Low", "lsarpc.lsa_LUID.low", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12371         { &hf_lsarpc_lsa_LookupNames2_count,
12372                 { "Count", "lsarpc.lsa_LookupNames2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12373         { &hf_lsarpc_lsa_LookupNames2_domains,
12374                 { "Domains", "lsarpc.lsa_LookupNames2.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12375         { &hf_lsarpc_lsa_LookupNames2_handle,
12376                 { "Handle", "lsarpc.lsa_LookupNames2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12377         { &hf_lsarpc_lsa_LookupNames2_level,
12378                 { "Level", "lsarpc.lsa_LookupNames2.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
12379         { &hf_lsarpc_lsa_LookupNames2_names,
12380                 { "Names", "lsarpc.lsa_LookupNames2.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12381         { &hf_lsarpc_lsa_LookupNames2_num_names,
12382                 { "Num Names", "lsarpc.lsa_LookupNames2.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12383         { &hf_lsarpc_lsa_LookupNames2_sids,
12384                 { "Sids", "lsarpc.lsa_LookupNames2.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12385         { &hf_lsarpc_lsa_LookupNames2_unknown1,
12386                 { "Unknown1", "lsarpc.lsa_LookupNames2.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12387         { &hf_lsarpc_lsa_LookupNames2_unknown2,
12388                 { "Unknown2", "lsarpc.lsa_LookupNames2.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12389         { &hf_lsarpc_lsa_LookupNames3_count,
12390                 { "Count", "lsarpc.lsa_LookupNames3.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12391         { &hf_lsarpc_lsa_LookupNames3_domains,
12392                 { "Domains", "lsarpc.lsa_LookupNames3.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12393         { &hf_lsarpc_lsa_LookupNames3_handle,
12394                 { "Handle", "lsarpc.lsa_LookupNames3.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12395         { &hf_lsarpc_lsa_LookupNames3_level,
12396                 { "Level", "lsarpc.lsa_LookupNames3.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
12397         { &hf_lsarpc_lsa_LookupNames3_names,
12398                 { "Names", "lsarpc.lsa_LookupNames3.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12399         { &hf_lsarpc_lsa_LookupNames3_num_names,
12400                 { "Num Names", "lsarpc.lsa_LookupNames3.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12401         { &hf_lsarpc_lsa_LookupNames3_sids,
12402                 { "Sids", "lsarpc.lsa_LookupNames3.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12403         { &hf_lsarpc_lsa_LookupNames3_unknown1,
12404                 { "Unknown1", "lsarpc.lsa_LookupNames3.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12405         { &hf_lsarpc_lsa_LookupNames3_unknown2,
12406                 { "Unknown2", "lsarpc.lsa_LookupNames3.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12407         { &hf_lsarpc_lsa_LookupNames4_count,
12408                 { "Count", "lsarpc.lsa_LookupNames4.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12409         { &hf_lsarpc_lsa_LookupNames4_domains,
12410                 { "Domains", "lsarpc.lsa_LookupNames4.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12411         { &hf_lsarpc_lsa_LookupNames4_level,
12412                 { "Level", "lsarpc.lsa_LookupNames4.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
12413         { &hf_lsarpc_lsa_LookupNames4_names,
12414                 { "Names", "lsarpc.lsa_LookupNames4.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12415         { &hf_lsarpc_lsa_LookupNames4_num_names,
12416                 { "Num Names", "lsarpc.lsa_LookupNames4.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12417         { &hf_lsarpc_lsa_LookupNames4_sids,
12418                 { "Sids", "lsarpc.lsa_LookupNames4.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12419         { &hf_lsarpc_lsa_LookupNames4_unknown1,
12420                 { "Unknown1", "lsarpc.lsa_LookupNames4.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12421         { &hf_lsarpc_lsa_LookupNames4_unknown2,
12422                 { "Unknown2", "lsarpc.lsa_LookupNames4.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12423         { &hf_lsarpc_lsa_LookupNames_count,
12424                 { "Count", "lsarpc.lsa_LookupNames.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12425         { &hf_lsarpc_lsa_LookupNames_domains,
12426                 { "Domains", "lsarpc.lsa_LookupNames.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12427         { &hf_lsarpc_lsa_LookupNames_handle,
12428                 { "Handle", "lsarpc.lsa_LookupNames.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12429         { &hf_lsarpc_lsa_LookupNames_level,
12430                 { "Level", "lsarpc.lsa_LookupNames.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
12431         { &hf_lsarpc_lsa_LookupNames_names,
12432                 { "Names", "lsarpc.lsa_LookupNames.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12433         { &hf_lsarpc_lsa_LookupNames_num_names,
12434                 { "Num Names", "lsarpc.lsa_LookupNames.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12435         { &hf_lsarpc_lsa_LookupNames_sids,
12436                 { "Sids", "lsarpc.lsa_LookupNames.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12437         { &hf_lsarpc_lsa_LookupPrivDisplayName_disp_name,
12438                 { "Disp Name", "lsarpc.lsa_LookupPrivDisplayName.disp_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12439         { &hf_lsarpc_lsa_LookupPrivDisplayName_handle,
12440                 { "Handle", "lsarpc.lsa_LookupPrivDisplayName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12441         { &hf_lsarpc_lsa_LookupPrivDisplayName_language_id,
12442                 { "Language Id", "lsarpc.lsa_LookupPrivDisplayName.language_id", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12443         { &hf_lsarpc_lsa_LookupPrivDisplayName_name,
12444                 { "Name", "lsarpc.lsa_LookupPrivDisplayName.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12445         { &hf_lsarpc_lsa_LookupPrivDisplayName_unknown,
12446                 { "Unknown", "lsarpc.lsa_LookupPrivDisplayName.unknown", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12447         { &hf_lsarpc_lsa_LookupPrivName_handle,
12448                 { "Handle", "lsarpc.lsa_LookupPrivName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12449         { &hf_lsarpc_lsa_LookupPrivName_luid,
12450                 { "Luid", "lsarpc.lsa_LookupPrivName.luid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12451         { &hf_lsarpc_lsa_LookupPrivName_name,
12452                 { "Name", "lsarpc.lsa_LookupPrivName.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12453         { &hf_lsarpc_lsa_LookupPrivValue_handle,
12454                 { "Handle", "lsarpc.lsa_LookupPrivValue.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12455         { &hf_lsarpc_lsa_LookupPrivValue_luid,
12456                 { "Luid", "lsarpc.lsa_LookupPrivValue.luid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12457         { &hf_lsarpc_lsa_LookupPrivValue_name,
12458                 { "Name", "lsarpc.lsa_LookupPrivValue.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12459         { &hf_lsarpc_lsa_LookupSids2_count,
12460                 { "Count", "lsarpc.lsa_LookupSids2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12461         { &hf_lsarpc_lsa_LookupSids2_domains,
12462                 { "Domains", "lsarpc.lsa_LookupSids2.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12463         { &hf_lsarpc_lsa_LookupSids2_handle,
12464                 { "Handle", "lsarpc.lsa_LookupSids2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12465         { &hf_lsarpc_lsa_LookupSids2_level,
12466                 { "Level", "lsarpc.lsa_LookupSids2.level", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12467         { &hf_lsarpc_lsa_LookupSids2_names,
12468                 { "Names", "lsarpc.lsa_LookupSids2.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12469         { &hf_lsarpc_lsa_LookupSids2_sids,
12470                 { "Sids", "lsarpc.lsa_LookupSids2.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12471         { &hf_lsarpc_lsa_LookupSids2_unknown1,
12472                 { "Unknown1", "lsarpc.lsa_LookupSids2.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12473         { &hf_lsarpc_lsa_LookupSids2_unknown2,
12474                 { "Unknown2", "lsarpc.lsa_LookupSids2.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12475         { &hf_lsarpc_lsa_LookupSids3_count,
12476                 { "Count", "lsarpc.lsa_LookupSids3.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12477         { &hf_lsarpc_lsa_LookupSids3_domains,
12478                 { "Domains", "lsarpc.lsa_LookupSids3.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12479         { &hf_lsarpc_lsa_LookupSids3_level,
12480                 { "Level", "lsarpc.lsa_LookupSids3.level", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12481         { &hf_lsarpc_lsa_LookupSids3_names,
12482                 { "Names", "lsarpc.lsa_LookupSids3.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12483         { &hf_lsarpc_lsa_LookupSids3_sids,
12484                 { "Sids", "lsarpc.lsa_LookupSids3.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12485         { &hf_lsarpc_lsa_LookupSids3_unknown1,
12486                 { "Unknown1", "lsarpc.lsa_LookupSids3.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12487         { &hf_lsarpc_lsa_LookupSids3_unknown2,
12488                 { "Unknown2", "lsarpc.lsa_LookupSids3.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12489         { &hf_lsarpc_lsa_LookupSids_count,
12490                 { "Count", "lsarpc.lsa_LookupSids.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12491         { &hf_lsarpc_lsa_LookupSids_domains,
12492                 { "Domains", "lsarpc.lsa_LookupSids.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12493         { &hf_lsarpc_lsa_LookupSids_handle,
12494                 { "Handle", "lsarpc.lsa_LookupSids.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12495         { &hf_lsarpc_lsa_LookupSids_level,
12496                 { "Level", "lsarpc.lsa_LookupSids.level", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12497         { &hf_lsarpc_lsa_LookupSids_names,
12498                 { "Names", "lsarpc.lsa_LookupSids.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12499         { &hf_lsarpc_lsa_LookupSids_sids,
12500                 { "Sids", "lsarpc.lsa_LookupSids.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12501         { &hf_lsarpc_lsa_ModificationInfo_db_create_time,
12502                 { "Db Create Time", "lsarpc.lsa_ModificationInfo.db_create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
12503         { &hf_lsarpc_lsa_ModificationInfo_modified_id,
12504                 { "Modified Id", "lsarpc.lsa_ModificationInfo.modified_id", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
12505         { &hf_lsarpc_lsa_ObjectAttribute_attributes,
12506                 { "Attributes", "lsarpc.lsa_ObjectAttribute.attributes", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12507         { &hf_lsarpc_lsa_ObjectAttribute_len,
12508                 { "Len", "lsarpc.lsa_ObjectAttribute.len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12509         { &hf_lsarpc_lsa_ObjectAttribute_object_name,
12510                 { "Object Name", "lsarpc.lsa_ObjectAttribute.object_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
12511         { &hf_lsarpc_lsa_ObjectAttribute_root_dir,
12512                 { "Root Dir", "lsarpc.lsa_ObjectAttribute.root_dir", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12513         { &hf_lsarpc_lsa_ObjectAttribute_sec_desc,
12514                 { "Sec Desc", "lsarpc.lsa_ObjectAttribute.sec_desc", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12515         { &hf_lsarpc_lsa_ObjectAttribute_sec_qos,
12516                 { "Sec Qos", "lsarpc.lsa_ObjectAttribute.sec_qos", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12517         { &hf_lsarpc_lsa_OpenAccount_access_mask,
12518                 { "Access Mask", "lsarpc.lsa_OpenAccount.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12519         { &hf_lsarpc_lsa_OpenAccount_acct_handle,
12520                 { "Acct Handle", "lsarpc.lsa_OpenAccount.acct_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12521         { &hf_lsarpc_lsa_OpenAccount_handle,
12522                 { "Handle", "lsarpc.lsa_OpenAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12523         { &hf_lsarpc_lsa_OpenAccount_sid,
12524                 { "Sid", "lsarpc.lsa_OpenAccount.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12525         { &hf_lsarpc_lsa_OpenPolicy2_access_mask,
12526                 { "Access Mask", "lsarpc.lsa_OpenPolicy2.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12527         { &hf_lsarpc_lsa_OpenPolicy2_attr,
12528                 { "Attr", "lsarpc.lsa_OpenPolicy2.attr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12529         { &hf_lsarpc_lsa_OpenPolicy2_handle,
12530                 { "Handle", "lsarpc.lsa_OpenPolicy2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12531         { &hf_lsarpc_lsa_OpenPolicy2_system_name,
12532                 { "System Name", "lsarpc.lsa_OpenPolicy2.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
12533         { &hf_lsarpc_lsa_OpenPolicy_access_mask,
12534                 { "Access Mask", "lsarpc.lsa_OpenPolicy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12535         { &hf_lsarpc_lsa_OpenPolicy_attr,
12536                 { "Attr", "lsarpc.lsa_OpenPolicy.attr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12537         { &hf_lsarpc_lsa_OpenPolicy_handle,
12538                 { "Handle", "lsarpc.lsa_OpenPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12539         { &hf_lsarpc_lsa_OpenPolicy_system_name,
12540                 { "System Name", "lsarpc.lsa_OpenPolicy.system_name", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12541         { &hf_lsarpc_lsa_OpenSecret_access_mask,
12542                 { "Access Mask", "lsarpc.lsa_OpenSecret.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12543         { &hf_lsarpc_lsa_OpenSecret_handle,
12544                 { "Handle", "lsarpc.lsa_OpenSecret.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12545         { &hf_lsarpc_lsa_OpenSecret_name,
12546                 { "Name", "lsarpc.lsa_OpenSecret.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12547         { &hf_lsarpc_lsa_OpenSecret_sec_handle,
12548                 { "Sec Handle", "lsarpc.lsa_OpenSecret.sec_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12549         { &hf_lsarpc_lsa_OpenTrustedDomainByName_access_mask,
12550                 { "Access Mask", "lsarpc.lsa_OpenTrustedDomainByName.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12551         { &hf_lsarpc_lsa_OpenTrustedDomainByName_handle,
12552                 { "Handle", "lsarpc.lsa_OpenTrustedDomainByName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12553         { &hf_lsarpc_lsa_OpenTrustedDomainByName_name,
12554                 { "Name", "lsarpc.lsa_OpenTrustedDomainByName.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12555         { &hf_lsarpc_lsa_OpenTrustedDomainByName_trustdom_handle,
12556                 { "Trustdom Handle", "lsarpc.lsa_OpenTrustedDomainByName.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12557         { &hf_lsarpc_lsa_OpenTrustedDomain_access_mask,
12558                 { "Access Mask", "lsarpc.lsa_OpenTrustedDomain.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12559         { &hf_lsarpc_lsa_OpenTrustedDomain_handle,
12560                 { "Handle", "lsarpc.lsa_OpenTrustedDomain.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12561         { &hf_lsarpc_lsa_OpenTrustedDomain_sid,
12562                 { "Sid", "lsarpc.lsa_OpenTrustedDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12563         { &hf_lsarpc_lsa_OpenTrustedDomain_trustdom_handle,
12564                 { "Trustdom Handle", "lsarpc.lsa_OpenTrustedDomain.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12565         { &hf_lsarpc_lsa_PDAccountInfo_name,
12566                 { "Name", "lsarpc.lsa_PDAccountInfo.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12567         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_AUDIT_LOG_ADMIN,
12568                 { "Lsa Policy Audit Log Admin", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_AUDIT_LOG_ADMIN", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_AUDIT_LOG_ADMIN_tfs), ( 0x00000200 ), NULL, HFILL }},
12569         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_ACCOUNT,
12570                 { "Lsa Policy Create Account", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_CREATE_ACCOUNT", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_CREATE_ACCOUNT_tfs), ( 0x00000010 ), NULL, HFILL }},
12571         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_PRIVILEGE,
12572                 { "Lsa Policy Create Privilege", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_CREATE_PRIVILEGE", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_CREATE_PRIVILEGE_tfs), ( 0x00000040 ), NULL, HFILL }},
12573         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_SECRET,
12574                 { "Lsa Policy Create Secret", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_CREATE_SECRET", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_CREATE_SECRET_tfs), ( 0x00000020 ), NULL, HFILL }},
12575         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_GET_PRIVATE_INFORMATION,
12576                 { "Lsa Policy Get Private Information", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_GET_PRIVATE_INFORMATION", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_GET_PRIVATE_INFORMATION_tfs), ( 0x00000004 ), NULL, HFILL }},
12577         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_LOOKUP_NAMES,
12578                 { "Lsa Policy Lookup Names", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_LOOKUP_NAMES", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_LOOKUP_NAMES_tfs), ( 0x00000800 ), NULL, HFILL }},
12579         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION,
12580                 { "Lsa Policy Notification", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_NOTIFICATION", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION_tfs), ( 0x00001000 ), NULL, HFILL }},
12581         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SERVER_ADMIN,
12582                 { "Lsa Policy Server Admin", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_SERVER_ADMIN", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_SERVER_ADMIN_tfs), ( 0x00000400 ), NULL, HFILL }},
12583         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_AUDIT_REQUIREMENTS,
12584                 { "Lsa Policy Set Audit Requirements", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_SET_AUDIT_REQUIREMENTS", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_SET_AUDIT_REQUIREMENTS_tfs), ( 0x00000100 ), NULL, HFILL }},
12585         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS,
12586                 { "Lsa Policy Set Default Quota Limits", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS_tfs), ( 0x00000080 ), NULL, HFILL }},
12587         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_TRUST_ADMIN,
12588                 { "Lsa Policy Trust Admin", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_TRUST_ADMIN", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_TRUST_ADMIN_tfs), ( 0x00000008 ), NULL, HFILL }},
12589         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_AUDIT_INFORMATION,
12590                 { "Lsa Policy View Audit Information", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_VIEW_AUDIT_INFORMATION", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_VIEW_AUDIT_INFORMATION_tfs), ( 0x00000002 ), NULL, HFILL }},
12591         { &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_LOCAL_INFORMATION,
12592                 { "Lsa Policy View Local Information", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_VIEW_LOCAL_INFORMATION", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_VIEW_LOCAL_INFORMATION_tfs), ( 0x00000001 ), NULL, HFILL }},
12593         { &hf_lsarpc_lsa_PolicyInformation_account_domain,
12594                 { "Account Domain", "lsarpc.lsa_PolicyInformation.account_domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12595         { &hf_lsarpc_lsa_PolicyInformation_audit_events,
12596                 { "Audit Events", "lsarpc.lsa_PolicyInformation.audit_events", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12597         { &hf_lsarpc_lsa_PolicyInformation_audit_log,
12598                 { "Audit Log", "lsarpc.lsa_PolicyInformation.audit_log", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12599         { &hf_lsarpc_lsa_PolicyInformation_auditfullquery,
12600                 { "Auditfullquery", "lsarpc.lsa_PolicyInformation.auditfullquery", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12601         { &hf_lsarpc_lsa_PolicyInformation_auditfullset,
12602                 { "Auditfullset", "lsarpc.lsa_PolicyInformation.auditfullset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12603         { &hf_lsarpc_lsa_PolicyInformation_db,
12604                 { "Db", "lsarpc.lsa_PolicyInformation.db", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12605         { &hf_lsarpc_lsa_PolicyInformation_dns,
12606                 { "Dns", "lsarpc.lsa_PolicyInformation.dns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12607         { &hf_lsarpc_lsa_PolicyInformation_domain,
12608                 { "Domain", "lsarpc.lsa_PolicyInformation.domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12609         { &hf_lsarpc_lsa_PolicyInformation_pd,
12610                 { "Pd", "lsarpc.lsa_PolicyInformation.pd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12611         { &hf_lsarpc_lsa_PolicyInformation_quota,
12612                 { "Quota", "lsarpc.lsa_PolicyInformation.quota", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12613         { &hf_lsarpc_lsa_PolicyInformation_replica,
12614                 { "Replica", "lsarpc.lsa_PolicyInformation.replica", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12615         { &hf_lsarpc_lsa_PolicyInformation_role,
12616                 { "Role", "lsarpc.lsa_PolicyInformation.role", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12617         { &hf_lsarpc_lsa_PrivArray_count,
12618                 { "Count", "lsarpc.lsa_PrivArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12619         { &hf_lsarpc_lsa_PrivArray_privs,
12620                 { "Privs", "lsarpc.lsa_PrivArray.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12621         { &hf_lsarpc_lsa_PrivEntry_luid,
12622                 { "Luid", "lsarpc.lsa_PrivEntry.luid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12623         { &hf_lsarpc_lsa_PrivEntry_name,
12624                 { "Name", "lsarpc.lsa_PrivEntry.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12625         { &hf_lsarpc_lsa_PrivilegeSet_count,
12626                 { "Count", "lsarpc.lsa_PrivilegeSet.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12627         { &hf_lsarpc_lsa_PrivilegeSet_set,
12628                 { "Set", "lsarpc.lsa_PrivilegeSet.set", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12629         { &hf_lsarpc_lsa_PrivilegeSet_unknown,
12630                 { "Unknown", "lsarpc.lsa_PrivilegeSet.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12631         { &hf_lsarpc_lsa_QosInfo_context_mode,
12632                 { "Context Mode", "lsarpc.lsa_QosInfo.context_mode", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12633         { &hf_lsarpc_lsa_QosInfo_effective_only,
12634                 { "Effective Only", "lsarpc.lsa_QosInfo.effective_only", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12635         { &hf_lsarpc_lsa_QosInfo_impersonation_level,
12636                 { "Impersonation Level", "lsarpc.lsa_QosInfo.impersonation_level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SecurityImpersonationLevel_vals), 0, NULL, HFILL }},
12637         { &hf_lsarpc_lsa_QosInfo_len,
12638                 { "Len", "lsarpc.lsa_QosInfo.len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12639         { &hf_lsarpc_lsa_QueryDomainInformationPolicy_handle,
12640                 { "Handle", "lsarpc.lsa_QueryDomainInformationPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12641         { &hf_lsarpc_lsa_QueryDomainInformationPolicy_info,
12642                 { "Info", "lsarpc.lsa_QueryDomainInformationPolicy.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12643         { &hf_lsarpc_lsa_QueryDomainInformationPolicy_level,
12644                 { "Level", "lsarpc.lsa_QueryDomainInformationPolicy.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_DomainInfoEnum_vals), 0, NULL, HFILL }},
12645         { &hf_lsarpc_lsa_QueryInfoPolicy2_handle,
12646                 { "Handle", "lsarpc.lsa_QueryInfoPolicy2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12647         { &hf_lsarpc_lsa_QueryInfoPolicy2_info,
12648                 { "Info", "lsarpc.lsa_QueryInfoPolicy2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12649         { &hf_lsarpc_lsa_QueryInfoPolicy2_level,
12650                 { "Level", "lsarpc.lsa_QueryInfoPolicy2.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_PolicyInfo_vals), 0, NULL, HFILL }},
12651         { &hf_lsarpc_lsa_QueryInfoPolicy_handle,
12652                 { "Handle", "lsarpc.lsa_QueryInfoPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12653         { &hf_lsarpc_lsa_QueryInfoPolicy_info,
12654                 { "Info", "lsarpc.lsa_QueryInfoPolicy.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12655         { &hf_lsarpc_lsa_QueryInfoPolicy_level,
12656                 { "Level", "lsarpc.lsa_QueryInfoPolicy.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_PolicyInfo_vals), 0, NULL, HFILL }},
12657         { &hf_lsarpc_lsa_QuerySecret_new_mtime,
12658                 { "New Mtime", "lsarpc.lsa_QuerySecret.new_mtime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
12659         { &hf_lsarpc_lsa_QuerySecret_new_val,
12660                 { "New Val", "lsarpc.lsa_QuerySecret.new_val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12661         { &hf_lsarpc_lsa_QuerySecret_old_mtime,
12662                 { "Old Mtime", "lsarpc.lsa_QuerySecret.old_mtime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
12663         { &hf_lsarpc_lsa_QuerySecret_old_val,
12664                 { "Old Val", "lsarpc.lsa_QuerySecret.old_val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12665         { &hf_lsarpc_lsa_QuerySecret_sec_handle,
12666                 { "Sec Handle", "lsarpc.lsa_QuerySecret.sec_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12667         { &hf_lsarpc_lsa_QuerySecurity_handle,
12668                 { "Handle", "lsarpc.lsa_QuerySecurity.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12669         { &hf_lsarpc_lsa_QuerySecurity_sdbuf,
12670                 { "Sdbuf", "lsarpc.lsa_QuerySecurity.sdbuf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12671         { &hf_lsarpc_lsa_QuerySecurity_sec_info,
12672                 { "Sec Info", "lsarpc.lsa_QuerySecurity.sec_info", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12673         { &hf_lsarpc_lsa_QueryTrustedDomainInfoByName_handle,
12674                 { "Handle", "lsarpc.lsa_QueryTrustedDomainInfoByName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12675         { &hf_lsarpc_lsa_QueryTrustedDomainInfoByName_info,
12676                 { "Info", "lsarpc.lsa_QueryTrustedDomainInfoByName.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12677         { &hf_lsarpc_lsa_QueryTrustedDomainInfoByName_level,
12678                 { "Level", "lsarpc.lsa_QueryTrustedDomainInfoByName.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
12679         { &hf_lsarpc_lsa_QueryTrustedDomainInfoByName_trusted_domain,
12680                 { "Trusted Domain", "lsarpc.lsa_QueryTrustedDomainInfoByName.trusted_domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12681         { &hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_dom_sid,
12682                 { "Dom Sid", "lsarpc.lsa_QueryTrustedDomainInfoBySid.dom_sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12683         { &hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_handle,
12684                 { "Handle", "lsarpc.lsa_QueryTrustedDomainInfoBySid.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12685         { &hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_info,
12686                 { "Info", "lsarpc.lsa_QueryTrustedDomainInfoBySid.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12687         { &hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_level,
12688                 { "Level", "lsarpc.lsa_QueryTrustedDomainInfoBySid.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
12689         { &hf_lsarpc_lsa_QueryTrustedDomainInfo_info,
12690                 { "Info", "lsarpc.lsa_QueryTrustedDomainInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12691         { &hf_lsarpc_lsa_QueryTrustedDomainInfo_level,
12692                 { "Level", "lsarpc.lsa_QueryTrustedDomainInfo.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
12693         { &hf_lsarpc_lsa_QueryTrustedDomainInfo_trustdom_handle,
12694                 { "Trustdom Handle", "lsarpc.lsa_QueryTrustedDomainInfo.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12695         { &hf_lsarpc_lsa_RefDomainList_count,
12696                 { "Count", "lsarpc.lsa_RefDomainList.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12697         { &hf_lsarpc_lsa_RefDomainList_domains,
12698                 { "Domains", "lsarpc.lsa_RefDomainList.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12699         { &hf_lsarpc_lsa_RefDomainList_max_size,
12700                 { "Max Size", "lsarpc.lsa_RefDomainList.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12701         { &hf_lsarpc_lsa_RemoveAccountRights_handle,
12702                 { "Handle", "lsarpc.lsa_RemoveAccountRights.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12703         { &hf_lsarpc_lsa_RemoveAccountRights_rights,
12704                 { "Rights", "lsarpc.lsa_RemoveAccountRights.rights", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12705         { &hf_lsarpc_lsa_RemoveAccountRights_sid,
12706                 { "Sid", "lsarpc.lsa_RemoveAccountRights.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12707         { &hf_lsarpc_lsa_RemoveAccountRights_unknown,
12708                 { "Unknown", "lsarpc.lsa_RemoveAccountRights.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12709         { &hf_lsarpc_lsa_RemovePrivilegesFromAccount_handle,
12710                 { "Handle", "lsarpc.lsa_RemovePrivilegesFromAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12711         { &hf_lsarpc_lsa_RemovePrivilegesFromAccount_privs,
12712                 { "Privs", "lsarpc.lsa_RemovePrivilegesFromAccount.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12713         { &hf_lsarpc_lsa_RemovePrivilegesFromAccount_remove_all,
12714                 { "Remove All", "lsarpc.lsa_RemovePrivilegesFromAccount.remove_all", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
12715         { &hf_lsarpc_lsa_ReplicaSourceInfo_account,
12716                 { "Account", "lsarpc.lsa_ReplicaSourceInfo.account", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12717         { &hf_lsarpc_lsa_ReplicaSourceInfo_source,
12718                 { "Source", "lsarpc.lsa_ReplicaSourceInfo.source", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12719         { &hf_lsarpc_lsa_RightAttribute_name,
12720                 { "Name", "lsarpc.lsa_RightAttribute.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
12721         { &hf_lsarpc_lsa_RightSet_count,
12722                 { "Count", "lsarpc.lsa_RightSet.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12723         { &hf_lsarpc_lsa_RightSet_names,
12724                 { "Names", "lsarpc.lsa_RightSet.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12725         { &hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_QUERY_VALUE,
12726                 { "Lsa Secret Query Value", "lsarpc.lsa_SecretAccessMask.LSA_SECRET_QUERY_VALUE", FT_BOOLEAN, 32, TFS(&lsa_SecretAccessMask_LSA_SECRET_QUERY_VALUE_tfs), ( 0x00000002 ), NULL, HFILL }},
12727         { &hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_SET_VALUE,
12728                 { "Lsa Secret Set Value", "lsarpc.lsa_SecretAccessMask.LSA_SECRET_SET_VALUE", FT_BOOLEAN, 32, TFS(&lsa_SecretAccessMask_LSA_SECRET_SET_VALUE_tfs), ( 0x00000001 ), NULL, HFILL }},
12729         { &hf_lsarpc_lsa_ServerRole_role,
12730                 { "Role", "lsarpc.lsa_ServerRole.role", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_PolicyServerRole_vals), 0, NULL, HFILL }},
12731         { &hf_lsarpc_lsa_SetDomainInformationPolicy_handle,
12732                 { "Handle", "lsarpc.lsa_SetDomainInformationPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12733         { &hf_lsarpc_lsa_SetDomainInformationPolicy_info,
12734                 { "Info", "lsarpc.lsa_SetDomainInformationPolicy.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12735         { &hf_lsarpc_lsa_SetDomainInformationPolicy_level,
12736                 { "Level", "lsarpc.lsa_SetDomainInformationPolicy.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_DomainInfoEnum_vals), 0, NULL, HFILL }},
12737         { &hf_lsarpc_lsa_SetInfoPolicy2_handle,
12738                 { "Handle", "lsarpc.lsa_SetInfoPolicy2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12739         { &hf_lsarpc_lsa_SetInfoPolicy2_info,
12740                 { "Info", "lsarpc.lsa_SetInfoPolicy2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12741         { &hf_lsarpc_lsa_SetInfoPolicy2_level,
12742                 { "Level", "lsarpc.lsa_SetInfoPolicy2.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_PolicyInfo_vals), 0, NULL, HFILL }},
12743         { &hf_lsarpc_lsa_SetInfoPolicy_handle,
12744                 { "Handle", "lsarpc.lsa_SetInfoPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12745         { &hf_lsarpc_lsa_SetInfoPolicy_info,
12746                 { "Info", "lsarpc.lsa_SetInfoPolicy.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12747         { &hf_lsarpc_lsa_SetInfoPolicy_level,
12748                 { "Level", "lsarpc.lsa_SetInfoPolicy.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_PolicyInfo_vals), 0, NULL, HFILL }},
12749         { &hf_lsarpc_lsa_SetSecret_new_val,
12750                 { "New Val", "lsarpc.lsa_SetSecret.new_val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12751         { &hf_lsarpc_lsa_SetSecret_old_val,
12752                 { "Old Val", "lsarpc.lsa_SetSecret.old_val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12753         { &hf_lsarpc_lsa_SetSecret_sec_handle,
12754                 { "Sec Handle", "lsarpc.lsa_SetSecret.sec_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12755         { &hf_lsarpc_lsa_SetTrustedDomainInfoByName_handle,
12756                 { "Handle", "lsarpc.lsa_SetTrustedDomainInfoByName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12757         { &hf_lsarpc_lsa_SetTrustedDomainInfoByName_info,
12758                 { "Info", "lsarpc.lsa_SetTrustedDomainInfoByName.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12759         { &hf_lsarpc_lsa_SetTrustedDomainInfoByName_level,
12760                 { "Level", "lsarpc.lsa_SetTrustedDomainInfoByName.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
12761         { &hf_lsarpc_lsa_SetTrustedDomainInfoByName_trusted_domain,
12762                 { "Trusted Domain", "lsarpc.lsa_SetTrustedDomainInfoByName.trusted_domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12763         { &hf_lsarpc_lsa_SidArray_num_sids,
12764                 { "Num Sids", "lsarpc.lsa_SidArray.num_sids", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12765         { &hf_lsarpc_lsa_SidArray_sids,
12766                 { "Sids", "lsarpc.lsa_SidArray.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12767         { &hf_lsarpc_lsa_SidPtr_sid,
12768                 { "Sid", "lsarpc.lsa_SidPtr.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12769         { &hf_lsarpc_lsa_StringLarge_length,
12770                 { "Length", "lsarpc.lsa_StringLarge.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12771         { &hf_lsarpc_lsa_StringLarge_size,
12772                 { "Size", "lsarpc.lsa_StringLarge.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12773         { &hf_lsarpc_lsa_StringLarge_string,
12774                 { "String", "lsarpc.lsa_StringLarge.string", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12775         { &hf_lsarpc_lsa_StringPointer_string,
12776                 { "String", "lsarpc.lsa_StringPointer.string", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12777         { &hf_lsarpc_lsa_String_length,
12778                 { "Length", "lsarpc.lsa_String.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12779         { &hf_lsarpc_lsa_String_size,
12780                 { "Size", "lsarpc.lsa_String.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12781         { &hf_lsarpc_lsa_String_string,
12782                 { "String", "lsarpc.lsa_String.string", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12783         { &hf_lsarpc_lsa_Strings_count,
12784                 { "Count", "lsarpc.lsa_Strings.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12785         { &hf_lsarpc_lsa_Strings_names,
12786                 { "Names", "lsarpc.lsa_Strings.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12787         { &hf_lsarpc_lsa_TransNameArray2_count,
12788                 { "Count", "lsarpc.lsa_TransNameArray2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12789         { &hf_lsarpc_lsa_TransNameArray2_names,
12790                 { "Names", "lsarpc.lsa_TransNameArray2.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12791         { &hf_lsarpc_lsa_TransNameArray_count,
12792                 { "Count", "lsarpc.lsa_TransNameArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12793         { &hf_lsarpc_lsa_TransNameArray_names,
12794                 { "Names", "lsarpc.lsa_TransNameArray.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12795         { &hf_lsarpc_lsa_TransSidArray2_count,
12796                 { "Count", "lsarpc.lsa_TransSidArray2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12797         { &hf_lsarpc_lsa_TransSidArray2_sids,
12798                 { "Sids", "lsarpc.lsa_TransSidArray2.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12799         { &hf_lsarpc_lsa_TransSidArray3_count,
12800                 { "Count", "lsarpc.lsa_TransSidArray3.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12801         { &hf_lsarpc_lsa_TransSidArray3_sids,
12802                 { "Sids", "lsarpc.lsa_TransSidArray3.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12803         { &hf_lsarpc_lsa_TransSidArray_count,
12804                 { "Count", "lsarpc.lsa_TransSidArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12805         { &hf_lsarpc_lsa_TransSidArray_sids,
12806                 { "Sids", "lsarpc.lsa_TransSidArray.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12807         { &hf_lsarpc_lsa_TranslatedName2_name,
12808                 { "Name", "lsarpc.lsa_TranslatedName2.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12809         { &hf_lsarpc_lsa_TranslatedName2_sid_index,
12810                 { "Sid Index", "lsarpc.lsa_TranslatedName2.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12811         { &hf_lsarpc_lsa_TranslatedName2_sid_type,
12812                 { "Sid Type", "lsarpc.lsa_TranslatedName2.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
12813         { &hf_lsarpc_lsa_TranslatedName2_unknown,
12814                 { "Unknown", "lsarpc.lsa_TranslatedName2.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12815         { &hf_lsarpc_lsa_TranslatedName_name,
12816                 { "Name", "lsarpc.lsa_TranslatedName.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12817         { &hf_lsarpc_lsa_TranslatedName_sid_index,
12818                 { "Sid Index", "lsarpc.lsa_TranslatedName.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12819         { &hf_lsarpc_lsa_TranslatedName_sid_type,
12820                 { "Sid Type", "lsarpc.lsa_TranslatedName.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
12821         { &hf_lsarpc_lsa_TranslatedSid2_rid,
12822                 { "Rid", "lsarpc.lsa_TranslatedSid2.rid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12823         { &hf_lsarpc_lsa_TranslatedSid2_sid_index,
12824                 { "Sid Index", "lsarpc.lsa_TranslatedSid2.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12825         { &hf_lsarpc_lsa_TranslatedSid2_sid_type,
12826                 { "Sid Type", "lsarpc.lsa_TranslatedSid2.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
12827         { &hf_lsarpc_lsa_TranslatedSid2_unknown,
12828                 { "Unknown", "lsarpc.lsa_TranslatedSid2.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12829         { &hf_lsarpc_lsa_TranslatedSid3_sid,
12830                 { "Sid", "lsarpc.lsa_TranslatedSid3.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12831         { &hf_lsarpc_lsa_TranslatedSid3_sid_index,
12832                 { "Sid Index", "lsarpc.lsa_TranslatedSid3.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12833         { &hf_lsarpc_lsa_TranslatedSid3_sid_type,
12834                 { "Sid Type", "lsarpc.lsa_TranslatedSid3.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
12835         { &hf_lsarpc_lsa_TranslatedSid3_unknown,
12836                 { "Unknown", "lsarpc.lsa_TranslatedSid3.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12837         { &hf_lsarpc_lsa_TranslatedSid_rid,
12838                 { "Rid", "lsarpc.lsa_TranslatedSid.rid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12839         { &hf_lsarpc_lsa_TranslatedSid_sid_index,
12840                 { "Sid Index", "lsarpc.lsa_TranslatedSid.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12841         { &hf_lsarpc_lsa_TranslatedSid_sid_type,
12842                 { "Sid Type", "lsarpc.lsa_TranslatedSid.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
12843         { &hf_lsarpc_lsa_TrustDomainInfo11_data1,
12844                 { "Data1", "lsarpc.lsa_TrustDomainInfo11.data1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12845         { &hf_lsarpc_lsa_TrustDomainInfo11_info_ex,
12846                 { "Info Ex", "lsarpc.lsa_TrustDomainInfo11.info_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12847         { &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_count,
12848                 { "Incoming Count", "lsarpc.lsa_TrustDomainInfoAuthInfo.incoming_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12849         { &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info,
12850                 { "Incoming Current Auth Info", "lsarpc.lsa_TrustDomainInfoAuthInfo.incoming_current_auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12851         { &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info,
12852                 { "Incoming Previous Auth Info", "lsarpc.lsa_TrustDomainInfoAuthInfo.incoming_previous_auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12853         { &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_count,
12854                 { "Outgoing Count", "lsarpc.lsa_TrustDomainInfoAuthInfo.outgoing_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12855         { &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info,
12856                 { "Outgoing Current Auth Info", "lsarpc.lsa_TrustDomainInfoAuthInfo.outgoing_current_auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12857         { &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info,
12858                 { "Outgoing Previous Auth Info", "lsarpc.lsa_TrustDomainInfoAuthInfo.outgoing_previous_auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12859         { &hf_lsarpc_lsa_TrustDomainInfoBasic_netbios_name,
12860                 { "Netbios Name", "lsarpc.lsa_TrustDomainInfoBasic.netbios_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12861         { &hf_lsarpc_lsa_TrustDomainInfoBasic_sid,
12862                 { "Sid", "lsarpc.lsa_TrustDomainInfoBasic.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12863         { &hf_lsarpc_lsa_TrustDomainInfoBuffer_data,
12864                 { "Data", "lsarpc.lsa_TrustDomainInfoBuffer.data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12865         { &hf_lsarpc_lsa_TrustDomainInfoBuffer_last_update_time,
12866                 { "Last Update Time", "lsarpc.lsa_TrustDomainInfoBuffer.last_update_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
12867         { &hf_lsarpc_lsa_TrustDomainInfoBuffer_secret_type,
12868                 { "Secret Type", "lsarpc.lsa_TrustDomainInfoBuffer.secret_type", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12869         { &hf_lsarpc_lsa_TrustDomainInfoFullInfo_auth_info,
12870                 { "Auth Info", "lsarpc.lsa_TrustDomainInfoFullInfo.auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12871         { &hf_lsarpc_lsa_TrustDomainInfoFullInfo_info_ex,
12872                 { "Info Ex", "lsarpc.lsa_TrustDomainInfoFullInfo.info_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12873         { &hf_lsarpc_lsa_TrustDomainInfoFullInfo_posix_offset,
12874                 { "Posix Offset", "lsarpc.lsa_TrustDomainInfoFullInfo.posix_offset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12875         { &hf_lsarpc_lsa_TrustDomainInfoInfoAll_auth_info,
12876                 { "Auth Info", "lsarpc.lsa_TrustDomainInfoInfoAll.auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12877         { &hf_lsarpc_lsa_TrustDomainInfoInfoAll_data1,
12878                 { "Data1", "lsarpc.lsa_TrustDomainInfoInfoAll.data1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12879         { &hf_lsarpc_lsa_TrustDomainInfoInfoAll_info_ex,
12880                 { "Info Ex", "lsarpc.lsa_TrustDomainInfoInfoAll.info_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12881         { &hf_lsarpc_lsa_TrustDomainInfoInfoAll_posix_offset,
12882                 { "Posix Offset", "lsarpc.lsa_TrustDomainInfoInfoAll.posix_offset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12883         { &hf_lsarpc_lsa_TrustDomainInfoInfoEx_domain_name,
12884                 { "Domain Name", "lsarpc.lsa_TrustDomainInfoInfoEx.domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12885         { &hf_lsarpc_lsa_TrustDomainInfoInfoEx_netbios_name,
12886                 { "Netbios Name", "lsarpc.lsa_TrustDomainInfoInfoEx.netbios_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12887         { &hf_lsarpc_lsa_TrustDomainInfoInfoEx_sid,
12888                 { "Sid", "lsarpc.lsa_TrustDomainInfoInfoEx.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12889         { &hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_attributes,
12890                 { "Trust Attributes", "lsarpc.lsa_TrustDomainInfoInfoEx.trust_attributes", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12891         { &hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_direction,
12892                 { "Trust Direction", "lsarpc.lsa_TrustDomainInfoInfoEx.trust_direction", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12893         { &hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_type,
12894                 { "Trust Type", "lsarpc.lsa_TrustDomainInfoInfoEx.trust_type", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12895         { &hf_lsarpc_lsa_TrustDomainInfoName_netbios_name,
12896                 { "Netbios Name", "lsarpc.lsa_TrustDomainInfoName.netbios_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12897         { &hf_lsarpc_lsa_TrustDomainInfoPassword_old_password,
12898                 { "Old Password", "lsarpc.lsa_TrustDomainInfoPassword.old_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12899         { &hf_lsarpc_lsa_TrustDomainInfoPassword_password,
12900                 { "Password", "lsarpc.lsa_TrustDomainInfoPassword.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12901         { &hf_lsarpc_lsa_TrustDomainInfoPosixOffset_posix_offset,
12902                 { "Posix Offset", "lsarpc.lsa_TrustDomainInfoPosixOffset.posix_offset", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12903         { &hf_lsarpc_lsa_TrustedDomainInfo_auth_info,
12904                 { "Auth Info", "lsarpc.lsa_TrustedDomainInfo.auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12905         { &hf_lsarpc_lsa_TrustedDomainInfo_full_info,
12906                 { "Full Info", "lsarpc.lsa_TrustedDomainInfo.full_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12907         { &hf_lsarpc_lsa_TrustedDomainInfo_info11,
12908                 { "Info11", "lsarpc.lsa_TrustedDomainInfo.info11", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12909         { &hf_lsarpc_lsa_TrustedDomainInfo_info_all,
12910                 { "Info All", "lsarpc.lsa_TrustedDomainInfo.info_all", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12911         { &hf_lsarpc_lsa_TrustedDomainInfo_info_basic,
12912                 { "Info Basic", "lsarpc.lsa_TrustedDomainInfo.info_basic", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12913         { &hf_lsarpc_lsa_TrustedDomainInfo_info_ex,
12914                 { "Info Ex", "lsarpc.lsa_TrustedDomainInfo.info_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12915         { &hf_lsarpc_lsa_TrustedDomainInfo_name,
12916                 { "Name", "lsarpc.lsa_TrustedDomainInfo.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12917         { &hf_lsarpc_lsa_TrustedDomainInfo_password,
12918                 { "Password", "lsarpc.lsa_TrustedDomainInfo.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12919         { &hf_lsarpc_lsa_TrustedDomainInfo_posix_offset,
12920                 { "Posix Offset", "lsarpc.lsa_TrustedDomainInfo.posix_offset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12921         { &hf_lsarpc_lsa_lsaRQueryForestTrustInformation_forest_trust_info,
12922                 { "Forest Trust Info", "lsarpc.lsa_lsaRQueryForestTrustInformation.forest_trust_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12923         { &hf_lsarpc_lsa_lsaRQueryForestTrustInformation_handle,
12924                 { "Handle", "lsarpc.lsa_lsaRQueryForestTrustInformation.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
12925         { &hf_lsarpc_lsa_lsaRQueryForestTrustInformation_trusted_domain_name,
12926                 { "Trusted Domain Name", "lsarpc.lsa_lsaRQueryForestTrustInformation.trusted_domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12927         { &hf_lsarpc_lsa_lsaRQueryForestTrustInformation_unknown,
12928                 { "Unknown", "lsarpc.lsa_lsaRQueryForestTrustInformation.unknown", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12929         { &hf_lsarpc_names,
12930                 { "Names", "lsarpc.lookup.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
12931         { &hf_lsarpc_opnum,
12932                 { "Operation", "lsarpc.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
12933         { &hf_lsarpc_policy_access_mask,
12934                 { "Access Mask", "lsarpc.policy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12935         { &hf_lsarpc_sec_desc_buf_len,
12936                 { "Sec Desc Buf Len", "lsarpc.sec_desc_buf_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
12937         { &hf_lsarpc_secret_access_mask,
12938                 { "Access Mask", "lsarpc.policy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
12939         { &hf_lsarpc_status,
12940                 { "NT Error", "lsarpc.status", FT_UINT32, BASE_HEX, VALS(NT_errors), 0, NULL, HFILL }},
12941         };
12942
12943
12944         static gint *ett[] = {
12945                 &ett_lsarpc_names,
12946                 &ett_dcerpc_lsarpc,
12947                 &ett_lsarpc_lsa_PolicyAccessMask,
12948                 &ett_lsarpc_lsa_AccountAccessMask,
12949                 &ett_lsarpc_lsa_DomainAccessMask,
12950                 &ett_lsarpc_lsa_SecretAccessMask,
12951                 &ett_lsarpc_security_secinfo,
12952                 &ett_lsarpc_lsa_String,
12953                 &ett_lsarpc_lsa_StringLarge,
12954                 &ett_lsarpc_lsa_Strings,
12955                 &ett_lsarpc_lsa_AsciiString,
12956                 &ett_lsarpc_lsa_AsciiStringLarge,
12957                 &ett_lsarpc_lsa_LUID,
12958                 &ett_lsarpc_lsa_PrivEntry,
12959                 &ett_lsarpc_lsa_PrivArray,
12960                 &ett_lsarpc_lsa_QosInfo,
12961                 &ett_lsarpc_lsa_ObjectAttribute,
12962                 &ett_lsarpc_lsa_AuditLogInfo,
12963                 &ett_lsarpc_lsa_AuditEventsInfo,
12964                 &ett_lsarpc_lsa_DomainInfo,
12965                 &ett_lsarpc_lsa_PDAccountInfo,
12966                 &ett_lsarpc_lsa_ServerRole,
12967                 &ett_lsarpc_lsa_ReplicaSourceInfo,
12968                 &ett_lsarpc_lsa_DefaultQuotaInfo,
12969                 &ett_lsarpc_lsa_ModificationInfo,
12970                 &ett_lsarpc_lsa_AuditFullSetInfo,
12971                 &ett_lsarpc_lsa_AuditFullQueryInfo,
12972                 &ett_lsarpc_lsa_DnsDomainInfo,
12973                 &ett_lsarpc_lsa_PolicyInformation,
12974                 &ett_lsarpc_lsa_SidPtr,
12975                 &ett_lsarpc_lsa_SidArray,
12976                 &ett_lsarpc_lsa_DomainList,
12977                 &ett_lsarpc_lsa_TranslatedSid,
12978                 &ett_lsarpc_lsa_TransSidArray,
12979                 &ett_lsarpc_lsa_RefDomainList,
12980                 &ett_lsarpc_lsa_TranslatedName,
12981                 &ett_lsarpc_lsa_TransNameArray,
12982                 &ett_lsarpc_lsa_LUIDAttribute,
12983                 &ett_lsarpc_lsa_PrivilegeSet,
12984                 &ett_lsarpc_lsa_DATA_BUF,
12985                 &ett_lsarpc_lsa_DATA_BUF2,
12986                 &ett_lsarpc_lsa_TrustDomainInfoName,
12987                 &ett_lsarpc_lsa_TrustDomainInfoPosixOffset,
12988                 &ett_lsarpc_lsa_TrustDomainInfoPassword,
12989                 &ett_lsarpc_lsa_TrustDomainInfoBasic,
12990                 &ett_lsarpc_lsa_TrustDomainInfoInfoEx,
12991                 &ett_lsarpc_lsa_TrustDomainInfoBuffer,
12992                 &ett_lsarpc_lsa_TrustDomainInfoAuthInfo,
12993                 &ett_lsarpc_lsa_TrustDomainInfoFullInfo,
12994                 &ett_lsarpc_lsa_TrustDomainInfo11,
12995                 &ett_lsarpc_lsa_TrustDomainInfoInfoAll,
12996                 &ett_lsarpc_lsa_TrustedDomainInfo,
12997                 &ett_lsarpc_lsa_DATA_BUF_PTR,
12998                 &ett_lsarpc_lsa_RightAttribute,
12999                 &ett_lsarpc_lsa_RightSet,
13000                 &ett_lsarpc_lsa_StringPointer,
13001                 &ett_lsarpc_lsa_DomainListEx,
13002                 &ett_lsarpc_lsa_DomainInfoKerberos,
13003                 &ett_lsarpc_lsa_DomainInfoEfs,
13004                 &ett_lsarpc_lsa_DomainInformationPolicy,
13005                 &ett_lsarpc_lsa_TranslatedName2,
13006                 &ett_lsarpc_lsa_TransNameArray2,
13007                 &ett_lsarpc_lsa_TranslatedSid2,
13008                 &ett_lsarpc_lsa_TransSidArray2,
13009                 &ett_lsarpc_lsa_TranslatedSid3,
13010                 &ett_lsarpc_lsa_TransSidArray3,
13011                 &ett_lsarpc_lsa_ForestTrustBinaryData,
13012                 &ett_lsarpc_lsa_ForestTrustDomainInfo,
13013                 &ett_lsarpc_lsa_ForestTrustData,
13014                 &ett_lsarpc_lsa_ForestTrustRecord,
13015                 &ett_lsarpc_lsa_ForestTrustInformation,
13016         };
13017
13018         proto_dcerpc_lsarpc = proto_register_protocol("Local Security Authority", "LSARPC", "lsarpc");
13019         proto_register_field_array(proto_dcerpc_lsarpc, hf, array_length (hf));
13020         proto_register_subtree_array(ett, array_length(ett));
13021 }
13022
13023 void proto_reg_handoff_dcerpc_lsarpc(void)
13024 {
13025         dcerpc_init_uuid(proto_dcerpc_lsarpc, ett_dcerpc_lsarpc,
13026                 &uuid_dcerpc_lsarpc, ver_dcerpc_lsarpc,
13027                 lsarpc_dissectors, hf_lsarpc_opnum);
13028 }