/* DO NOT EDIT
	This file was automatically generated by Pidl
	from lsa.idl and lsa.cnf.

	Pidl is a perl based IDL compiler for DCE/RPC idl files.
	It is maintained by the Samba team, not the Wireshark team.
	Instructions on how to download and install Pidl can be
	found at https://wiki.wireshark.org/Pidl
*/


#include "config.h"
#include <string.h>
#include <wsutil/array.h>
#include <epan/packet.h>
#include <epan/tfs.h>

#include "packet-dcerpc.h"
#include "packet-dcerpc-nt.h"
#include "packet-windows-common.h"
#include "packet-dcerpc-lsa.h"
void proto_register_dcerpc_lsarpc(void);
void proto_reg_handoff_dcerpc_lsarpc(void);

/* Ett declarations */
static int ett_lsarpc_names;
static int ett_dcerpc_lsarpc;
static int ett_lsarpc_security_secinfo;
static int ett_lsarpc_kerb_EncTypes;
static int ett_lsarpc_lsa_String;
static int ett_lsarpc_lsa_StringLarge;
static int ett_lsarpc_lsa_Strings;
static int ett_lsarpc_lsa_AsciiString;
static int ett_lsarpc_lsa_AsciiStringLarge;
static int ett_lsarpc_lsa_BinaryString;
static int ett_lsarpc_lsa_LUID;
static int ett_lsarpc_lsa_PrivEntry;
static int ett_lsarpc_lsa_PrivArray;
static int ett_lsarpc_lsa_QosInfo;
static int ett_lsarpc_lsa_ObjectAttribute;
static int ett_lsarpc_lsa_PolicyAccessMask;
static int ett_lsarpc_lsa_AccountAccessMask;
static int ett_lsarpc_lsa_SecretAccessMask;
static int ett_lsarpc_lsa_TrustedAccessMask;
static int ett_lsarpc_lsa_AuditLogInfo;
static int ett_lsarpc_lsa_AuditEventsInfo;
static int ett_lsarpc_lsa_DomainInfo;
static int ett_lsarpc_lsa_PDAccountInfo;
static int ett_lsarpc_lsa_ServerRole;
static int ett_lsarpc_lsa_ReplicaSourceInfo;
static int ett_lsarpc_lsa_DefaultQuotaInfo;
static int ett_lsarpc_lsa_ModificationInfo;
static int ett_lsarpc_lsa_AuditFullSetInfo;
static int ett_lsarpc_lsa_AuditFullQueryInfo;
static int ett_lsarpc_lsa_DnsDomainInfo;
static int ett_lsarpc_lsa_PolicyInformation;
static int ett_lsarpc_lsa_SidPtr;
static int ett_lsarpc_lsa_SidArray;
static int ett_lsarpc_lsa_DomainList;
static int ett_lsarpc_lsa_TranslatedSid;
static int ett_lsarpc_lsa_TransSidArray;
static int ett_lsarpc_lsa_RefDomainList;
static int ett_lsarpc_lsa_TranslatedName;
static int ett_lsarpc_lsa_TransNameArray;
static int ett_lsarpc_lsa_LUIDAttribute;
static int ett_lsarpc_lsa_PrivilegeSet;
static int ett_lsarpc_lsa_DATA_BUF;
static int ett_lsarpc_lsa_DATA_BUF2;
static int ett_lsarpc_lsa_TrustDirection;
static int ett_lsarpc_lsa_TrustAttributes;
static int ett_lsarpc_lsa_TrustDomainInfoName;
static int ett_lsarpc_lsa_TrustDomainInfoControllers;
static int ett_lsarpc_lsa_TrustDomainInfoPosixOffset;
static int ett_lsarpc_lsa_TrustDomainInfoPassword;
static int ett_lsarpc_lsa_TrustDomainInfoBasic;
static int ett_lsarpc_lsa_TrustDomainInfoInfoEx;
static int ett_lsarpc_lsa_TrustDomainInfoBuffer;
static int ett_lsarpc_lsa_TrustDomainInfoAuthInfo;
static int ett_lsarpc_lsa_TrustDomainInfoFullInfo;
static int ett_lsarpc_lsa_TrustDomainInfoAuthInfoInternal;
static int ett_lsarpc_lsa_TrustDomainInfoFullInfoInternal;
static int ett_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES;
static int ett_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES;
static int ett_lsarpc_lsa_TrustDomainInfoInfoEx2Internal;
static int ett_lsarpc_lsa_TrustDomainInfoFullInfo2Internal;
static int ett_lsarpc_lsa_TrustDomainInfoSupportedEncTypes;
static int ett_lsarpc_lsa_TrustedDomainInfo;
static int ett_lsarpc_lsa_DATA_BUF_PTR;
static int ett_lsarpc_lsa_RightAttribute;
static int ett_lsarpc_lsa_RightSet;
static int ett_lsarpc_lsa_DomainListEx;
static int ett_lsarpc_lsa_DomainInfoQoS;
static int ett_lsarpc_lsa_krbAuthenticationOptions;
static int ett_lsarpc_lsa_DomainInfoKerberos;
static int ett_lsarpc_lsa_DomainInfoEfs;
static int ett_lsarpc_lsa_DomainInformationPolicy;
static int ett_lsarpc_lsa_TranslatedName2;
static int ett_lsarpc_lsa_TransNameArray2;
static int ett_lsarpc_lsa_TranslatedSid2;
static int ett_lsarpc_lsa_TransSidArray2;
static int ett_lsarpc_lsa_TranslatedSid3;
static int ett_lsarpc_lsa_TransSidArray3;
static int ett_lsarpc_lsa_ForestTrustRecordFlags;
static int ett_lsarpc_lsa_ForestTrustBinaryData;
static int ett_lsarpc_lsa_ForestTrustDomainInfo;
static int ett_lsarpc_lsa_ForestTrustData;
static int ett_lsarpc_lsa_ForestTrustRecord;
static int ett_lsarpc_lsa_ForestTrustInformation;
static int ett_lsarpc_lsa_ForestTrustCollisionRecord;
static int ett_lsarpc_lsa_ForestTrustCollisionInfo;
static int ett_lsarpc_lsa_RevisionSupportedFeature;
static int ett_lsarpc_lsa_revision_info1;
static int ett_lsarpc_lsa_revision_info;
static int ett_lsarpc_lsa_ForestTrustData2;
static int ett_lsarpc_lsa_ForestTrustRecord2;
static int ett_lsarpc_lsa_ForestTrustInformation2;


/* Header field declarations */
static int hf_lsarpc_String_name;
static int hf_lsarpc_account_access_mask;
static int hf_lsarpc_domain_access_mask;
static int hf_lsarpc_efs_blob_len;
static int hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_PRIVILEGES;
static int hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_QUOTAS;
static int hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS;
static int hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_VIEW;
static int hf_lsarpc_lsa_AddAccountRights_handle;
static int hf_lsarpc_lsa_AddAccountRights_rights;
static int hf_lsarpc_lsa_AddAccountRights_sid;
static int hf_lsarpc_lsa_AddPrivilegesToAccount_handle;
static int hf_lsarpc_lsa_AddPrivilegesToAccount_privs;
static int hf_lsarpc_lsa_AsciiStringLarge_length;
static int hf_lsarpc_lsa_AsciiStringLarge_size;
static int hf_lsarpc_lsa_AsciiStringLarge_string;
static int hf_lsarpc_lsa_AsciiString_length;
static int hf_lsarpc_lsa_AsciiString_size;
static int hf_lsarpc_lsa_AsciiString_string;
static int hf_lsarpc_lsa_AuditEventsInfo_auditing_mode;
static int hf_lsarpc_lsa_AuditEventsInfo_count;
static int hf_lsarpc_lsa_AuditEventsInfo_settings;
static int hf_lsarpc_lsa_AuditFullQueryInfo_log_is_full;
static int hf_lsarpc_lsa_AuditFullQueryInfo_shutdown_on_full;
static int hf_lsarpc_lsa_AuditFullSetInfo_shutdown_on_full;
static int hf_lsarpc_lsa_AuditLogInfo_maximum_log_size;
static int hf_lsarpc_lsa_AuditLogInfo_next_audit_record;
static int hf_lsarpc_lsa_AuditLogInfo_percent_full;
static int hf_lsarpc_lsa_AuditLogInfo_retention_time;
static int hf_lsarpc_lsa_AuditLogInfo_shutdown_in_progress;
static int hf_lsarpc_lsa_AuditLogInfo_time_to_shutdown;
static int hf_lsarpc_lsa_BinaryString_array;
static int hf_lsarpc_lsa_BinaryString_length;
static int hf_lsarpc_lsa_BinaryString_size;
static int hf_lsarpc_lsa_CloseTrustedDomainEx_handle;
static int hf_lsarpc_lsa_Close_handle;
static int hf_lsarpc_lsa_CreateAccount_access_mask;
static int hf_lsarpc_lsa_CreateAccount_acct_handle;
static int hf_lsarpc_lsa_CreateAccount_handle;
static int hf_lsarpc_lsa_CreateAccount_sid;
static int hf_lsarpc_lsa_CreateSecret_access_mask;
static int hf_lsarpc_lsa_CreateSecret_handle;
static int hf_lsarpc_lsa_CreateSecret_name;
static int hf_lsarpc_lsa_CreateSecret_sec_handle;
static int hf_lsarpc_lsa_CreateTrustedDomainEx2_access_mask;
static int hf_lsarpc_lsa_CreateTrustedDomainEx2_auth_info_internal;
static int hf_lsarpc_lsa_CreateTrustedDomainEx2_info;
static int hf_lsarpc_lsa_CreateTrustedDomainEx2_policy_handle;
static int hf_lsarpc_lsa_CreateTrustedDomainEx2_trustdom_handle;
static int hf_lsarpc_lsa_CreateTrustedDomainEx3_access_mask;
static int hf_lsarpc_lsa_CreateTrustedDomainEx3_auth_info_internal;
static int hf_lsarpc_lsa_CreateTrustedDomainEx3_info;
static int hf_lsarpc_lsa_CreateTrustedDomainEx3_policy_handle;
static int hf_lsarpc_lsa_CreateTrustedDomainEx3_trustdom_handle;
static int hf_lsarpc_lsa_CreateTrustedDomainEx_access_mask;
static int hf_lsarpc_lsa_CreateTrustedDomainEx_auth_info;
static int hf_lsarpc_lsa_CreateTrustedDomainEx_info;
static int hf_lsarpc_lsa_CreateTrustedDomainEx_policy_handle;
static int hf_lsarpc_lsa_CreateTrustedDomainEx_trustdom_handle;
static int hf_lsarpc_lsa_CreateTrustedDomain_access_mask;
static int hf_lsarpc_lsa_CreateTrustedDomain_info;
static int hf_lsarpc_lsa_CreateTrustedDomain_policy_handle;
static int hf_lsarpc_lsa_CreateTrustedDomain_trustdom_handle;
static int hf_lsarpc_lsa_DATA_BUF2_data;
static int hf_lsarpc_lsa_DATA_BUF2_size;
static int hf_lsarpc_lsa_DATA_BUF_PTR_buf;
static int hf_lsarpc_lsa_DATA_BUF_data;
static int hf_lsarpc_lsa_DATA_BUF_length;
static int hf_lsarpc_lsa_DATA_BUF_size;
static int hf_lsarpc_lsa_DefaultQuotaInfo_max_wss;
static int hf_lsarpc_lsa_DefaultQuotaInfo_min_wss;
static int hf_lsarpc_lsa_DefaultQuotaInfo_non_paged_pool;
static int hf_lsarpc_lsa_DefaultQuotaInfo_paged_pool;
static int hf_lsarpc_lsa_DefaultQuotaInfo_pagefile;
static int hf_lsarpc_lsa_DefaultQuotaInfo_unknown;
static int hf_lsarpc_lsa_DeleteObject_handle;
static int hf_lsarpc_lsa_DeleteTrustedDomain_dom_sid;
static int hf_lsarpc_lsa_DeleteTrustedDomain_handle;
static int hf_lsarpc_lsa_Delete_handle;
static int hf_lsarpc_lsa_DnsDomainInfo_dns_domain;
static int hf_lsarpc_lsa_DnsDomainInfo_dns_forest;
static int hf_lsarpc_lsa_DnsDomainInfo_domain_guid;
static int hf_lsarpc_lsa_DnsDomainInfo_name;
static int hf_lsarpc_lsa_DnsDomainInfo_sid;
static int hf_lsarpc_lsa_DomainInfoEfs_blob_size;
static int hf_lsarpc_lsa_DomainInfoEfs_efs_blob;
static int hf_lsarpc_lsa_DomainInfoKerberos_authentication_options;
static int hf_lsarpc_lsa_DomainInfoKerberos_clock_skew;
static int hf_lsarpc_lsa_DomainInfoKerberos_reserved;
static int hf_lsarpc_lsa_DomainInfoKerberos_service_tkt_lifetime;
static int hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_lifetime;
static int hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_renewaltime;
static int hf_lsarpc_lsa_DomainInfoQoS_quality_of_service;
static int hf_lsarpc_lsa_DomainInfo_name;
static int hf_lsarpc_lsa_DomainInfo_sid;
static int hf_lsarpc_lsa_DomainInformationPolicy_efs_info;
static int hf_lsarpc_lsa_DomainInformationPolicy_kerberos_info;
static int hf_lsarpc_lsa_DomainInformationPolicy_qos_info;
static int hf_lsarpc_lsa_DomainListEx_count;
static int hf_lsarpc_lsa_DomainListEx_domains;
static int hf_lsarpc_lsa_DomainList_count;
static int hf_lsarpc_lsa_DomainList_domains;
static int hf_lsarpc_lsa_EnumAccountRights_handle;
static int hf_lsarpc_lsa_EnumAccountRights_rights;
static int hf_lsarpc_lsa_EnumAccountRights_sid;
static int hf_lsarpc_lsa_EnumAccountsWithUserRight_handle;
static int hf_lsarpc_lsa_EnumAccountsWithUserRight_name;
static int hf_lsarpc_lsa_EnumAccountsWithUserRight_sids;
static int hf_lsarpc_lsa_EnumAccounts_handle;
static int hf_lsarpc_lsa_EnumAccounts_num_entries;
static int hf_lsarpc_lsa_EnumAccounts_resume_handle;
static int hf_lsarpc_lsa_EnumAccounts_sids;
static int hf_lsarpc_lsa_EnumPrivsAccount_handle;
static int hf_lsarpc_lsa_EnumPrivsAccount_privs;
static int hf_lsarpc_lsa_EnumPrivs_handle;
static int hf_lsarpc_lsa_EnumPrivs_max_count;
static int hf_lsarpc_lsa_EnumPrivs_privs;
static int hf_lsarpc_lsa_EnumPrivs_resume_handle;
static int hf_lsarpc_lsa_EnumTrustDom_domains;
static int hf_lsarpc_lsa_EnumTrustDom_handle;
static int hf_lsarpc_lsa_EnumTrustDom_max_size;
static int hf_lsarpc_lsa_EnumTrustDom_resume_handle;
static int hf_lsarpc_lsa_EnumTrustedDomainsEx_domains;
static int hf_lsarpc_lsa_EnumTrustedDomainsEx_handle;
static int hf_lsarpc_lsa_EnumTrustedDomainsEx_max_size;
static int hf_lsarpc_lsa_EnumTrustedDomainsEx_resume_handle;
static int hf_lsarpc_lsa_ForestTrustBinaryData_data;
static int hf_lsarpc_lsa_ForestTrustBinaryData_length;
static int hf_lsarpc_lsa_ForestTrustCollisionInfo_count;
static int hf_lsarpc_lsa_ForestTrustCollisionInfo_entries;
static int hf_lsarpc_lsa_ForestTrustCollisionRecord_flags;
static int hf_lsarpc_lsa_ForestTrustCollisionRecord_index;
static int hf_lsarpc_lsa_ForestTrustCollisionRecord_name;
static int hf_lsarpc_lsa_ForestTrustCollisionRecord_type;
static int hf_lsarpc_lsa_ForestTrustData2_data;
static int hf_lsarpc_lsa_ForestTrustData2_domain_info;
static int hf_lsarpc_lsa_ForestTrustData2_scanner_info;
static int hf_lsarpc_lsa_ForestTrustData2_top_level_name;
static int hf_lsarpc_lsa_ForestTrustData2_top_level_name_ex;
static int hf_lsarpc_lsa_ForestTrustData_data;
static int hf_lsarpc_lsa_ForestTrustData_domain_info;
static int hf_lsarpc_lsa_ForestTrustData_top_level_name;
static int hf_lsarpc_lsa_ForestTrustData_top_level_name_ex;
static int hf_lsarpc_lsa_ForestTrustDomainInfo_dns_domain_name;
static int hf_lsarpc_lsa_ForestTrustDomainInfo_domain_sid;
static int hf_lsarpc_lsa_ForestTrustDomainInfo_netbios_domain_name;
static int hf_lsarpc_lsa_ForestTrustInformation2_count;
static int hf_lsarpc_lsa_ForestTrustInformation2_entries;
static int hf_lsarpc_lsa_ForestTrustInformation_count;
static int hf_lsarpc_lsa_ForestTrustInformation_entries;
static int hf_lsarpc_lsa_ForestTrustRecord2_flags;
static int hf_lsarpc_lsa_ForestTrustRecord2_forest_trust_data;
static int hf_lsarpc_lsa_ForestTrustRecord2_time;
static int hf_lsarpc_lsa_ForestTrustRecord2_type;
static int hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_ADMIN;
static int hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_CONFLICT;
static int hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_ADMIN;
static int hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_CONFLICT;
static int hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_ADMIN;
static int hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_CONFLICT;
static int hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_NEW;
static int hf_lsarpc_lsa_ForestTrustRecord_flags;
static int hf_lsarpc_lsa_ForestTrustRecord_forest_trust_data;
static int hf_lsarpc_lsa_ForestTrustRecord_time;
static int hf_lsarpc_lsa_ForestTrustRecord_type;
static int hf_lsarpc_lsa_GetSystemAccessAccount_access_mask;
static int hf_lsarpc_lsa_GetSystemAccessAccount_handle;
static int hf_lsarpc_lsa_GetUserName_account_name;
static int hf_lsarpc_lsa_GetUserName_authority_name;
static int hf_lsarpc_lsa_GetUserName_system_name;
static int hf_lsarpc_lsa_LUIDAttribute_attribute;
static int hf_lsarpc_lsa_LUIDAttribute_luid;
static int hf_lsarpc_lsa_LUID_high;
static int hf_lsarpc_lsa_LUID_low;
static int hf_lsarpc_lsa_LookupNames2_client_revision;
static int hf_lsarpc_lsa_LookupNames2_count;
static int hf_lsarpc_lsa_LookupNames2_domains;
static int hf_lsarpc_lsa_LookupNames2_handle;
static int hf_lsarpc_lsa_LookupNames2_level;
static int hf_lsarpc_lsa_LookupNames2_lookup_options;
static int hf_lsarpc_lsa_LookupNames2_names;
static int hf_lsarpc_lsa_LookupNames2_num_names;
static int hf_lsarpc_lsa_LookupNames2_sids;
static int hf_lsarpc_lsa_LookupNames3_client_revision;
static int hf_lsarpc_lsa_LookupNames3_count;
static int hf_lsarpc_lsa_LookupNames3_domains;
static int hf_lsarpc_lsa_LookupNames3_handle;
static int hf_lsarpc_lsa_LookupNames3_level;
static int hf_lsarpc_lsa_LookupNames3_lookup_options;
static int hf_lsarpc_lsa_LookupNames3_names;
static int hf_lsarpc_lsa_LookupNames3_num_names;
static int hf_lsarpc_lsa_LookupNames3_sids;
static int hf_lsarpc_lsa_LookupNames4_client_revision;
static int hf_lsarpc_lsa_LookupNames4_count;
static int hf_lsarpc_lsa_LookupNames4_domains;
static int hf_lsarpc_lsa_LookupNames4_level;
static int hf_lsarpc_lsa_LookupNames4_lookup_options;
static int hf_lsarpc_lsa_LookupNames4_names;
static int hf_lsarpc_lsa_LookupNames4_num_names;
static int hf_lsarpc_lsa_LookupNames4_sids;
static int hf_lsarpc_lsa_LookupNames_count;
static int hf_lsarpc_lsa_LookupNames_domains;
static int hf_lsarpc_lsa_LookupNames_handle;
static int hf_lsarpc_lsa_LookupNames_level;
static int hf_lsarpc_lsa_LookupNames_names;
static int hf_lsarpc_lsa_LookupNames_num_names;
static int hf_lsarpc_lsa_LookupNames_sids;
static int hf_lsarpc_lsa_LookupPrivDisplayName_disp_name;
static int hf_lsarpc_lsa_LookupPrivDisplayName_handle;
static int hf_lsarpc_lsa_LookupPrivDisplayName_language_id;
static int hf_lsarpc_lsa_LookupPrivDisplayName_language_id_sys;
static int hf_lsarpc_lsa_LookupPrivDisplayName_name;
static int hf_lsarpc_lsa_LookupPrivDisplayName_returned_language_id;
static int hf_lsarpc_lsa_LookupPrivName_handle;
static int hf_lsarpc_lsa_LookupPrivName_luid;
static int hf_lsarpc_lsa_LookupPrivName_name;
static int hf_lsarpc_lsa_LookupPrivValue_handle;
static int hf_lsarpc_lsa_LookupPrivValue_luid;
static int hf_lsarpc_lsa_LookupPrivValue_name;
static int hf_lsarpc_lsa_LookupSids2_client_revision;
static int hf_lsarpc_lsa_LookupSids2_count;
static int hf_lsarpc_lsa_LookupSids2_domains;
static int hf_lsarpc_lsa_LookupSids2_handle;
static int hf_lsarpc_lsa_LookupSids2_level;
static int hf_lsarpc_lsa_LookupSids2_lookup_options;
static int hf_lsarpc_lsa_LookupSids2_names;
static int hf_lsarpc_lsa_LookupSids2_sids;
static int hf_lsarpc_lsa_LookupSids3_client_revision;
static int hf_lsarpc_lsa_LookupSids3_count;
static int hf_lsarpc_lsa_LookupSids3_domains;
static int hf_lsarpc_lsa_LookupSids3_level;
static int hf_lsarpc_lsa_LookupSids3_lookup_options;
static int hf_lsarpc_lsa_LookupSids3_names;
static int hf_lsarpc_lsa_LookupSids3_sids;
static int hf_lsarpc_lsa_LookupSids_count;
static int hf_lsarpc_lsa_LookupSids_domains;
static int hf_lsarpc_lsa_LookupSids_handle;
static int hf_lsarpc_lsa_LookupSids_level;
static int hf_lsarpc_lsa_LookupSids_names;
static int hf_lsarpc_lsa_LookupSids_sids;
static int hf_lsarpc_lsa_ModificationInfo_db_create_time;
static int hf_lsarpc_lsa_ModificationInfo_modified_id;
static int hf_lsarpc_lsa_ObjectAttribute_attributes;
static int hf_lsarpc_lsa_ObjectAttribute_len;
static int hf_lsarpc_lsa_ObjectAttribute_object_name;
static int hf_lsarpc_lsa_ObjectAttribute_root_dir;
static int hf_lsarpc_lsa_ObjectAttribute_sec_desc;
static int hf_lsarpc_lsa_ObjectAttribute_sec_qos;
static int hf_lsarpc_lsa_OpenAccount_access_mask;
static int hf_lsarpc_lsa_OpenAccount_acct_handle;
static int hf_lsarpc_lsa_OpenAccount_handle;
static int hf_lsarpc_lsa_OpenAccount_sid;
static int hf_lsarpc_lsa_OpenPolicy2_access_mask;
static int hf_lsarpc_lsa_OpenPolicy2_attr;
static int hf_lsarpc_lsa_OpenPolicy2_handle;
static int hf_lsarpc_lsa_OpenPolicy2_system_name;
static int hf_lsarpc_lsa_OpenPolicy3_access_mask;
static int hf_lsarpc_lsa_OpenPolicy3_attr;
static int hf_lsarpc_lsa_OpenPolicy3_handle;
static int hf_lsarpc_lsa_OpenPolicy3_in_revision_info;
static int hf_lsarpc_lsa_OpenPolicy3_in_version;
static int hf_lsarpc_lsa_OpenPolicy3_out_revision_info;
static int hf_lsarpc_lsa_OpenPolicy3_out_version;
static int hf_lsarpc_lsa_OpenPolicy3_system_name;
static int hf_lsarpc_lsa_OpenPolicy_access_mask;
static int hf_lsarpc_lsa_OpenPolicy_attr;
static int hf_lsarpc_lsa_OpenPolicy_handle;
static int hf_lsarpc_lsa_OpenPolicy_system_name;
static int hf_lsarpc_lsa_OpenSecret_access_mask;
static int hf_lsarpc_lsa_OpenSecret_handle;
static int hf_lsarpc_lsa_OpenSecret_name;
static int hf_lsarpc_lsa_OpenSecret_sec_handle;
static int hf_lsarpc_lsa_OpenTrustedDomainByName_access_mask;
static int hf_lsarpc_lsa_OpenTrustedDomainByName_handle;
static int hf_lsarpc_lsa_OpenTrustedDomainByName_name;
static int hf_lsarpc_lsa_OpenTrustedDomainByName_trustdom_handle;
static int hf_lsarpc_lsa_OpenTrustedDomain_access_mask;
static int hf_lsarpc_lsa_OpenTrustedDomain_handle;
static int hf_lsarpc_lsa_OpenTrustedDomain_sid;
static int hf_lsarpc_lsa_OpenTrustedDomain_trustdom_handle;
static int hf_lsarpc_lsa_PDAccountInfo_name;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_AUDIT_LOG_ADMIN;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_ACCOUNT;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_PRIVILEGE;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_SECRET;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_GET_PRIVATE_INFORMATION;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_LOOKUP_NAMES;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SERVER_ADMIN;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_AUDIT_REQUIREMENTS;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_TRUST_ADMIN;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_AUDIT_INFORMATION;
static int hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_LOCAL_INFORMATION;
static int hf_lsarpc_lsa_PolicyInformation_account_domain;
static int hf_lsarpc_lsa_PolicyInformation_audit_events;
static int hf_lsarpc_lsa_PolicyInformation_audit_log;
static int hf_lsarpc_lsa_PolicyInformation_auditfullquery;
static int hf_lsarpc_lsa_PolicyInformation_auditfullset;
static int hf_lsarpc_lsa_PolicyInformation_dns;
static int hf_lsarpc_lsa_PolicyInformation_dns_int;
static int hf_lsarpc_lsa_PolicyInformation_domain;
static int hf_lsarpc_lsa_PolicyInformation_l_account_domain;
static int hf_lsarpc_lsa_PolicyInformation_mod;
static int hf_lsarpc_lsa_PolicyInformation_pd;
static int hf_lsarpc_lsa_PolicyInformation_quota;
static int hf_lsarpc_lsa_PolicyInformation_replica;
static int hf_lsarpc_lsa_PolicyInformation_role;
static int hf_lsarpc_lsa_PrivArray_count;
static int hf_lsarpc_lsa_PrivArray_privs;
static int hf_lsarpc_lsa_PrivEntry_luid;
static int hf_lsarpc_lsa_PrivEntry_name;
static int hf_lsarpc_lsa_PrivilegeSet_count;
static int hf_lsarpc_lsa_PrivilegeSet_set;
static int hf_lsarpc_lsa_PrivilegeSet_unknown;
static int hf_lsarpc_lsa_QosInfo_context_mode;
static int hf_lsarpc_lsa_QosInfo_effective_only;
static int hf_lsarpc_lsa_QosInfo_impersonation_level;
static int hf_lsarpc_lsa_QosInfo_len;
static int hf_lsarpc_lsa_QueryDomainInformationPolicy_handle;
static int hf_lsarpc_lsa_QueryDomainInformationPolicy_info;
static int hf_lsarpc_lsa_QueryDomainInformationPolicy_level;
static int hf_lsarpc_lsa_QueryInfoPolicy2_handle;
static int hf_lsarpc_lsa_QueryInfoPolicy2_info;
static int hf_lsarpc_lsa_QueryInfoPolicy2_level;
static int hf_lsarpc_lsa_QueryInfoPolicy_handle;
static int hf_lsarpc_lsa_QueryInfoPolicy_info;
static int hf_lsarpc_lsa_QueryInfoPolicy_level;
static int hf_lsarpc_lsa_QuerySecret_new_mtime;
static int hf_lsarpc_lsa_QuerySecret_new_val;
static int hf_lsarpc_lsa_QuerySecret_old_mtime;
static int hf_lsarpc_lsa_QuerySecret_old_val;
static int hf_lsarpc_lsa_QuerySecret_sec_handle;
static int hf_lsarpc_lsa_QuerySecurity_handle;
static int hf_lsarpc_lsa_QuerySecurity_sdbuf;
static int hf_lsarpc_lsa_QuerySecurity_sec_info;
static int hf_lsarpc_lsa_QueryTrustedDomainInfoByName_handle;
static int hf_lsarpc_lsa_QueryTrustedDomainInfoByName_info;
static int hf_lsarpc_lsa_QueryTrustedDomainInfoByName_level;
static int hf_lsarpc_lsa_QueryTrustedDomainInfoByName_trusted_domain;
static int hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_dom_sid;
static int hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_handle;
static int hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_info;
static int hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_level;
static int hf_lsarpc_lsa_QueryTrustedDomainInfo_info;
static int hf_lsarpc_lsa_QueryTrustedDomainInfo_level;
static int hf_lsarpc_lsa_QueryTrustedDomainInfo_trustdom_handle;
static int hf_lsarpc_lsa_RefDomainList_count;
static int hf_lsarpc_lsa_RefDomainList_domains;
static int hf_lsarpc_lsa_RefDomainList_max_size;
static int hf_lsarpc_lsa_RemoveAccountRights_handle;
static int hf_lsarpc_lsa_RemoveAccountRights_remove_all;
static int hf_lsarpc_lsa_RemoveAccountRights_rights;
static int hf_lsarpc_lsa_RemoveAccountRights_sid;
static int hf_lsarpc_lsa_RemovePrivilegesFromAccount_handle;
static int hf_lsarpc_lsa_RemovePrivilegesFromAccount_privs;
static int hf_lsarpc_lsa_RemovePrivilegesFromAccount_remove_all;
static int hf_lsarpc_lsa_ReplicaSourceInfo_account;
static int hf_lsarpc_lsa_ReplicaSourceInfo_source;
static int hf_lsarpc_lsa_RetrievePrivateData_handle;
static int hf_lsarpc_lsa_RetrievePrivateData_name;
static int hf_lsarpc_lsa_RetrievePrivateData_val;
static int hf_lsarpc_lsa_RevisionSupportedFeature_LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER;
static int hf_lsarpc_lsa_RightAttribute_name;
static int hf_lsarpc_lsa_RightSet_count;
static int hf_lsarpc_lsa_RightSet_names;
static int hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_QUERY_VALUE;
static int hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_SET_VALUE;
static int hf_lsarpc_lsa_ServerRole_role;
static int hf_lsarpc_lsa_SetDomainInformationPolicy_handle;
static int hf_lsarpc_lsa_SetDomainInformationPolicy_info;
static int hf_lsarpc_lsa_SetDomainInformationPolicy_level;
static int hf_lsarpc_lsa_SetInfoPolicy2_handle;
static int hf_lsarpc_lsa_SetInfoPolicy2_info;
static int hf_lsarpc_lsa_SetInfoPolicy2_level;
static int hf_lsarpc_lsa_SetInfoPolicy_handle;
static int hf_lsarpc_lsa_SetInfoPolicy_info;
static int hf_lsarpc_lsa_SetInfoPolicy_level;
static int hf_lsarpc_lsa_SetInformationTrustedDomain_info;
static int hf_lsarpc_lsa_SetInformationTrustedDomain_level;
static int hf_lsarpc_lsa_SetInformationTrustedDomain_trustdom_handle;
static int hf_lsarpc_lsa_SetSecObj_handle;
static int hf_lsarpc_lsa_SetSecObj_sdbuf;
static int hf_lsarpc_lsa_SetSecObj_sec_info;
static int hf_lsarpc_lsa_SetSecret_new_val;
static int hf_lsarpc_lsa_SetSecret_old_val;
static int hf_lsarpc_lsa_SetSecret_sec_handle;
static int hf_lsarpc_lsa_SetSystemAccessAccount_access_mask;
static int hf_lsarpc_lsa_SetSystemAccessAccount_handle;
static int hf_lsarpc_lsa_SetTrustedDomainInfoByName_handle;
static int hf_lsarpc_lsa_SetTrustedDomainInfoByName_info;
static int hf_lsarpc_lsa_SetTrustedDomainInfoByName_level;
static int hf_lsarpc_lsa_SetTrustedDomainInfoByName_trusted_domain;
static int hf_lsarpc_lsa_SetTrustedDomainInfo_dom_sid;
static int hf_lsarpc_lsa_SetTrustedDomainInfo_handle;
static int hf_lsarpc_lsa_SetTrustedDomainInfo_info;
static int hf_lsarpc_lsa_SetTrustedDomainInfo_level;
static int hf_lsarpc_lsa_SidArray_num_sids;
static int hf_lsarpc_lsa_SidArray_sids;
static int hf_lsarpc_lsa_SidPtr_sid;
static int hf_lsarpc_lsa_StorePrivateData_handle;
static int hf_lsarpc_lsa_StorePrivateData_name;
static int hf_lsarpc_lsa_StorePrivateData_val;
static int hf_lsarpc_lsa_StringLarge_length;
static int hf_lsarpc_lsa_StringLarge_size;
static int hf_lsarpc_lsa_StringLarge_string;
static int hf_lsarpc_lsa_String_length;
static int hf_lsarpc_lsa_String_size;
static int hf_lsarpc_lsa_String_string;
static int hf_lsarpc_lsa_Strings_count;
static int hf_lsarpc_lsa_Strings_names;
static int hf_lsarpc_lsa_TransNameArray2_count;
static int hf_lsarpc_lsa_TransNameArray2_names;
static int hf_lsarpc_lsa_TransNameArray_count;
static int hf_lsarpc_lsa_TransNameArray_names;
static int hf_lsarpc_lsa_TransSidArray2_count;
static int hf_lsarpc_lsa_TransSidArray2_sids;
static int hf_lsarpc_lsa_TransSidArray3_count;
static int hf_lsarpc_lsa_TransSidArray3_sids;
static int hf_lsarpc_lsa_TransSidArray_count;
static int hf_lsarpc_lsa_TransSidArray_sids;
static int hf_lsarpc_lsa_TranslatedName2_name;
static int hf_lsarpc_lsa_TranslatedName2_sid_index;
static int hf_lsarpc_lsa_TranslatedName2_sid_type;
static int hf_lsarpc_lsa_TranslatedName2_unknown;
static int hf_lsarpc_lsa_TranslatedName_name;
static int hf_lsarpc_lsa_TranslatedName_sid_index;
static int hf_lsarpc_lsa_TranslatedName_sid_type;
static int hf_lsarpc_lsa_TranslatedSid2_rid;
static int hf_lsarpc_lsa_TranslatedSid2_sid_index;
static int hf_lsarpc_lsa_TranslatedSid2_sid_type;
static int hf_lsarpc_lsa_TranslatedSid2_unknown;
static int hf_lsarpc_lsa_TranslatedSid3_flags;
static int hf_lsarpc_lsa_TranslatedSid3_sid;
static int hf_lsarpc_lsa_TranslatedSid3_sid_index;
static int hf_lsarpc_lsa_TranslatedSid3_sid_type;
static int hf_lsarpc_lsa_TranslatedSid_rid;
static int hf_lsarpc_lsa_TranslatedSid_sid_index;
static int hf_lsarpc_lsa_TranslatedSid_sid_type;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_PIM_TRUST;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION;
static int hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_WITHIN_FOREST;
static int hf_lsarpc_lsa_TrustDirection_LSA_TRUST_DIRECTION_INBOUND;
static int hf_lsarpc_lsa_TrustDirection_LSA_TRUST_DIRECTION_OUTBOUND;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES_auth_data;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES_cipher;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES_salt;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternal_auth_blob;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_count;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_count;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info;
static int hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info;
static int hf_lsarpc_lsa_TrustDomainInfoBasic_netbios_name;
static int hf_lsarpc_lsa_TrustDomainInfoBasic_sid;
static int hf_lsarpc_lsa_TrustDomainInfoBuffer_AuthType;
static int hf_lsarpc_lsa_TrustDomainInfoBuffer_data;
static int hf_lsarpc_lsa_TrustDomainInfoBuffer_last_update_time;
static int hf_lsarpc_lsa_TrustDomainInfoControllers_entries;
static int hf_lsarpc_lsa_TrustDomainInfoControllers_netbios_names;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfo2Internal_auth_info;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfo2Internal_info;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfo2Internal_posix_offset;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES_auth_info;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES_info_ex;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES_posix_offset;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfoInternal_auth_info;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfoInternal_info_ex;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfoInternal_posix_offset;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfo_auth_info;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfo_info_ex;
static int hf_lsarpc_lsa_TrustDomainInfoFullInfo_posix_offset;
static int hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data;
static int hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_length;
static int hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_info_ex;
static int hf_lsarpc_lsa_TrustDomainInfoInfoEx_domain_name;
static int hf_lsarpc_lsa_TrustDomainInfoInfoEx_netbios_name;
static int hf_lsarpc_lsa_TrustDomainInfoInfoEx_sid;
static int hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_attributes;
static int hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_direction;
static int hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_type;
static int hf_lsarpc_lsa_TrustDomainInfoName_netbios_name;
static int hf_lsarpc_lsa_TrustDomainInfoPassword_old_password;
static int hf_lsarpc_lsa_TrustDomainInfoPassword_password;
static int hf_lsarpc_lsa_TrustDomainInfoPosixOffset_posix_offset;
static int hf_lsarpc_lsa_TrustDomainInfoSupportedEncTypes_enc_types;
static int hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_AUTH;
static int hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_CONTROLLERS;
static int hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_DOMAIN_NAME;
static int hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_POSIX;
static int hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_AUTH;
static int hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_CONTROLLERS;
static int hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_POSIX;
static int hf_lsarpc_lsa_TrustedDomainInfo_auth_info;
static int hf_lsarpc_lsa_TrustedDomainInfo_auth_info_internal;
static int hf_lsarpc_lsa_TrustedDomainInfo_auth_info_internal_aes;
static int hf_lsarpc_lsa_TrustedDomainInfo_controllers;
static int hf_lsarpc_lsa_TrustedDomainInfo_enc_types;
static int hf_lsarpc_lsa_TrustedDomainInfo_full_info;
static int hf_lsarpc_lsa_TrustedDomainInfo_full_info2_internal;
static int hf_lsarpc_lsa_TrustedDomainInfo_full_info_internal;
static int hf_lsarpc_lsa_TrustedDomainInfo_full_info_internal_aes;
static int hf_lsarpc_lsa_TrustedDomainInfo_info_basic;
static int hf_lsarpc_lsa_TrustedDomainInfo_info_ex;
static int hf_lsarpc_lsa_TrustedDomainInfo_info_ex2_internal;
static int hf_lsarpc_lsa_TrustedDomainInfo_name;
static int hf_lsarpc_lsa_TrustedDomainInfo_password;
static int hf_lsarpc_lsa_TrustedDomainInfo_posix_offset;
static int hf_lsarpc_lsa_krbAuthenticationOptions_LSA_POLICY_KERBEROS_VALIDATE_CLIENT;
static int hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_forest_trust_info;
static int hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_handle;
static int hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_highest_record_type;
static int hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name;
static int hf_lsarpc_lsa_lsaRQueryForestTrustInformation_forest_trust_info;
static int hf_lsarpc_lsa_lsaRQueryForestTrustInformation_handle;
static int hf_lsarpc_lsa_lsaRQueryForestTrustInformation_highest_record_type;
static int hf_lsarpc_lsa_lsaRQueryForestTrustInformation_trusted_domain_name;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation2_check_only;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation2_collision_info;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation2_forest_trust_info;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation2_handle;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation2_highest_record_type;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation2_trusted_domain_name;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation_check_only;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation_collision_info;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation_forest_trust_info;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation_handle;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation_highest_record_type;
static int hf_lsarpc_lsa_lsaRSetForestTrustInformation_trusted_domain_name;
static int hf_lsarpc_lsa_revision_info1_revision;
static int hf_lsarpc_lsa_revision_info1_supported_features;
static int hf_lsarpc_lsa_revision_info_info1;
static int hf_lsarpc_names;
static int hf_lsarpc_opnum;
static int hf_lsarpc_policy_access_mask;
static int hf_lsarpc_sec_desc_buf_len;
static int hf_lsarpc_secret_access_mask;
static int hf_lsarpc_status;

static int proto_dcerpc_lsarpc;
/* Version information */


static e_guid_t uuid_dcerpc_lsarpc = {
	0x12345778, 0x1234, 0xabcd,
	{ 0xef, 0x00, 0x01, 0x23, 0x45, 0x67, 0x89, 0xab }
};
static uint16_t ver_dcerpc_lsarpc = 0;

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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_BinaryString_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_BinaryString_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_BinaryString_array(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_BinaryString_array_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_BinaryString_array__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_SecurityImpersonationLevel_vals[] = {
	{ LSA_SECURITY_ANONYMOUS, "LSA_SECURITY_ANONYMOUS" },
	{ LSA_SECURITY_IDENTIFICATION, "LSA_SECURITY_IDENTIFICATION" },
	{ LSA_SECURITY_IMPERSONATION, "LSA_SECURITY_IMPERSONATION" },
	{ LSA_SECURITY_DELEGATION, "LSA_SECURITY_DELEGATION" },
{ 0, NULL }
};
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_VIEW_LOCAL_INFORMATION_tfs = {
   "LSA_POLICY_VIEW_LOCAL_INFORMATION is SET",
   "LSA_POLICY_VIEW_LOCAL_INFORMATION is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_VIEW_AUDIT_INFORMATION_tfs = {
   "LSA_POLICY_VIEW_AUDIT_INFORMATION is SET",
   "LSA_POLICY_VIEW_AUDIT_INFORMATION is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_GET_PRIVATE_INFORMATION_tfs = {
   "LSA_POLICY_GET_PRIVATE_INFORMATION is SET",
   "LSA_POLICY_GET_PRIVATE_INFORMATION is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_TRUST_ADMIN_tfs = {
   "LSA_POLICY_TRUST_ADMIN is SET",
   "LSA_POLICY_TRUST_ADMIN is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_CREATE_ACCOUNT_tfs = {
   "LSA_POLICY_CREATE_ACCOUNT is SET",
   "LSA_POLICY_CREATE_ACCOUNT is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_CREATE_SECRET_tfs = {
   "LSA_POLICY_CREATE_SECRET is SET",
   "LSA_POLICY_CREATE_SECRET is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_CREATE_PRIVILEGE_tfs = {
   "LSA_POLICY_CREATE_PRIVILEGE is SET",
   "LSA_POLICY_CREATE_PRIVILEGE is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS_tfs = {
   "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS is SET",
   "LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_SET_AUDIT_REQUIREMENTS_tfs = {
   "LSA_POLICY_SET_AUDIT_REQUIREMENTS is SET",
   "LSA_POLICY_SET_AUDIT_REQUIREMENTS is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_AUDIT_LOG_ADMIN_tfs = {
   "LSA_POLICY_AUDIT_LOG_ADMIN is SET",
   "LSA_POLICY_AUDIT_LOG_ADMIN is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_SERVER_ADMIN_tfs = {
   "LSA_POLICY_SERVER_ADMIN is SET",
   "LSA_POLICY_SERVER_ADMIN is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_LOOKUP_NAMES_tfs = {
   "LSA_POLICY_LOOKUP_NAMES is SET",
   "LSA_POLICY_LOOKUP_NAMES is NOT SET",
};
static const true_false_string lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION_tfs = {
   "LSA_POLICY_NOTIFICATION is SET",
   "LSA_POLICY_NOTIFICATION is NOT SET",
};
static const true_false_string lsa_AccountAccessMask_LSA_ACCOUNT_VIEW_tfs = {
   "LSA_ACCOUNT_VIEW is SET",
   "LSA_ACCOUNT_VIEW is NOT SET",
};
static const true_false_string lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_PRIVILEGES_tfs = {
   "LSA_ACCOUNT_ADJUST_PRIVILEGES is SET",
   "LSA_ACCOUNT_ADJUST_PRIVILEGES is NOT SET",
};
static const true_false_string lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_QUOTAS_tfs = {
   "LSA_ACCOUNT_ADJUST_QUOTAS is SET",
   "LSA_ACCOUNT_ADJUST_QUOTAS is NOT SET",
};
static const true_false_string lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS_tfs = {
   "LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS is SET",
   "LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS is NOT SET",
};
static const true_false_string lsa_SecretAccessMask_LSA_SECRET_SET_VALUE_tfs = {
   "LSA_SECRET_SET_VALUE is SET",
   "LSA_SECRET_SET_VALUE is NOT SET",
};
static const true_false_string lsa_SecretAccessMask_LSA_SECRET_QUERY_VALUE_tfs = {
   "LSA_SECRET_QUERY_VALUE is SET",
   "LSA_SECRET_QUERY_VALUE is NOT SET",
};
static const true_false_string lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_DOMAIN_NAME_tfs = {
   "LSA_TRUSTED_QUERY_DOMAIN_NAME is SET",
   "LSA_TRUSTED_QUERY_DOMAIN_NAME is NOT SET",
};
static const true_false_string lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_CONTROLLERS_tfs = {
   "LSA_TRUSTED_QUERY_CONTROLLERS is SET",
   "LSA_TRUSTED_QUERY_CONTROLLERS is NOT SET",
};
static const true_false_string lsa_TrustedAccessMask_LSA_TRUSTED_SET_CONTROLLERS_tfs = {
   "LSA_TRUSTED_SET_CONTROLLERS is SET",
   "LSA_TRUSTED_SET_CONTROLLERS is NOT SET",
};
static const true_false_string lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_POSIX_tfs = {
   "LSA_TRUSTED_QUERY_POSIX is SET",
   "LSA_TRUSTED_QUERY_POSIX is NOT SET",
};
static const true_false_string lsa_TrustedAccessMask_LSA_TRUSTED_SET_POSIX_tfs = {
   "LSA_TRUSTED_SET_POSIX is SET",
   "LSA_TRUSTED_SET_POSIX is NOT SET",
};
static const true_false_string lsa_TrustedAccessMask_LSA_TRUSTED_SET_AUTH_tfs = {
   "LSA_TRUSTED_SET_AUTH is SET",
   "LSA_TRUSTED_SET_AUTH is NOT SET",
};
static const true_false_string lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_AUTH_tfs = {
   "LSA_TRUSTED_QUERY_AUTH is SET",
   "LSA_TRUSTED_QUERY_AUTH is NOT SET",
};
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_AuditLogInfo_maximum_log_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_PolicyAuditPolicy_vals[] = {
	{ LSA_AUDIT_POLICY_NONE, "LSA_AUDIT_POLICY_NONE" },
	{ LSA_AUDIT_POLICY_SUCCESS, "LSA_AUDIT_POLICY_SUCCESS" },
	{ LSA_AUDIT_POLICY_FAILURE, "LSA_AUDIT_POLICY_FAILURE" },
	{ LSA_AUDIT_POLICY_ALL, "LSA_AUDIT_POLICY_ALL" },
	{ LSA_AUDIT_POLICY_CLEAR, "LSA_AUDIT_POLICY_CLEAR" },
{ 0, NULL }
};
const value_string lsarpc_lsa_PolicyAuditEventType_vals[] = {
	{ LSA_AUDIT_CATEGORY_SYSTEM, "LSA_AUDIT_CATEGORY_SYSTEM" },
	{ LSA_AUDIT_CATEGORY_LOGON, "LSA_AUDIT_CATEGORY_LOGON" },
	{ LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS, "LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS" },
	{ LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS, "LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS" },
	{ LSA_AUDIT_CATEGORY_PROCESS_TRACKING, "LSA_AUDIT_CATEGORY_PROCESS_TRACKING" },
	{ LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES, "LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES" },
	{ LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT, "LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT" },
	{ LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS, "LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS" },
	{ LSA_AUDIT_CATEGORY_ACCOUNT_LOGON, "LSA_AUDIT_CATEGORY_ACCOUNT_LOGON" },
{ 0, NULL }
};
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_Role_vals[] = {
	{ LSA_ROLE_BACKUP, "LSA_ROLE_BACKUP" },
	{ LSA_ROLE_PRIMARY, "LSA_ROLE_PRIMARY" },
{ 0, NULL }
};
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_PolicyInfo_vals[] = {
	{ LSA_POLICY_INFO_AUDIT_LOG, "LSA_POLICY_INFO_AUDIT_LOG" },
	{ LSA_POLICY_INFO_AUDIT_EVENTS, "LSA_POLICY_INFO_AUDIT_EVENTS" },
	{ LSA_POLICY_INFO_DOMAIN, "LSA_POLICY_INFO_DOMAIN" },
	{ LSA_POLICY_INFO_PD, "LSA_POLICY_INFO_PD" },
	{ LSA_POLICY_INFO_ACCOUNT_DOMAIN, "LSA_POLICY_INFO_ACCOUNT_DOMAIN" },
	{ LSA_POLICY_INFO_ROLE, "LSA_POLICY_INFO_ROLE" },
	{ LSA_POLICY_INFO_REPLICA, "LSA_POLICY_INFO_REPLICA" },
	{ LSA_POLICY_INFO_QUOTA, "LSA_POLICY_INFO_QUOTA" },
	{ LSA_POLICY_INFO_MOD, "LSA_POLICY_INFO_MOD" },
	{ LSA_POLICY_INFO_AUDIT_FULL_SET, "LSA_POLICY_INFO_AUDIT_FULL_SET" },
	{ LSA_POLICY_INFO_AUDIT_FULL_QUERY, "LSA_POLICY_INFO_AUDIT_FULL_QUERY" },
	{ LSA_POLICY_INFO_DNS, "LSA_POLICY_INFO_DNS" },
	{ LSA_POLICY_INFO_DNS_INT, "LSA_POLICY_INFO_DNS_INT" },
	{ LSA_POLICY_INFO_L_ACCOUNT_DOMAIN, "LSA_POLICY_INFO_L_ACCOUNT_DOMAIN" },
{ 0, NULL }
};
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_PolicyInformation_mod(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_PolicyInformation_dns_int(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_PolicyInformation_l_account_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_SidType_vals[] = {
	{ SID_NAME_USE_NONE, "SID_NAME_USE_NONE" },
	{ SID_NAME_USER, "SID_NAME_USER" },
	{ SID_NAME_DOM_GRP, "SID_NAME_DOM_GRP" },
	{ SID_NAME_DOMAIN, "SID_NAME_DOMAIN" },
	{ SID_NAME_ALIAS, "SID_NAME_ALIAS" },
	{ SID_NAME_WKN_GRP, "SID_NAME_WKN_GRP" },
	{ SID_NAME_DELETED, "SID_NAME_DELETED" },
	{ SID_NAME_INVALID, "SID_NAME_INVALID" },
	{ SID_NAME_UNKNOWN, "SID_NAME_UNKNOWN" },
	{ SID_NAME_COMPUTER, "SID_NAME_COMPUTER" },
	{ SID_NAME_LABEL, "SID_NAME_LABEL" },
{ 0, NULL }
};
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_LookupNamesLevel_vals[] = {
	{ LSA_LOOKUP_NAMES_ALL, "LSA_LOOKUP_NAMES_ALL" },
	{ LSA_LOOKUP_NAMES_DOMAINS_ONLY, "LSA_LOOKUP_NAMES_DOMAINS_ONLY" },
	{ LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY, "LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY" },
	{ LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY, "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY" },
	{ LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY, "LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY" },
	{ LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2, "LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2" },
	{ LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC, "LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC" },
{ 0, NULL }
};
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_TrustDomInfoEnum_vals[] = {
	{ LSA_TRUSTED_DOMAIN_INFO_NAME, "LSA_TRUSTED_DOMAIN_INFO_NAME" },
	{ LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS, "LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS" },
	{ LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET, "LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET" },
	{ LSA_TRUSTED_DOMAIN_INFO_PASSWORD, "LSA_TRUSTED_DOMAIN_INFO_PASSWORD" },
	{ LSA_TRUSTED_DOMAIN_INFO_BASIC, "LSA_TRUSTED_DOMAIN_INFO_BASIC" },
	{ LSA_TRUSTED_DOMAIN_INFO_INFO_EX, "LSA_TRUSTED_DOMAIN_INFO_INFO_EX" },
	{ LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO, "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO" },
	{ LSA_TRUSTED_DOMAIN_INFO_FULL_INFO, "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO" },
	{ LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL, "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL" },
	{ LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL, "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL" },
	{ LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL, "LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL" },
	{ LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL, "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL" },
	{ LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES, "LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES" },
	{ LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL_AES, "LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL_AES" },
	{ LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL_AES, "LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL_AES" },
{ 0, NULL }
};
static const true_false_string lsa_TrustDirection_LSA_TRUST_DIRECTION_INBOUND_tfs = {
   "LSA_TRUST_DIRECTION_INBOUND is SET",
   "LSA_TRUST_DIRECTION_INBOUND is NOT SET",
};
static const true_false_string lsa_TrustDirection_LSA_TRUST_DIRECTION_OUTBOUND_tfs = {
   "LSA_TRUST_DIRECTION_OUTBOUND is SET",
   "LSA_TRUST_DIRECTION_OUTBOUND is NOT SET",
};
const value_string lsarpc_lsa_TrustType_vals[] = {
	{ LSA_TRUST_TYPE_DOWNLEVEL, "LSA_TRUST_TYPE_DOWNLEVEL" },
	{ LSA_TRUST_TYPE_UPLEVEL, "LSA_TRUST_TYPE_UPLEVEL" },
	{ LSA_TRUST_TYPE_MIT, "LSA_TRUST_TYPE_MIT" },
	{ LSA_TRUST_TYPE_DCE, "LSA_TRUST_TYPE_DCE" },
{ 0, NULL }
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE_tfs = {
   "LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE is SET",
   "LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY_tfs = {
   "LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY is SET",
   "LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN_tfs = {
   "LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN is SET",
   "LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE_tfs = {
   "LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE is SET",
   "LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_tfs = {
   "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION is SET",
   "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_WITHIN_FOREST_tfs = {
   "LSA_TRUST_ATTRIBUTE_WITHIN_FOREST is SET",
   "LSA_TRUST_ATTRIBUTE_WITHIN_FOREST is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL_tfs = {
   "LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL is SET",
   "LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION_tfs = {
   "LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION is SET",
   "LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION_tfs = {
   "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION is SET",
   "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_PIM_TRUST_tfs = {
   "LSA_TRUST_ATTRIBUTE_PIM_TRUST is SET",
   "LSA_TRUST_ATTRIBUTE_PIM_TRUST is NOT SET",
};
static const true_false_string lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION_tfs = {
   "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION is SET",
   "LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION is NOT SET",
};
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoControllers_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoControllers_netbios_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoControllers_netbios_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoControllers_netbios_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_TrustAuthType_vals[] = {
	{ TRUST_AUTH_TYPE_NONE, "TRUST_AUTH_TYPE_NONE" },
	{ TRUST_AUTH_TYPE_NT4OWF, "TRUST_AUTH_TYPE_NT4OWF" },
	{ TRUST_AUTH_TYPE_CLEAR, "TRUST_AUTH_TYPE_CLEAR" },
	{ TRUST_AUTH_TYPE_VERSION, "TRUST_AUTH_TYPE_VERSION" },
{ 0, NULL }
};
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_AuthType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternal_auth_blob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternal_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternal_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternal_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_auth_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_auth_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_salt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_salt_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_cipher(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternalAES_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternalAES_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternalAES_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo2Internal_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo2Internal_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo2Internal_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustDomainInfoSupportedEncTypes_enc_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustedDomainInfo_controllers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustedDomainInfo_info_ex2_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info2_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustedDomainInfo_enc_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info_internal_aes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info_internal_aes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_DomainInfoQoS_quality_of_service(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static const true_false_string lsa_krbAuthenticationOptions_LSA_POLICY_KERBEROS_VALIDATE_CLIENT_tfs = {
   "LSA_POLICY_KERBEROS_VALIDATE_CLIENT is SET",
   "LSA_POLICY_KERBEROS_VALIDATE_CLIENT is NOT SET",
};
static int lsarpc_dissect_element_lsa_DomainInfoKerberos_authentication_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_DomainInfoKerberos_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_DomainInfoEnum_vals[] = {
	{ LSA_DOMAIN_INFO_POLICY_QOS, "LSA_DOMAIN_INFO_POLICY_QOS" },
	{ LSA_DOMAIN_INFO_POLICY_EFS, "LSA_DOMAIN_INFO_POLICY_EFS" },
	{ LSA_DOMAIN_INFO_POLICY_KERBEROS, "LSA_DOMAIN_INFO_POLICY_KERBEROS" },
{ 0, NULL }
};
static int lsarpc_dissect_element_lsa_DomainInformationPolicy_qos_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_LookupOptions_vals[] = {
	{ LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES, "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES" },
	{ LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL, "LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL" },
{ 0, NULL }
};
const value_string lsarpc_lsa_ClientRevision_vals[] = {
	{ LSA_CLIENT_REVISION_1, "LSA_CLIENT_REVISION_1" },
	{ LSA_CLIENT_REVISION_2, "LSA_CLIENT_REVISION_2" },
{ 0, NULL }
};
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_TranslatedSid3_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static const true_false_string lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_NEW_tfs = {
   "LSA_TLN_DISABLED_NEW is SET",
   "LSA_TLN_DISABLED_NEW is NOT SET",
};
static const true_false_string lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_ADMIN_tfs = {
   "LSA_TLN_DISABLED_ADMIN is SET",
   "LSA_TLN_DISABLED_ADMIN is NOT SET",
};
static const true_false_string lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_CONFLICT_tfs = {
   "LSA_TLN_DISABLED_CONFLICT is SET",
   "LSA_TLN_DISABLED_CONFLICT is NOT SET",
};
static const true_false_string lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_ADMIN_tfs = {
   "LSA_SID_DISABLED_ADMIN is SET",
   "LSA_SID_DISABLED_ADMIN is NOT SET",
};
static const true_false_string lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_CONFLICT_tfs = {
   "LSA_SID_DISABLED_CONFLICT is SET",
   "LSA_SID_DISABLED_CONFLICT is NOT SET",
};
static const true_false_string lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_ADMIN_tfs = {
   "LSA_NB_DISABLED_ADMIN is SET",
   "LSA_NB_DISABLED_ADMIN is NOT SET",
};
static const true_false_string lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_CONFLICT_tfs = {
   "LSA_NB_DISABLED_CONFLICT is SET",
   "LSA_NB_DISABLED_CONFLICT is NOT SET",
};
const value_string lsarpc_lsa_ForestTrustRecordType_vals[] = {
	{ LSA_FOREST_TRUST_TOP_LEVEL_NAME, "LSA_FOREST_TRUST_TOP_LEVEL_NAME" },
	{ LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX, "LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX" },
	{ LSA_FOREST_TRUST_DOMAIN_INFO, "LSA_FOREST_TRUST_DOMAIN_INFO" },
	{ LSA_FOREST_TRUST_BINARY_DATA, "LSA_FOREST_TRUST_BINARY_DATA" },
	{ LSA_FOREST_TRUST_SCANNER_INFO, "LSA_FOREST_TRUST_SCANNER_INFO" },
{ 0, NULL }
};
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustRecord_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *type);
static int lsarpc_dissect_element_lsa_ForestTrustRecord_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_, uint32_t *type);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
const value_string lsarpc_lsa_ForestTrustCollisionRecordType_vals[] = {
	{ LSA_FOREST_TRUST_COLLISION_TDO, "LSA_FOREST_TRUST_COLLISION_TDO" },
	{ LSA_FOREST_TRUST_COLLISION_XREF, "LSA_FOREST_TRUST_COLLISION_XREF" },
	{ LSA_FOREST_TRUST_COLLISION_OTHER, "LSA_FOREST_TRUST_COLLISION_OTHER" },
{ 0, NULL }
};
static int lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static const true_false_string lsa_RevisionSupportedFeature_LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER_tfs = {
   "LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER is SET",
   "LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER is NOT SET",
};
static int lsarpc_dissect_element_lsa_revision_info1_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_revision_info1_supported_features(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_revision_info_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustData2_top_level_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustData2_top_level_name_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustData2_domain_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustData2_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustData2_scanner_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustRecord2_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustRecord2_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *type);
static int lsarpc_dissect_element_lsa_ForestTrustRecord2_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustRecord2_forest_trust_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *type);
static int lsarpc_dissect_element_lsa_ForestTrustInformation2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustInformation2_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustInformation2_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustInformation2_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_ForestTrustInformation2_entries___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetSecObj_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetSecObj_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetSecObj_sec_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetSecObj_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetSecObj_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomain_policy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomain_policy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_GetSystemAccessAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_GetSystemAccessAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_GetSystemAccessAccount_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_GetSystemAccessAccount_access_mask_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetSystemAccessAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetSystemAccessAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetSystemAccessAccount_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetInformationTrustedDomain_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetInformationTrustedDomain_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetInformationTrustedDomain_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetInformationTrustedDomain_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetInformationTrustedDomain_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id_sys(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_returned_language_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupPrivDisplayName_returned_language_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_DeleteObject_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_DeleteObject_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_RemoveAccountRights_remove_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetTrustedDomainInfo_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetTrustedDomainInfo_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetTrustedDomainInfo_dom_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetTrustedDomainInfo_dom_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetTrustedDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetTrustedDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_SetTrustedDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_StorePrivateData_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_StorePrivateData_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_StorePrivateData_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_StorePrivateData_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_StorePrivateData_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_StorePrivateData_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_RetrievePrivateData_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_RetrievePrivateData_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_RetrievePrivateData_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_RetrievePrivateData_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_RetrievePrivateData_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_RetrievePrivateData_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_RetrievePrivateData_val__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx_policy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx_policy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupSids2_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupSids2_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupNames2_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupNames2_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_policy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_policy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_auth_info_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_auth_info_internal_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupNames3_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupNames3_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_highest_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_trusted_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_trusted_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_highest_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_forest_trust_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_forest_trust_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_check_only(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_collision_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_collision_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_collision_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupSids3_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupSids3_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
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_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupNames4_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_LookupNames4_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_policy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_policy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_auth_info_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_auth_info_internal_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_attr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_attr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_in_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_in_revision_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_in_revision_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_out_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_out_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_out_revision_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_out_revision_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_OpenPolicy3_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_highest_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_forest_trust_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_forest_trust_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_forest_trust_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_trusted_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_trusted_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_highest_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_forest_trust_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_forest_trust_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_check_only(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_collision_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_collision_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static int lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_collision_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
static void
lsarpc_policy_specific_rights(tvbuff_t *tvb, int offset, proto_tree *tree, uint32_t access)
{
	static int* const access_flags[] = {
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_LOOKUP_NAMES,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SERVER_ADMIN,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_AUDIT_LOG_ADMIN,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_AUDIT_REQUIREMENTS,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_PRIVILEGE,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_SECRET,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_ACCOUNT,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_TRUST_ADMIN,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_GET_PRIVATE_INFORMATION,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_AUDIT_INFORMATION,
		&hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_LOCAL_INFORMATION,
		NULL
	};
	proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
}
static void
lsarpc_account_specific_rights(tvbuff_t *tvb, int offset, proto_tree *tree, uint32_t access)
{
	static int* const access_flags[] = {
		&hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS,
		&hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_QUOTAS,
		&hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_PRIVILEGES,
		&hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_VIEW,
		NULL
	};
	proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
}
static void
lsarpc_secret_specific_rights(tvbuff_t *tvb, int offset, proto_tree *tree, uint32_t access)
{
	static int* const access_flags[] = {
		&hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_QUERY_VALUE,
		&hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_SET_VALUE,
		NULL
	};
	proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
}
static void
lsarpc_domain_specific_rights(tvbuff_t *tvb, int offset, proto_tree *tree, uint32_t access)
{
	static int* const access_flags[] = {
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_AUTH,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_AUTH,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_POSIX,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_POSIX,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_CONTROLLERS,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_CONTROLLERS,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_DOMAIN_NAME,
		NULL
	};
	proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
}
static struct access_mask_info lsarpc_policy_access_mask_info = {
	"LSA Policy",			/* Name of specific rights */
	lsarpc_policy_specific_rights,	/* Dissection function */
	NULL,				/* Generic mapping table */
	NULL				/* Standard mapping table */
};
static struct access_mask_info lsarpc_account_access_mask_info = {
	"LSA Account",			/* Name of specific rights */
	lsarpc_account_specific_rights,	/* Dissection function */
	NULL,				/* Generic mapping table */
	NULL				/* Standard mapping table */
};
static struct access_mask_info lsarpc_secret_access_mask_info = {
	"LSA Secret",			/* Name of specific rights */
	lsarpc_secret_specific_rights,	/* Dissection function */
	NULL,				/* Generic mapping table */
	NULL				/* Standard mapping table */
};
static struct access_mask_info lsarpc_domain_access_mask_info = {
	"LSA Domain",			/* Name of specific rights */
	lsarpc_domain_specific_rights,	/* Dissection function */
	NULL,				/* Generic mapping table */
	NULL				/* Standard mapping table */
};
int
lsarpc_dissect_bitmap_lsa_PolicyAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
{
	offset = dissect_nt_access_mask(
		tvb, offset, pinfo, tree, di, drep, hf_lsarpc_policy_access_mask,
		&lsarpc_policy_access_mask_info, NULL);
	return offset;
}
int
lsarpc_dissect_bitmap_lsa_AccountAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
{
	offset = dissect_nt_access_mask(
		tvb, offset, pinfo, tree, di, drep, hf_lsarpc_account_access_mask,
		&lsarpc_account_access_mask_info, NULL);
	return offset;
}
int
lsarpc_dissect_bitmap_lsa_SecretAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
{
	offset = dissect_nt_access_mask(
		tvb, offset, pinfo, tree, di, drep, hf_lsarpc_secret_access_mask,
		&lsarpc_secret_access_mask_info, NULL);
	return offset;
}
static int
cnf_dissect_sec_desc_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
{
	uint32_t len;
	e_ctx_hnd *polhnd = NULL;
	dcerpc_call_value *dcv = NULL;
	uint32_t type=0;
	struct access_mask_info *ami=NULL;
	if(di->conformant_run){
		/*just a run to handle conformant arrays, nothing to dissect */
		return offset;
	}
	offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
		hf_lsarpc_sec_desc_buf_len, &len);
	dcv = (dcerpc_call_value *)di->call_data;
	if(dcv){
		polhnd = dcv->pol;
	}
	if(polhnd){
		dcerpc_fetch_polhnd_data(polhnd, NULL, &type, NULL, NULL,
					pinfo->num);
	}
	switch(type){
	case PIDL_POLHND_TYPE_LSA_POLICY:
		ami=&lsarpc_policy_access_mask_info;
		break;
	case PIDL_POLHND_TYPE_LSA_ACCOUNT:
		ami=&lsarpc_account_access_mask_info;
		break;
	case PIDL_POLHND_TYPE_LSA_SECRET:
		ami=&lsarpc_secret_access_mask_info;
		break;
	case PIDL_POLHND_TYPE_LSA_DOMAIN:
		ami=&lsarpc_domain_access_mask_info;
		break;
	}
	dissect_nt_sec_desc(tvb, offset, pinfo, tree, drep, true, len, ami);
	offset += len;
	return offset;
}
static int
cnf_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
{
	uint32_t len;
	if(di->conformant_run){
		/*just a run to handle conformant arrays, nothing to dissect */
		return offset;
	}
	offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
		hf_lsarpc_sec_desc_buf_len, &len);
	offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
			cnf_dissect_sec_desc_buf_, NDR_POINTER_UNIQUE,
			"LSA SECURITY DESCRIPTOR data:", -1);
	return offset;
}
int
lsarpc_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep){
	return cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
}
static int
lsarpc_dissect_struct_security_descriptor(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, uint8_t *drep _U_, int unused1 _U_, int unused2 _U_){
	return cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
} 
int
lsarpc_dissect_struct_dom_sid2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di, uint8_t *drep _U_, int unused1 _U_, int unused2 _U_) {
	/* sid */
	return dissect_ndr_nt_SID(tvb, offset, pinfo, tree, di, drep);
}
static int
cnf_dissect_hyper(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, uint32_t param _U_, int hfindex)
{
	offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hfindex, NULL);
	return offset;
}
static int
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, uint8_t *drep _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset = offset;
	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_lsarpc_names, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_names);
	}
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_names_);
	proto_item_set_len(item, offset-old_offset);
	return offset;
}
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, uint8_t *drep _U_)
{
	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);
	return offset;
}
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, uint8_t *drep _U_)
{
	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);
	return offset;
}
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, uint8_t *drep _U_)
{
	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);
	return offset;
}
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, uint8_t *drep _U_)
{
	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);
	return offset;
}
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, uint8_t *drep _U_)
{
	char *data;
	offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_lsarpc_String_name, false, &data);
	proto_item_append_text(tree, ": %s", data);
	return offset;
}
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, uint8_t *drep _U_)
{
	char *data;
	offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_lsarpc_String_name, false, &data);
	proto_item_append_text(tree, ": %s", data);
	return offset;
}
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, uint8_t *drep _U_)
{
	tvbuff_t *next_tvb;
	int len, reported_len;
	dissector_handle_t efsblob_handle;
	if(di->conformant_run){
		/*just a run to handle conformant arrays, nothing to dissect */
		return offset;
	}
	offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
		hf_lsarpc_efs_blob_len, &reported_len);
	len = reported_len;
	if (len > tvb_captured_length_remaining(tvb, offset)) {
		len = tvb_captured_length_remaining(tvb, offset);
	}
	next_tvb = tvb_new_subset_length_caplen(tvb, offset, len, reported_len);
	efsblob_handle = find_dissector("efsblob");
	if (efsblob_handle) {
		call_dissector(efsblob_handle, next_tvb, pinfo, tree);
	}
	offset += reported_len;
	return offset;
}


/* IDL: bitmap { */
/* IDL: } */

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	uint32_t flags;
	ALIGN_TO_4_BYTES;

	proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));

	offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);

	return offset;
}


/* IDL: bitmap { */
/* IDL: } */

int
lsarpc_dissect_bitmap_kerb_EncTypes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	uint32_t flags;
	ALIGN_TO_4_BYTES;

	proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));

	offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);

	return offset;
}


/* IDL: struct { */
/* IDL: 	[value(2*strlen_m(string))] uint16 length; */
/* IDL: 	[value(2*strlen_m(string))] uint16 size; */
/* IDL: 	[charset(UTF16)] [length_is(length/2)] [size_is(size/2)] [unique(1)] uint16 *string; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_String_length, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_String_size, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_String);
	}

	offset = lsarpc_dissect_element_lsa_String_length(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_String_size(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_String_string(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[value(2*strlen_m(string))] uint16 length; */
/* IDL: 	[value(2*strlen_m_term(string))] uint16 size; */
/* IDL: 	[charset(UTF16)] [length_is(length/2)] [size_is(size/2)] [unique(1)] uint16 *string; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_StringLarge_length, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_StringLarge_size, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_StringLarge);
	}

	offset = lsarpc_dissect_element_lsa_StringLarge_length(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_StringLarge_size(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_StringLarge_string(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_String *names; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_Strings_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_Strings_names__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_Strings_names,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_Strings);
	}

	offset = lsarpc_dissect_element_lsa_Strings_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_Strings_names(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[value(strlen_m(string))] uint16 length; */
/* IDL: 	[value(strlen_m(string))] uint16 size; */
/* IDL: 	[charset(DOS)] [length_is(length)] [size_is(size)] [unique(1)] uint8 *string; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiString_length, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiString_size, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AsciiString_string__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiString_string, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AsciiString);
	}

	offset = lsarpc_dissect_element_lsa_AsciiString_length(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AsciiString_size(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AsciiString_string(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[value(strlen_m(string))] uint16 length; */
/* IDL: 	[value(strlen_m_term(string))] uint16 size; */
/* IDL: 	[charset(DOS)] [length_is(length)] [size_is(size)] [unique(1)] uint8 *string; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiStringLarge_length, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiStringLarge_size, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AsciiStringLarge_string__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AsciiStringLarge_string, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AsciiStringLarge);
	}

	offset = lsarpc_dissect_element_lsa_AsciiStringLarge_length(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AsciiStringLarge_size(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AsciiStringLarge_string(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint16 length; */
/* IDL: 	uint16 size; */
/* IDL: 	[length_is(length/2)] [size_is(size/2)] [unique(1)] uint16 *array; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_BinaryString_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_BinaryString_length, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_BinaryString_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_BinaryString_size, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_BinaryString_array(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_BinaryString_array_, NDR_POINTER_UNIQUE, "Pointer to Array (uint16)",hf_lsarpc_lsa_BinaryString_array);

	return offset;
}

static int
lsarpc_dissect_element_lsa_BinaryString_array_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_BinaryString_array__);

	return offset;
}

static int
lsarpc_dissect_element_lsa_BinaryString_array__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_BinaryString_array, 0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_BinaryString(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_BinaryString);
	}

	offset = lsarpc_dissect_element_lsa_BinaryString_length(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_BinaryString_size(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_BinaryString_array(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 low; */
/* IDL: 	uint32 high; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LUID_low, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LUID_high, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_LUID);
	}

	offset = lsarpc_dissect_element_lsa_LUID_low(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_LUID_high(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_StringLarge name; */
/* IDL: 	lsa_LUID luid; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PrivEntry_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_LUID(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PrivEntry_luid,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_PrivEntry);
	}

	offset = lsarpc_dissect_element_lsa_PrivEntry_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_PrivEntry_luid(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_PrivEntry *privs; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_PrivArray_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_PrivArray_privs__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_PrivEntry(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PrivArray_privs,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_PrivArray);
	}

	offset = lsarpc_dissect_element_lsa_PrivArray_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_PrivArray_privs(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_SECURITY_ANONYMOUS=0, */
/* IDL: 	LSA_SECURITY_IDENTIFICATION=1, */
/* IDL: 	LSA_SECURITY_IMPERSONATION=2, */
/* IDL: 	LSA_SECURITY_DELEGATION=3, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_SecurityImpersonationLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: struct { */
/* IDL: 	uint3264 len; */
/* IDL: 	lsa_SecurityImpersonationLevel impersonation_level; */
/* IDL: 	uint8 context_mode; */
/* IDL: 	uint8 effective_only; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_uint3264(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QosInfo_len, NULL);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_SecurityImpersonationLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QosInfo_impersonation_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QosInfo_context_mode, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QosInfo_effective_only, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_QosInfo);
	}

	offset = lsarpc_dissect_element_lsa_QosInfo_len(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_QosInfo_impersonation_level(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_QosInfo_context_mode(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_QosInfo_effective_only(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint3264 len; */
/* IDL: 	[unique(1)] uint8 *root_dir; */
/* IDL: 	[charset(UTF16)] [unique(1)] uint16 *object_name; */
/* IDL: 	uint32 attributes; */
/* IDL: 	[unique(1)] security_descriptor *sec_desc; */
/* IDL: 	[unique(1)] lsa_QosInfo *sec_qos; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_uint3264(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ObjectAttribute_len, NULL);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ObjectAttribute_root_dir, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	char *data;

	offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_lsarpc_lsa_ObjectAttribute_object_name, false, &data);
	proto_item_append_text(tree, ": %s", data);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ObjectAttribute_attributes, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_security_descriptor(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ObjectAttribute_sec_desc,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_QosInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ObjectAttribute_sec_qos,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ObjectAttribute);
	}

	offset = lsarpc_dissect_element_lsa_ObjectAttribute_len(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ObjectAttribute_root_dir(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ObjectAttribute_object_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ObjectAttribute_attributes(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ObjectAttribute_sec_desc(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ObjectAttribute_sec_qos(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: bitmap { */
/* IDL: 	LSA_POLICY_VIEW_LOCAL_INFORMATION =  0x00000001 , */
/* IDL: 	LSA_POLICY_VIEW_AUDIT_INFORMATION =  0x00000002 , */
/* IDL: 	LSA_POLICY_GET_PRIVATE_INFORMATION =  0x00000004 , */
/* IDL: 	LSA_POLICY_TRUST_ADMIN =  0x00000008 , */
/* IDL: 	LSA_POLICY_CREATE_ACCOUNT =  0x00000010 , */
/* IDL: 	LSA_POLICY_CREATE_SECRET =  0x00000020 , */
/* IDL: 	LSA_POLICY_CREATE_PRIVILEGE =  0x00000040 , */
/* IDL: 	LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS =  0x00000080 , */
/* IDL: 	LSA_POLICY_SET_AUDIT_REQUIREMENTS =  0x00000100 , */
/* IDL: 	LSA_POLICY_AUDIT_LOG_ADMIN =  0x00000200 , */
/* IDL: 	LSA_POLICY_SERVER_ADMIN =  0x00000400 , */
/* IDL: 	LSA_POLICY_LOOKUP_NAMES =  0x00000800 , */
/* IDL: 	LSA_POLICY_NOTIFICATION =  0x00001000 , */
/* IDL: } */


/* IDL: bitmap { */
/* IDL: 	LSA_ACCOUNT_VIEW =  0x00000001 , */
/* IDL: 	LSA_ACCOUNT_ADJUST_PRIVILEGES =  0x00000002 , */
/* IDL: 	LSA_ACCOUNT_ADJUST_QUOTAS =  0x00000004 , */
/* IDL: 	LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS =  0x00000008 , */
/* IDL: } */


/* IDL: bitmap { */
/* IDL: 	LSA_SECRET_SET_VALUE =  0x00000001 , */
/* IDL: 	LSA_SECRET_QUERY_VALUE =  0x00000002 , */
/* IDL: } */


/* IDL: bitmap { */
/* IDL: 	LSA_TRUSTED_QUERY_DOMAIN_NAME =  0x00000001 , */
/* IDL: 	LSA_TRUSTED_QUERY_CONTROLLERS =  0x00000002 , */
/* IDL: 	LSA_TRUSTED_SET_CONTROLLERS =  0x00000004 , */
/* IDL: 	LSA_TRUSTED_QUERY_POSIX =  0x00000008 , */
/* IDL: 	LSA_TRUSTED_SET_POSIX =  0x00000010 , */
/* IDL: 	LSA_TRUSTED_SET_AUTH =  0x00000020 , */
/* IDL: 	LSA_TRUSTED_QUERY_AUTH =  0x00000040 , */
/* IDL: } */

int
lsarpc_dissect_bitmap_lsa_TrustedAccessMask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item;
	static int * const lsarpc_lsa_TrustedAccessMask_fields[] = {
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_DOMAIN_NAME,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_CONTROLLERS,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_CONTROLLERS,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_POSIX,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_POSIX,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_AUTH,
		&hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_AUTH,
		NULL
	};
	uint32_t flags;
	ALIGN_TO_4_BYTES;

	item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
				ett_lsarpc_lsa_TrustedAccessMask, lsarpc_lsa_TrustedAccessMask_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);

	offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);

	if (!flags)
		proto_item_append_text(item, ": (No values set)");

	if (flags & (~0x0000007f)) {
		flags &= (~0x0000007f);
		proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 percent_full; */
/* IDL: 	uint32 maximum_log_size; */
/* IDL: 	hyper retention_time; */
/* IDL: 	uint8 shutdown_in_progress; */
/* IDL: 	hyper time_to_shutdown; */
/* IDL: 	uint32 next_audit_record; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_percent_full, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_AuditLogInfo_maximum_log_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_maximum_log_size, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_AuditLogInfo_retention_time);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_shutdown_in_progress, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_AuditLogInfo_time_to_shutdown);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditLogInfo_next_audit_record, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_8_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AuditLogInfo);
	}

	offset = lsarpc_dissect_element_lsa_AuditLogInfo_percent_full(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AuditLogInfo_maximum_log_size(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AuditLogInfo_retention_time(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AuditLogInfo_shutdown_in_progress(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AuditLogInfo_time_to_shutdown(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AuditLogInfo_next_audit_record(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_8_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_AUDIT_POLICY_NONE=0, */
/* IDL: 	LSA_AUDIT_POLICY_SUCCESS=1, */
/* IDL: 	LSA_AUDIT_POLICY_FAILURE=2, */
/* IDL: 	LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE), */
/* IDL: 	LSA_AUDIT_POLICY_CLEAR=4, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_PolicyAuditPolicy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_AUDIT_CATEGORY_SYSTEM=0, */
/* IDL: 	LSA_AUDIT_CATEGORY_LOGON=1, */
/* IDL: 	LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2, */
/* IDL: 	LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3, */
/* IDL: 	LSA_AUDIT_CATEGORY_PROCESS_TRACKING=4, */
/* IDL: 	LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5, */
/* IDL: 	LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6, */
/* IDL: 	LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7, */
/* IDL: 	LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_PolicyAuditEventType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 auditing_mode; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_PolicyAuditPolicy *settings; */
/* IDL: 	uint32 count; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditEventsInfo_auditing_mode, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_AuditEventsInfo_settings__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_PolicyAuditPolicy(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditEventsInfo_settings, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditEventsInfo_count, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AuditEventsInfo);
	}

	offset = lsarpc_dissect_element_lsa_AuditEventsInfo_auditing_mode(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AuditEventsInfo_settings(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AuditEventsInfo_count(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_StringLarge name; */
/* IDL: 	[unique(1)] dom_sid2 *sid; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainInfo_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainInfo_sid,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainInfo);
	}

	offset = lsarpc_dissect_element_lsa_DomainInfo_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DomainInfo_sid(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_String name; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PDAccountInfo_name,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_PDAccountInfo);
	}

	offset = lsarpc_dissect_element_lsa_PDAccountInfo_name(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_ROLE_BACKUP=2, */
/* IDL: 	LSA_ROLE_PRIMARY=3, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_Role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_Role role; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_Role(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ServerRole_role, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ServerRole);
	}

	offset = lsarpc_dissect_element_lsa_ServerRole_role(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_String source; */
/* IDL: 	lsa_String account; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ReplicaSourceInfo_source,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ReplicaSourceInfo_account,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ReplicaSourceInfo);
	}

	offset = lsarpc_dissect_element_lsa_ReplicaSourceInfo_source(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ReplicaSourceInfo_account(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 paged_pool; */
/* IDL: 	uint32 non_paged_pool; */
/* IDL: 	uint32 min_wss; */
/* IDL: 	uint32 max_wss; */
/* IDL: 	uint32 pagefile; */
/* IDL: 	hyper unknown; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_paged_pool, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_non_paged_pool, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_min_wss, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_max_wss, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DefaultQuotaInfo_pagefile, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DefaultQuotaInfo_unknown);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_8_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DefaultQuotaInfo);
	}

	offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_paged_pool(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_non_paged_pool(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_min_wss(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_max_wss(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_pagefile(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DefaultQuotaInfo_unknown(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_8_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	hyper modified_id; */
/* IDL: 	NTTIME_hyper db_create_time; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_ModificationInfo_modified_id);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ModificationInfo_db_create_time);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_8_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ModificationInfo);
	}

	offset = lsarpc_dissect_element_lsa_ModificationInfo_modified_id(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ModificationInfo_db_create_time(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_8_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint8 shutdown_on_full; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditFullSetInfo_shutdown_on_full, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AuditFullSetInfo);
	}

	offset = lsarpc_dissect_element_lsa_AuditFullSetInfo_shutdown_on_full(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	return offset;
}


/* IDL: struct { */
/* IDL: 	uint8 shutdown_on_full; */
/* IDL: 	uint8 log_is_full; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditFullQueryInfo_shutdown_on_full, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AuditFullQueryInfo_log_is_full, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_AuditFullQueryInfo);
	}

	offset = lsarpc_dissect_element_lsa_AuditFullQueryInfo_shutdown_on_full(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_AuditFullQueryInfo_log_is_full(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_StringLarge name; */
/* IDL: 	lsa_StringLarge dns_domain; */
/* IDL: 	lsa_StringLarge dns_forest; */
/* IDL: 	GUID domain_guid; */
/* IDL: 	[unique(1)] dom_sid2 *sid; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DnsDomainInfo_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DnsDomainInfo_dns_domain,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DnsDomainInfo_dns_forest,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DnsDomainInfo_domain_guid, NULL);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DnsDomainInfo_sid,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DnsDomainInfo);
	}

	offset = lsarpc_dissect_element_lsa_DnsDomainInfo_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DnsDomainInfo_dns_domain(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DnsDomainInfo_dns_forest(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DnsDomainInfo_domain_guid(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DnsDomainInfo_sid(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_POLICY_INFO_AUDIT_LOG=1, */
/* IDL: 	LSA_POLICY_INFO_AUDIT_EVENTS=2, */
/* IDL: 	LSA_POLICY_INFO_DOMAIN=3, */
/* IDL: 	LSA_POLICY_INFO_PD=4, */
/* IDL: 	LSA_POLICY_INFO_ACCOUNT_DOMAIN=5, */
/* IDL: 	LSA_POLICY_INFO_ROLE=6, */
/* IDL: 	LSA_POLICY_INFO_REPLICA=7, */
/* IDL: 	LSA_POLICY_INFO_QUOTA=8, */
/* IDL: 	LSA_POLICY_INFO_MOD=9, */
/* IDL: 	LSA_POLICY_INFO_AUDIT_FULL_SET=10, */
/* IDL: 	LSA_POLICY_INFO_AUDIT_FULL_QUERY=11, */
/* IDL: 	LSA_POLICY_INFO_DNS=12, */
/* IDL: 	LSA_POLICY_INFO_DNS_INT=13, */
/* IDL: 	LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=14, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_PolicyInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: [switch_type(uint16)] union { */
/* IDL: [case(LSA_POLICY_INFO_AUDIT_LOG)] [case(LSA_POLICY_INFO_AUDIT_LOG)] lsa_AuditLogInfo audit_log; */
/* IDL: [case(LSA_POLICY_INFO_AUDIT_EVENTS)] [case(LSA_POLICY_INFO_AUDIT_EVENTS)] lsa_AuditEventsInfo audit_events; */
/* IDL: [case(LSA_POLICY_INFO_DOMAIN)] [case(LSA_POLICY_INFO_DOMAIN)] lsa_DomainInfo domain; */
/* IDL: [case(LSA_POLICY_INFO_PD)] [case(LSA_POLICY_INFO_PD)] lsa_PDAccountInfo pd; */
/* IDL: [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] lsa_DomainInfo account_domain; */
/* IDL: [case(LSA_POLICY_INFO_ROLE)] [case(LSA_POLICY_INFO_ROLE)] lsa_ServerRole role; */
/* IDL: [case(LSA_POLICY_INFO_REPLICA)] [case(LSA_POLICY_INFO_REPLICA)] lsa_ReplicaSourceInfo replica; */
/* IDL: [case(LSA_POLICY_INFO_QUOTA)] [case(LSA_POLICY_INFO_QUOTA)] lsa_DefaultQuotaInfo quota; */
/* IDL: [case(LSA_POLICY_INFO_MOD)] [case(LSA_POLICY_INFO_MOD)] lsa_ModificationInfo mod; */
/* IDL: [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] lsa_AuditFullSetInfo auditfullset; */
/* IDL: [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] lsa_AuditFullQueryInfo auditfullquery; */
/* IDL: [case(LSA_POLICY_INFO_DNS)] [case(LSA_POLICY_INFO_DNS)] lsa_DnsDomainInfo dns; */
/* IDL: [case(LSA_POLICY_INFO_DNS_INT)] [case(LSA_POLICY_INFO_DNS_INT)] lsa_DnsDomainInfo dns_int; */
/* IDL: [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] lsa_DomainInfo l_account_domain; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_AuditLogInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_audit_log,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_AuditEventsInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_audit_events,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_domain,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_PDAccountInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_pd,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_account_domain,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ServerRole(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_role,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ReplicaSourceInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_replica,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DefaultQuotaInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_quota,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_PolicyInformation_mod(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ModificationInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_mod,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_AuditFullSetInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_auditfullset,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_AuditFullQueryInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_auditfullquery,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DnsDomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_dns,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_PolicyInformation_dns_int(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DnsDomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_dns_int,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_PolicyInformation_l_account_domain(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PolicyInformation_l_account_domain,0);

	return offset;
}

static int
lsarpc_dissect_lsa_PolicyInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;
	uint16_t level;

	old_offset = offset;
	if (parent_tree) {
		tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_PolicyInformation, &item, "lsa_PolicyInformation");
	}

	offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
	ALIGN_TO_8_BYTES;

	switch(level) {
		case LSA_POLICY_INFO_AUDIT_LOG:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_audit_log(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_AUDIT_EVENTS:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_audit_events(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_DOMAIN:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_domain(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_PD:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_pd(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_ACCOUNT_DOMAIN:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_account_domain(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_ROLE:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_role(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_REPLICA:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_replica(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_QUOTA:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_quota(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_MOD:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_mod(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_AUDIT_FULL_SET:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_auditfullset(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_AUDIT_FULL_QUERY:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_auditfullquery(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_DNS:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_dns(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_DNS_INT:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_dns_int(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_POLICY_INFO_L_ACCOUNT_DOMAIN:
			offset = lsarpc_dissect_element_lsa_PolicyInformation_l_account_domain(tvb, offset, pinfo, tree, di, drep);
		break;
	}
	proto_item_set_len(item, offset-old_offset);


	return offset;
}

/* IDL: struct { */
/* IDL: 	[unique(1)] dom_sid2 *sid; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SidPtr_sid,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_SidPtr);
	}

	offset = lsarpc_dissect_element_lsa_SidPtr_sid(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,20480)] uint32 num_sids; */
/* IDL: 	[size_is(num_sids)] [unique(1)] lsa_SidPtr *sids; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SidArray_num_sids, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SidArray_sids__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_SidPtr(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SidArray_sids,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_SidArray);
	}

	offset = lsarpc_dissect_element_lsa_SidArray_num_sids(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_SidArray_sids(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_DomainInfo *domains; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DomainList_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DomainList_domains__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainList_domains,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainList);
	}

	offset = lsarpc_dissect_element_lsa_DomainList_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DomainList_domains(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	SID_NAME_USE_NONE=0, */
/* IDL: 	SID_NAME_USER=1, */
/* IDL: 	SID_NAME_DOM_GRP=2, */
/* IDL: 	SID_NAME_DOMAIN=3, */
/* IDL: 	SID_NAME_ALIAS=4, */
/* IDL: 	SID_NAME_WKN_GRP=5, */
/* IDL: 	SID_NAME_DELETED=6, */
/* IDL: 	SID_NAME_INVALID=7, */
/* IDL: 	SID_NAME_UNKNOWN=8, */
/* IDL: 	SID_NAME_COMPUTER=9, */
/* IDL: 	SID_NAME_LABEL=10, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_SidType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_SidType sid_type; */
/* IDL: 	uint32 rid; */
/* IDL: 	uint32 sid_index; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid_sid_type, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid_rid, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid_sid_index, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedSid);
	}

	offset = lsarpc_dissect_element_lsa_TranslatedSid_sid_type(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedSid_rid(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedSid_sid_index(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,1000)] uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_TranslatedSid *sids; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransSidArray_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransSidArray_sids__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TranslatedSid(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransSidArray_sids,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransSidArray);
	}

	offset = lsarpc_dissect_element_lsa_TransSidArray_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TransSidArray_sids(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,1000)] uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_DomainInfo *domains; */
/* IDL: 	uint32 max_size; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RefDomainList_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RefDomainList_domains__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RefDomainList_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RefDomainList_max_size, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_RefDomainList);
	}

	offset = lsarpc_dissect_element_lsa_RefDomainList_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_RefDomainList_domains(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_RefDomainList_max_size(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_LOOKUP_NAMES_ALL=1, */
/* IDL: 	LSA_LOOKUP_NAMES_DOMAINS_ONLY=2, */
/* IDL: 	LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3, */
/* IDL: 	LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4, */
/* IDL: 	LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5, */
/* IDL: 	LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6, */
/* IDL: 	LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=7, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_LookupNamesLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_SidType sid_type; */
/* IDL: 	lsa_String name; */
/* IDL: 	uint32 sid_index; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName_sid_type, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TranslatedName_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName_sid_index, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedName);
	}

	offset = lsarpc_dissect_element_lsa_TranslatedName_sid_type(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedName_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedName_sid_index(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,20480)] uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_TranslatedName *names; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransNameArray_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransNameArray_names__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TranslatedName(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransNameArray_names,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransNameArray);
	}

	offset = lsarpc_dissect_element_lsa_TransNameArray_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TransNameArray_names(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_LUID luid; */
/* IDL: 	uint32 attribute; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_LUID(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LUIDAttribute_luid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LUIDAttribute_attribute, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_LUIDAttribute);
	}

	offset = lsarpc_dissect_element_lsa_LUIDAttribute_luid(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_LUIDAttribute_attribute(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,1000)] uint32 count; */
/* IDL: 	uint32 unknown; */
/* IDL: 	[size_is(count)] lsa_LUIDAttribute set[*]; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_PrivilegeSet_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_PrivilegeSet_unknown, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_PrivilegeSet_set_);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_LUIDAttribute(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_PrivilegeSet_set,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_PrivilegeSet);
	}

	offset = lsarpc_dissect_element_lsa_PrivilegeSet_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_PrivilegeSet_unknown(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_PrivilegeSet_set(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint3264 length; */
/* IDL: 	uint3264 size; */
/* IDL: 	[length_is(length)] [size_is(size)] [unique(1)] uint8 *data; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_uint3264(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF_length, NULL);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_uint3264(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF_size, NULL);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DATA_BUF_data__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF_data, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DATA_BUF);
	}

	offset = lsarpc_dissect_element_lsa_DATA_BUF_length(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DATA_BUF_size(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DATA_BUF_data(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,65536)] uint32 size; */
/* IDL: 	[size_is(size)] [unique(1)] uint8 *data; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF2_size, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DATA_BUF2_data__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DATA_BUF2_data, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DATA_BUF2);
	}

	offset = lsarpc_dissect_element_lsa_DATA_BUF2_size(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DATA_BUF2_data(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_NAME=1, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=2, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_BASIC=5, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=9, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12, */
/* IDL: 	LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES=13, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL_AES=14, */
/* IDL: 	LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL_AES=15, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: bitmap { */
/* IDL: 	LSA_TRUST_DIRECTION_INBOUND =  0x00000001 , */
/* IDL: 	LSA_TRUST_DIRECTION_OUTBOUND =  0x00000002 , */
/* IDL: } */

int
lsarpc_dissect_bitmap_lsa_TrustDirection(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item;
	static int * const lsarpc_lsa_TrustDirection_fields[] = {
		&hf_lsarpc_lsa_TrustDirection_LSA_TRUST_DIRECTION_INBOUND,
		&hf_lsarpc_lsa_TrustDirection_LSA_TRUST_DIRECTION_OUTBOUND,
		NULL
	};
	uint32_t flags;
	ALIGN_TO_4_BYTES;

	item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
				ett_lsarpc_lsa_TrustDirection, lsarpc_lsa_TrustDirection_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);

	offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);

	if (!flags)
		proto_item_append_text(item, ": (No values set)");

	if (flags & (~0x00000003)) {
		flags &= (~0x00000003);
		proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_TRUST_TYPE_DOWNLEVEL=0x00000001, */
/* IDL: 	LSA_TRUST_TYPE_UPLEVEL=0x00000002, */
/* IDL: 	LSA_TRUST_TYPE_MIT=0x00000003, */
/* IDL: 	LSA_TRUST_TYPE_DCE=0x00000004, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_TrustType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: bitmap { */
/* IDL: 	LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE =  0x00000001 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY =  0x00000002 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN =  0x00000004 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE =  0x00000008 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION =  0x00000010 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_WITHIN_FOREST =  0x00000020 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL =  0x00000040 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION =  0x00000080 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION =  0x00000200 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_PIM_TRUST =  0x00000400 , */
/* IDL: 	LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION =  0x00000800 , */
/* IDL: } */

int
lsarpc_dissect_bitmap_lsa_TrustAttributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item;
	static int * const lsarpc_lsa_TrustAttributes_fields[] = {
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_WITHIN_FOREST,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_PIM_TRUST,
		&hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION,
		NULL
	};
	uint32_t flags;
	ALIGN_TO_4_BYTES;

	item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
				ett_lsarpc_lsa_TrustAttributes, lsarpc_lsa_TrustAttributes_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);

	offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);

	if (!flags)
		proto_item_append_text(item, ": (No values set)");

	if (flags & (~0x00000eff)) {
		flags &= (~0x00000eff);
		proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_StringLarge netbios_name; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoName_netbios_name,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoName);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoName_netbios_name(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 entries; */
/* IDL: 	[size_is(entries)] [unique(1)] lsa_StringLarge *netbios_names; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_TrustDomainInfoControllers_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoControllers_entries, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoControllers_netbios_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoControllers_netbios_names_, NDR_POINTER_UNIQUE, "Pointer to Netbios Names (lsa_StringLarge)",hf_lsarpc_lsa_TrustDomainInfoControllers_netbios_names);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoControllers_netbios_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoControllers_netbios_names__);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoControllers_netbios_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoControllers_netbios_names,0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_TrustDomainInfoControllers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoControllers);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoControllers_entries(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoControllers_netbios_names(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 posix_offset; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoPosixOffset_posix_offset, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoPosixOffset);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoPosixOffset_posix_offset(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[unique(1)] lsa_DATA_BUF *password; */
/* IDL: 	[unique(1)] lsa_DATA_BUF *old_password; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoPassword_password,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoPassword_old_password,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoPassword);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoPassword_password(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoPassword_old_password(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_String netbios_name; */
/* IDL: 	[unique(1)] dom_sid2 *sid; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoBasic_netbios_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoBasic_sid,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoBasic);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoBasic_netbios_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoBasic_sid(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_StringLarge domain_name; */
/* IDL: 	lsa_StringLarge netbios_name; */
/* IDL: 	[unique(1)] dom_sid2 *sid; */
/* IDL: 	lsa_TrustDirection trust_direction; */
/* IDL: 	lsa_TrustType trust_type; */
/* IDL: 	lsa_TrustAttributes trust_attributes; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoEx_domain_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoEx_netbios_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoEx_sid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_TrustDirection(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_direction, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_TrustType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_type, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_TrustAttributes(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_attributes, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoInfoEx);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_domain_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_netbios_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_sid(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_direction(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_type(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx_trust_attributes(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	TRUST_AUTH_TYPE_NONE=0, */
/* IDL: 	TRUST_AUTH_TYPE_NT4OWF=1, */
/* IDL: 	TRUST_AUTH_TYPE_CLEAR=2, */
/* IDL: 	TRUST_AUTH_TYPE_VERSION=3, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_TrustAuthType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: struct { */
/* IDL: 	NTTIME_hyper last_update_time; */
/* IDL: 	lsa_TrustAuthType AuthType; */
/* IDL: 	lsa_DATA_BUF2 data; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoBuffer_last_update_time);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_AuthType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_TrustAuthType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoBuffer_AuthType, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoBuffer_data,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_8_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoBuffer);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_last_update_time(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_AuthType(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoBuffer_data(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_8_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 incoming_count; */
/* IDL: 	[unique(1)] lsa_TrustDomainInfoBuffer *incoming_current_auth_info; */
/* IDL: 	[unique(1)] lsa_TrustDomainInfoBuffer *incoming_previous_auth_info; */
/* IDL: 	uint32 outgoing_count; */
/* IDL: 	[unique(1)] lsa_TrustDomainInfoBuffer *outgoing_current_auth_info; */
/* IDL: 	[unique(1)] lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBuffer(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBuffer(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBuffer(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBuffer(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoAuthInfo);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_TrustDomainInfoInfoEx info_ex; */
/* IDL: 	lsa_TrustDomainInfoPosixOffset posix_offset; */
/* IDL: 	lsa_TrustDomainInfoAuthInfo auth_info; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfo_info_ex,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPosixOffset(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfo_posix_offset,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfo_auth_info,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoFullInfo);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_info_ex(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_posix_offset(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo_auth_info(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_DATA_BUF2 auth_blob; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternal_auth_blob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternal_auth_blob,0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfoInternal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoAuthInfoInternal);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternal_auth_blob(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_TrustDomainInfoInfoEx info_ex; */
/* IDL: 	lsa_TrustDomainInfoPosixOffset posix_offset; */
/* IDL: 	lsa_TrustDomainInfoAuthInfoInternal auth_info; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternal_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfoInternal_info_ex,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternal_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPosixOffset(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfoInternal_posix_offset,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternal_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfoInternal(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfoInternal_auth_info,0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_TrustDomainInfoFullInfoInternal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoFullInfoInternal);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternal_info_ex(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternal_posix_offset(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternal_auth_info(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint8 auth_data[64]; */
/* IDL: 	uint8 salt[16]; */
/* IDL: 	lsa_DATA_BUF2 cipher; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_auth_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	int i;
	for (i = 0; i < 64; i++)
		offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_auth_data_(tvb, offset, pinfo, tree, di, drep);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_auth_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES_auth_data, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_salt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	int i;
	for (i = 0; i < 16; i++)
		offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_salt_(tvb, offset, pinfo, tree, di, drep);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_salt_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES_salt, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_cipher(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES_cipher,0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfoInternalAES(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_auth_data(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_salt(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoAuthInfoInternalAES_cipher(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_TrustDomainInfoInfoEx info_ex; */
/* IDL: 	lsa_TrustDomainInfoPosixOffset posix_offset; */
/* IDL: 	lsa_TrustDomainInfoAuthInfoInternalAES auth_info; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternalAES_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES_info_ex,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternalAES_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPosixOffset(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES_posix_offset,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternalAES_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfoInternalAES(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES_auth_info,0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_TrustDomainInfoFullInfoInternalAES(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternalAES_info_ex(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternalAES_posix_offset(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfoInternalAES_auth_info(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_TrustDomainInfoInfoEx info_ex; */
/* IDL: 	uint32 forest_trust_length; */
/* IDL: 	[size_is(forest_trust_length)] [unique(1)] uint8 *forest_trust_data; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_info_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_info_ex,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_length, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data_, NDR_POINTER_UNIQUE, "Pointer to Forest Trust Data (uint8)",hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data__);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data, 0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx2Internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoInfoEx2Internal);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_info_ex(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_length(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_TrustDomainInfoInfoEx2Internal info; */
/* IDL: 	lsa_TrustDomainInfoPosixOffset posix_offset; */
/* IDL: 	lsa_TrustDomainInfoAuthInfo auth_info; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo2Internal_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx2Internal(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfo2Internal_info,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo2Internal_posix_offset(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPosixOffset(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfo2Internal_posix_offset,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo2Internal_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustDomainInfoFullInfo2Internal_auth_info,0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_TrustDomainInfoFullInfo2Internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoFullInfo2Internal);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo2Internal_info(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo2Internal_posix_offset(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoFullInfo2Internal_auth_info(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	kerb_EncTypes enc_types; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_TrustDomainInfoSupportedEncTypes_enc_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_kerb_EncTypes(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TrustDomainInfoSupportedEncTypes_enc_types, 0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_TrustDomainInfoSupportedEncTypes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TrustDomainInfoSupportedEncTypes);
	}

	offset = lsarpc_dissect_element_lsa_TrustDomainInfoSupportedEncTypes_enc_types(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: [switch_type(lsa_TrustDomInfoEnum)] union { */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] lsa_TrustDomainInfoName name; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] lsa_TrustDomainInfoControllers controllers; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] lsa_TrustDomainInfoPosixOffset posix_offset; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] lsa_TrustDomainInfoPassword password; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] lsa_TrustDomainInfoBasic info_basic; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] lsa_TrustDomainInfoInfoEx info_ex; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] lsa_TrustDomainInfoAuthInfo auth_info; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] lsa_TrustDomainInfoFullInfo full_info; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] lsa_TrustDomainInfoAuthInfoInternal auth_info_internal; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] lsa_TrustDomainInfoFullInfoInternal full_info_internal; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] lsa_TrustDomainInfoFullInfo2Internal full_info2_internal; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)] [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)] lsa_TrustDomainInfoSupportedEncTypes enc_types; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL_AES)] [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL_AES)] lsa_TrustDomainInfoAuthInfoInternalAES auth_info_internal_aes; */
/* IDL: [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL_AES)] [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL_AES)] lsa_TrustDomainInfoFullInfoInternalAES full_info_internal_aes; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoName(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_name,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustedDomainInfo_controllers(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoControllers(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_controllers,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPosixOffset(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_posix_offset,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoPassword(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_password,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoBasic(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_info_basic,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_info_ex,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_auth_info,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoFullInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_full_info,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfoInternal(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_auth_info_internal,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoFullInfoInternal(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_full_info_internal,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustedDomainInfo_info_ex2_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx2Internal(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_info_ex2_internal,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info2_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoFullInfo2Internal(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_full_info2_internal,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustedDomainInfo_enc_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoSupportedEncTypes(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_enc_types,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info_internal_aes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfoInternalAES(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_auth_info_internal_aes,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info_internal_aes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoFullInfoInternalAES(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TrustedDomainInfo_full_info_internal_aes,0);

	return offset;
}

static int
lsarpc_dissect_lsa_TrustedDomainInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;
	uint32_t level;

	old_offset = offset;
	if (parent_tree) {
		tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_TrustedDomainInfo, &item, "lsa_TrustedDomainInfo");
	}

	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
	ALIGN_TO_5_BYTES;

	switch(level) {
		case LSA_TRUSTED_DOMAIN_INFO_NAME:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_name(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_controllers(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_posix_offset(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_PASSWORD:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_password(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_BASIC:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_info_basic(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_INFO_EX:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_info_ex(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info_internal(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info_internal(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_info_ex2_internal(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info2_internal(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_enc_types(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL_AES:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_auth_info_internal_aes(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL_AES:
			offset = lsarpc_dissect_element_lsa_TrustedDomainInfo_full_info_internal_aes(tvb, offset, pinfo, tree, di, drep);
		break;
	}
	proto_item_set_len(item, offset-old_offset);


	return offset;
}

/* IDL: struct { */
/* IDL: 	[unique(1)] lsa_DATA_BUF *buf; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DATA_BUF_PTR_buf,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DATA_BUF_PTR);
	}

	offset = lsarpc_dissect_element_lsa_DATA_BUF_PTR_buf(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[charset(UTF16)] [unique(1)] uint16 *name; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	char *data;

	offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_lsarpc_lsa_RightAttribute_name, false, &data);
	proto_item_append_text(tree, ": %s", data);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_RightAttribute);
	}

	offset = lsarpc_dissect_element_lsa_RightAttribute_name(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,256)] uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_StringLarge *names; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RightSet_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RightSet_names__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RightSet_names,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_RightSet);
	}

	offset = lsarpc_dissect_element_lsa_RightSet_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_RightSet_names(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_TrustDomainInfoInfoEx *domains; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DomainListEx_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DomainListEx_domains__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainListEx_domains,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainListEx);
	}

	offset = lsarpc_dissect_element_lsa_DomainListEx_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DomainListEx_domains(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 quality_of_service; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_DomainInfoQoS_quality_of_service(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DomainInfoQoS_quality_of_service, 0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_DomainInfoQoS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainInfoQoS);
	}

	offset = lsarpc_dissect_element_lsa_DomainInfoQoS_quality_of_service(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: bitmap { */
/* IDL: 	LSA_POLICY_KERBEROS_VALIDATE_CLIENT =  0x00000080 , */
/* IDL: } */

int
lsarpc_dissect_bitmap_lsa_krbAuthenticationOptions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item;
	static int * const lsarpc_lsa_krbAuthenticationOptions_fields[] = {
		&hf_lsarpc_lsa_krbAuthenticationOptions_LSA_POLICY_KERBEROS_VALIDATE_CLIENT,
		NULL
	};
	uint32_t flags;
	ALIGN_TO_4_BYTES;

	item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
				ett_lsarpc_lsa_krbAuthenticationOptions, lsarpc_lsa_krbAuthenticationOptions_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);

	offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);

	if (!flags)
		proto_item_append_text(item, ": (No values set)");

	if (flags & (~0x00000080)) {
		flags &= (~0x00000080);
		proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_krbAuthenticationOptions authentication_options; */
/* IDL: 	hyper service_tkt_lifetime; */
/* IDL: 	hyper user_tkt_lifetime; */
/* IDL: 	hyper user_tkt_renewaltime; */
/* IDL: 	hyper clock_skew; */
/* IDL: 	hyper reserved; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_DomainInfoKerberos_authentication_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_krbAuthenticationOptions(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DomainInfoKerberos_authentication_options, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_service_tkt_lifetime);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_lifetime);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_renewaltime);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_clock_skew);

	return offset;
}

static int
lsarpc_dissect_element_lsa_DomainInfoKerberos_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_lsarpc_lsa_DomainInfoKerberos_reserved);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_8_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainInfoKerberos);
	}

	offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_authentication_options(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_service_tkt_lifetime(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_user_tkt_lifetime(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_user_tkt_renewaltime(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_clock_skew(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DomainInfoKerberos_reserved(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_8_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 blob_size; */
/* IDL: 	[size_is(blob_size)] [unique(1)] uint8 *efs_blob; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DomainInfoEfs_blob_size, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_DomainInfoEfs);
	}

	offset = lsarpc_dissect_element_lsa_DomainInfoEfs_blob_size(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_DomainInfoEfs_efs_blob(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_DOMAIN_INFO_POLICY_QOS=1, */
/* IDL: 	LSA_DOMAIN_INFO_POLICY_EFS=2, */
/* IDL: 	LSA_DOMAIN_INFO_POLICY_KERBEROS=3, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_DomainInfoEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: [switch_type(lsa_DomainInfoEnum)] union { */
/* IDL: [case(LSA_DOMAIN_INFO_POLICY_QOS)] [case(LSA_DOMAIN_INFO_POLICY_QOS)] lsa_DomainInfoQoS qos_info; */
/* IDL: [case(LSA_DOMAIN_INFO_POLICY_EFS)] [case(LSA_DOMAIN_INFO_POLICY_EFS)] lsa_DomainInfoEfs efs_info; */
/* IDL: [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] lsa_DomainInfoKerberos kerberos_info; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_DomainInformationPolicy_qos_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainInfoQoS(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainInformationPolicy_qos_info,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainInfoEfs(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainInformationPolicy_efs_info,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainInfoKerberos(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DomainInformationPolicy_kerberos_info,0);

	return offset;
}

static int
lsarpc_dissect_lsa_DomainInformationPolicy(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;
	uint32_t level;

	old_offset = offset;
	if (parent_tree) {
		tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_DomainInformationPolicy, &item, "lsa_DomainInformationPolicy");
	}

	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
	ALIGN_TO_8_BYTES;

	switch(level) {
		case LSA_DOMAIN_INFO_POLICY_QOS:
			offset = lsarpc_dissect_element_lsa_DomainInformationPolicy_qos_info(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_DOMAIN_INFO_POLICY_EFS:
			offset = lsarpc_dissect_element_lsa_DomainInformationPolicy_efs_info(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_DOMAIN_INFO_POLICY_KERBEROS:
			offset = lsarpc_dissect_element_lsa_DomainInformationPolicy_kerberos_info(tvb, offset, pinfo, tree, di, drep);
		break;
	}
	proto_item_set_len(item, offset-old_offset);


	return offset;
}

/* IDL: struct { */
/* IDL: 	lsa_SidType sid_type; */
/* IDL: 	lsa_String name; */
/* IDL: 	uint32 sid_index; */
/* IDL: 	uint32 unknown; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName2_sid_type, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TranslatedName2_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName2_sid_index, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedName2_unknown, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedName2);
	}

	offset = lsarpc_dissect_element_lsa_TranslatedName2_sid_type(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedName2_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedName2_sid_index(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedName2_unknown(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,1000)] uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_TranslatedName2 *names; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransNameArray2_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransNameArray2_names__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TranslatedName2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransNameArray2_names,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransNameArray2);
	}

	offset = lsarpc_dissect_element_lsa_TransNameArray2_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TransNameArray2_names(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES=0x00000000, */
/* IDL: 	LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL=0x80000000, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_LookupOptions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_CLIENT_REVISION_1=0x00000001, */
/* IDL: 	LSA_CLIENT_REVISION_2=0x00000002, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_ClientRevision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_SidType sid_type; */
/* IDL: 	uint32 rid; */
/* IDL: 	uint32 sid_index; */
/* IDL: 	uint32 unknown; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid2_sid_type, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid2_rid, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid2_sid_index, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid2_unknown, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedSid2);
	}

	offset = lsarpc_dissect_element_lsa_TranslatedSid2_sid_type(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedSid2_rid(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedSid2_sid_index(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedSid2_unknown(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,1000)] uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_TranslatedSid2 *sids; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransSidArray2_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransSidArray2_sids__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TranslatedSid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransSidArray2_sids,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransSidArray2);
	}

	offset = lsarpc_dissect_element_lsa_TransSidArray2_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TransSidArray2_sids(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	lsa_SidType sid_type; */
/* IDL: 	[unique(1)] dom_sid2 *sid; */
/* IDL: 	uint32 sid_index; */
/* IDL: 	uint32 flags; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_SidType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid3_sid_type, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TranslatedSid3_sid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid3_sid_index, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_TranslatedSid3_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TranslatedSid3_flags, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TranslatedSid3);
	}

	offset = lsarpc_dissect_element_lsa_TranslatedSid3_sid_type(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedSid3_sid(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedSid3_sid_index(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TranslatedSid3_flags(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,1000)] uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_TranslatedSid3 *sids; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_TransSidArray3_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_TransSidArray3_sids__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TranslatedSid3(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_TransSidArray3_sids,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_TransSidArray3);
	}

	offset = lsarpc_dissect_element_lsa_TransSidArray3_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_TransSidArray3_sids(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: bitmap { */
/* IDL: 	LSA_TLN_DISABLED_NEW =  0x00000001 , */
/* IDL: 	LSA_TLN_DISABLED_ADMIN =  0x00000002 , */
/* IDL: 	LSA_TLN_DISABLED_CONFLICT =  0x00000004 , */
/* IDL: 	LSA_SID_DISABLED_ADMIN =  0x00000001 , */
/* IDL: 	LSA_SID_DISABLED_CONFLICT =  0x00000002 , */
/* IDL: 	LSA_NB_DISABLED_ADMIN =  0x00000004 , */
/* IDL: 	LSA_NB_DISABLED_CONFLICT =  0x00000008 , */
/* IDL: } */

int
lsarpc_dissect_bitmap_lsa_ForestTrustRecordFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item;
	static int * const lsarpc_lsa_ForestTrustRecordFlags_fields[] = {
		&hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_NEW,
		&hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_ADMIN,
		&hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_CONFLICT,
		&hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_ADMIN,
		&hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_CONFLICT,
		&hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_ADMIN,
		&hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_CONFLICT,
		NULL
	};
	uint32_t flags;
	ALIGN_TO_4_BYTES;

	item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
				ett_lsarpc_lsa_ForestTrustRecordFlags, lsarpc_lsa_ForestTrustRecordFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);

	offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);

	if (!flags)
		proto_item_append_text(item, ": (No values set)");

	if (flags & (~0x00000016)) {
		flags &= (~0x00000016);
		proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_FOREST_TRUST_TOP_LEVEL_NAME=0, */
/* IDL: 	LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1, */
/* IDL: 	LSA_FOREST_TRUST_DOMAIN_INFO=2, */
/* IDL: 	LSA_FOREST_TRUST_BINARY_DATA=3, */
/* IDL: 	LSA_FOREST_TRUST_SCANNER_INFO=4, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_ForestTrustRecordType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,131072)] uint3264 length; */
/* IDL: 	[size_is(length)] [unique(1)] uint8 *data; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_uint3264(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustBinaryData_length, NULL);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustBinaryData_data__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustBinaryData_data, 0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustBinaryData);
	}

	offset = lsarpc_dissect_element_lsa_ForestTrustBinaryData_length(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustBinaryData_data(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[unique(1)] dom_sid2 *domain_sid; */
/* IDL: 	lsa_StringLarge dns_domain_name; */
/* IDL: 	lsa_StringLarge netbios_domain_name; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustDomainInfo_domain_sid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustDomainInfo_dns_domain_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustDomainInfo_netbios_domain_name,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustDomainInfo);
	}

	offset = lsarpc_dissect_element_lsa_ForestTrustDomainInfo_domain_sid(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustDomainInfo_dns_domain_name(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustDomainInfo_netbios_domain_name(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: [switch_type(lsa_ForestTrustRecordType)] union { */
/* IDL: [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] lsa_StringLarge top_level_name; */
/* IDL: [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] lsa_StringLarge top_level_name_ex; */
/* IDL: [case(LSA_FOREST_TRUST_DOMAIN_INFO)] [case(LSA_FOREST_TRUST_DOMAIN_INFO)] lsa_ForestTrustDomainInfo domain_info; */
/* IDL: [default] ; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData_top_level_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData_top_level_name_ex,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustDomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData_domain_info,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustBinaryData(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData_data,0);

	return offset;
}

static int
lsarpc_dissect_lsa_ForestTrustData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;
	uint32_t level;

	old_offset = offset;
	if (parent_tree) {
		tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_ForestTrustData, &item, "lsa_ForestTrustData");
	}

	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
	ALIGN_TO_5_BYTES;

	switch(level) {
		case LSA_FOREST_TRUST_TOP_LEVEL_NAME:
			offset = lsarpc_dissect_element_lsa_ForestTrustData_top_level_name(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX:
			offset = lsarpc_dissect_element_lsa_ForestTrustData_top_level_name_ex(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_FOREST_TRUST_DOMAIN_INFO:
			offset = lsarpc_dissect_element_lsa_ForestTrustData_domain_info(tvb, offset, pinfo, tree, di, drep);
		break;

		default:
			offset = lsarpc_dissect_element_lsa_ForestTrustData_data(tvb, offset, pinfo, tree, di, drep);
		break;
	}
	proto_item_set_len(item, offset-old_offset);


	return offset;
}

/* IDL: struct { */
/* IDL: 	lsa_ForestTrustRecordFlags flags; */
/* IDL: 	lsa_ForestTrustRecordType type; */
/* IDL: 	NTTIME_hyper time; */
/* IDL: 	[switch_is(type)] lsa_ForestTrustData forest_trust_data; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_ForestTrustRecordFlags(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord_flags, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustRecord_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *type)
{
	offset = lsarpc_dissect_enum_lsa_ForestTrustRecordType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord_type, type);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustRecord_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord_time);

	return offset;
}

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_, uint8_t *drep _U_, uint32_t *type)
{
	offset = lsarpc_dissect_lsa_ForestTrustData(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord_forest_trust_data, *type);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	uint32_t type = 0;
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_8_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustRecord);
	}

	offset = lsarpc_dissect_element_lsa_ForestTrustRecord_flags(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustRecord_type(tvb, offset, pinfo, tree, di, drep, &type);

	offset = lsarpc_dissect_element_lsa_ForestTrustRecord_time(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustRecord_forest_trust_data(tvb, offset, pinfo, tree, di, drep, &type);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_8_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,4000)] uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_ForestTrustRecord **entries; */
/* IDL: } */

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustInformation_count, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustInformation_entries__);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustRecord(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustInformation_entries,0);

	return offset;
}

int
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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustInformation);
	}

	offset = lsarpc_dissect_element_lsa_ForestTrustInformation_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustInformation_entries(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: enum { */
/* IDL: 	LSA_FOREST_TRUST_COLLISION_TDO=0, */
/* IDL: 	LSA_FOREST_TRUST_COLLISION_XREF=1, */
/* IDL: 	LSA_FOREST_TRUST_COLLISION_OTHER=2, */
/* IDL: } */

int
lsarpc_dissect_enum_lsa_ForestTrustCollisionRecordType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
{
	uint32_t parameter=0;
	if (param) {
		parameter = *param;
	}
	offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
	if (param) {
		*param = parameter;
	}
	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 index; */
/* IDL: 	lsa_ForestTrustCollisionRecordType type; */
/* IDL: 	lsa_ForestTrustRecordFlags flags; */
/* IDL: 	lsa_String name; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_index(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustCollisionRecord_index, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ForestTrustCollisionRecordType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustCollisionRecord_type, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_ForestTrustRecordFlags(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustCollisionRecord_flags, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustCollisionRecord_name,0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_ForestTrustCollisionRecord(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustCollisionRecord);
	}

	offset = lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_index(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_type(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_flags(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustCollisionRecord_name(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_ForestTrustCollisionRecord **entries; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustCollisionInfo_count, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (lsa_ForestTrustCollisionRecord)",hf_lsarpc_lsa_ForestTrustCollisionInfo_entries);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries__);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries___, NDR_POINTER_UNIQUE, "Pointer to Entries (lsa_ForestTrustCollisionRecord)",hf_lsarpc_lsa_ForestTrustCollisionInfo_entries);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustCollisionRecord(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustCollisionInfo_entries,0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_ForestTrustCollisionInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustCollisionInfo);
	}

	offset = lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustCollisionInfo_entries(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}


/* IDL: bitmap { */
/* IDL: 	LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER =  0x00000001 , */
/* IDL: } */

int
lsarpc_dissect_bitmap_lsa_RevisionSupportedFeature(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item;
	static int * const lsarpc_lsa_RevisionSupportedFeature_fields[] = {
		&hf_lsarpc_lsa_RevisionSupportedFeature_LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER,
		NULL
	};
	uint32_t flags;
	ALIGN_TO_4_BYTES;

	item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
				ett_lsarpc_lsa_RevisionSupportedFeature, lsarpc_lsa_RevisionSupportedFeature_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);

	offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);

	if (!flags)
		proto_item_append_text(item, ": (No values set)");

	if (flags & (~0x00000001)) {
		flags &= (~0x00000001);
		proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	uint32 revision; */
/* IDL: 	lsa_RevisionSupportedFeature supported_features; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_revision_info1_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_revision_info1_revision, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_revision_info1_supported_features(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_RevisionSupportedFeature(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_revision_info1_supported_features, 0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_revision_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_4_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_revision_info1);
	}

	offset = lsarpc_dissect_element_lsa_revision_info1_revision(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_revision_info1_supported_features(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_4_BYTES;
	}

	return offset;
}


/* IDL: [switch_type(uint32)] union { */
/* IDL: [case(1)] [case(1)] lsa_revision_info1 info1; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_revision_info_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_revision_info1(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_revision_info_info1,0);

	return offset;
}

static int
lsarpc_dissect_lsa_revision_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;
	uint32_t level;

	old_offset = offset;
	if (parent_tree) {
		tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_revision_info, &item, "lsa_revision_info");
	}

	offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
	ALIGN_TO_4_BYTES;

	switch(level) {
		case 1:
			offset = lsarpc_dissect_element_lsa_revision_info_info1(tvb, offset, pinfo, tree, di, drep);
		break;
	}
	proto_item_set_len(item, offset-old_offset);


	return offset;
}

/* IDL: [switch_type(lsa_ForestTrustRecordType)] union { */
/* IDL: [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] lsa_StringLarge top_level_name; */
/* IDL: [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] lsa_StringLarge top_level_name_ex; */
/* IDL: [case(LSA_FOREST_TRUST_DOMAIN_INFO)] [case(LSA_FOREST_TRUST_DOMAIN_INFO)] lsa_ForestTrustDomainInfo domain_info; */
/* IDL: [case(LSA_FOREST_TRUST_BINARY_DATA)] [case(LSA_FOREST_TRUST_BINARY_DATA)] lsa_ForestTrustBinaryData data; */
/* IDL: [case(LSA_FOREST_TRUST_SCANNER_INFO)] [case(LSA_FOREST_TRUST_SCANNER_INFO)] lsa_ForestTrustDomainInfo scanner_info; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_ForestTrustData2_top_level_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData2_top_level_name,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustData2_top_level_name_ex(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData2_top_level_name_ex,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustData2_domain_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustDomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData2_domain_info,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustData2_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustBinaryData(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData2_data,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustData2_scanner_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustDomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustData2_scanner_info,0);

	return offset;
}

static int
lsarpc_dissect_lsa_ForestTrustData2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;
	uint32_t level;

	old_offset = offset;
	if (parent_tree) {
		tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_lsarpc_lsa_ForestTrustData2, &item, "lsa_ForestTrustData2");
	}

	offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
	ALIGN_TO_5_BYTES;

	switch(level) {
		case LSA_FOREST_TRUST_TOP_LEVEL_NAME:
			offset = lsarpc_dissect_element_lsa_ForestTrustData2_top_level_name(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX:
			offset = lsarpc_dissect_element_lsa_ForestTrustData2_top_level_name_ex(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_FOREST_TRUST_DOMAIN_INFO:
			offset = lsarpc_dissect_element_lsa_ForestTrustData2_domain_info(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_FOREST_TRUST_BINARY_DATA:
			offset = lsarpc_dissect_element_lsa_ForestTrustData2_data(tvb, offset, pinfo, tree, di, drep);
		break;

		case LSA_FOREST_TRUST_SCANNER_INFO:
			offset = lsarpc_dissect_element_lsa_ForestTrustData2_scanner_info(tvb, offset, pinfo, tree, di, drep);
		break;
	}
	proto_item_set_len(item, offset-old_offset);


	return offset;
}

/* IDL: struct { */
/* IDL: 	lsa_ForestTrustRecordFlags flags; */
/* IDL: 	lsa_ForestTrustRecordType type; */
/* IDL: 	NTTIME_hyper time; */
/* IDL: 	[switch_is(type)] lsa_ForestTrustData2 forest_trust_data; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_ForestTrustRecord2_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_ForestTrustRecordFlags(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord2_flags, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustRecord2_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *type)
{
	offset = lsarpc_dissect_enum_lsa_ForestTrustRecordType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord2_type, type);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustRecord2_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord2_time);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustRecord2_forest_trust_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, uint32_t *type)
{
	offset = lsarpc_dissect_lsa_ForestTrustData2(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustRecord2_forest_trust_data, *type);

	return offset;
}

int
lsarpc_dissect_struct_lsa_ForestTrustRecord2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	uint32_t type = 0;
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_8_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustRecord2);
	}

	offset = lsarpc_dissect_element_lsa_ForestTrustRecord2_flags(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustRecord2_type(tvb, offset, pinfo, tree, di, drep, &type);

	offset = lsarpc_dissect_element_lsa_ForestTrustRecord2_time(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustRecord2_forest_trust_data(tvb, offset, pinfo, tree, di, drep, &type);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_8_BYTES;
	}

	return offset;
}


/* IDL: struct { */
/* IDL: 	[range(0,4000)] uint32 count; */
/* IDL: 	[size_is(count)] [unique(1)] lsa_ForestTrustRecord2 **entries; */
/* IDL: } */

static int
lsarpc_dissect_element_lsa_ForestTrustInformation2_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_ForestTrustInformation2_count, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustInformation2_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustInformation2_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (lsa_ForestTrustRecord2)",hf_lsarpc_lsa_ForestTrustInformation2_entries);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustInformation2_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustInformation2_entries__);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustInformation2_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_ForestTrustInformation2_entries___, NDR_POINTER_UNIQUE, "Pointer to Entries (lsa_ForestTrustRecord2)",hf_lsarpc_lsa_ForestTrustInformation2_entries);

	return offset;
}

static int
lsarpc_dissect_element_lsa_ForestTrustInformation2_entries___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustRecord2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_ForestTrustInformation2_entries,0);

	return offset;
}

int
lsarpc_dissect_struct_lsa_ForestTrustInformation2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
{
	proto_item *item = NULL;
	proto_tree *tree = NULL;
	int old_offset;

	ALIGN_TO_5_BYTES;

	old_offset = offset;

	if (parent_tree) {
		item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
		tree = proto_item_add_subtree(item, ett_lsarpc_lsa_ForestTrustInformation2);
	}

	offset = lsarpc_dissect_element_lsa_ForestTrustInformation2_count(tvb, offset, pinfo, tree, di, drep);

	offset = lsarpc_dissect_element_lsa_ForestTrustInformation2_entries(tvb, offset, pinfo, tree, di, drep);


	proto_item_set_len(item, offset-old_offset);


	if (di->call_data->flags & DCERPC_IS_NDR64) {
		ALIGN_TO_5_BYTES;
	}

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_Close_handle, PIDL_POLHND_CLOSE);

	return offset;
}

/* IDL: NTSTATUS lsa_Close( */
/* IDL: [in] [out] [ref] policy_handle *handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Close_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_Close";
	offset = lsarpc_dissect_element_lsa_Close_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_Close_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Close";
	offset = lsarpc_dissect_element_lsa_Close_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_Delete_handle, PIDL_POLHND_CLOSE);

	return offset;
}

/* IDL: NTSTATUS lsa_Delete( */
/* IDL: [in] [ref] policy_handle *handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Delete_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_Delete";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_Delete_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Delete";
	offset = lsarpc_dissect_element_lsa_Delete_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumPrivs_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumPrivs_resume_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_PrivArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumPrivs_privs,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumPrivs_max_count, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_EnumPrivs( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [out] [ref] uint32 *resume_handle, */
/* IDL: [out] [ref] lsa_PrivArray *privs, */
/* IDL: [in] uint32 max_count */
/* IDL: ); */

static int
lsarpc_dissect_lsa_EnumPrivs_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_EnumPrivs";
	offset = lsarpc_dissect_element_lsa_EnumPrivs_resume_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_EnumPrivs_privs(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_EnumPrivs_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_EnumPrivs";
	offset = lsarpc_dissect_element_lsa_EnumPrivs_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumPrivs_resume_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumPrivs_max_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecurity_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_security_secinfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecurity_sec_info, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QuerySecurity_sdbuf_, NDR_POINTER_REF, "Pointer to Sdbuf (sec_desc_buf)",hf_lsarpc_lsa_QuerySecurity_sdbuf);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset=cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);

	return offset;
}

/* IDL: NTSTATUS lsa_QuerySecurity( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] security_secinfo sec_info, */
/* IDL: [out] [ref] sec_desc_buf **sdbuf */
/* IDL: ); */

static int
lsarpc_dissect_lsa_QuerySecurity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_QuerySecurity";
	offset = lsarpc_dissect_element_lsa_QuerySecurity_sdbuf(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_QuerySecurity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_QuerySecurity";
	offset = lsarpc_dissect_element_lsa_QuerySecurity_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QuerySecurity_sec_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_SetSecObj_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetSecObj_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_SetSecObj_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetSecObj_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetSecObj_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetSecObj_sec_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_security_secinfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetSecObj_sec_info, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetSecObj_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetSecObj_sdbuf_, NDR_POINTER_REF, "Pointer to Sdbuf (sec_desc_buf)",hf_lsarpc_lsa_SetSecObj_sdbuf);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetSecObj_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset=cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);

	return offset;
}

/* IDL: NTSTATUS lsa_SetSecObj( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] security_secinfo sec_info, */
/* IDL: [in] [ref] sec_desc_buf *sdbuf */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetSecObj_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetSecObj";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetSecObj_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetSecObj";
	offset = lsarpc_dissect_element_lsa_SetSecObj_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetSecObj_sec_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetSecObj_sdbuf(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

/* IDL: NTSTATUS lsa_ChangePassword( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_ChangePassword_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_ChangePassword";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_ChangePassword_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_ChangePassword";
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy_system_name, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ObjectAttribute(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenPolicy_attr,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_PolicyAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy_access_mask, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_POLICY);

	return offset;
}

/* IDL: NTSTATUS lsa_OpenPolicy( */
/* IDL: [in] [unique(1)] uint16 *system_name, */
/* IDL: [in] [ref] lsa_ObjectAttribute *attr, */
/* IDL: [in] lsa_PolicyAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_OpenPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_OpenPolicy";
	offset = lsarpc_dissect_element_lsa_OpenPolicy_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_OpenPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_OpenPolicy";
	offset = lsarpc_dissect_element_lsa_OpenPolicy_system_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenPolicy_attr(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenPolicy_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_PolicyInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryInfoPolicy_info_, NDR_POINTER_REF, "Pointer to Info (lsa_PolicyInformation)",hf_lsarpc_lsa_QueryInfoPolicy_info);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_PolicyInformation(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_QueryInfoPolicy( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_PolicyInfo level, */
/* IDL: [out] [ref] [switch_is(level)] lsa_PolicyInformation **info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_QueryInfoPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_QueryInfoPolicy";
	offset = lsarpc_dissect_element_lsa_QueryInfoPolicy_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_QueryInfoPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_QueryInfoPolicy";
	offset = lsarpc_dissect_element_lsa_QueryInfoPolicy_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QueryInfoPolicy_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_PolicyInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_PolicyInformation(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_SetInfoPolicy( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_PolicyInfo level, */
/* IDL: [in] [ref] [switch_is(level)] lsa_PolicyInformation *info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetInfoPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetInfoPolicy";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetInfoPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetInfoPolicy";
	offset = lsarpc_dissect_element_lsa_SetInfoPolicy_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetInfoPolicy_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetInfoPolicy_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

/* IDL: NTSTATUS lsa_ClearAuditLog( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_ClearAuditLog_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_ClearAuditLog";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_ClearAuditLog_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_ClearAuditLog";
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateAccount_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateAccount_sid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_AccountAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateAccount_access_mask, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

/* IDL: NTSTATUS lsa_CreateAccount( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] dom_sid2 *sid, */
/* IDL: [in] lsa_AccountAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *acct_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CreateAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CreateAccount";
	offset = lsarpc_dissect_element_lsa_CreateAccount_acct_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CreateAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CreateAccount";
	offset = lsarpc_dissect_element_lsa_CreateAccount_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateAccount_sid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateAccount_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccounts_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccounts_resume_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccounts_sids,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccounts_num_entries, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_EnumAccounts( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [out] [ref] uint32 *resume_handle, */
/* IDL: [out] [ref] lsa_SidArray *sids, */
/* IDL: [in] [range(0,8192)] uint32 num_entries */
/* IDL: ); */

static int
lsarpc_dissect_lsa_EnumAccounts_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_EnumAccounts";
	offset = lsarpc_dissect_element_lsa_EnumAccounts_resume_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_EnumAccounts_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_EnumAccounts_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_EnumAccounts";
	offset = lsarpc_dissect_element_lsa_EnumAccounts_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumAccounts_resume_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumAccounts_num_entries(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomain_policy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomain_policy_handle_, NDR_POINTER_REF, "Pointer to Policy Handle (policy_handle)",hf_lsarpc_lsa_CreateTrustedDomain_policy_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomain_policy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomain_policy_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateTrustedDomain_info,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_TrustedAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomain_access_mask, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

/* IDL: NTSTATUS lsa_CreateTrustedDomain( */
/* IDL: [in] [ref] policy_handle *policy_handle, */
/* IDL: [in] [ref] lsa_DomainInfo *info, */
/* IDL: [in] lsa_TrustedAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *trustdom_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CreateTrustedDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CreateTrustedDomain";
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomain_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CreateTrustedDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CreateTrustedDomain";
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomain_policy_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomain_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomain_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustDom_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustDom_resume_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumTrustDom_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustDom_max_size, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_EnumTrustDom( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [out] [ref] uint32 *resume_handle, */
/* IDL: [out] [ref] lsa_DomainList *domains, */
/* IDL: [in] uint32 max_size */
/* IDL: ); */

static int
lsarpc_dissect_lsa_EnumTrustDom_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_EnumTrustDom";
	offset = lsarpc_dissect_element_lsa_EnumTrustDom_resume_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_EnumTrustDom_domains(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_EnumTrustDom_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_EnumTrustDom";
	offset = lsarpc_dissect_element_lsa_EnumTrustDom_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumTrustDom_resume_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumTrustDom_max_size(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames_num_names, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames_domains_, NDR_POINTER_REF, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupNames_domains);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TransSidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames_sids,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames_count, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupNames( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [range(0,1000)] uint32 num_names, */
/* IDL: [in] [size_is(num_names)] lsa_String names[*], */
/* IDL: [out] [ref] lsa_RefDomainList **domains, */
/* IDL: [in] [out] [ref] lsa_TransSidArray *sids, */
/* IDL: [in] lsa_LookupNamesLevel level, */
/* IDL: [in] [out] [ref] uint32 *count */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupNames_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupNames";
	offset = lsarpc_dissect_element_lsa_LookupNames_domains(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupNames_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupNames_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupNames_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupNames";
	offset = lsarpc_dissect_element_lsa_LookupNames_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames_num_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids_sids,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids_domains_, NDR_POINTER_REF, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupSids_domains);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TransNameArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids_names,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids_count, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupSids( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_SidArray *sids, */
/* IDL: [out] [ref] lsa_RefDomainList **domains, */
/* IDL: [in] [out] [ref] lsa_TransNameArray *names, */
/* IDL: [in] lsa_LookupNamesLevel level, */
/* IDL: [in] [out] [ref] uint32 *count */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupSids_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupSids";
	offset = lsarpc_dissect_element_lsa_LookupSids_domains(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupSids_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupSids_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupSids_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupSids";
	offset = lsarpc_dissect_element_lsa_LookupSids_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateSecret_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateSecret_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_SecretAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateSecret_access_mask, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

/* IDL: NTSTATUS lsa_CreateSecret( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_String name, */
/* IDL: [in] lsa_SecretAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *sec_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CreateSecret_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CreateSecret";
	offset = lsarpc_dissect_element_lsa_CreateSecret_sec_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CreateSecret_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CreateSecret";
	offset = lsarpc_dissect_element_lsa_CreateSecret_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateSecret_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateSecret_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenAccount_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenAccount_sid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_AccountAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenAccount_access_mask, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

/* IDL: NTSTATUS lsa_OpenAccount( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] dom_sid2 *sid, */
/* IDL: [in] lsa_AccountAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *acct_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_OpenAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_OpenAccount";
	offset = lsarpc_dissect_element_lsa_OpenAccount_acct_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_OpenAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_OpenAccount";
	offset = lsarpc_dissect_element_lsa_OpenAccount_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenAccount_sid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenAccount_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumPrivsAccount_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_EnumPrivsAccount_privs_, NDR_POINTER_REF, "Pointer to Privs (lsa_PrivilegeSet)",hf_lsarpc_lsa_EnumPrivsAccount_privs);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_PrivilegeSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumPrivsAccount_privs,0);

	return offset;
}

/* IDL: NTSTATUS lsa_EnumPrivsAccount( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [out] [ref] lsa_PrivilegeSet **privs */
/* IDL: ); */

static int
lsarpc_dissect_lsa_EnumPrivsAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_EnumPrivsAccount";
	offset = lsarpc_dissect_element_lsa_EnumPrivsAccount_privs(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_EnumPrivsAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_EnumPrivsAccount";
	offset = lsarpc_dissect_element_lsa_EnumPrivsAccount_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AddPrivilegesToAccount_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_PrivilegeSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_AddPrivilegesToAccount_privs,0);

	return offset;
}

/* IDL: NTSTATUS lsa_AddPrivilegesToAccount( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_PrivilegeSet *privs */
/* IDL: ); */

static int
lsarpc_dissect_lsa_AddPrivilegesToAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_AddPrivilegesToAccount";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_AddPrivilegesToAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_AddPrivilegesToAccount";
	offset = lsarpc_dissect_element_lsa_AddPrivilegesToAccount_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_AddPrivilegesToAccount_privs(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RemovePrivilegesFromAccount_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RemovePrivilegesFromAccount_remove_all, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_PrivilegeSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RemovePrivilegesFromAccount_privs,0);

	return offset;
}

/* IDL: NTSTATUS lsa_RemovePrivilegesFromAccount( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] uint8 remove_all, */
/* IDL: [in] [unique(1)] lsa_PrivilegeSet *privs */
/* IDL: ); */

static int
lsarpc_dissect_lsa_RemovePrivilegesFromAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_RemovePrivilegesFromAccount";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_RemovePrivilegesFromAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_RemovePrivilegesFromAccount";
	offset = lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_remove_all(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_RemovePrivilegesFromAccount_privs(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

/* IDL: NTSTATUS lsa_GetQuotasForAccount( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_GetQuotasForAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_GetQuotasForAccount";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_GetQuotasForAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_GetQuotasForAccount";
	return offset;
}

/* IDL: NTSTATUS lsa_SetQuotasForAccount( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetQuotasForAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetQuotasForAccount";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetQuotasForAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetQuotasForAccount";
	return offset;
}

static int
lsarpc_dissect_element_lsa_GetSystemAccessAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_GetSystemAccessAccount_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_GetSystemAccessAccount_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_GetSystemAccessAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_GetSystemAccessAccount_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_GetSystemAccessAccount_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_GetSystemAccessAccount_access_mask_, NDR_POINTER_REF, "Pointer to Access Mask (lsa_AccountAccessMask)",hf_lsarpc_lsa_GetSystemAccessAccount_access_mask);

	return offset;
}

static int
lsarpc_dissect_element_lsa_GetSystemAccessAccount_access_mask_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_AccountAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_GetSystemAccessAccount_access_mask, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_GetSystemAccessAccount( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [out] [ref] lsa_AccountAccessMask *access_mask */
/* IDL: ); */

static int
lsarpc_dissect_lsa_GetSystemAccessAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_GetSystemAccessAccount";
	offset = lsarpc_dissect_element_lsa_GetSystemAccessAccount_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_GetSystemAccessAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_GetSystemAccessAccount";
	offset = lsarpc_dissect_element_lsa_GetSystemAccessAccount_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_SetSystemAccessAccount_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetSystemAccessAccount_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_SetSystemAccessAccount_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetSystemAccessAccount_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetSystemAccessAccount_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetSystemAccessAccount_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_AccountAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetSystemAccessAccount_access_mask, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_SetSystemAccessAccount( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_AccountAccessMask access_mask */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetSystemAccessAccount_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetSystemAccessAccount";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetSystemAccessAccount_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetSystemAccessAccount";
	offset = lsarpc_dissect_element_lsa_SetSystemAccessAccount_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetSystemAccessAccount_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomain_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenTrustedDomain_sid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_TrustedAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomain_access_mask, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

/* IDL: NTSTATUS lsa_OpenTrustedDomain( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] dom_sid2 *sid, */
/* IDL: [in] lsa_TrustedAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *trustdom_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_OpenTrustedDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_OpenTrustedDomain";
	offset = lsarpc_dissect_element_lsa_OpenTrustedDomain_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_OpenTrustedDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_OpenTrustedDomain";
	offset = lsarpc_dissect_element_lsa_OpenTrustedDomain_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenTrustedDomain_sid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenTrustedDomain_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfo_trustdom_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfo_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_info_, NDR_POINTER_REF, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_QueryTrustedDomainInfo_info);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfo_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_QueryTrustedDomainInfo( */
/* IDL: [in] [ref] policy_handle *trustdom_handle, */
/* IDL: [in] lsa_TrustDomInfoEnum level, */
/* IDL: [out] [ref] [switch_is(level)] lsa_TrustedDomainInfo **info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_QueryTrustedDomainInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfo";
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_QueryTrustedDomainInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfo";
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfo_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_SetInformationTrustedDomain_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetInformationTrustedDomain_trustdom_handle_, NDR_POINTER_REF, "Pointer to Trustdom Handle (policy_handle)",hf_lsarpc_lsa_SetInformationTrustedDomain_trustdom_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetInformationTrustedDomain_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInformationTrustedDomain_trustdom_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetInformationTrustedDomain_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInformationTrustedDomain_level, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetInformationTrustedDomain_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetInformationTrustedDomain_info_, NDR_POINTER_REF, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_SetInformationTrustedDomain_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetInformationTrustedDomain_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInformationTrustedDomain_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_SetInformationTrustedDomain( */
/* IDL: [in] [ref] policy_handle *trustdom_handle, */
/* IDL: [in] lsa_TrustDomInfoEnum level, */
/* IDL: [in] [ref] [switch_is(level)] lsa_TrustedDomainInfo *info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetInformationTrustedDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetInformationTrustedDomain";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetInformationTrustedDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetInformationTrustedDomain";
	offset = lsarpc_dissect_element_lsa_SetInformationTrustedDomain_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetInformationTrustedDomain_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetInformationTrustedDomain_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenSecret_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenSecret_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_SecretAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenSecret_access_mask, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

/* IDL: NTSTATUS lsa_OpenSecret( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_String name, */
/* IDL: [in] lsa_SecretAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *sec_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_OpenSecret_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_OpenSecret";
	offset = lsarpc_dissect_element_lsa_OpenSecret_sec_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_OpenSecret_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_OpenSecret";
	offset = lsarpc_dissect_element_lsa_OpenSecret_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenSecret_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenSecret_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetSecret_sec_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SetSecret_new_val,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SetSecret_old_val,0);

	return offset;
}

/* IDL: NTSTATUS lsa_SetSecret( */
/* IDL: [in] [ref] policy_handle *sec_handle, */
/* IDL: [in] [unique(1)] lsa_DATA_BUF *new_val, */
/* IDL: [in] [unique(1)] lsa_DATA_BUF *old_val */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetSecret_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetSecret";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetSecret_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetSecret";
	offset = lsarpc_dissect_element_lsa_SetSecret_sec_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetSecret_new_val(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetSecret_old_val(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecret_sec_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF_PTR(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_QuerySecret_new_val,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecret_new_mtime);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF_PTR(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_QuerySecret_old_val,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QuerySecret_old_mtime);

	return offset;
}

/* IDL: NTSTATUS lsa_QuerySecret( */
/* IDL: [in] [ref] policy_handle *sec_handle, */
/* IDL: [in] [out] [unique(1)] lsa_DATA_BUF_PTR *new_val, */
/* IDL: [in] [out] [unique(1)] NTTIME_hyper *new_mtime, */
/* IDL: [in] [out] [unique(1)] lsa_DATA_BUF_PTR *old_val, */
/* IDL: [in] [out] [unique(1)] NTTIME_hyper *old_mtime */
/* IDL: ); */

static int
lsarpc_dissect_lsa_QuerySecret_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_QuerySecret";
	offset = lsarpc_dissect_element_lsa_QuerySecret_new_val(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_QuerySecret_new_mtime(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_QuerySecret_old_val(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_QuerySecret_old_mtime(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_QuerySecret_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_QuerySecret";
	offset = lsarpc_dissect_element_lsa_QuerySecret_sec_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QuerySecret_new_val(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QuerySecret_new_mtime(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QuerySecret_old_val(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QuerySecret_old_mtime(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivValue_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivValue_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_LUID(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivValue_luid,0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupPrivValue( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_String *name, */
/* IDL: [out] [ref] lsa_LUID *luid */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupPrivValue_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupPrivValue";
	offset = lsarpc_dissect_element_lsa_LookupPrivValue_luid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupPrivValue_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupPrivValue";
	offset = lsarpc_dissect_element_lsa_LookupPrivValue_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupPrivValue_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivName_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_LUID(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivName_luid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivName_name_, NDR_POINTER_REF, "Pointer to Name (lsa_StringLarge)",hf_lsarpc_lsa_LookupPrivName_name);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivName_name,0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupPrivName( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_LUID *luid, */
/* IDL: [out] [ref] lsa_StringLarge **name */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupPrivName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupPrivName";
	offset = lsarpc_dissect_element_lsa_LookupPrivName_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupPrivName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupPrivName";
	offset = lsarpc_dissect_element_lsa_LookupPrivName_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupPrivName_luid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivDisplayName_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivDisplayName_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivDisplayName_language_id, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id_sys(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivDisplayName_language_id_sys, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivDisplayName_disp_name_, NDR_POINTER_REF, "Pointer to Disp Name (lsa_StringLarge)",hf_lsarpc_lsa_LookupPrivDisplayName_disp_name);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupPrivDisplayName_disp_name,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupPrivDisplayName_returned_language_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupPrivDisplayName_returned_language_id_, NDR_POINTER_REF, "Pointer to Returned Language Id (uint16)",hf_lsarpc_lsa_LookupPrivDisplayName_returned_language_id);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupPrivDisplayName_returned_language_id_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupPrivDisplayName_returned_language_id, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupPrivDisplayName( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_String *name, */
/* IDL: [in] uint16 language_id, */
/* IDL: [in] uint16 language_id_sys, */
/* IDL: [out] [ref] lsa_StringLarge **disp_name, */
/* IDL: [out] [ref] uint16 *returned_language_id */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupPrivDisplayName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupPrivDisplayName";
	offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_disp_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_returned_language_id(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupPrivDisplayName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupPrivDisplayName";
	offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupPrivDisplayName_language_id_sys(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_DeleteObject_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_DeleteObject_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_DeleteObject_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_DeleteObject_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DeleteObject_handle, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_DeleteObject( */
/* IDL: [in] [out] [ref] policy_handle *handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_DeleteObject_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_DeleteObject";
	offset = lsarpc_dissect_element_lsa_DeleteObject_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_DeleteObject_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_DeleteObject";
	offset = lsarpc_dissect_element_lsa_DeleteObject_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccountsWithUserRight_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccountsWithUserRight_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccountsWithUserRight_sids,0);

	return offset;
}

/* IDL: NTSTATUS lsa_EnumAccountsWithUserRight( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [unique(1)] lsa_String *name, */
/* IDL: [out] [ref] lsa_SidArray *sids */
/* IDL: ); */

static int
lsarpc_dissect_lsa_EnumAccountsWithUserRight_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_EnumAccountsWithUserRight";
	offset = lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_EnumAccountsWithUserRight_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_EnumAccountsWithUserRight";
	offset = lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumAccountsWithUserRight_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumAccountRights_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccountRights_sid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RightSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumAccountRights_rights,0);

	return offset;
}

/* IDL: NTSTATUS lsa_EnumAccountRights( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] dom_sid2 *sid, */
/* IDL: [out] [ref] lsa_RightSet *rights */
/* IDL: ); */

static int
lsarpc_dissect_lsa_EnumAccountRights_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_EnumAccountRights";
	offset = lsarpc_dissect_element_lsa_EnumAccountRights_rights(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_EnumAccountRights_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_EnumAccountRights";
	offset = lsarpc_dissect_element_lsa_EnumAccountRights_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumAccountRights_sid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_AddAccountRights_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_AddAccountRights_sid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RightSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_AddAccountRights_rights,0);

	return offset;
}

/* IDL: NTSTATUS lsa_AddAccountRights( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] dom_sid2 *sid, */
/* IDL: [in] [ref] lsa_RightSet *rights */
/* IDL: ); */

static int
lsarpc_dissect_lsa_AddAccountRights_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_AddAccountRights";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_AddAccountRights_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_AddAccountRights";
	offset = lsarpc_dissect_element_lsa_AddAccountRights_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_AddAccountRights_sid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_AddAccountRights_rights(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RemoveAccountRights_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RemoveAccountRights_sid,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_RemoveAccountRights_remove_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RemoveAccountRights_remove_all, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RightSet(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RemoveAccountRights_rights,0);

	return offset;
}

/* IDL: NTSTATUS lsa_RemoveAccountRights( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] dom_sid2 *sid, */
/* IDL: [in] uint8 remove_all, */
/* IDL: [in] [ref] lsa_RightSet *rights */
/* IDL: ); */

static int
lsarpc_dissect_lsa_RemoveAccountRights_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_RemoveAccountRights";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_RemoveAccountRights_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_RemoveAccountRights";
	offset = lsarpc_dissect_element_lsa_RemoveAccountRights_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_RemoveAccountRights_sid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_RemoveAccountRights_remove_all(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_RemoveAccountRights_rights(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_dom_sid,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_info_, NDR_POINTER_REF, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_info);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_QueryTrustedDomainInfoBySid( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] dom_sid2 *dom_sid, */
/* IDL: [in] lsa_TrustDomInfoEnum level, */
/* IDL: [out] [ref] [switch_is(level)] lsa_TrustedDomainInfo **info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_QueryTrustedDomainInfoBySid_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfoBySid";
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_QueryTrustedDomainInfoBySid_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfoBySid";
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_dom_sid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoBySid_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_SetTrustedDomainInfo_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetTrustedDomainInfo_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_SetTrustedDomainInfo_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetTrustedDomainInfo_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetTrustedDomainInfo_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetTrustedDomainInfo_dom_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetTrustedDomainInfo_dom_sid_, NDR_POINTER_REF, "Pointer to Dom Sid (dom_sid2)",hf_lsarpc_lsa_SetTrustedDomainInfo_dom_sid);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetTrustedDomainInfo_dom_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SetTrustedDomainInfo_dom_sid,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetTrustedDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetTrustedDomainInfo_level, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetTrustedDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetTrustedDomainInfo_info_, NDR_POINTER_REF, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_SetTrustedDomainInfo_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_SetTrustedDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetTrustedDomainInfo_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_SetTrustedDomainInfo( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] dom_sid2 *dom_sid, */
/* IDL: [in] lsa_TrustDomInfoEnum level, */
/* IDL: [in] [ref] [switch_is(level)] lsa_TrustedDomainInfo *info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetTrustedDomainInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetTrustedDomainInfo";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetTrustedDomainInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetTrustedDomainInfo";
	offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfo_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfo_dom_sid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfo_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfo_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_DeleteTrustedDomain_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_dom_sid2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_DeleteTrustedDomain_dom_sid,0);

	return offset;
}

/* IDL: NTSTATUS lsa_DeleteTrustedDomain( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] dom_sid2 *dom_sid */
/* IDL: ); */

static int
lsarpc_dissect_lsa_DeleteTrustedDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_DeleteTrustedDomain";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_DeleteTrustedDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_DeleteTrustedDomain";
	offset = lsarpc_dissect_element_lsa_DeleteTrustedDomain_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_DeleteTrustedDomain_dom_sid(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_StorePrivateData_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_StorePrivateData_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_StorePrivateData_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_StorePrivateData_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_StorePrivateData_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_StorePrivateData_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_StorePrivateData_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_lsarpc_lsa_StorePrivateData_name);

	return offset;
}

static int
lsarpc_dissect_element_lsa_StorePrivateData_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_StorePrivateData_name,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_StorePrivateData_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_StorePrivateData_val_, NDR_POINTER_UNIQUE, "Pointer to Val (lsa_DATA_BUF)",hf_lsarpc_lsa_StorePrivateData_val);

	return offset;
}

static int
lsarpc_dissect_element_lsa_StorePrivateData_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_StorePrivateData_val,0);

	return offset;
}

/* IDL: NTSTATUS lsa_StorePrivateData( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_String *name, */
/* IDL: [in] [unique(1)] lsa_DATA_BUF *val */
/* IDL: ); */

static int
lsarpc_dissect_lsa_StorePrivateData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_StorePrivateData";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_StorePrivateData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_StorePrivateData";
	offset = lsarpc_dissect_element_lsa_StorePrivateData_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_StorePrivateData_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_StorePrivateData_val(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_RetrievePrivateData_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RetrievePrivateData_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_RetrievePrivateData_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_RetrievePrivateData_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_RetrievePrivateData_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_RetrievePrivateData_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RetrievePrivateData_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_lsarpc_lsa_RetrievePrivateData_name);

	return offset;
}

static int
lsarpc_dissect_element_lsa_RetrievePrivateData_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RetrievePrivateData_name,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_RetrievePrivateData_val(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RetrievePrivateData_val_, NDR_POINTER_REF, "Pointer to Val (lsa_DATA_BUF)",hf_lsarpc_lsa_RetrievePrivateData_val);

	return offset;
}

static int
lsarpc_dissect_element_lsa_RetrievePrivateData_val_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_RetrievePrivateData_val__, NDR_POINTER_UNIQUE, "Pointer to Val (lsa_DATA_BUF)",hf_lsarpc_lsa_RetrievePrivateData_val);

	return offset;
}

static int
lsarpc_dissect_element_lsa_RetrievePrivateData_val__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DATA_BUF(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_RetrievePrivateData_val,0);

	return offset;
}

/* IDL: NTSTATUS lsa_RetrievePrivateData( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_String *name, */
/* IDL: [in] [out] [ref] lsa_DATA_BUF **val */
/* IDL: ); */

static int
lsarpc_dissect_lsa_RetrievePrivateData_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_RetrievePrivateData";
	offset = lsarpc_dissect_element_lsa_RetrievePrivateData_val(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_RetrievePrivateData_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_RetrievePrivateData";
	offset = lsarpc_dissect_element_lsa_RetrievePrivateData_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_RetrievePrivateData_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_RetrievePrivateData_val(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	char *data;

	offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_lsarpc_lsa_OpenPolicy2_system_name, false, &data);
	proto_item_append_text(tree, ": %s", data);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ObjectAttribute(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenPolicy2_attr,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_PolicyAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy2_access_mask, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy2_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_LSA_POLICY);

	return offset;
}

/* IDL: NTSTATUS lsa_OpenPolicy2( */
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
/* IDL: [in] [ref] lsa_ObjectAttribute *attr, */
/* IDL: [in] lsa_PolicyAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_OpenPolicy2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_OpenPolicy2";
	offset = lsarpc_dissect_element_lsa_OpenPolicy2_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_OpenPolicy2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_OpenPolicy2";
	offset = lsarpc_dissect_element_lsa_OpenPolicy2_system_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenPolicy2_attr(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenPolicy2_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	char *data;

	offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_lsarpc_lsa_GetUserName_system_name, false, &data);
	proto_item_append_text(tree, ": %s", data);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_GetUserName_account_name_, NDR_POINTER_REF, "Pointer to Account Name (lsa_String)",hf_lsarpc_lsa_GetUserName_account_name);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_GetUserName_account_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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_String)",hf_lsarpc_lsa_GetUserName_authority_name);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_GetUserName_authority_name__, NDR_POINTER_UNIQUE, "Pointer to Authority Name (lsa_String)",hf_lsarpc_lsa_GetUserName_authority_name);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_GetUserName_authority_name,0);

	return offset;
}

/* IDL: NTSTATUS lsa_GetUserName( */
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
/* IDL: [in] [out] [ref] lsa_String **account_name, */
/* IDL: [in] [out] [unique(1)] lsa_String **authority_name */
/* IDL: ); */

static int
lsarpc_dissect_lsa_GetUserName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_GetUserName";
	offset = lsarpc_dissect_element_lsa_GetUserName_account_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_GetUserName_authority_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_GetUserName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_GetUserName";
	offset = lsarpc_dissect_element_lsa_GetUserName_system_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_GetUserName_account_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_GetUserName_authority_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy2_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_PolicyInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy2_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryInfoPolicy2_info_, NDR_POINTER_REF, "Pointer to Info (lsa_PolicyInformation)",hf_lsarpc_lsa_QueryInfoPolicy2_info);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_PolicyInformation(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryInfoPolicy2_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_QueryInfoPolicy2( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_PolicyInfo level, */
/* IDL: [out] [ref] [switch_is(level)] lsa_PolicyInformation **info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_QueryInfoPolicy2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_QueryInfoPolicy2";
	offset = lsarpc_dissect_element_lsa_QueryInfoPolicy2_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_QueryInfoPolicy2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_QueryInfoPolicy2";
	offset = lsarpc_dissect_element_lsa_QueryInfoPolicy2_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QueryInfoPolicy2_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy2_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_PolicyInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy2_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_PolicyInformation(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetInfoPolicy2_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_SetInfoPolicy2( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_PolicyInfo level, */
/* IDL: [in] [ref] [switch_is(level)] lsa_PolicyInformation *info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetInfoPolicy2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetInfoPolicy2";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetInfoPolicy2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetInfoPolicy2";
	offset = lsarpc_dissect_element_lsa_SetInfoPolicy2_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetInfoPolicy2_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetInfoPolicy2_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoByName_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_trusted_domain_, NDR_POINTER_REF, "Pointer to Trusted Domain (lsa_String)",hf_lsarpc_lsa_QueryTrustedDomainInfoByName_trusted_domain);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_QueryTrustedDomainInfoByName_trusted_domain,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoByName_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_info_, NDR_POINTER_REF, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_QueryTrustedDomainInfoByName_info);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryTrustedDomainInfoByName_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_QueryTrustedDomainInfoByName( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_String *trusted_domain, */
/* IDL: [in] lsa_TrustDomInfoEnum level, */
/* IDL: [out] [ref] [switch_is(level)] lsa_TrustedDomainInfo **info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_QueryTrustedDomainInfoByName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfoByName";
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_QueryTrustedDomainInfoByName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_QueryTrustedDomainInfoByName";
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_trusted_domain(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QueryTrustedDomainInfoByName_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetTrustedDomainInfoByName_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_trusted_domain_, NDR_POINTER_REF, "Pointer to Trusted Domain (lsa_String)",hf_lsarpc_lsa_SetTrustedDomainInfoByName_trusted_domain);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_SetTrustedDomainInfoByName_trusted_domain,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_TrustDomInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetTrustedDomainInfoByName_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_info_, NDR_POINTER_REF, "Pointer to Info (lsa_TrustedDomainInfo)",hf_lsarpc_lsa_SetTrustedDomainInfoByName_info);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_TrustedDomainInfo(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetTrustedDomainInfoByName_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_SetTrustedDomainInfoByName( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_String *trusted_domain, */
/* IDL: [in] lsa_TrustDomInfoEnum level, */
/* IDL: [in] [ref] [switch_is(level)] lsa_TrustedDomainInfo *info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetTrustedDomainInfoByName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetTrustedDomainInfoByName";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetTrustedDomainInfoByName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetTrustedDomainInfoByName";
	offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_trusted_domain(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetTrustedDomainInfoByName_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustedDomainsEx_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustedDomainsEx_resume_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_DomainListEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_EnumTrustedDomainsEx_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_EnumTrustedDomainsEx_max_size, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_EnumTrustedDomainsEx( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [out] [ref] uint32 *resume_handle, */
/* IDL: [out] [ref] lsa_DomainListEx *domains, */
/* IDL: [in] uint32 max_size */
/* IDL: ); */

static int
lsarpc_dissect_lsa_EnumTrustedDomainsEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_EnumTrustedDomainsEx";
	offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_resume_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_domains(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_EnumTrustedDomainsEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_EnumTrustedDomainsEx";
	offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_resume_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_EnumTrustedDomainsEx_max_size(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx_policy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx_policy_handle_, NDR_POINTER_REF, "Pointer to Policy Handle (policy_handle)",hf_lsarpc_lsa_CreateTrustedDomainEx_policy_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx_policy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomainEx_policy_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx_info_, NDR_POINTER_REF, "Pointer to Info (lsa_TrustDomainInfoInfoEx)",hf_lsarpc_lsa_CreateTrustedDomainEx_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateTrustedDomainEx_info,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx_auth_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx_auth_info_, NDR_POINTER_REF, "Pointer to Auth Info (lsa_TrustDomainInfoAuthInfo)",hf_lsarpc_lsa_CreateTrustedDomainEx_auth_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx_auth_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateTrustedDomainEx_auth_info,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_TrustedAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomainEx_access_mask, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx_trustdom_handle_, NDR_POINTER_REF, "Pointer to Trustdom Handle (policy_handle)",hf_lsarpc_lsa_CreateTrustedDomainEx_trustdom_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomainEx_trustdom_handle, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_CreateTrustedDomainEx( */
/* IDL: [in] [ref] policy_handle *policy_handle, */
/* IDL: [in] [ref] lsa_TrustDomainInfoInfoEx *info, */
/* IDL: [in] [ref] lsa_TrustDomainInfoAuthInfo *auth_info, */
/* IDL: [in] lsa_TrustedAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *trustdom_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CreateTrustedDomainEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx";
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CreateTrustedDomainEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx";
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx_policy_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx_auth_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CloseTrustedDomainEx_handle, PIDL_POLHND_CLOSE);

	return offset;
}

/* IDL: NTSTATUS lsa_CloseTrustedDomainEx( */
/* IDL: [in] [out] [ref] policy_handle *handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CloseTrustedDomainEx_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CloseTrustedDomainEx";
	offset = lsarpc_dissect_element_lsa_CloseTrustedDomainEx_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CloseTrustedDomainEx_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CloseTrustedDomainEx";
	offset = lsarpc_dissect_element_lsa_CloseTrustedDomainEx_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryDomainInformationPolicy_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_DomainInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryDomainInformationPolicy_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_info_, NDR_POINTER_REF, "Pointer to Info (lsa_DomainInformationPolicy)",hf_lsarpc_lsa_QueryDomainInformationPolicy_info);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_DomainInformationPolicy(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_QueryDomainInformationPolicy_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_QueryDomainInformationPolicy( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_DomainInfoEnum level, */
/* IDL: [out] [ref] [switch_is(level)] lsa_DomainInformationPolicy **info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_QueryDomainInformationPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_QueryDomainInformationPolicy";
	offset = lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_QueryDomainInformationPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_QueryDomainInformationPolicy";
	offset = lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_QueryDomainInformationPolicy_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetDomainInformationPolicy_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_DomainInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetDomainInformationPolicy_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_DomainInformationPolicy(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_SetDomainInformationPolicy_info, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_SetDomainInformationPolicy( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_DomainInfoEnum level, */
/* IDL: [in] [switch_is(level)] [unique(1)] lsa_DomainInformationPolicy *info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_SetDomainInformationPolicy_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_SetDomainInformationPolicy";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_SetDomainInformationPolicy_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_SetDomainInformationPolicy";
	offset = lsarpc_dissect_element_lsa_SetDomainInformationPolicy_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetDomainInformationPolicy_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_SetDomainInformationPolicy_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomainByName_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenTrustedDomainByName_name,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_TrustedAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenTrustedDomainByName_access_mask, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

/* IDL: NTSTATUS lsa_OpenTrustedDomainByName( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] lsa_String name, */
/* IDL: [in] lsa_TrustedAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *trustdom_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_OpenTrustedDomainByName_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_OpenTrustedDomainByName";
	offset = lsarpc_dissect_element_lsa_OpenTrustedDomainByName_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_OpenTrustedDomainByName_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_OpenTrustedDomainByName";
	offset = lsarpc_dissect_element_lsa_OpenTrustedDomainByName_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenTrustedDomainByName_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenTrustedDomainByName_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

/* IDL: NTSTATUS lsa_TestCall( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_TestCall_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_TestCall";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_TestCall_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_TestCall";
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids2_sids,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids2_domains_, NDR_POINTER_REF, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupSids2_domains);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids2_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TransNameArray2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids2_names,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_count, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupSids2_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupOptions(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_lookup_options, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupSids2_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ClientRevision(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids2_client_revision, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupSids2( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_SidArray *sids, */
/* IDL: [out] [ref] lsa_RefDomainList **domains, */
/* IDL: [in] [out] [ref] lsa_TransNameArray2 *names, */
/* IDL: [in] lsa_LookupNamesLevel level, */
/* IDL: [in] [out] [ref] uint32 *count, */
/* IDL: [in] lsa_LookupOptions lookup_options, */
/* IDL: [in] lsa_ClientRevision client_revision */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupSids2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupSids2";
	offset = lsarpc_dissect_element_lsa_LookupSids2_domains(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupSids2_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupSids2_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupSids2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupSids2";
	offset = lsarpc_dissect_element_lsa_LookupSids2_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids2_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids2_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids2_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids2_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids2_lookup_options(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids2_client_revision(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_num_names, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames2_domains_, NDR_POINTER_REF, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupNames2_domains);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames2_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TransSidArray2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames2_sids,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_count, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupNames2_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupOptions(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_lookup_options, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupNames2_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ClientRevision(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames2_client_revision, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupNames2( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [range(0,1000)] uint32 num_names, */
/* IDL: [in] [size_is(num_names)] lsa_String names[*], */
/* IDL: [out] [ref] lsa_RefDomainList **domains, */
/* IDL: [in] [out] [ref] lsa_TransSidArray2 *sids, */
/* IDL: [in] lsa_LookupNamesLevel level, */
/* IDL: [in] [out] [ref] uint32 *count, */
/* IDL: [in] lsa_LookupOptions lookup_options, */
/* IDL: [in] lsa_ClientRevision client_revision */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupNames2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupNames2";
	offset = lsarpc_dissect_element_lsa_LookupNames2_domains(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupNames2_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupNames2_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupNames2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupNames2";
	offset = lsarpc_dissect_element_lsa_LookupNames2_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames2_num_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames2_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames2_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames2_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames2_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames2_lookup_options(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames2_client_revision(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_policy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_policy_handle_, NDR_POINTER_REF, "Pointer to Policy Handle (policy_handle)",hf_lsarpc_lsa_CreateTrustedDomainEx2_policy_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_policy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomainEx2_policy_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_info_, NDR_POINTER_REF, "Pointer to Info (lsa_TrustDomainInfoInfoEx)",hf_lsarpc_lsa_CreateTrustedDomainEx2_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateTrustedDomainEx2_info,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_auth_info_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_auth_info_internal_, NDR_POINTER_REF, "Pointer to Auth Info Internal (lsa_TrustDomainInfoAuthInfoInternal)",hf_lsarpc_lsa_CreateTrustedDomainEx2_auth_info_internal);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_auth_info_internal_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfoInternal(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateTrustedDomainEx2_auth_info_internal,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_TrustedAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomainEx2_access_mask, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_trustdom_handle_, NDR_POINTER_REF, "Pointer to Trustdom Handle (policy_handle)",hf_lsarpc_lsa_CreateTrustedDomainEx2_trustdom_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomainEx2_trustdom_handle, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_CreateTrustedDomainEx2( */
/* IDL: [in] [ref] policy_handle *policy_handle, */
/* IDL: [in] [ref] lsa_TrustDomainInfoInfoEx *info, */
/* IDL: [in] [ref] lsa_TrustDomainInfoAuthInfoInternal *auth_info_internal, */
/* IDL: [in] lsa_TrustedAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *trustdom_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CreateTrustedDomainEx2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx2";
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CreateTrustedDomainEx2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx2";
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_policy_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_auth_info_internal(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx2_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRWRITE( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRWRITE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRWRITE";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRWRITE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRWRITE";
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRREAD( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRREAD_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRREAD";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRREAD_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRREAD";
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRENUMERATE( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRENUMERATE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRENUMERATE";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRENUMERATE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRENUMERATE";
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRWRITEDOMAINCREDENTIALS( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRWRITEDOMAINCREDENTIALS_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRWRITEDOMAINCREDENTIALS";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRWRITEDOMAINCREDENTIALS_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRWRITEDOMAINCREDENTIALS";
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRREADDOMAINCREDENTIALS( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRREADDOMAINCREDENTIALS_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRREADDOMAINCREDENTIALS";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRREADDOMAINCREDENTIALS_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRREADDOMAINCREDENTIALS";
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRDELETE( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRDELETE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRDELETE";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRDELETE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRDELETE";
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRGETTARGETINFO( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRGETTARGETINFO_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRGETTARGETINFO";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRGETTARGETINFO_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRGETTARGETINFO";
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRPROFILELOADED( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRPROFILELOADED_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRPROFILELOADED";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRPROFILELOADED_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRPROFILELOADED";
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_num_names, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames3_names,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames3_domains_, NDR_POINTER_REF, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupNames3_domains);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames3_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TransSidArray3(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames3_sids,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_count, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupNames3_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupOptions(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_lookup_options, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupNames3_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ClientRevision(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames3_client_revision, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupNames3( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [range(0,1000)] uint32 num_names, */
/* IDL: [in] [size_is(num_names)] lsa_String names[*], */
/* IDL: [out] [ref] lsa_RefDomainList **domains, */
/* IDL: [in] [out] [ref] lsa_TransSidArray3 *sids, */
/* IDL: [in] lsa_LookupNamesLevel level, */
/* IDL: [in] [out] [ref] uint32 *count, */
/* IDL: [in] lsa_LookupOptions lookup_options, */
/* IDL: [in] lsa_ClientRevision client_revision */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupNames3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupNames3";
	offset = lsarpc_dissect_element_lsa_LookupNames3_domains(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupNames3_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupNames3_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupNames3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupNames3";
	offset = lsarpc_dissect_element_lsa_LookupNames3_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames3_num_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames3_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames3_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames3_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames3_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames3_lookup_options(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames3_client_revision(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRGETSESSIONTYPES( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRGETSESSIONTYPES_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRGETSESSIONTYPES";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRGETSESSIONTYPES_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRGETSESSIONTYPES";
	return offset;
}

/* IDL: NTSTATUS lsa_LSARREGISTERAUDITEVENT( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LSARREGISTERAUDITEVENT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LSARREGISTERAUDITEVENT";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LSARREGISTERAUDITEVENT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LSARREGISTERAUDITEVENT";
	return offset;
}

/* IDL: NTSTATUS lsa_LSARGENAUDITEVENT( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LSARGENAUDITEVENT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LSARGENAUDITEVENT";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LSARGENAUDITEVENT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LSARGENAUDITEVENT";
	return offset;
}

/* IDL: NTSTATUS lsa_LSARUNREGISTERAUDITEVENT( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LSARUNREGISTERAUDITEVENT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LSARUNREGISTERAUDITEVENT";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LSARUNREGISTERAUDITEVENT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LSARUNREGISTERAUDITEVENT";
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRQueryForestTrustInformation_handle, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRQueryForestTrustInformation_trusted_domain_name,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_highest_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ForestTrustRecordType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRQueryForestTrustInformation_highest_record_type, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustInformation(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRQueryForestTrustInformation_forest_trust_info,0);

	return offset;
}

/* IDL: NTSTATUS lsa_lsaRQueryForestTrustInformation( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_String *trusted_domain_name, */
/* IDL: [in] lsa_ForestTrustRecordType highest_record_type, */
/* IDL: [out] [ref] lsa_ForestTrustInformation **forest_trust_info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_lsaRQueryForestTrustInformation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_lsaRQueryForestTrustInformation";
	offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_forest_trust_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_lsaRQueryForestTrustInformation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_lsaRQueryForestTrustInformation";
	offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_trusted_domain_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation_highest_record_type(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_lsaRSetForestTrustInformation_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRSetForestTrustInformation_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_trusted_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_trusted_domain_name_, NDR_POINTER_REF, "Pointer to Trusted Domain Name (lsa_StringLarge)",hf_lsarpc_lsa_lsaRSetForestTrustInformation_trusted_domain_name);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_trusted_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRSetForestTrustInformation_trusted_domain_name,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_highest_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ForestTrustRecordType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRSetForestTrustInformation_highest_record_type, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_forest_trust_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_forest_trust_info_, NDR_POINTER_REF, "Pointer to Forest Trust Info (lsa_ForestTrustInformation)",hf_lsarpc_lsa_lsaRSetForestTrustInformation_forest_trust_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_forest_trust_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustInformation(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRSetForestTrustInformation_forest_trust_info,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_check_only(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRSetForestTrustInformation_check_only, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_collision_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_collision_info_, NDR_POINTER_REF, "Pointer to Collision Info (lsa_ForestTrustCollisionInfo)",hf_lsarpc_lsa_lsaRSetForestTrustInformation_collision_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_collision_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_collision_info__, NDR_POINTER_UNIQUE, "Pointer to Collision Info (lsa_ForestTrustCollisionInfo)",hf_lsarpc_lsa_lsaRSetForestTrustInformation_collision_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_collision_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustCollisionInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRSetForestTrustInformation_collision_info,0);

	return offset;
}

/* IDL: NTSTATUS lsa_lsaRSetForestTrustInformation( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_StringLarge *trusted_domain_name, */
/* IDL: [in] lsa_ForestTrustRecordType highest_record_type, */
/* IDL: [in] [ref] lsa_ForestTrustInformation *forest_trust_info, */
/* IDL: [in] uint8 check_only, */
/* IDL: [out] [ref] lsa_ForestTrustCollisionInfo **collision_info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_lsaRSetForestTrustInformation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_lsaRSetForestTrustInformation";
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_collision_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_lsaRSetForestTrustInformation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_lsaRSetForestTrustInformation";
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_trusted_domain_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_highest_record_type(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_forest_trust_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation_check_only(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

/* IDL: NTSTATUS lsa_CREDRRENAME( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CREDRRENAME_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CREDRRENAME";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CREDRRENAME_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CREDRRENAME";
	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_SidArray(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids3_sids,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupSids3_domains_, NDR_POINTER_REF, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupSids3_domains);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids3_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TransNameArray2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupSids3_names,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids3_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids3_count, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupSids3_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupOptions(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids3_lookup_options, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupSids3_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ClientRevision(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupSids3_client_revision, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupSids3( */
/* IDL: [in] [ref] lsa_SidArray *sids, */
/* IDL: [out] [ref] lsa_RefDomainList **domains, */
/* IDL: [in] [out] [ref] lsa_TransNameArray2 *names, */
/* IDL: [in] lsa_LookupNamesLevel level, */
/* IDL: [in] [out] [ref] uint32 *count, */
/* IDL: [in] lsa_LookupOptions lookup_options, */
/* IDL: [in] lsa_ClientRevision client_revision */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupSids3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupSids3";
	offset = lsarpc_dissect_element_lsa_LookupSids3_domains(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupSids3_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupSids3_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupSids3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupSids3";
	offset = lsarpc_dissect_element_lsa_LookupSids3_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids3_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids3_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids3_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids3_lookup_options(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupSids3_client_revision(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_num_names, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_LookupNames4_domains_, NDR_POINTER_REF, "Pointer to Domains (lsa_RefDomainList)",hf_lsarpc_lsa_LookupNames4_domains);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_RefDomainList(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames4_domains,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TransSidArray3(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_LookupNames4_sids,0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupNamesLevel(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_level, 0);

	return offset;
}

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_, uint8_t *drep _U_)
{
	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);

	return offset;
}

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_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_count, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupNames4_lookup_options(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_LookupOptions(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_lookup_options, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_LookupNames4_client_revision(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ClientRevision(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_LookupNames4_client_revision, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_LookupNames4( */
/* IDL: [in] [range(0,1000)] uint32 num_names, */
/* IDL: [in] [size_is(num_names)] lsa_String names[*], */
/* IDL: [out] [ref] lsa_RefDomainList **domains, */
/* IDL: [in] [out] [ref] lsa_TransSidArray3 *sids, */
/* IDL: [in] lsa_LookupNamesLevel level, */
/* IDL: [in] [out] [ref] uint32 *count, */
/* IDL: [in] lsa_LookupOptions lookup_options, */
/* IDL: [in] lsa_ClientRevision client_revision */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LookupNames4_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LookupNames4";
	offset = lsarpc_dissect_element_lsa_LookupNames4_domains(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupNames4_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_LookupNames4_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LookupNames4_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LookupNames4";
	offset = lsarpc_dissect_element_lsa_LookupNames4_num_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames4_names(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames4_sids(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames4_level(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames4_count(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames4_lookup_options(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_LookupNames4_client_revision(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

/* IDL: NTSTATUS lsa_LSAROPENPOLICYSCE( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LSAROPENPOLICYSCE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LSAROPENPOLICYSCE";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LSAROPENPOLICYSCE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LSAROPENPOLICYSCE";
	return offset;
}

/* IDL: NTSTATUS lsa_LSARADTREGISTERSECURITYEVENTSOURCE( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LSARADTREGISTERSECURITYEVENTSOURCE";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LSARADTREGISTERSECURITYEVENTSOURCE";
	return offset;
}

/* IDL: NTSTATUS lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE";
	return offset;
}

/* IDL: NTSTATUS lsa_LSARADTREPORTSECURITYEVENT( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_LSARADTREPORTSECURITYEVENT_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_LSARADTREPORTSECURITYEVENT";
	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_LSARADTREPORTSECURITYEVENT_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_LSARADTREPORTSECURITYEVENT";
	return offset;
}

/* IDL: void lsa_Opnum82NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum82NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum82NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum82NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum82NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum83NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum83NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum83NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum83NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum83NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum84NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum84NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum84NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum84NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum84NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum85NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum85NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum85NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum85NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum85NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum86NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum86NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum86NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum86NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum86NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum87NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum87NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum87NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum87NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum87NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum88NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum88NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum88NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum88NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum88NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum89NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum89NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum89NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum89NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum89NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum90NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum90NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum90NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum90NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum90NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum91NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum91NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum91NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum91NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum91NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum92NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum92NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum92NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum92NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum92NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum93NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum93NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum93NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum93NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum93NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum94NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum94NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum94NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum94NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum94NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum95NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum95NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum95NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum95NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum95NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum96NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum96NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum96NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum96NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum96NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum97NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum97NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum97NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum97NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum97NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum98NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum98NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum98NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum98NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum98NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum99NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum99NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum99NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum99NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum99NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum100NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum100NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum100NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum100NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum100NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum101NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum101NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum101NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum101NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum101NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum102NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum102NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum102NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum102NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum102NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum103NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum103NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum103NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum103NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum103NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum104NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum104NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum104NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum104NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum104NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum105NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum105NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum105NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum105NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum105NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum106NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum106NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum106NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum106NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum106NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum107NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum107NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum107NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum107NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum107NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum108NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum108NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum108NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum108NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum108NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum109NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum109NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum109NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum109NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum109NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum110NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum110NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum110NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum110NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum110NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum111NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum111NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum111NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum111NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum111NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum112NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum112NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum112NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum112NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum112NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum113NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum113NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum113NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum113NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum113NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum114NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum114NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum114NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum114NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum114NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum115NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum115NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum115NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum115NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum115NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum116NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum116NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum116NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum116NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum116NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum117NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum117NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum117NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum117NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum117NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum118NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum118NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum118NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum118NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum118NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum119NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum119NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum119NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum119NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum119NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum120NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum120NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum120NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum120NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum120NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum121NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum121NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum121NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum121NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum121NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum122NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum122NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum122NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum122NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum122NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum123NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum123NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum123NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum123NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum123NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum124NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum124NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum124NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum124NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum124NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum125NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum125NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum125NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum125NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum125NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum126NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum126NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum126NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum126NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum126NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum127NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum127NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum127NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum127NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum127NotUsedOnWire";
	return offset;
}

/* IDL: void lsa_Opnum128NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum128NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum128NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum128NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum128NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_policy_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_policy_handle_, NDR_POINTER_REF, "Pointer to Policy Handle (policy_handle)",hf_lsarpc_lsa_CreateTrustedDomainEx3_policy_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_policy_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomainEx3_policy_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_info_, NDR_POINTER_REF, "Pointer to Info (lsa_TrustDomainInfoInfoEx)",hf_lsarpc_lsa_CreateTrustedDomainEx3_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoInfoEx(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateTrustedDomainEx3_info,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_auth_info_internal(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_auth_info_internal_, NDR_POINTER_REF, "Pointer to Auth Info Internal (lsa_TrustDomainInfoAuthInfoInternalAES)",hf_lsarpc_lsa_CreateTrustedDomainEx3_auth_info_internal);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_auth_info_internal_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_TrustDomainInfoAuthInfoInternalAES(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_CreateTrustedDomainEx3_auth_info_internal,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_TrustedAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomainEx3_access_mask, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_trustdom_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_trustdom_handle_, NDR_POINTER_REF, "Pointer to Trustdom Handle (policy_handle)",hf_lsarpc_lsa_CreateTrustedDomainEx3_trustdom_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_trustdom_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_CreateTrustedDomainEx3_trustdom_handle, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_CreateTrustedDomainEx3( */
/* IDL: [in] [ref] policy_handle *policy_handle, */
/* IDL: [in] [ref] lsa_TrustDomainInfoInfoEx *info, */
/* IDL: [in] [ref] lsa_TrustDomainInfoAuthInfoInternalAES *auth_info_internal, */
/* IDL: [in] lsa_TrustedAccessMask access_mask, */
/* IDL: [out] [ref] policy_handle *trustdom_handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_CreateTrustedDomainEx3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx3";
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_trustdom_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_CreateTrustedDomainEx3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_CreateTrustedDomainEx3";
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_policy_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_auth_info_internal(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_CreateTrustedDomainEx3_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy3_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_lsarpc_lsa_OpenPolicy3_system_name);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	char *data;

	offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_lsarpc_lsa_OpenPolicy3_system_name, false, &data);
	proto_item_append_text(tree, ": %s", data);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_attr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy3_attr_, NDR_POINTER_REF, "Pointer to Attr (lsa_ObjectAttribute)",hf_lsarpc_lsa_OpenPolicy3_attr);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_attr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ObjectAttribute(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_OpenPolicy3_attr,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_bitmap_lsa_PolicyAccessMask(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy3_access_mask, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_in_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy3_in_version, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_in_revision_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy3_in_revision_info_, NDR_POINTER_REF, "Pointer to In Revision Info (lsa_revision_info)",hf_lsarpc_lsa_OpenPolicy3_in_revision_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_in_revision_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_revision_info(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy3_in_revision_info, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_out_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy3_out_version_, NDR_POINTER_REF, "Pointer to Out Version (uint32)",hf_lsarpc_lsa_OpenPolicy3_out_version);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_out_version_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy3_out_version, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_out_revision_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy3_out_revision_info_, NDR_POINTER_REF, "Pointer to Out Revision Info (lsa_revision_info)",hf_lsarpc_lsa_OpenPolicy3_out_revision_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_out_revision_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_lsa_revision_info(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy3_out_revision_info, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_OpenPolicy3_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_OpenPolicy3_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_OpenPolicy3_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_OpenPolicy3_handle, 0);

	return offset;
}

/* IDL: NTSTATUS lsa_OpenPolicy3( */
/* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
/* IDL: [in] [ref] lsa_ObjectAttribute *attr, */
/* IDL: [in] lsa_PolicyAccessMask access_mask, */
/* IDL: [in] uint32 in_version, */
/* IDL: [in] [ref] [switch_is(in_version)] lsa_revision_info *in_revision_info, */
/* IDL: [out] [ref] uint32 *out_version, */
/* IDL: [out] [ref] [switch_is(*out_version)] lsa_revision_info *out_revision_info, */
/* IDL: [out] [ref] policy_handle *handle */
/* IDL: ); */

static int
lsarpc_dissect_lsa_OpenPolicy3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_OpenPolicy3";
	offset = lsarpc_dissect_element_lsa_OpenPolicy3_out_version(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_OpenPolicy3_out_revision_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = lsarpc_dissect_element_lsa_OpenPolicy3_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_OpenPolicy3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_OpenPolicy3";
	offset = lsarpc_dissect_element_lsa_OpenPolicy3_system_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenPolicy3_attr(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenPolicy3_access_mask(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenPolicy3_in_version(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_OpenPolicy3_in_revision_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

/* IDL: void lsa_Opnum131NotUsedOnWire( */
/* IDL:  */
/* IDL: ); */

static int
lsarpc_dissect_lsa_Opnum131NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum131NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_lsa_Opnum131NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_Opnum131NotUsedOnWire";
	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name_, NDR_POINTER_REF, "Pointer to Trusted Domain Name (lsa_String)",hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_String(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_highest_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ForestTrustRecordType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_highest_record_type, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_forest_trust_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_forest_trust_info_, NDR_POINTER_REF, "Pointer to Forest Trust Info (lsa_ForestTrustInformation2)",hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_forest_trust_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_forest_trust_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_forest_trust_info__, NDR_POINTER_UNIQUE, "Pointer to Forest Trust Info (lsa_ForestTrustInformation2)",hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_forest_trust_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_forest_trust_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustInformation2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_forest_trust_info,0);

	return offset;
}

/* IDL: NTSTATUS lsa_lsaRQueryForestTrustInformation2( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_String *trusted_domain_name, */
/* IDL: [in] lsa_ForestTrustRecordType highest_record_type, */
/* IDL: [out] [ref] lsa_ForestTrustInformation2 **forest_trust_info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_lsaRQueryForestTrustInformation2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_lsaRQueryForestTrustInformation2";
	offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_forest_trust_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_lsaRQueryForestTrustInformation2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_lsaRQueryForestTrustInformation2";
	offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRQueryForestTrustInformation2_highest_record_type(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_lsarpc_lsa_lsaRSetForestTrustInformation2_handle);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRSetForestTrustInformation2_handle, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_trusted_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_trusted_domain_name_, NDR_POINTER_REF, "Pointer to Trusted Domain Name (lsa_StringLarge)",hf_lsarpc_lsa_lsaRSetForestTrustInformation2_trusted_domain_name);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_trusted_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_StringLarge(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRSetForestTrustInformation2_trusted_domain_name,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_highest_record_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_enum_lsa_ForestTrustRecordType(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRSetForestTrustInformation2_highest_record_type, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_forest_trust_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_forest_trust_info_, NDR_POINTER_REF, "Pointer to Forest Trust Info (lsa_ForestTrustInformation2)",hf_lsarpc_lsa_lsaRSetForestTrustInformation2_forest_trust_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_forest_trust_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustInformation2(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRSetForestTrustInformation2_forest_trust_info,0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_check_only(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_lsa_lsaRSetForestTrustInformation2_check_only, 0);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_collision_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_collision_info_, NDR_POINTER_REF, "Pointer to Collision Info (lsa_ForestTrustCollisionInfo)",hf_lsarpc_lsa_lsaRSetForestTrustInformation2_collision_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_collision_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_collision_info__, NDR_POINTER_UNIQUE, "Pointer to Collision Info (lsa_ForestTrustCollisionInfo)",hf_lsarpc_lsa_lsaRSetForestTrustInformation2_collision_info);

	return offset;
}

static int
lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_collision_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	offset = lsarpc_dissect_struct_lsa_ForestTrustCollisionInfo(tvb,offset,pinfo,tree,di,drep,hf_lsarpc_lsa_lsaRSetForestTrustInformation2_collision_info,0);

	return offset;
}

/* IDL: NTSTATUS lsa_lsaRSetForestTrustInformation2( */
/* IDL: [in] [ref] policy_handle *handle, */
/* IDL: [in] [ref] lsa_StringLarge *trusted_domain_name, */
/* IDL: [in] lsa_ForestTrustRecordType highest_record_type, */
/* IDL: [in] [ref] lsa_ForestTrustInformation2 *forest_trust_info, */
/* IDL: [in] uint8 check_only, */
/* IDL: [out] [ref] lsa_ForestTrustCollisionInfo **collision_info */
/* IDL: ); */

static int
lsarpc_dissect_lsa_lsaRSetForestTrustInformation2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	uint32_t status;

	di->dcerpc_procedure_name="lsa_lsaRSetForestTrustInformation2";
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_collision_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);

	offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_lsarpc_status, &status);

	if (status != 0)
		col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(pinfo->pool, status, &NT_errors_ext, "Unknown NT status 0x%08x"));

	return offset;
}

static int
lsarpc_dissect_lsa_lsaRSetForestTrustInformation2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
{
	di->dcerpc_procedure_name="lsa_lsaRSetForestTrustInformation2";
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_handle(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_trusted_domain_name(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_highest_record_type(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_forest_trust_info(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	offset = lsarpc_dissect_element_lsa_lsaRSetForestTrustInformation2_check_only(tvb, offset, pinfo, tree, di, drep);
	offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
	return offset;
}


static const dcerpc_sub_dissector lsarpc_dissectors[] = {
	{ 0, "lsa_Close",
	   lsarpc_dissect_lsa_Close_request, lsarpc_dissect_lsa_Close_response},
	{ 1, "lsa_Delete",
	   lsarpc_dissect_lsa_Delete_request, lsarpc_dissect_lsa_Delete_response},
	{ 2, "lsa_EnumPrivs",
	   lsarpc_dissect_lsa_EnumPrivs_request, lsarpc_dissect_lsa_EnumPrivs_response},
	{ 3, "lsa_QuerySecurity",
	   lsarpc_dissect_lsa_QuerySecurity_request, lsarpc_dissect_lsa_QuerySecurity_response},
	{ 4, "lsa_SetSecObj",
	   lsarpc_dissect_lsa_SetSecObj_request, lsarpc_dissect_lsa_SetSecObj_response},
	{ 5, "lsa_ChangePassword",
	   lsarpc_dissect_lsa_ChangePassword_request, lsarpc_dissect_lsa_ChangePassword_response},
	{ 6, "lsa_OpenPolicy",
	   lsarpc_dissect_lsa_OpenPolicy_request, lsarpc_dissect_lsa_OpenPolicy_response},
	{ 7, "lsa_QueryInfoPolicy",
	   lsarpc_dissect_lsa_QueryInfoPolicy_request, lsarpc_dissect_lsa_QueryInfoPolicy_response},
	{ 8, "lsa_SetInfoPolicy",
	   lsarpc_dissect_lsa_SetInfoPolicy_request, lsarpc_dissect_lsa_SetInfoPolicy_response},
	{ 9, "lsa_ClearAuditLog",
	   lsarpc_dissect_lsa_ClearAuditLog_request, lsarpc_dissect_lsa_ClearAuditLog_response},
	{ 10, "lsa_CreateAccount",
	   lsarpc_dissect_lsa_CreateAccount_request, lsarpc_dissect_lsa_CreateAccount_response},
	{ 11, "lsa_EnumAccounts",
	   lsarpc_dissect_lsa_EnumAccounts_request, lsarpc_dissect_lsa_EnumAccounts_response},
	{ 12, "lsa_CreateTrustedDomain",
	   lsarpc_dissect_lsa_CreateTrustedDomain_request, lsarpc_dissect_lsa_CreateTrustedDomain_response},
	{ 13, "lsa_EnumTrustDom",
	   lsarpc_dissect_lsa_EnumTrustDom_request, lsarpc_dissect_lsa_EnumTrustDom_response},
	{ 14, "lsa_LookupNames",
	   lsarpc_dissect_lsa_LookupNames_request, lsarpc_dissect_lsa_LookupNames_response},
	{ 15, "lsa_LookupSids",
	   lsarpc_dissect_lsa_LookupSids_request, lsarpc_dissect_lsa_LookupSids_response},
	{ 16, "lsa_CreateSecret",
	   lsarpc_dissect_lsa_CreateSecret_request, lsarpc_dissect_lsa_CreateSecret_response},
	{ 17, "lsa_OpenAccount",
	   lsarpc_dissect_lsa_OpenAccount_request, lsarpc_dissect_lsa_OpenAccount_response},
	{ 18, "lsa_EnumPrivsAccount",
	   lsarpc_dissect_lsa_EnumPrivsAccount_request, lsarpc_dissect_lsa_EnumPrivsAccount_response},
	{ 19, "lsa_AddPrivilegesToAccount",
	   lsarpc_dissect_lsa_AddPrivilegesToAccount_request, lsarpc_dissect_lsa_AddPrivilegesToAccount_response},
	{ 20, "lsa_RemovePrivilegesFromAccount",
	   lsarpc_dissect_lsa_RemovePrivilegesFromAccount_request, lsarpc_dissect_lsa_RemovePrivilegesFromAccount_response},
	{ 21, "lsa_GetQuotasForAccount",
	   lsarpc_dissect_lsa_GetQuotasForAccount_request, lsarpc_dissect_lsa_GetQuotasForAccount_response},
	{ 22, "lsa_SetQuotasForAccount",
	   lsarpc_dissect_lsa_SetQuotasForAccount_request, lsarpc_dissect_lsa_SetQuotasForAccount_response},
	{ 23, "lsa_GetSystemAccessAccount",
	   lsarpc_dissect_lsa_GetSystemAccessAccount_request, lsarpc_dissect_lsa_GetSystemAccessAccount_response},
	{ 24, "lsa_SetSystemAccessAccount",
	   lsarpc_dissect_lsa_SetSystemAccessAccount_request, lsarpc_dissect_lsa_SetSystemAccessAccount_response},
	{ 25, "lsa_OpenTrustedDomain",
	   lsarpc_dissect_lsa_OpenTrustedDomain_request, lsarpc_dissect_lsa_OpenTrustedDomain_response},
	{ 26, "lsa_QueryTrustedDomainInfo",
	   lsarpc_dissect_lsa_QueryTrustedDomainInfo_request, lsarpc_dissect_lsa_QueryTrustedDomainInfo_response},
	{ 27, "lsa_SetInformationTrustedDomain",
	   lsarpc_dissect_lsa_SetInformationTrustedDomain_request, lsarpc_dissect_lsa_SetInformationTrustedDomain_response},
	{ 28, "lsa_OpenSecret",
	   lsarpc_dissect_lsa_OpenSecret_request, lsarpc_dissect_lsa_OpenSecret_response},
	{ 29, "lsa_SetSecret",
	   lsarpc_dissect_lsa_SetSecret_request, lsarpc_dissect_lsa_SetSecret_response},
	{ 30, "lsa_QuerySecret",
	   lsarpc_dissect_lsa_QuerySecret_request, lsarpc_dissect_lsa_QuerySecret_response},
	{ 31, "lsa_LookupPrivValue",
	   lsarpc_dissect_lsa_LookupPrivValue_request, lsarpc_dissect_lsa_LookupPrivValue_response},
	{ 32, "lsa_LookupPrivName",
	   lsarpc_dissect_lsa_LookupPrivName_request, lsarpc_dissect_lsa_LookupPrivName_response},
	{ 33, "lsa_LookupPrivDisplayName",
	   lsarpc_dissect_lsa_LookupPrivDisplayName_request, lsarpc_dissect_lsa_LookupPrivDisplayName_response},
	{ 34, "lsa_DeleteObject",
	   lsarpc_dissect_lsa_DeleteObject_request, lsarpc_dissect_lsa_DeleteObject_response},
	{ 35, "lsa_EnumAccountsWithUserRight",
	   lsarpc_dissect_lsa_EnumAccountsWithUserRight_request, lsarpc_dissect_lsa_EnumAccountsWithUserRight_response},
	{ 36, "lsa_EnumAccountRights",
	   lsarpc_dissect_lsa_EnumAccountRights_request, lsarpc_dissect_lsa_EnumAccountRights_response},
	{ 37, "lsa_AddAccountRights",
	   lsarpc_dissect_lsa_AddAccountRights_request, lsarpc_dissect_lsa_AddAccountRights_response},
	{ 38, "lsa_RemoveAccountRights",
	   lsarpc_dissect_lsa_RemoveAccountRights_request, lsarpc_dissect_lsa_RemoveAccountRights_response},
	{ 39, "lsa_QueryTrustedDomainInfoBySid",
	   lsarpc_dissect_lsa_QueryTrustedDomainInfoBySid_request, lsarpc_dissect_lsa_QueryTrustedDomainInfoBySid_response},
	{ 40, "lsa_SetTrustedDomainInfo",
	   lsarpc_dissect_lsa_SetTrustedDomainInfo_request, lsarpc_dissect_lsa_SetTrustedDomainInfo_response},
	{ 41, "lsa_DeleteTrustedDomain",
	   lsarpc_dissect_lsa_DeleteTrustedDomain_request, lsarpc_dissect_lsa_DeleteTrustedDomain_response},
	{ 42, "lsa_StorePrivateData",
	   lsarpc_dissect_lsa_StorePrivateData_request, lsarpc_dissect_lsa_StorePrivateData_response},
	{ 43, "lsa_RetrievePrivateData",
	   lsarpc_dissect_lsa_RetrievePrivateData_request, lsarpc_dissect_lsa_RetrievePrivateData_response},
	{ 44, "lsa_OpenPolicy2",
	   lsarpc_dissect_lsa_OpenPolicy2_request, lsarpc_dissect_lsa_OpenPolicy2_response},
	{ 45, "lsa_GetUserName",
	   lsarpc_dissect_lsa_GetUserName_request, lsarpc_dissect_lsa_GetUserName_response},
	{ 46, "lsa_QueryInfoPolicy2",
	   lsarpc_dissect_lsa_QueryInfoPolicy2_request, lsarpc_dissect_lsa_QueryInfoPolicy2_response},
	{ 47, "lsa_SetInfoPolicy2",
	   lsarpc_dissect_lsa_SetInfoPolicy2_request, lsarpc_dissect_lsa_SetInfoPolicy2_response},
	{ 48, "lsa_QueryTrustedDomainInfoByName",
	   lsarpc_dissect_lsa_QueryTrustedDomainInfoByName_request, lsarpc_dissect_lsa_QueryTrustedDomainInfoByName_response},
	{ 49, "lsa_SetTrustedDomainInfoByName",
	   lsarpc_dissect_lsa_SetTrustedDomainInfoByName_request, lsarpc_dissect_lsa_SetTrustedDomainInfoByName_response},
	{ 50, "lsa_EnumTrustedDomainsEx",
	   lsarpc_dissect_lsa_EnumTrustedDomainsEx_request, lsarpc_dissect_lsa_EnumTrustedDomainsEx_response},
	{ 51, "lsa_CreateTrustedDomainEx",
	   lsarpc_dissect_lsa_CreateTrustedDomainEx_request, lsarpc_dissect_lsa_CreateTrustedDomainEx_response},
	{ 52, "lsa_CloseTrustedDomainEx",
	   lsarpc_dissect_lsa_CloseTrustedDomainEx_request, lsarpc_dissect_lsa_CloseTrustedDomainEx_response},
	{ 53, "lsa_QueryDomainInformationPolicy",
	   lsarpc_dissect_lsa_QueryDomainInformationPolicy_request, lsarpc_dissect_lsa_QueryDomainInformationPolicy_response},
	{ 54, "lsa_SetDomainInformationPolicy",
	   lsarpc_dissect_lsa_SetDomainInformationPolicy_request, lsarpc_dissect_lsa_SetDomainInformationPolicy_response},
	{ 55, "lsa_OpenTrustedDomainByName",
	   lsarpc_dissect_lsa_OpenTrustedDomainByName_request, lsarpc_dissect_lsa_OpenTrustedDomainByName_response},
	{ 56, "lsa_TestCall",
	   lsarpc_dissect_lsa_TestCall_request, lsarpc_dissect_lsa_TestCall_response},
	{ 57, "lsa_LookupSids2",
	   lsarpc_dissect_lsa_LookupSids2_request, lsarpc_dissect_lsa_LookupSids2_response},
	{ 58, "lsa_LookupNames2",
	   lsarpc_dissect_lsa_LookupNames2_request, lsarpc_dissect_lsa_LookupNames2_response},
	{ 59, "lsa_CreateTrustedDomainEx2",
	   lsarpc_dissect_lsa_CreateTrustedDomainEx2_request, lsarpc_dissect_lsa_CreateTrustedDomainEx2_response},
	{ 60, "lsa_CREDRWRITE",
	   lsarpc_dissect_lsa_CREDRWRITE_request, lsarpc_dissect_lsa_CREDRWRITE_response},
	{ 61, "lsa_CREDRREAD",
	   lsarpc_dissect_lsa_CREDRREAD_request, lsarpc_dissect_lsa_CREDRREAD_response},
	{ 62, "lsa_CREDRENUMERATE",
	   lsarpc_dissect_lsa_CREDRENUMERATE_request, lsarpc_dissect_lsa_CREDRENUMERATE_response},
	{ 63, "lsa_CREDRWRITEDOMAINCREDENTIALS",
	   lsarpc_dissect_lsa_CREDRWRITEDOMAINCREDENTIALS_request, lsarpc_dissect_lsa_CREDRWRITEDOMAINCREDENTIALS_response},
	{ 64, "lsa_CREDRREADDOMAINCREDENTIALS",
	   lsarpc_dissect_lsa_CREDRREADDOMAINCREDENTIALS_request, lsarpc_dissect_lsa_CREDRREADDOMAINCREDENTIALS_response},
	{ 65, "lsa_CREDRDELETE",
	   lsarpc_dissect_lsa_CREDRDELETE_request, lsarpc_dissect_lsa_CREDRDELETE_response},
	{ 66, "lsa_CREDRGETTARGETINFO",
	   lsarpc_dissect_lsa_CREDRGETTARGETINFO_request, lsarpc_dissect_lsa_CREDRGETTARGETINFO_response},
	{ 67, "lsa_CREDRPROFILELOADED",
	   lsarpc_dissect_lsa_CREDRPROFILELOADED_request, lsarpc_dissect_lsa_CREDRPROFILELOADED_response},
	{ 68, "lsa_LookupNames3",
	   lsarpc_dissect_lsa_LookupNames3_request, lsarpc_dissect_lsa_LookupNames3_response},
	{ 69, "lsa_CREDRGETSESSIONTYPES",
	   lsarpc_dissect_lsa_CREDRGETSESSIONTYPES_request, lsarpc_dissect_lsa_CREDRGETSESSIONTYPES_response},
	{ 70, "lsa_LSARREGISTERAUDITEVENT",
	   lsarpc_dissect_lsa_LSARREGISTERAUDITEVENT_request, lsarpc_dissect_lsa_LSARREGISTERAUDITEVENT_response},
	{ 71, "lsa_LSARGENAUDITEVENT",
	   lsarpc_dissect_lsa_LSARGENAUDITEVENT_request, lsarpc_dissect_lsa_LSARGENAUDITEVENT_response},
	{ 72, "lsa_LSARUNREGISTERAUDITEVENT",
	   lsarpc_dissect_lsa_LSARUNREGISTERAUDITEVENT_request, lsarpc_dissect_lsa_LSARUNREGISTERAUDITEVENT_response},
	{ 73, "lsa_lsaRQueryForestTrustInformation",
	   lsarpc_dissect_lsa_lsaRQueryForestTrustInformation_request, lsarpc_dissect_lsa_lsaRQueryForestTrustInformation_response},
	{ 74, "lsa_lsaRSetForestTrustInformation",
	   lsarpc_dissect_lsa_lsaRSetForestTrustInformation_request, lsarpc_dissect_lsa_lsaRSetForestTrustInformation_response},
	{ 75, "lsa_CREDRRENAME",
	   lsarpc_dissect_lsa_CREDRRENAME_request, lsarpc_dissect_lsa_CREDRRENAME_response},
	{ 76, "lsa_LookupSids3",
	   lsarpc_dissect_lsa_LookupSids3_request, lsarpc_dissect_lsa_LookupSids3_response},
	{ 77, "lsa_LookupNames4",
	   lsarpc_dissect_lsa_LookupNames4_request, lsarpc_dissect_lsa_LookupNames4_response},
	{ 78, "lsa_LSAROPENPOLICYSCE",
	   lsarpc_dissect_lsa_LSAROPENPOLICYSCE_request, lsarpc_dissect_lsa_LSAROPENPOLICYSCE_response},
	{ 79, "lsa_LSARADTREGISTERSECURITYEVENTSOURCE",
	   lsarpc_dissect_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_request, lsarpc_dissect_lsa_LSARADTREGISTERSECURITYEVENTSOURCE_response},
	{ 80, "lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE",
	   lsarpc_dissect_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_request, lsarpc_dissect_lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE_response},
	{ 81, "lsa_LSARADTREPORTSECURITYEVENT",
	   lsarpc_dissect_lsa_LSARADTREPORTSECURITYEVENT_request, lsarpc_dissect_lsa_LSARADTREPORTSECURITYEVENT_response},
	{ 82, "lsa_Opnum82NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum82NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum82NotUsedOnWire_response},
	{ 83, "lsa_Opnum83NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum83NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum83NotUsedOnWire_response},
	{ 84, "lsa_Opnum84NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum84NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum84NotUsedOnWire_response},
	{ 85, "lsa_Opnum85NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum85NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum85NotUsedOnWire_response},
	{ 86, "lsa_Opnum86NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum86NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum86NotUsedOnWire_response},
	{ 87, "lsa_Opnum87NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum87NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum87NotUsedOnWire_response},
	{ 88, "lsa_Opnum88NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum88NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum88NotUsedOnWire_response},
	{ 89, "lsa_Opnum89NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum89NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum89NotUsedOnWire_response},
	{ 90, "lsa_Opnum90NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum90NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum90NotUsedOnWire_response},
	{ 91, "lsa_Opnum91NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum91NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum91NotUsedOnWire_response},
	{ 92, "lsa_Opnum92NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum92NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum92NotUsedOnWire_response},
	{ 93, "lsa_Opnum93NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum93NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum93NotUsedOnWire_response},
	{ 94, "lsa_Opnum94NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum94NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum94NotUsedOnWire_response},
	{ 95, "lsa_Opnum95NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum95NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum95NotUsedOnWire_response},
	{ 96, "lsa_Opnum96NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum96NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum96NotUsedOnWire_response},
	{ 97, "lsa_Opnum97NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum97NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum97NotUsedOnWire_response},
	{ 98, "lsa_Opnum98NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum98NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum98NotUsedOnWire_response},
	{ 99, "lsa_Opnum99NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum99NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum99NotUsedOnWire_response},
	{ 100, "lsa_Opnum100NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum100NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum100NotUsedOnWire_response},
	{ 101, "lsa_Opnum101NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum101NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum101NotUsedOnWire_response},
	{ 102, "lsa_Opnum102NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum102NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum102NotUsedOnWire_response},
	{ 103, "lsa_Opnum103NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum103NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum103NotUsedOnWire_response},
	{ 104, "lsa_Opnum104NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum104NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum104NotUsedOnWire_response},
	{ 105, "lsa_Opnum105NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum105NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum105NotUsedOnWire_response},
	{ 106, "lsa_Opnum106NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum106NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum106NotUsedOnWire_response},
	{ 107, "lsa_Opnum107NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum107NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum107NotUsedOnWire_response},
	{ 108, "lsa_Opnum108NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum108NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum108NotUsedOnWire_response},
	{ 109, "lsa_Opnum109NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum109NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum109NotUsedOnWire_response},
	{ 110, "lsa_Opnum110NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum110NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum110NotUsedOnWire_response},
	{ 111, "lsa_Opnum111NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum111NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum111NotUsedOnWire_response},
	{ 112, "lsa_Opnum112NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum112NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum112NotUsedOnWire_response},
	{ 113, "lsa_Opnum113NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum113NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum113NotUsedOnWire_response},
	{ 114, "lsa_Opnum114NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum114NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum114NotUsedOnWire_response},
	{ 115, "lsa_Opnum115NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum115NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum115NotUsedOnWire_response},
	{ 116, "lsa_Opnum116NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum116NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum116NotUsedOnWire_response},
	{ 117, "lsa_Opnum117NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum117NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum117NotUsedOnWire_response},
	{ 118, "lsa_Opnum118NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum118NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum118NotUsedOnWire_response},
	{ 119, "lsa_Opnum119NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum119NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum119NotUsedOnWire_response},
	{ 120, "lsa_Opnum120NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum120NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum120NotUsedOnWire_response},
	{ 121, "lsa_Opnum121NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum121NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum121NotUsedOnWire_response},
	{ 122, "lsa_Opnum122NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum122NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum122NotUsedOnWire_response},
	{ 123, "lsa_Opnum123NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum123NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum123NotUsedOnWire_response},
	{ 124, "lsa_Opnum124NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum124NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum124NotUsedOnWire_response},
	{ 125, "lsa_Opnum125NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum125NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum125NotUsedOnWire_response},
	{ 126, "lsa_Opnum126NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum126NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum126NotUsedOnWire_response},
	{ 127, "lsa_Opnum127NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum127NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum127NotUsedOnWire_response},
	{ 128, "lsa_Opnum128NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum128NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum128NotUsedOnWire_response},
	{ 129, "lsa_CreateTrustedDomainEx3",
	   lsarpc_dissect_lsa_CreateTrustedDomainEx3_request, lsarpc_dissect_lsa_CreateTrustedDomainEx3_response},
	{ 130, "lsa_OpenPolicy3",
	   lsarpc_dissect_lsa_OpenPolicy3_request, lsarpc_dissect_lsa_OpenPolicy3_response},
	{ 131, "lsa_Opnum131NotUsedOnWire",
	   lsarpc_dissect_lsa_Opnum131NotUsedOnWire_request, lsarpc_dissect_lsa_Opnum131NotUsedOnWire_response},
	{ 132, "lsa_lsaRQueryForestTrustInformation2",
	   lsarpc_dissect_lsa_lsaRQueryForestTrustInformation2_request, lsarpc_dissect_lsa_lsaRQueryForestTrustInformation2_response},
	{ 133, "lsa_lsaRSetForestTrustInformation2",
	   lsarpc_dissect_lsa_lsaRSetForestTrustInformation2_request, lsarpc_dissect_lsa_lsaRSetForestTrustInformation2_response},
	{ 0, NULL, NULL, NULL }
};

void proto_register_dcerpc_lsarpc(void)
{
	static hf_register_info hf[] = {
	{ &hf_lsarpc_String_name,
	  { "String", "lsarpc.lsa.string", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_account_access_mask,
	  { "Access Mask", "lsarpc.policy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_domain_access_mask,
	  { "Access Mask", "lsarpc.policy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_efs_blob_len,
	  { "EFS blob size", "lsarpc.efs.blob_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_PRIVILEGES,
	  { "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 }},
	{ &hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_QUOTAS,
	  { "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 }},
	{ &hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS,
	  { "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 }},
	{ &hf_lsarpc_lsa_AccountAccessMask_LSA_ACCOUNT_VIEW,
	  { "LSA ACCOUNT VIEW", "lsarpc.lsa_AccountAccessMask.LSA_ACCOUNT_VIEW", FT_BOOLEAN, 32, TFS(&lsa_AccountAccessMask_LSA_ACCOUNT_VIEW_tfs), ( 0x00000001 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_AddAccountRights_handle,
	  { "Handle", "lsarpc.lsa_AddAccountRights.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AddAccountRights_rights,
	  { "Rights", "lsarpc.lsa_AddAccountRights.rights", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AddAccountRights_sid,
	  { "Sid", "lsarpc.lsa_AddAccountRights.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AddPrivilegesToAccount_handle,
	  { "Handle", "lsarpc.lsa_AddPrivilegesToAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AddPrivilegesToAccount_privs,
	  { "Privs", "lsarpc.lsa_AddPrivilegesToAccount.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AsciiStringLarge_length,
	  { "Length", "lsarpc.lsa_AsciiStringLarge.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AsciiStringLarge_size,
	  { "Size", "lsarpc.lsa_AsciiStringLarge.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AsciiStringLarge_string,
	  { "String", "lsarpc.lsa_AsciiStringLarge.string", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AsciiString_length,
	  { "Length", "lsarpc.lsa_AsciiString.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AsciiString_size,
	  { "Size", "lsarpc.lsa_AsciiString.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AsciiString_string,
	  { "String", "lsarpc.lsa_AsciiString.string", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditEventsInfo_auditing_mode,
	  { "Auditing Mode", "lsarpc.lsa_AuditEventsInfo.auditing_mode", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditEventsInfo_count,
	  { "Count", "lsarpc.lsa_AuditEventsInfo.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditEventsInfo_settings,
	  { "Settings", "lsarpc.lsa_AuditEventsInfo.settings", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_PolicyAuditPolicy_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditFullQueryInfo_log_is_full,
	  { "Log Is Full", "lsarpc.lsa_AuditFullQueryInfo.log_is_full", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditFullQueryInfo_shutdown_on_full,
	  { "Shutdown On Full", "lsarpc.lsa_AuditFullQueryInfo.shutdown_on_full", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditFullSetInfo_shutdown_on_full,
	  { "Shutdown On Full", "lsarpc.lsa_AuditFullSetInfo.shutdown_on_full", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditLogInfo_maximum_log_size,
	  { "Maximum Log Size", "lsarpc.lsa_AuditLogInfo.maximum_log_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditLogInfo_next_audit_record,
	  { "Next Audit Record", "lsarpc.lsa_AuditLogInfo.next_audit_record", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditLogInfo_percent_full,
	  { "Percent Full", "lsarpc.lsa_AuditLogInfo.percent_full", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditLogInfo_retention_time,
	  { "Retention Time", "lsarpc.lsa_AuditLogInfo.retention_time", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditLogInfo_shutdown_in_progress,
	  { "Shutdown In Progress", "lsarpc.lsa_AuditLogInfo.shutdown_in_progress", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_AuditLogInfo_time_to_shutdown,
	  { "Time To Shutdown", "lsarpc.lsa_AuditLogInfo.time_to_shutdown", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_BinaryString_array,
	  { "Array", "lsarpc.lsa_BinaryString.array", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_BinaryString_length,
	  { "Length", "lsarpc.lsa_BinaryString.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_BinaryString_size,
	  { "Size", "lsarpc.lsa_BinaryString.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CloseTrustedDomainEx_handle,
	  { "Handle", "lsarpc.lsa_CloseTrustedDomainEx.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_Close_handle,
	  { "Handle", "lsarpc.lsa_Close.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateAccount_access_mask,
	  { "Access Mask", "lsarpc.lsa_CreateAccount.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateAccount_acct_handle,
	  { "Acct Handle", "lsarpc.lsa_CreateAccount.acct_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateAccount_handle,
	  { "Handle", "lsarpc.lsa_CreateAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateAccount_sid,
	  { "Sid", "lsarpc.lsa_CreateAccount.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateSecret_access_mask,
	  { "Access Mask", "lsarpc.lsa_CreateSecret.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateSecret_handle,
	  { "Handle", "lsarpc.lsa_CreateSecret.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateSecret_name,
	  { "Name", "lsarpc.lsa_CreateSecret.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateSecret_sec_handle,
	  { "Sec Handle", "lsarpc.lsa_CreateSecret.sec_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx2_access_mask,
	  { "Access Mask", "lsarpc.lsa_CreateTrustedDomainEx2.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx2_auth_info_internal,
	  { "Auth Info Internal", "lsarpc.lsa_CreateTrustedDomainEx2.auth_info_internal", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx2_info,
	  { "Info", "lsarpc.lsa_CreateTrustedDomainEx2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx2_policy_handle,
	  { "Policy Handle", "lsarpc.lsa_CreateTrustedDomainEx2.policy_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx2_trustdom_handle,
	  { "Trustdom Handle", "lsarpc.lsa_CreateTrustedDomainEx2.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx3_access_mask,
	  { "Access Mask", "lsarpc.lsa_CreateTrustedDomainEx3.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx3_auth_info_internal,
	  { "Auth Info Internal", "lsarpc.lsa_CreateTrustedDomainEx3.auth_info_internal", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx3_info,
	  { "Info", "lsarpc.lsa_CreateTrustedDomainEx3.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx3_policy_handle,
	  { "Policy Handle", "lsarpc.lsa_CreateTrustedDomainEx3.policy_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx3_trustdom_handle,
	  { "Trustdom Handle", "lsarpc.lsa_CreateTrustedDomainEx3.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx_access_mask,
	  { "Access Mask", "lsarpc.lsa_CreateTrustedDomainEx.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx_auth_info,
	  { "Auth Info", "lsarpc.lsa_CreateTrustedDomainEx.auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx_info,
	  { "Info", "lsarpc.lsa_CreateTrustedDomainEx.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx_policy_handle,
	  { "Policy Handle", "lsarpc.lsa_CreateTrustedDomainEx.policy_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomainEx_trustdom_handle,
	  { "Trustdom Handle", "lsarpc.lsa_CreateTrustedDomainEx.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomain_access_mask,
	  { "Access Mask", "lsarpc.lsa_CreateTrustedDomain.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomain_info,
	  { "Info", "lsarpc.lsa_CreateTrustedDomain.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomain_policy_handle,
	  { "Policy Handle", "lsarpc.lsa_CreateTrustedDomain.policy_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_CreateTrustedDomain_trustdom_handle,
	  { "Trustdom Handle", "lsarpc.lsa_CreateTrustedDomain.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DATA_BUF2_data,
	  { "Data", "lsarpc.lsa_DATA_BUF2.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DATA_BUF2_size,
	  { "Size", "lsarpc.lsa_DATA_BUF2.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DATA_BUF_PTR_buf,
	  { "Buf", "lsarpc.lsa_DATA_BUF_PTR.buf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DATA_BUF_data,
	  { "Data", "lsarpc.lsa_DATA_BUF.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DATA_BUF_length,
	  { "Length", "lsarpc.lsa_DATA_BUF.length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DATA_BUF_size,
	  { "Size", "lsarpc.lsa_DATA_BUF.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DefaultQuotaInfo_max_wss,
	  { "Max Wss", "lsarpc.lsa_DefaultQuotaInfo.max_wss", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DefaultQuotaInfo_min_wss,
	  { "Min Wss", "lsarpc.lsa_DefaultQuotaInfo.min_wss", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DefaultQuotaInfo_non_paged_pool,
	  { "Non Paged Pool", "lsarpc.lsa_DefaultQuotaInfo.non_paged_pool", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DefaultQuotaInfo_paged_pool,
	  { "Paged Pool", "lsarpc.lsa_DefaultQuotaInfo.paged_pool", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DefaultQuotaInfo_pagefile,
	  { "Pagefile", "lsarpc.lsa_DefaultQuotaInfo.pagefile", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DefaultQuotaInfo_unknown,
	  { "Unknown", "lsarpc.lsa_DefaultQuotaInfo.unknown", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DeleteObject_handle,
	  { "Handle", "lsarpc.lsa_DeleteObject.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DeleteTrustedDomain_dom_sid,
	  { "Dom Sid", "lsarpc.lsa_DeleteTrustedDomain.dom_sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DeleteTrustedDomain_handle,
	  { "Handle", "lsarpc.lsa_DeleteTrustedDomain.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_Delete_handle,
	  { "Handle", "lsarpc.lsa_Delete.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DnsDomainInfo_dns_domain,
	  { "Dns Domain", "lsarpc.lsa_DnsDomainInfo.dns_domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DnsDomainInfo_dns_forest,
	  { "Dns Forest", "lsarpc.lsa_DnsDomainInfo.dns_forest", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DnsDomainInfo_domain_guid,
	  { "Domain Guid", "lsarpc.lsa_DnsDomainInfo.domain_guid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DnsDomainInfo_name,
	  { "Name", "lsarpc.lsa_DnsDomainInfo.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DnsDomainInfo_sid,
	  { "Sid", "lsarpc.lsa_DnsDomainInfo.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfoEfs_blob_size,
	  { "Blob Size", "lsarpc.lsa_DomainInfoEfs.blob_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfoEfs_efs_blob,
	  { "Efs Blob", "lsarpc.lsa_DomainInfoEfs.efs_blob", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfoKerberos_authentication_options,
	  { "Authentication Options", "lsarpc.lsa_DomainInfoKerberos.authentication_options", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfoKerberos_clock_skew,
	  { "Clock Skew", "lsarpc.lsa_DomainInfoKerberos.clock_skew", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfoKerberos_reserved,
	  { "Reserved", "lsarpc.lsa_DomainInfoKerberos.reserved", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfoKerberos_service_tkt_lifetime,
	  { "Service Tkt Lifetime", "lsarpc.lsa_DomainInfoKerberos.service_tkt_lifetime", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_lifetime,
	  { "User Tkt Lifetime", "lsarpc.lsa_DomainInfoKerberos.user_tkt_lifetime", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfoKerberos_user_tkt_renewaltime,
	  { "User Tkt Renewaltime", "lsarpc.lsa_DomainInfoKerberos.user_tkt_renewaltime", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfoQoS_quality_of_service,
	  { "Quality Of Service", "lsarpc.lsa_DomainInfoQoS.quality_of_service", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfo_name,
	  { "Name", "lsarpc.lsa_DomainInfo.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInfo_sid,
	  { "Sid", "lsarpc.lsa_DomainInfo.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInformationPolicy_efs_info,
	  { "Efs Info", "lsarpc.lsa_DomainInformationPolicy.efs_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInformationPolicy_kerberos_info,
	  { "Kerberos Info", "lsarpc.lsa_DomainInformationPolicy.kerberos_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainInformationPolicy_qos_info,
	  { "Qos Info", "lsarpc.lsa_DomainInformationPolicy.qos_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainListEx_count,
	  { "Count", "lsarpc.lsa_DomainListEx.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainListEx_domains,
	  { "Domains", "lsarpc.lsa_DomainListEx.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainList_count,
	  { "Count", "lsarpc.lsa_DomainList.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_DomainList_domains,
	  { "Domains", "lsarpc.lsa_DomainList.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccountRights_handle,
	  { "Handle", "lsarpc.lsa_EnumAccountRights.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccountRights_rights,
	  { "Rights", "lsarpc.lsa_EnumAccountRights.rights", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccountRights_sid,
	  { "Sid", "lsarpc.lsa_EnumAccountRights.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccountsWithUserRight_handle,
	  { "Handle", "lsarpc.lsa_EnumAccountsWithUserRight.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccountsWithUserRight_name,
	  { "Name", "lsarpc.lsa_EnumAccountsWithUserRight.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccountsWithUserRight_sids,
	  { "Sids", "lsarpc.lsa_EnumAccountsWithUserRight.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccounts_handle,
	  { "Handle", "lsarpc.lsa_EnumAccounts.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccounts_num_entries,
	  { "Num Entries", "lsarpc.lsa_EnumAccounts.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccounts_resume_handle,
	  { "Resume Handle", "lsarpc.lsa_EnumAccounts.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumAccounts_sids,
	  { "Sids", "lsarpc.lsa_EnumAccounts.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumPrivsAccount_handle,
	  { "Handle", "lsarpc.lsa_EnumPrivsAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumPrivsAccount_privs,
	  { "Privs", "lsarpc.lsa_EnumPrivsAccount.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumPrivs_handle,
	  { "Handle", "lsarpc.lsa_EnumPrivs.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumPrivs_max_count,
	  { "Max Count", "lsarpc.lsa_EnumPrivs.max_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumPrivs_privs,
	  { "Privs", "lsarpc.lsa_EnumPrivs.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumPrivs_resume_handle,
	  { "Resume Handle", "lsarpc.lsa_EnumPrivs.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumTrustDom_domains,
	  { "Domains", "lsarpc.lsa_EnumTrustDom.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumTrustDom_handle,
	  { "Handle", "lsarpc.lsa_EnumTrustDom.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumTrustDom_max_size,
	  { "Max Size", "lsarpc.lsa_EnumTrustDom.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumTrustDom_resume_handle,
	  { "Resume Handle", "lsarpc.lsa_EnumTrustDom.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumTrustedDomainsEx_domains,
	  { "Domains", "lsarpc.lsa_EnumTrustedDomainsEx.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumTrustedDomainsEx_handle,
	  { "Handle", "lsarpc.lsa_EnumTrustedDomainsEx.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumTrustedDomainsEx_max_size,
	  { "Max Size", "lsarpc.lsa_EnumTrustedDomainsEx.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_EnumTrustedDomainsEx_resume_handle,
	  { "Resume Handle", "lsarpc.lsa_EnumTrustedDomainsEx.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustBinaryData_data,
	  { "Data", "lsarpc.lsa_ForestTrustBinaryData.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustBinaryData_length,
	  { "Length", "lsarpc.lsa_ForestTrustBinaryData.length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustCollisionInfo_count,
	  { "Count", "lsarpc.lsa_ForestTrustCollisionInfo.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustCollisionInfo_entries,
	  { "Entries", "lsarpc.lsa_ForestTrustCollisionInfo.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustCollisionRecord_flags,
	  { "Flags", "lsarpc.lsa_ForestTrustCollisionRecord.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustCollisionRecord_index,
	  { "Index", "lsarpc.lsa_ForestTrustCollisionRecord.index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustCollisionRecord_name,
	  { "Name", "lsarpc.lsa_ForestTrustCollisionRecord.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustCollisionRecord_type,
	  { "Type", "lsarpc.lsa_ForestTrustCollisionRecord.type", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_ForestTrustCollisionRecordType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustData2_data,
	  { "Data", "lsarpc.lsa_ForestTrustData2.data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustData2_domain_info,
	  { "Domain Info", "lsarpc.lsa_ForestTrustData2.domain_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustData2_scanner_info,
	  { "Scanner Info", "lsarpc.lsa_ForestTrustData2.scanner_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustData2_top_level_name,
	  { "Top Level Name", "lsarpc.lsa_ForestTrustData2.top_level_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustData2_top_level_name_ex,
	  { "Top Level Name Ex", "lsarpc.lsa_ForestTrustData2.top_level_name_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustData_data,
	  { "Data", "lsarpc.lsa_ForestTrustData.data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustData_domain_info,
	  { "Domain Info", "lsarpc.lsa_ForestTrustData.domain_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustData_top_level_name,
	  { "Top Level Name", "lsarpc.lsa_ForestTrustData.top_level_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustData_top_level_name_ex,
	  { "Top Level Name Ex", "lsarpc.lsa_ForestTrustData.top_level_name_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustDomainInfo_dns_domain_name,
	  { "Dns Domain Name", "lsarpc.lsa_ForestTrustDomainInfo.dns_domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustDomainInfo_domain_sid,
	  { "Domain Sid", "lsarpc.lsa_ForestTrustDomainInfo.domain_sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustDomainInfo_netbios_domain_name,
	  { "Netbios Domain Name", "lsarpc.lsa_ForestTrustDomainInfo.netbios_domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustInformation2_count,
	  { "Count", "lsarpc.lsa_ForestTrustInformation2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustInformation2_entries,
	  { "Entries", "lsarpc.lsa_ForestTrustInformation2.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustInformation_count,
	  { "Count", "lsarpc.lsa_ForestTrustInformation.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustInformation_entries,
	  { "Entries", "lsarpc.lsa_ForestTrustInformation.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecord2_flags,
	  { "Flags", "lsarpc.lsa_ForestTrustRecord2.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecord2_forest_trust_data,
	  { "Forest Trust Data", "lsarpc.lsa_ForestTrustRecord2.forest_trust_data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecord2_time,
	  { "Time", "lsarpc.lsa_ForestTrustRecord2.time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecord2_type,
	  { "Type", "lsarpc.lsa_ForestTrustRecord2.type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_ForestTrustRecordType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_ADMIN,
	  { "LSA NB DISABLED ADMIN", "lsarpc.lsa_ForestTrustRecordFlags.LSA_NB_DISABLED_ADMIN", FT_BOOLEAN, 32, TFS(&lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_ADMIN_tfs), ( 0x00000004 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_CONFLICT,
	  { "LSA NB DISABLED CONFLICT", "lsarpc.lsa_ForestTrustRecordFlags.LSA_NB_DISABLED_CONFLICT", FT_BOOLEAN, 32, TFS(&lsa_ForestTrustRecordFlags_LSA_NB_DISABLED_CONFLICT_tfs), ( 0x00000008 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_ADMIN,
	  { "LSA SID DISABLED ADMIN", "lsarpc.lsa_ForestTrustRecordFlags.LSA_SID_DISABLED_ADMIN", FT_BOOLEAN, 32, TFS(&lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_ADMIN_tfs), ( 0x00000001 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_CONFLICT,
	  { "LSA SID DISABLED CONFLICT", "lsarpc.lsa_ForestTrustRecordFlags.LSA_SID_DISABLED_CONFLICT", FT_BOOLEAN, 32, TFS(&lsa_ForestTrustRecordFlags_LSA_SID_DISABLED_CONFLICT_tfs), ( 0x00000002 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_ADMIN,
	  { "LSA TLN DISABLED ADMIN", "lsarpc.lsa_ForestTrustRecordFlags.LSA_TLN_DISABLED_ADMIN", FT_BOOLEAN, 32, TFS(&lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_ADMIN_tfs), ( 0x00000002 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_CONFLICT,
	  { "LSA TLN DISABLED CONFLICT", "lsarpc.lsa_ForestTrustRecordFlags.LSA_TLN_DISABLED_CONFLICT", FT_BOOLEAN, 32, TFS(&lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_CONFLICT_tfs), ( 0x00000004 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_NEW,
	  { "LSA TLN DISABLED NEW", "lsarpc.lsa_ForestTrustRecordFlags.LSA_TLN_DISABLED_NEW", FT_BOOLEAN, 32, TFS(&lsa_ForestTrustRecordFlags_LSA_TLN_DISABLED_NEW_tfs), ( 0x00000001 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecord_flags,
	  { "Flags", "lsarpc.lsa_ForestTrustRecord.flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecord_forest_trust_data,
	  { "Forest Trust Data", "lsarpc.lsa_ForestTrustRecord.forest_trust_data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecord_time,
	  { "Time", "lsarpc.lsa_ForestTrustRecord.time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ForestTrustRecord_type,
	  { "Type", "lsarpc.lsa_ForestTrustRecord.type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_ForestTrustRecordType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_GetSystemAccessAccount_access_mask,
	  { "Access Mask", "lsarpc.lsa_GetSystemAccessAccount.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_GetSystemAccessAccount_handle,
	  { "Handle", "lsarpc.lsa_GetSystemAccessAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_GetUserName_account_name,
	  { "Account Name", "lsarpc.lsa_GetUserName.account_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_GetUserName_authority_name,
	  { "Authority Name", "lsarpc.lsa_GetUserName.authority_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_GetUserName_system_name,
	  { "System Name", "lsarpc.lsa_GetUserName.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LUIDAttribute_attribute,
	  { "Attribute", "lsarpc.lsa_LUIDAttribute.attribute", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LUIDAttribute_luid,
	  { "Luid", "lsarpc.lsa_LUIDAttribute.luid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LUID_high,
	  { "High", "lsarpc.lsa_LUID.high", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LUID_low,
	  { "Low", "lsarpc.lsa_LUID.low", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames2_client_revision,
	  { "Client Revision", "lsarpc.lsa_LookupNames2.client_revision", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_ClientRevision_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames2_count,
	  { "Count", "lsarpc.lsa_LookupNames2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames2_domains,
	  { "Domains", "lsarpc.lsa_LookupNames2.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames2_handle,
	  { "Handle", "lsarpc.lsa_LookupNames2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames2_level,
	  { "Level", "lsarpc.lsa_LookupNames2.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames2_lookup_options,
	  { "Lookup Options", "lsarpc.lsa_LookupNames2.lookup_options", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_LookupOptions_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames2_names,
	  { "Names", "lsarpc.lsa_LookupNames2.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames2_num_names,
	  { "Num Names", "lsarpc.lsa_LookupNames2.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames2_sids,
	  { "Sids", "lsarpc.lsa_LookupNames2.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames3_client_revision,
	  { "Client Revision", "lsarpc.lsa_LookupNames3.client_revision", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_ClientRevision_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames3_count,
	  { "Count", "lsarpc.lsa_LookupNames3.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames3_domains,
	  { "Domains", "lsarpc.lsa_LookupNames3.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames3_handle,
	  { "Handle", "lsarpc.lsa_LookupNames3.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames3_level,
	  { "Level", "lsarpc.lsa_LookupNames3.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames3_lookup_options,
	  { "Lookup Options", "lsarpc.lsa_LookupNames3.lookup_options", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_LookupOptions_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames3_names,
	  { "Names", "lsarpc.lsa_LookupNames3.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames3_num_names,
	  { "Num Names", "lsarpc.lsa_LookupNames3.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames3_sids,
	  { "Sids", "lsarpc.lsa_LookupNames3.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames4_client_revision,
	  { "Client Revision", "lsarpc.lsa_LookupNames4.client_revision", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_ClientRevision_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames4_count,
	  { "Count", "lsarpc.lsa_LookupNames4.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames4_domains,
	  { "Domains", "lsarpc.lsa_LookupNames4.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames4_level,
	  { "Level", "lsarpc.lsa_LookupNames4.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames4_lookup_options,
	  { "Lookup Options", "lsarpc.lsa_LookupNames4.lookup_options", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_LookupOptions_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames4_names,
	  { "Names", "lsarpc.lsa_LookupNames4.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames4_num_names,
	  { "Num Names", "lsarpc.lsa_LookupNames4.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames4_sids,
	  { "Sids", "lsarpc.lsa_LookupNames4.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames_count,
	  { "Count", "lsarpc.lsa_LookupNames.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames_domains,
	  { "Domains", "lsarpc.lsa_LookupNames.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames_handle,
	  { "Handle", "lsarpc.lsa_LookupNames.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames_level,
	  { "Level", "lsarpc.lsa_LookupNames.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames_names,
	  { "Names", "lsarpc.lsa_LookupNames.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames_num_names,
	  { "Num Names", "lsarpc.lsa_LookupNames.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupNames_sids,
	  { "Sids", "lsarpc.lsa_LookupNames.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivDisplayName_disp_name,
	  { "Disp Name", "lsarpc.lsa_LookupPrivDisplayName.disp_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivDisplayName_handle,
	  { "Handle", "lsarpc.lsa_LookupPrivDisplayName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivDisplayName_language_id,
	  { "Language Id", "lsarpc.lsa_LookupPrivDisplayName.language_id", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivDisplayName_language_id_sys,
	  { "Language Id Sys", "lsarpc.lsa_LookupPrivDisplayName.language_id_sys", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivDisplayName_name,
	  { "Name", "lsarpc.lsa_LookupPrivDisplayName.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivDisplayName_returned_language_id,
	  { "Returned Language Id", "lsarpc.lsa_LookupPrivDisplayName.returned_language_id", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivName_handle,
	  { "Handle", "lsarpc.lsa_LookupPrivName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivName_luid,
	  { "Luid", "lsarpc.lsa_LookupPrivName.luid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivName_name,
	  { "Name", "lsarpc.lsa_LookupPrivName.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivValue_handle,
	  { "Handle", "lsarpc.lsa_LookupPrivValue.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivValue_luid,
	  { "Luid", "lsarpc.lsa_LookupPrivValue.luid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupPrivValue_name,
	  { "Name", "lsarpc.lsa_LookupPrivValue.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids2_client_revision,
	  { "Client Revision", "lsarpc.lsa_LookupSids2.client_revision", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_ClientRevision_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids2_count,
	  { "Count", "lsarpc.lsa_LookupSids2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids2_domains,
	  { "Domains", "lsarpc.lsa_LookupSids2.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids2_handle,
	  { "Handle", "lsarpc.lsa_LookupSids2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids2_level,
	  { "Level", "lsarpc.lsa_LookupSids2.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids2_lookup_options,
	  { "Lookup Options", "lsarpc.lsa_LookupSids2.lookup_options", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_LookupOptions_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids2_names,
	  { "Names", "lsarpc.lsa_LookupSids2.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids2_sids,
	  { "Sids", "lsarpc.lsa_LookupSids2.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids3_client_revision,
	  { "Client Revision", "lsarpc.lsa_LookupSids3.client_revision", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_ClientRevision_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids3_count,
	  { "Count", "lsarpc.lsa_LookupSids3.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids3_domains,
	  { "Domains", "lsarpc.lsa_LookupSids3.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids3_level,
	  { "Level", "lsarpc.lsa_LookupSids3.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids3_lookup_options,
	  { "Lookup Options", "lsarpc.lsa_LookupSids3.lookup_options", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_LookupOptions_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids3_names,
	  { "Names", "lsarpc.lsa_LookupSids3.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids3_sids,
	  { "Sids", "lsarpc.lsa_LookupSids3.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids_count,
	  { "Count", "lsarpc.lsa_LookupSids.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids_domains,
	  { "Domains", "lsarpc.lsa_LookupSids.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids_handle,
	  { "Handle", "lsarpc.lsa_LookupSids.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids_level,
	  { "Level", "lsarpc.lsa_LookupSids.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_LookupNamesLevel_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids_names,
	  { "Names", "lsarpc.lsa_LookupSids.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_LookupSids_sids,
	  { "Sids", "lsarpc.lsa_LookupSids.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ModificationInfo_db_create_time,
	  { "Db Create Time", "lsarpc.lsa_ModificationInfo.db_create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ModificationInfo_modified_id,
	  { "Modified Id", "lsarpc.lsa_ModificationInfo.modified_id", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ObjectAttribute_attributes,
	  { "Attributes", "lsarpc.lsa_ObjectAttribute.attributes", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ObjectAttribute_len,
	  { "Len", "lsarpc.lsa_ObjectAttribute.len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ObjectAttribute_object_name,
	  { "Object Name", "lsarpc.lsa_ObjectAttribute.object_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ObjectAttribute_root_dir,
	  { "Root Dir", "lsarpc.lsa_ObjectAttribute.root_dir", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ObjectAttribute_sec_desc,
	  { "Sec Desc", "lsarpc.lsa_ObjectAttribute.sec_desc", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ObjectAttribute_sec_qos,
	  { "Sec Qos", "lsarpc.lsa_ObjectAttribute.sec_qos", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenAccount_access_mask,
	  { "Access Mask", "lsarpc.lsa_OpenAccount.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenAccount_acct_handle,
	  { "Acct Handle", "lsarpc.lsa_OpenAccount.acct_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenAccount_handle,
	  { "Handle", "lsarpc.lsa_OpenAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenAccount_sid,
	  { "Sid", "lsarpc.lsa_OpenAccount.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy2_access_mask,
	  { "Access Mask", "lsarpc.lsa_OpenPolicy2.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy2_attr,
	  { "Attr", "lsarpc.lsa_OpenPolicy2.attr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy2_handle,
	  { "Handle", "lsarpc.lsa_OpenPolicy2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy2_system_name,
	  { "System Name", "lsarpc.lsa_OpenPolicy2.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy3_access_mask,
	  { "Access Mask", "lsarpc.lsa_OpenPolicy3.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy3_attr,
	  { "Attr", "lsarpc.lsa_OpenPolicy3.attr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy3_handle,
	  { "Handle", "lsarpc.lsa_OpenPolicy3.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy3_in_revision_info,
	  { "In Revision Info", "lsarpc.lsa_OpenPolicy3.in_revision_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy3_in_version,
	  { "In Version", "lsarpc.lsa_OpenPolicy3.in_version", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy3_out_revision_info,
	  { "Out Revision Info", "lsarpc.lsa_OpenPolicy3.out_revision_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy3_out_version,
	  { "Out Version", "lsarpc.lsa_OpenPolicy3.out_version", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy3_system_name,
	  { "System Name", "lsarpc.lsa_OpenPolicy3.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy_access_mask,
	  { "Access Mask", "lsarpc.lsa_OpenPolicy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy_attr,
	  { "Attr", "lsarpc.lsa_OpenPolicy.attr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy_handle,
	  { "Handle", "lsarpc.lsa_OpenPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenPolicy_system_name,
	  { "System Name", "lsarpc.lsa_OpenPolicy.system_name", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenSecret_access_mask,
	  { "Access Mask", "lsarpc.lsa_OpenSecret.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenSecret_handle,
	  { "Handle", "lsarpc.lsa_OpenSecret.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenSecret_name,
	  { "Name", "lsarpc.lsa_OpenSecret.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenSecret_sec_handle,
	  { "Sec Handle", "lsarpc.lsa_OpenSecret.sec_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenTrustedDomainByName_access_mask,
	  { "Access Mask", "lsarpc.lsa_OpenTrustedDomainByName.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenTrustedDomainByName_handle,
	  { "Handle", "lsarpc.lsa_OpenTrustedDomainByName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenTrustedDomainByName_name,
	  { "Name", "lsarpc.lsa_OpenTrustedDomainByName.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenTrustedDomainByName_trustdom_handle,
	  { "Trustdom Handle", "lsarpc.lsa_OpenTrustedDomainByName.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenTrustedDomain_access_mask,
	  { "Access Mask", "lsarpc.lsa_OpenTrustedDomain.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenTrustedDomain_handle,
	  { "Handle", "lsarpc.lsa_OpenTrustedDomain.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenTrustedDomain_sid,
	  { "Sid", "lsarpc.lsa_OpenTrustedDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_OpenTrustedDomain_trustdom_handle,
	  { "Trustdom Handle", "lsarpc.lsa_OpenTrustedDomain.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PDAccountInfo_name,
	  { "Name", "lsarpc.lsa_PDAccountInfo.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_AUDIT_LOG_ADMIN,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_ACCOUNT,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_PRIVILEGE,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_CREATE_SECRET,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_GET_PRIVATE_INFORMATION,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_LOOKUP_NAMES,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION,
	  { "LSA POLICY NOTIFICATION", "lsarpc.lsa_PolicyAccessMask.LSA_POLICY_NOTIFICATION", FT_BOOLEAN, 32, TFS(&lsa_PolicyAccessMask_LSA_POLICY_NOTIFICATION_tfs), ( 0x00001000 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SERVER_ADMIN,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_AUDIT_REQUIREMENTS,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_TRUST_ADMIN,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_AUDIT_INFORMATION,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyAccessMask_LSA_POLICY_VIEW_LOCAL_INFORMATION,
	  { "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 }},
	{ &hf_lsarpc_lsa_PolicyInformation_account_domain,
	  { "Account Domain", "lsarpc.lsa_PolicyInformation.account_domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_audit_events,
	  { "Audit Events", "lsarpc.lsa_PolicyInformation.audit_events", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_audit_log,
	  { "Audit Log", "lsarpc.lsa_PolicyInformation.audit_log", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_auditfullquery,
	  { "Auditfullquery", "lsarpc.lsa_PolicyInformation.auditfullquery", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_auditfullset,
	  { "Auditfullset", "lsarpc.lsa_PolicyInformation.auditfullset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_dns,
	  { "Dns", "lsarpc.lsa_PolicyInformation.dns", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_dns_int,
	  { "Dns Int", "lsarpc.lsa_PolicyInformation.dns_int", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_domain,
	  { "Domain", "lsarpc.lsa_PolicyInformation.domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_l_account_domain,
	  { "L Account Domain", "lsarpc.lsa_PolicyInformation.l_account_domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_mod,
	  { "Mod", "lsarpc.lsa_PolicyInformation.mod", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_pd,
	  { "Pd", "lsarpc.lsa_PolicyInformation.pd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_quota,
	  { "Quota", "lsarpc.lsa_PolicyInformation.quota", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_replica,
	  { "Replica", "lsarpc.lsa_PolicyInformation.replica", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PolicyInformation_role,
	  { "Role", "lsarpc.lsa_PolicyInformation.role", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PrivArray_count,
	  { "Count", "lsarpc.lsa_PrivArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PrivArray_privs,
	  { "Privs", "lsarpc.lsa_PrivArray.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PrivEntry_luid,
	  { "Luid", "lsarpc.lsa_PrivEntry.luid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PrivEntry_name,
	  { "Name", "lsarpc.lsa_PrivEntry.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PrivilegeSet_count,
	  { "Count", "lsarpc.lsa_PrivilegeSet.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PrivilegeSet_set,
	  { "Set", "lsarpc.lsa_PrivilegeSet.set", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_PrivilegeSet_unknown,
	  { "Unknown", "lsarpc.lsa_PrivilegeSet.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QosInfo_context_mode,
	  { "Context Mode", "lsarpc.lsa_QosInfo.context_mode", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QosInfo_effective_only,
	  { "Effective Only", "lsarpc.lsa_QosInfo.effective_only", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QosInfo_impersonation_level,
	  { "Impersonation Level", "lsarpc.lsa_QosInfo.impersonation_level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SecurityImpersonationLevel_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QosInfo_len,
	  { "Len", "lsarpc.lsa_QosInfo.len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryDomainInformationPolicy_handle,
	  { "Handle", "lsarpc.lsa_QueryDomainInformationPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryDomainInformationPolicy_info,
	  { "Info", "lsarpc.lsa_QueryDomainInformationPolicy.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryDomainInformationPolicy_level,
	  { "Level", "lsarpc.lsa_QueryDomainInformationPolicy.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_DomainInfoEnum_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryInfoPolicy2_handle,
	  { "Handle", "lsarpc.lsa_QueryInfoPolicy2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryInfoPolicy2_info,
	  { "Info", "lsarpc.lsa_QueryInfoPolicy2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryInfoPolicy2_level,
	  { "Level", "lsarpc.lsa_QueryInfoPolicy2.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_PolicyInfo_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryInfoPolicy_handle,
	  { "Handle", "lsarpc.lsa_QueryInfoPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryInfoPolicy_info,
	  { "Info", "lsarpc.lsa_QueryInfoPolicy.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryInfoPolicy_level,
	  { "Level", "lsarpc.lsa_QueryInfoPolicy.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_PolicyInfo_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QuerySecret_new_mtime,
	  { "New Mtime", "lsarpc.lsa_QuerySecret.new_mtime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QuerySecret_new_val,
	  { "New Val", "lsarpc.lsa_QuerySecret.new_val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QuerySecret_old_mtime,
	  { "Old Mtime", "lsarpc.lsa_QuerySecret.old_mtime", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QuerySecret_old_val,
	  { "Old Val", "lsarpc.lsa_QuerySecret.old_val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QuerySecret_sec_handle,
	  { "Sec Handle", "lsarpc.lsa_QuerySecret.sec_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QuerySecurity_handle,
	  { "Handle", "lsarpc.lsa_QuerySecurity.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QuerySecurity_sdbuf,
	  { "Sdbuf", "lsarpc.lsa_QuerySecurity.sdbuf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QuerySecurity_sec_info,
	  { "Sec Info", "lsarpc.lsa_QuerySecurity.sec_info", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfoByName_handle,
	  { "Handle", "lsarpc.lsa_QueryTrustedDomainInfoByName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfoByName_info,
	  { "Info", "lsarpc.lsa_QueryTrustedDomainInfoByName.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfoByName_level,
	  { "Level", "lsarpc.lsa_QueryTrustedDomainInfoByName.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfoByName_trusted_domain,
	  { "Trusted Domain", "lsarpc.lsa_QueryTrustedDomainInfoByName.trusted_domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_dom_sid,
	  { "Dom Sid", "lsarpc.lsa_QueryTrustedDomainInfoBySid.dom_sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_handle,
	  { "Handle", "lsarpc.lsa_QueryTrustedDomainInfoBySid.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_info,
	  { "Info", "lsarpc.lsa_QueryTrustedDomainInfoBySid.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfoBySid_level,
	  { "Level", "lsarpc.lsa_QueryTrustedDomainInfoBySid.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfo_info,
	  { "Info", "lsarpc.lsa_QueryTrustedDomainInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfo_level,
	  { "Level", "lsarpc.lsa_QueryTrustedDomainInfo.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_QueryTrustedDomainInfo_trustdom_handle,
	  { "Trustdom Handle", "lsarpc.lsa_QueryTrustedDomainInfo.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RefDomainList_count,
	  { "Count", "lsarpc.lsa_RefDomainList.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RefDomainList_domains,
	  { "Domains", "lsarpc.lsa_RefDomainList.domains", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RefDomainList_max_size,
	  { "Max Size", "lsarpc.lsa_RefDomainList.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RemoveAccountRights_handle,
	  { "Handle", "lsarpc.lsa_RemoveAccountRights.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RemoveAccountRights_remove_all,
	  { "Remove All", "lsarpc.lsa_RemoveAccountRights.remove_all", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RemoveAccountRights_rights,
	  { "Rights", "lsarpc.lsa_RemoveAccountRights.rights", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RemoveAccountRights_sid,
	  { "Sid", "lsarpc.lsa_RemoveAccountRights.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RemovePrivilegesFromAccount_handle,
	  { "Handle", "lsarpc.lsa_RemovePrivilegesFromAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RemovePrivilegesFromAccount_privs,
	  { "Privs", "lsarpc.lsa_RemovePrivilegesFromAccount.privs", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RemovePrivilegesFromAccount_remove_all,
	  { "Remove All", "lsarpc.lsa_RemovePrivilegesFromAccount.remove_all", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ReplicaSourceInfo_account,
	  { "Account", "lsarpc.lsa_ReplicaSourceInfo.account", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_ReplicaSourceInfo_source,
	  { "Source", "lsarpc.lsa_ReplicaSourceInfo.source", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RetrievePrivateData_handle,
	  { "Handle", "lsarpc.lsa_RetrievePrivateData.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RetrievePrivateData_name,
	  { "Name", "lsarpc.lsa_RetrievePrivateData.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RetrievePrivateData_val,
	  { "Val", "lsarpc.lsa_RetrievePrivateData.val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RevisionSupportedFeature_LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER,
	  { "LSA FEATURE TDO AUTH INFO AES CIPHER", "lsarpc.lsa_RevisionSupportedFeature.LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER", FT_BOOLEAN, 32, TFS(&lsa_RevisionSupportedFeature_LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHER_tfs), ( 0x00000001 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_RightAttribute_name,
	  { "Name", "lsarpc.lsa_RightAttribute.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RightSet_count,
	  { "Count", "lsarpc.lsa_RightSet.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_RightSet_names,
	  { "Names", "lsarpc.lsa_RightSet.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_QUERY_VALUE,
	  { "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 }},
	{ &hf_lsarpc_lsa_SecretAccessMask_LSA_SECRET_SET_VALUE,
	  { "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 }},
	{ &hf_lsarpc_lsa_ServerRole_role,
	  { "Role", "lsarpc.lsa_ServerRole.role", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_Role_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetDomainInformationPolicy_handle,
	  { "Handle", "lsarpc.lsa_SetDomainInformationPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetDomainInformationPolicy_info,
	  { "Info", "lsarpc.lsa_SetDomainInformationPolicy.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetDomainInformationPolicy_level,
	  { "Level", "lsarpc.lsa_SetDomainInformationPolicy.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_DomainInfoEnum_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetInfoPolicy2_handle,
	  { "Handle", "lsarpc.lsa_SetInfoPolicy2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetInfoPolicy2_info,
	  { "Info", "lsarpc.lsa_SetInfoPolicy2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetInfoPolicy2_level,
	  { "Level", "lsarpc.lsa_SetInfoPolicy2.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_PolicyInfo_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetInfoPolicy_handle,
	  { "Handle", "lsarpc.lsa_SetInfoPolicy.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetInfoPolicy_info,
	  { "Info", "lsarpc.lsa_SetInfoPolicy.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetInfoPolicy_level,
	  { "Level", "lsarpc.lsa_SetInfoPolicy.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_PolicyInfo_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetInformationTrustedDomain_info,
	  { "Info", "lsarpc.lsa_SetInformationTrustedDomain.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetInformationTrustedDomain_level,
	  { "Level", "lsarpc.lsa_SetInformationTrustedDomain.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetInformationTrustedDomain_trustdom_handle,
	  { "Trustdom Handle", "lsarpc.lsa_SetInformationTrustedDomain.trustdom_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetSecObj_handle,
	  { "Handle", "lsarpc.lsa_SetSecObj.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetSecObj_sdbuf,
	  { "Sdbuf", "lsarpc.lsa_SetSecObj.sdbuf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetSecObj_sec_info,
	  { "Sec Info", "lsarpc.lsa_SetSecObj.sec_info", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetSecret_new_val,
	  { "New Val", "lsarpc.lsa_SetSecret.new_val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetSecret_old_val,
	  { "Old Val", "lsarpc.lsa_SetSecret.old_val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetSecret_sec_handle,
	  { "Sec Handle", "lsarpc.lsa_SetSecret.sec_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetSystemAccessAccount_access_mask,
	  { "Access Mask", "lsarpc.lsa_SetSystemAccessAccount.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetSystemAccessAccount_handle,
	  { "Handle", "lsarpc.lsa_SetSystemAccessAccount.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetTrustedDomainInfoByName_handle,
	  { "Handle", "lsarpc.lsa_SetTrustedDomainInfoByName.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetTrustedDomainInfoByName_info,
	  { "Info", "lsarpc.lsa_SetTrustedDomainInfoByName.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetTrustedDomainInfoByName_level,
	  { "Level", "lsarpc.lsa_SetTrustedDomainInfoByName.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetTrustedDomainInfoByName_trusted_domain,
	  { "Trusted Domain", "lsarpc.lsa_SetTrustedDomainInfoByName.trusted_domain", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetTrustedDomainInfo_dom_sid,
	  { "Dom Sid", "lsarpc.lsa_SetTrustedDomainInfo.dom_sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetTrustedDomainInfo_handle,
	  { "Handle", "lsarpc.lsa_SetTrustedDomainInfo.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetTrustedDomainInfo_info,
	  { "Info", "lsarpc.lsa_SetTrustedDomainInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SetTrustedDomainInfo_level,
	  { "Level", "lsarpc.lsa_SetTrustedDomainInfo.level", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_TrustDomInfoEnum_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SidArray_num_sids,
	  { "Num Sids", "lsarpc.lsa_SidArray.num_sids", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SidArray_sids,
	  { "Sids", "lsarpc.lsa_SidArray.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_SidPtr_sid,
	  { "Sid", "lsarpc.lsa_SidPtr.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_StorePrivateData_handle,
	  { "Handle", "lsarpc.lsa_StorePrivateData.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_StorePrivateData_name,
	  { "Name", "lsarpc.lsa_StorePrivateData.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_StorePrivateData_val,
	  { "Val", "lsarpc.lsa_StorePrivateData.val", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_StringLarge_length,
	  { "Length", "lsarpc.lsa_StringLarge.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_StringLarge_size,
	  { "Size", "lsarpc.lsa_StringLarge.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_StringLarge_string,
	  { "String", "lsarpc.lsa_StringLarge.string", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_String_length,
	  { "Length", "lsarpc.lsa_String.length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_String_size,
	  { "Size", "lsarpc.lsa_String.size", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_String_string,
	  { "String", "lsarpc.lsa_String.string", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_Strings_count,
	  { "Count", "lsarpc.lsa_Strings.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_Strings_names,
	  { "Names", "lsarpc.lsa_Strings.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransNameArray2_count,
	  { "Count", "lsarpc.lsa_TransNameArray2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransNameArray2_names,
	  { "Names", "lsarpc.lsa_TransNameArray2.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransNameArray_count,
	  { "Count", "lsarpc.lsa_TransNameArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransNameArray_names,
	  { "Names", "lsarpc.lsa_TransNameArray.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransSidArray2_count,
	  { "Count", "lsarpc.lsa_TransSidArray2.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransSidArray2_sids,
	  { "Sids", "lsarpc.lsa_TransSidArray2.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransSidArray3_count,
	  { "Count", "lsarpc.lsa_TransSidArray3.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransSidArray3_sids,
	  { "Sids", "lsarpc.lsa_TransSidArray3.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransSidArray_count,
	  { "Count", "lsarpc.lsa_TransSidArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TransSidArray_sids,
	  { "Sids", "lsarpc.lsa_TransSidArray.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedName2_name,
	  { "Name", "lsarpc.lsa_TranslatedName2.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedName2_sid_index,
	  { "Sid Index", "lsarpc.lsa_TranslatedName2.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedName2_sid_type,
	  { "Sid Type", "lsarpc.lsa_TranslatedName2.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedName2_unknown,
	  { "Unknown", "lsarpc.lsa_TranslatedName2.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedName_name,
	  { "Name", "lsarpc.lsa_TranslatedName.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedName_sid_index,
	  { "Sid Index", "lsarpc.lsa_TranslatedName.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedName_sid_type,
	  { "Sid Type", "lsarpc.lsa_TranslatedName.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid2_rid,
	  { "Rid", "lsarpc.lsa_TranslatedSid2.rid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid2_sid_index,
	  { "Sid Index", "lsarpc.lsa_TranslatedSid2.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid2_sid_type,
	  { "Sid Type", "lsarpc.lsa_TranslatedSid2.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid2_unknown,
	  { "Unknown", "lsarpc.lsa_TranslatedSid2.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid3_flags,
	  { "Flags", "lsarpc.lsa_TranslatedSid3.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid3_sid,
	  { "Sid", "lsarpc.lsa_TranslatedSid3.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid3_sid_index,
	  { "Sid Index", "lsarpc.lsa_TranslatedSid3.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid3_sid_type,
	  { "Sid Type", "lsarpc.lsa_TranslatedSid3.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid_rid,
	  { "Rid", "lsarpc.lsa_TranslatedSid.rid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid_sid_index,
	  { "Sid Index", "lsarpc.lsa_TranslatedSid.sid_index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TranslatedSid_sid_type,
	  { "Sid Type", "lsarpc.lsa_TranslatedSid.sid_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_SidType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION,
	  { "LSA TRUST ATTRIBUTE CROSS ORGANIZATION", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_tfs), ( 0x00000010 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION,
	  { "LSA TRUST ATTRIBUTE CROSS ORGANIZATION ENABLE TGT DELEGATION", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION_tfs), ( 0x00000800 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION,
	  { "LSA TRUST ATTRIBUTE CROSS ORGANIZATION NO TGT DELEGATION", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION_tfs), ( 0x00000200 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE,
	  { "LSA TRUST ATTRIBUTE FOREST TRANSITIVE", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE_tfs), ( 0x00000008 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE,
	  { "LSA TRUST ATTRIBUTE NON TRANSITIVE", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE_tfs), ( 0x00000001 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_PIM_TRUST,
	  { "LSA TRUST ATTRIBUTE PIM TRUST", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_PIM_TRUST", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_PIM_TRUST_tfs), ( 0x00000400 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN,
	  { "LSA TRUST ATTRIBUTE QUARANTINED DOMAIN", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN_tfs), ( 0x00000004 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL,
	  { "LSA TRUST ATTRIBUTE TREAT AS EXTERNAL", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL_tfs), ( 0x00000040 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY,
	  { "LSA TRUST ATTRIBUTE UPLEVEL ONLY", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY_tfs), ( 0x00000002 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION,
	  { "LSA TRUST ATTRIBUTE USES RC4 ENCRYPTION", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION_tfs), ( 0x00000080 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_WITHIN_FOREST,
	  { "LSA TRUST ATTRIBUTE WITHIN FOREST", "lsarpc.lsa_TrustAttributes.LSA_TRUST_ATTRIBUTE_WITHIN_FOREST", FT_BOOLEAN, 32, TFS(&lsa_TrustAttributes_LSA_TRUST_ATTRIBUTE_WITHIN_FOREST_tfs), ( 0x00000020 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDirection_LSA_TRUST_DIRECTION_INBOUND,
	  { "LSA TRUST DIRECTION INBOUND", "lsarpc.lsa_TrustDirection.LSA_TRUST_DIRECTION_INBOUND", FT_BOOLEAN, 32, TFS(&lsa_TrustDirection_LSA_TRUST_DIRECTION_INBOUND_tfs), ( 0x00000001 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDirection_LSA_TRUST_DIRECTION_OUTBOUND,
	  { "LSA TRUST DIRECTION OUTBOUND", "lsarpc.lsa_TrustDirection.LSA_TRUST_DIRECTION_OUTBOUND", FT_BOOLEAN, 32, TFS(&lsa_TrustDirection_LSA_TRUST_DIRECTION_OUTBOUND_tfs), ( 0x00000002 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES_auth_data,
	  { "Auth Data", "lsarpc.lsa_TrustDomainInfoAuthInfoInternalAES.auth_data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES_cipher,
	  { "Cipher", "lsarpc.lsa_TrustDomainInfoAuthInfoInternalAES.cipher", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES_salt,
	  { "Salt", "lsarpc.lsa_TrustDomainInfoAuthInfoInternalAES.salt", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfoInternal_auth_blob,
	  { "Auth Blob", "lsarpc.lsa_TrustDomainInfoAuthInfoInternal.auth_blob", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_count,
	  { "Incoming Count", "lsarpc.lsa_TrustDomainInfoAuthInfo.incoming_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_current_auth_info,
	  { "Incoming Current Auth Info", "lsarpc.lsa_TrustDomainInfoAuthInfo.incoming_current_auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_incoming_previous_auth_info,
	  { "Incoming Previous Auth Info", "lsarpc.lsa_TrustDomainInfoAuthInfo.incoming_previous_auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_count,
	  { "Outgoing Count", "lsarpc.lsa_TrustDomainInfoAuthInfo.outgoing_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_current_auth_info,
	  { "Outgoing Current Auth Info", "lsarpc.lsa_TrustDomainInfoAuthInfo.outgoing_current_auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoAuthInfo_outgoing_previous_auth_info,
	  { "Outgoing Previous Auth Info", "lsarpc.lsa_TrustDomainInfoAuthInfo.outgoing_previous_auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoBasic_netbios_name,
	  { "Netbios Name", "lsarpc.lsa_TrustDomainInfoBasic.netbios_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoBasic_sid,
	  { "Sid", "lsarpc.lsa_TrustDomainInfoBasic.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoBuffer_AuthType,
	  { "AuthType", "lsarpc.lsa_TrustDomainInfoBuffer.AuthType", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_TrustAuthType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoBuffer_data,
	  { "Data", "lsarpc.lsa_TrustDomainInfoBuffer.data", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoBuffer_last_update_time,
	  { "Last Update Time", "lsarpc.lsa_TrustDomainInfoBuffer.last_update_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoControllers_entries,
	  { "Entries", "lsarpc.lsa_TrustDomainInfoControllers.entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoControllers_netbios_names,
	  { "Netbios Names", "lsarpc.lsa_TrustDomainInfoControllers.netbios_names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfo2Internal_auth_info,
	  { "Auth Info", "lsarpc.lsa_TrustDomainInfoFullInfo2Internal.auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfo2Internal_info,
	  { "Info", "lsarpc.lsa_TrustDomainInfoFullInfo2Internal.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfo2Internal_posix_offset,
	  { "Posix Offset", "lsarpc.lsa_TrustDomainInfoFullInfo2Internal.posix_offset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES_auth_info,
	  { "Auth Info", "lsarpc.lsa_TrustDomainInfoFullInfoInternalAES.auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES_info_ex,
	  { "Info Ex", "lsarpc.lsa_TrustDomainInfoFullInfoInternalAES.info_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES_posix_offset,
	  { "Posix Offset", "lsarpc.lsa_TrustDomainInfoFullInfoInternalAES.posix_offset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfoInternal_auth_info,
	  { "Auth Info", "lsarpc.lsa_TrustDomainInfoFullInfoInternal.auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfoInternal_info_ex,
	  { "Info Ex", "lsarpc.lsa_TrustDomainInfoFullInfoInternal.info_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfoInternal_posix_offset,
	  { "Posix Offset", "lsarpc.lsa_TrustDomainInfoFullInfoInternal.posix_offset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfo_auth_info,
	  { "Auth Info", "lsarpc.lsa_TrustDomainInfoFullInfo.auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfo_info_ex,
	  { "Info Ex", "lsarpc.lsa_TrustDomainInfoFullInfo.info_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoFullInfo_posix_offset,
	  { "Posix Offset", "lsarpc.lsa_TrustDomainInfoFullInfo.posix_offset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_data,
	  { "Forest Trust Data", "lsarpc.lsa_TrustDomainInfoInfoEx2Internal.forest_trust_data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_forest_trust_length,
	  { "Forest Trust Length", "lsarpc.lsa_TrustDomainInfoInfoEx2Internal.forest_trust_length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoInfoEx2Internal_info_ex,
	  { "Info Ex", "lsarpc.lsa_TrustDomainInfoInfoEx2Internal.info_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoInfoEx_domain_name,
	  { "Domain Name", "lsarpc.lsa_TrustDomainInfoInfoEx.domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoInfoEx_netbios_name,
	  { "Netbios Name", "lsarpc.lsa_TrustDomainInfoInfoEx.netbios_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoInfoEx_sid,
	  { "Sid", "lsarpc.lsa_TrustDomainInfoInfoEx.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_attributes,
	  { "Trust Attributes", "lsarpc.lsa_TrustDomainInfoInfoEx.trust_attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_direction,
	  { "Trust Direction", "lsarpc.lsa_TrustDomainInfoInfoEx.trust_direction", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoInfoEx_trust_type,
	  { "Trust Type", "lsarpc.lsa_TrustDomainInfoInfoEx.trust_type", FT_UINT32, BASE_DEC, VALS(lsarpc_lsa_TrustType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoName_netbios_name,
	  { "Netbios Name", "lsarpc.lsa_TrustDomainInfoName.netbios_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoPassword_old_password,
	  { "Old Password", "lsarpc.lsa_TrustDomainInfoPassword.old_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoPassword_password,
	  { "Password", "lsarpc.lsa_TrustDomainInfoPassword.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoPosixOffset_posix_offset,
	  { "Posix Offset", "lsarpc.lsa_TrustDomainInfoPosixOffset.posix_offset", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustDomainInfoSupportedEncTypes_enc_types,
	  { "Enc Types", "lsarpc.lsa_TrustDomainInfoSupportedEncTypes.enc_types", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_AUTH,
	  { "LSA TRUSTED QUERY AUTH", "lsarpc.lsa_TrustedAccessMask.LSA_TRUSTED_QUERY_AUTH", FT_BOOLEAN, 32, TFS(&lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_AUTH_tfs), ( 0x00000040 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_CONTROLLERS,
	  { "LSA TRUSTED QUERY CONTROLLERS", "lsarpc.lsa_TrustedAccessMask.LSA_TRUSTED_QUERY_CONTROLLERS", FT_BOOLEAN, 32, TFS(&lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_CONTROLLERS_tfs), ( 0x00000002 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_DOMAIN_NAME,
	  { "LSA TRUSTED QUERY DOMAIN NAME", "lsarpc.lsa_TrustedAccessMask.LSA_TRUSTED_QUERY_DOMAIN_NAME", FT_BOOLEAN, 32, TFS(&lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_DOMAIN_NAME_tfs), ( 0x00000001 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_POSIX,
	  { "LSA TRUSTED QUERY POSIX", "lsarpc.lsa_TrustedAccessMask.LSA_TRUSTED_QUERY_POSIX", FT_BOOLEAN, 32, TFS(&lsa_TrustedAccessMask_LSA_TRUSTED_QUERY_POSIX_tfs), ( 0x00000008 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_AUTH,
	  { "LSA TRUSTED SET AUTH", "lsarpc.lsa_TrustedAccessMask.LSA_TRUSTED_SET_AUTH", FT_BOOLEAN, 32, TFS(&lsa_TrustedAccessMask_LSA_TRUSTED_SET_AUTH_tfs), ( 0x00000020 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_CONTROLLERS,
	  { "LSA TRUSTED SET CONTROLLERS", "lsarpc.lsa_TrustedAccessMask.LSA_TRUSTED_SET_CONTROLLERS", FT_BOOLEAN, 32, TFS(&lsa_TrustedAccessMask_LSA_TRUSTED_SET_CONTROLLERS_tfs), ( 0x00000004 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedAccessMask_LSA_TRUSTED_SET_POSIX,
	  { "LSA TRUSTED SET POSIX", "lsarpc.lsa_TrustedAccessMask.LSA_TRUSTED_SET_POSIX", FT_BOOLEAN, 32, TFS(&lsa_TrustedAccessMask_LSA_TRUSTED_SET_POSIX_tfs), ( 0x00000010 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_auth_info,
	  { "Auth Info", "lsarpc.lsa_TrustedDomainInfo.auth_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_auth_info_internal,
	  { "Auth Info Internal", "lsarpc.lsa_TrustedDomainInfo.auth_info_internal", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_auth_info_internal_aes,
	  { "Auth Info Internal Aes", "lsarpc.lsa_TrustedDomainInfo.auth_info_internal_aes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_controllers,
	  { "Controllers", "lsarpc.lsa_TrustedDomainInfo.controllers", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_enc_types,
	  { "Enc Types", "lsarpc.lsa_TrustedDomainInfo.enc_types", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_full_info,
	  { "Full Info", "lsarpc.lsa_TrustedDomainInfo.full_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_full_info2_internal,
	  { "Full Info2 Internal", "lsarpc.lsa_TrustedDomainInfo.full_info2_internal", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_full_info_internal,
	  { "Full Info Internal", "lsarpc.lsa_TrustedDomainInfo.full_info_internal", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_full_info_internal_aes,
	  { "Full Info Internal Aes", "lsarpc.lsa_TrustedDomainInfo.full_info_internal_aes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_info_basic,
	  { "Info Basic", "lsarpc.lsa_TrustedDomainInfo.info_basic", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_info_ex,
	  { "Info Ex", "lsarpc.lsa_TrustedDomainInfo.info_ex", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_info_ex2_internal,
	  { "Info Ex2 Internal", "lsarpc.lsa_TrustedDomainInfo.info_ex2_internal", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_name,
	  { "Name", "lsarpc.lsa_TrustedDomainInfo.name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_password,
	  { "Password", "lsarpc.lsa_TrustedDomainInfo.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_TrustedDomainInfo_posix_offset,
	  { "Posix Offset", "lsarpc.lsa_TrustedDomainInfo.posix_offset", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_krbAuthenticationOptions_LSA_POLICY_KERBEROS_VALIDATE_CLIENT,
	  { "LSA POLICY KERBEROS VALIDATE CLIENT", "lsarpc.lsa_krbAuthenticationOptions.LSA_POLICY_KERBEROS_VALIDATE_CLIENT", FT_BOOLEAN, 32, TFS(&lsa_krbAuthenticationOptions_LSA_POLICY_KERBEROS_VALIDATE_CLIENT_tfs), ( 0x00000080 ), NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_forest_trust_info,
	  { "Forest Trust Info", "lsarpc.lsa_lsaRQueryForestTrustInformation2.forest_trust_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_handle,
	  { "Handle", "lsarpc.lsa_lsaRQueryForestTrustInformation2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_highest_record_type,
	  { "Highest Record Type", "lsarpc.lsa_lsaRQueryForestTrustInformation2.highest_record_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_ForestTrustRecordType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRQueryForestTrustInformation2_trusted_domain_name,
	  { "Trusted Domain Name", "lsarpc.lsa_lsaRQueryForestTrustInformation2.trusted_domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRQueryForestTrustInformation_forest_trust_info,
	  { "Forest Trust Info", "lsarpc.lsa_lsaRQueryForestTrustInformation.forest_trust_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRQueryForestTrustInformation_handle,
	  { "Handle", "lsarpc.lsa_lsaRQueryForestTrustInformation.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRQueryForestTrustInformation_highest_record_type,
	  { "Highest Record Type", "lsarpc.lsa_lsaRQueryForestTrustInformation.highest_record_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_ForestTrustRecordType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRQueryForestTrustInformation_trusted_domain_name,
	  { "Trusted Domain Name", "lsarpc.lsa_lsaRQueryForestTrustInformation.trusted_domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation2_check_only,
	  { "Check Only", "lsarpc.lsa_lsaRSetForestTrustInformation2.check_only", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation2_collision_info,
	  { "Collision Info", "lsarpc.lsa_lsaRSetForestTrustInformation2.collision_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation2_forest_trust_info,
	  { "Forest Trust Info", "lsarpc.lsa_lsaRSetForestTrustInformation2.forest_trust_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation2_handle,
	  { "Handle", "lsarpc.lsa_lsaRSetForestTrustInformation2.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation2_highest_record_type,
	  { "Highest Record Type", "lsarpc.lsa_lsaRSetForestTrustInformation2.highest_record_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_ForestTrustRecordType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation2_trusted_domain_name,
	  { "Trusted Domain Name", "lsarpc.lsa_lsaRSetForestTrustInformation2.trusted_domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation_check_only,
	  { "Check Only", "lsarpc.lsa_lsaRSetForestTrustInformation.check_only", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation_collision_info,
	  { "Collision Info", "lsarpc.lsa_lsaRSetForestTrustInformation.collision_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation_forest_trust_info,
	  { "Forest Trust Info", "lsarpc.lsa_lsaRSetForestTrustInformation.forest_trust_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation_handle,
	  { "Handle", "lsarpc.lsa_lsaRSetForestTrustInformation.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation_highest_record_type,
	  { "Highest Record Type", "lsarpc.lsa_lsaRSetForestTrustInformation.highest_record_type", FT_UINT1632, BASE_DEC, VALS(lsarpc_lsa_ForestTrustRecordType_vals), 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_lsaRSetForestTrustInformation_trusted_domain_name,
	  { "Trusted Domain Name", "lsarpc.lsa_lsaRSetForestTrustInformation.trusted_domain_name", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_revision_info1_revision,
	  { "Revision", "lsarpc.lsa_revision_info1.revision", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_revision_info1_supported_features,
	  { "Supported Features", "lsarpc.lsa_revision_info1.supported_features", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_lsa_revision_info_info1,
	  { "Info1", "lsarpc.lsa_revision_info.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_names,
	  { "Names", "lsarpc.lookup.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_opnum,
	  { "Operation", "lsarpc.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_policy_access_mask,
	  { "Access Mask", "lsarpc.policy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_sec_desc_buf_len,
	  { "Sec Desc Buf Len", "lsarpc.sec_desc_buf_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_secret_access_mask,
	  { "Access Mask", "lsarpc.policy.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
	{ &hf_lsarpc_status,
	  { "NT Error", "lsarpc.status", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &NT_errors_ext, 0, NULL, HFILL }},
	};


	static int *ett[] = {
		&ett_lsarpc_names,
		&ett_dcerpc_lsarpc,
		&ett_lsarpc_security_secinfo,
		&ett_lsarpc_kerb_EncTypes,
		&ett_lsarpc_lsa_String,
		&ett_lsarpc_lsa_StringLarge,
		&ett_lsarpc_lsa_Strings,
		&ett_lsarpc_lsa_AsciiString,
		&ett_lsarpc_lsa_AsciiStringLarge,
		&ett_lsarpc_lsa_BinaryString,
		&ett_lsarpc_lsa_LUID,
		&ett_lsarpc_lsa_PrivEntry,
		&ett_lsarpc_lsa_PrivArray,
		&ett_lsarpc_lsa_QosInfo,
		&ett_lsarpc_lsa_ObjectAttribute,
		&ett_lsarpc_lsa_PolicyAccessMask,
		&ett_lsarpc_lsa_AccountAccessMask,
		&ett_lsarpc_lsa_SecretAccessMask,
		&ett_lsarpc_lsa_TrustedAccessMask,
		&ett_lsarpc_lsa_AuditLogInfo,
		&ett_lsarpc_lsa_AuditEventsInfo,
		&ett_lsarpc_lsa_DomainInfo,
		&ett_lsarpc_lsa_PDAccountInfo,
		&ett_lsarpc_lsa_ServerRole,
		&ett_lsarpc_lsa_ReplicaSourceInfo,
		&ett_lsarpc_lsa_DefaultQuotaInfo,
		&ett_lsarpc_lsa_ModificationInfo,
		&ett_lsarpc_lsa_AuditFullSetInfo,
		&ett_lsarpc_lsa_AuditFullQueryInfo,
		&ett_lsarpc_lsa_DnsDomainInfo,
		&ett_lsarpc_lsa_PolicyInformation,
		&ett_lsarpc_lsa_SidPtr,
		&ett_lsarpc_lsa_SidArray,
		&ett_lsarpc_lsa_DomainList,
		&ett_lsarpc_lsa_TranslatedSid,
		&ett_lsarpc_lsa_TransSidArray,
		&ett_lsarpc_lsa_RefDomainList,
		&ett_lsarpc_lsa_TranslatedName,
		&ett_lsarpc_lsa_TransNameArray,
		&ett_lsarpc_lsa_LUIDAttribute,
		&ett_lsarpc_lsa_PrivilegeSet,
		&ett_lsarpc_lsa_DATA_BUF,
		&ett_lsarpc_lsa_DATA_BUF2,
		&ett_lsarpc_lsa_TrustDirection,
		&ett_lsarpc_lsa_TrustAttributes,
		&ett_lsarpc_lsa_TrustDomainInfoName,
		&ett_lsarpc_lsa_TrustDomainInfoControllers,
		&ett_lsarpc_lsa_TrustDomainInfoPosixOffset,
		&ett_lsarpc_lsa_TrustDomainInfoPassword,
		&ett_lsarpc_lsa_TrustDomainInfoBasic,
		&ett_lsarpc_lsa_TrustDomainInfoInfoEx,
		&ett_lsarpc_lsa_TrustDomainInfoBuffer,
		&ett_lsarpc_lsa_TrustDomainInfoAuthInfo,
		&ett_lsarpc_lsa_TrustDomainInfoFullInfo,
		&ett_lsarpc_lsa_TrustDomainInfoAuthInfoInternal,
		&ett_lsarpc_lsa_TrustDomainInfoFullInfoInternal,
		&ett_lsarpc_lsa_TrustDomainInfoAuthInfoInternalAES,
		&ett_lsarpc_lsa_TrustDomainInfoFullInfoInternalAES,
		&ett_lsarpc_lsa_TrustDomainInfoInfoEx2Internal,
		&ett_lsarpc_lsa_TrustDomainInfoFullInfo2Internal,
		&ett_lsarpc_lsa_TrustDomainInfoSupportedEncTypes,
		&ett_lsarpc_lsa_TrustedDomainInfo,
		&ett_lsarpc_lsa_DATA_BUF_PTR,
		&ett_lsarpc_lsa_RightAttribute,
		&ett_lsarpc_lsa_RightSet,
		&ett_lsarpc_lsa_DomainListEx,
		&ett_lsarpc_lsa_DomainInfoQoS,
		&ett_lsarpc_lsa_krbAuthenticationOptions,
		&ett_lsarpc_lsa_DomainInfoKerberos,
		&ett_lsarpc_lsa_DomainInfoEfs,
		&ett_lsarpc_lsa_DomainInformationPolicy,
		&ett_lsarpc_lsa_TranslatedName2,
		&ett_lsarpc_lsa_TransNameArray2,
		&ett_lsarpc_lsa_TranslatedSid2,
		&ett_lsarpc_lsa_TransSidArray2,
		&ett_lsarpc_lsa_TranslatedSid3,
		&ett_lsarpc_lsa_TransSidArray3,
		&ett_lsarpc_lsa_ForestTrustRecordFlags,
		&ett_lsarpc_lsa_ForestTrustBinaryData,
		&ett_lsarpc_lsa_ForestTrustDomainInfo,
		&ett_lsarpc_lsa_ForestTrustData,
		&ett_lsarpc_lsa_ForestTrustRecord,
		&ett_lsarpc_lsa_ForestTrustInformation,
		&ett_lsarpc_lsa_ForestTrustCollisionRecord,
		&ett_lsarpc_lsa_ForestTrustCollisionInfo,
		&ett_lsarpc_lsa_RevisionSupportedFeature,
		&ett_lsarpc_lsa_revision_info1,
		&ett_lsarpc_lsa_revision_info,
		&ett_lsarpc_lsa_ForestTrustData2,
		&ett_lsarpc_lsa_ForestTrustRecord2,
		&ett_lsarpc_lsa_ForestTrustInformation2,
	};

	proto_dcerpc_lsarpc = proto_register_protocol("Local Security Authority", "LSARPC", "lsarpc");
	proto_register_field_array(proto_dcerpc_lsarpc, hf, array_length (hf));
	proto_register_subtree_array(ett, array_length(ett));
}

void proto_reg_handoff_dcerpc_lsarpc(void)
{
	dcerpc_init_uuid(proto_dcerpc_lsarpc, ett_dcerpc_lsarpc,
		&uuid_dcerpc_lsarpc, ver_dcerpc_lsarpc,
		lsarpc_dissectors, hf_lsarpc_opnum);
}
