/* DO NOT EDIT This file was automatically generated by Pidl from browser.idl and browser.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 #include #include #include #include "packet-dcerpc.h" #include "packet-dcerpc-nt.h" #include "packet-windows-common.h" #include "packet-dcerpc-browser.h" void proto_register_dcerpc_browser(void); void proto_reg_handoff_dcerpc_browser(void); /* Ett declarations */ static int ett_dcerpc_browser; static int ett_browser_BrowserrSrvInfo100Ctr; static int ett_browser_BrowserrSrvInfo101Ctr; static int ett_browser_BrowserrSrvInfoUnion; static int ett_browser_BrowserrSrvInfo; static int ett_browser_TYPE_1; static int ett_browser_TYPE_2; static int ett_browser_TYPE_3; static int ett_browser_TYPE_4; /* Header field declarations */ static int hf_browser_BrowserrDebugCall_unknown1; static int hf_browser_BrowserrDebugCall_unknown2; static int hf_browser_BrowserrDebugCall_unknown3; static int hf_browser_BrowserrDebugTrace_unknown1; static int hf_browser_BrowserrDebugTrace_unknown2; static int hf_browser_BrowserrQueryEmulatedDomains_unknown1; static int hf_browser_BrowserrQueryEmulatedDomains_unknown2; static int hf_browser_BrowserrQueryOtherDomains_info; static int hf_browser_BrowserrQueryOtherDomains_server_unc; static int hf_browser_BrowserrQueryOtherDomains_total_entries; static int hf_browser_BrowserrQueryStatistics_unknown1; static int hf_browser_BrowserrQueryStatistics_unknown2; static int hf_browser_BrowserrResetNetlogonState_unknown; static int hf_browser_BrowserrResetStatistics_unknown; static int hf_browser_BrowserrServerEnumEx_info; static int hf_browser_BrowserrServerEnumEx_unknown1; static int hf_browser_BrowserrServerEnumEx_unknown2; static int hf_browser_BrowserrServerEnumEx_unknown3; static int hf_browser_BrowserrServerEnumEx_unknown4; static int hf_browser_BrowserrServerEnumEx_unknown5; static int hf_browser_BrowserrServerEnumEx_unknown6; static int hf_browser_BrowserrServerEnumEx_unknown7; static int hf_browser_BrowserrServerEnumEx_unknown8; static int hf_browser_BrowserrServerEnum_info; static int hf_browser_BrowserrServerEnum_unknown1; static int hf_browser_BrowserrServerEnum_unknown2; static int hf_browser_BrowserrServerEnum_unknown3; static int hf_browser_BrowserrServerEnum_unknown4; static int hf_browser_BrowserrServerEnum_unknown5; static int hf_browser_BrowserrServerEnum_unknown6; static int hf_browser_BrowserrServerEnum_unknown7; static int hf_browser_BrowserrServerEnum_unknown8; static int hf_browser_BrowserrSetNetlogonState_unknown1; static int hf_browser_BrowserrSetNetlogonState_unknown2; static int hf_browser_BrowserrSetNetlogonState_unknown3; static int hf_browser_BrowserrSetNetlogonState_unknown4; static int hf_browser_BrowserrSrvInfo100Ctr_entries; static int hf_browser_BrowserrSrvInfo100Ctr_entries_read; static int hf_browser_BrowserrSrvInfo101Ctr_entries; static int hf_browser_BrowserrSrvInfo101Ctr_entries_read; static int hf_browser_BrowserrSrvInfoUnion_info100; static int hf_browser_BrowserrSrvInfoUnion_info101; static int hf_browser_BrowserrSrvInfo_info; static int hf_browser_BrowserrSrvInfo_level; static int hf_browser_NetrBrowserStatisticsClear_unknown; static int hf_browser_NetrBrowserStatisticsGet_unknown1; static int hf_browser_NetrBrowserStatisticsGet_unknown2; static int hf_browser_NetrBrowserStatisticsGet_unknown3; static int hf_browser_TYPE_1_unknown; static int hf_browser_TYPE_2_unknown1; static int hf_browser_TYPE_2_unknown10; static int hf_browser_TYPE_2_unknown11; static int hf_browser_TYPE_2_unknown12; static int hf_browser_TYPE_2_unknown13; static int hf_browser_TYPE_2_unknown14; static int hf_browser_TYPE_2_unknown15; static int hf_browser_TYPE_2_unknown16; static int hf_browser_TYPE_2_unknown17; static int hf_browser_TYPE_2_unknown18; static int hf_browser_TYPE_2_unknown19; static int hf_browser_TYPE_2_unknown2; static int hf_browser_TYPE_2_unknown3; static int hf_browser_TYPE_2_unknown4; static int hf_browser_TYPE_2_unknown5; static int hf_browser_TYPE_2_unknown6; static int hf_browser_TYPE_2_unknown7; static int hf_browser_TYPE_2_unknown8; static int hf_browser_TYPE_2_unknown9; static int hf_browser_TYPE_3_unknown1; static int hf_browser_TYPE_3_unknown10; static int hf_browser_TYPE_3_unknown11; static int hf_browser_TYPE_3_unknown12; static int hf_browser_TYPE_3_unknown13; static int hf_browser_TYPE_3_unknown14; static int hf_browser_TYPE_3_unknown15; static int hf_browser_TYPE_3_unknown16; static int hf_browser_TYPE_3_unknown2; static int hf_browser_TYPE_3_unknown3; static int hf_browser_TYPE_3_unknown4; static int hf_browser_TYPE_3_unknown5; static int hf_browser_TYPE_3_unknown6; static int hf_browser_TYPE_3_unknown7; static int hf_browser_TYPE_3_unknown8; static int hf_browser_TYPE_3_unknown9; static int hf_browser_TYPE_4_unknown1; static int hf_browser_TYPE_4_unknown2; static int hf_browser_opnum; static int hf_browser_werror; static int proto_dcerpc_browser; /* Version information */ static e_guid_t uuid_dcerpc_browser = { 0x6bffd098, 0xa112, 0x3610, { 0x98, 0x33, 0x01, 0x28, 0x92, 0x02, 0x01, 0x62 } }; static uint16_t ver_dcerpc_browser = 0; static int browser_dissect_element_BrowserrSrvInfo100Ctr_entries_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSrvInfo100Ctr_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 browser_dissect_element_BrowserrSrvInfo100Ctr_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 browser_dissect_element_BrowserrSrvInfo100Ctr_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 browser_dissect_element_BrowserrSrvInfo101Ctr_entries_read(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSrvInfo101Ctr_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 browser_dissect_element_BrowserrSrvInfo101Ctr_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 browser_dissect_element_BrowserrSrvInfo101Ctr_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 browser_dissect_element_BrowserrSrvInfoUnion_info100(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSrvInfoUnion_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSrvInfoUnion_info101(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSrvInfoUnion_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSrvInfo_level(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 *level); static int browser_dissect_element_BrowserrSrvInfo_info(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 *level); static int browser_dissect_element_TYPE_1_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 browser_dissect_element_TYPE_2_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown15(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown17(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown18(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_2_unknown19(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown15(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_3_unknown16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_4_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_4_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_4_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_TYPE_4_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_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 browser_dissect_element_BrowserrServerEnum_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 browser_dissect_element_BrowserrServerEnum_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnum_unknown8_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrDebugCall_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrDebugCall_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrDebugCall_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrDebugCall_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryOtherDomains_server_unc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryOtherDomains_server_unc_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryOtherDomains_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 browser_dissect_element_BrowserrQueryOtherDomains_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 browser_dissect_element_BrowserrQueryOtherDomains_total_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 browser_dissect_element_BrowserrQueryOtherDomains_total_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 browser_dissect_element_BrowserrResetNetlogonState_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 browser_dissect_element_BrowserrResetNetlogonState_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 browser_dissect_element_BrowserrDebugTrace_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrDebugTrace_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrDebugTrace_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrDebugTrace_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryStatistics_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryStatistics_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryStatistics_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryStatistics_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryStatistics_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrResetStatistics_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 browser_dissect_element_BrowserrResetStatistics_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 browser_dissect_element_NetrBrowserStatisticsClear_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 browser_dissect_element_NetrBrowserStatisticsClear_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 browser_dissect_element_NetrBrowserStatisticsGet_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_NetrBrowserStatisticsGet_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_NetrBrowserStatisticsGet_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_NetrBrowserStatisticsGet_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSetNetlogonState_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSetNetlogonState_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSetNetlogonState_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSetNetlogonState_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSetNetlogonState_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSetNetlogonState_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrSetNetlogonState_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown1_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_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 browser_dissect_element_BrowserrServerEnumEx_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 browser_dissect_element_BrowserrServerEnumEx_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown5_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown7_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); static int browser_dissect_element_BrowserrServerEnumEx_unknown8_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_); /* IDL: struct { */ /* IDL: uint32 entries_read; */ /* IDL: [size_is(entries_read)] [unique(1)] srvsvc_NetSrvInfo100 *entries; */ /* IDL: } */ static int browser_dissect_element_BrowserrSrvInfo100Ctr_entries_read(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_browser_BrowserrSrvInfo100Ctr_entries_read, 0); return offset; } static int browser_dissect_element_BrowserrSrvInfo100Ctr_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, browser_dissect_element_BrowserrSrvInfo100Ctr_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (srvsvc_NetSrvInfo100)",hf_browser_BrowserrSrvInfo100Ctr_entries); return offset; } static int browser_dissect_element_BrowserrSrvInfo100Ctr_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, browser_dissect_element_BrowserrSrvInfo100Ctr_entries__); return offset; } static int browser_dissect_element_BrowserrSrvInfo100Ctr_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 = srvsvc_dissect_struct_NetSrvInfo100(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo100Ctr_entries, 0); return offset; } int browser_dissect_struct_BrowserrSrvInfo100Ctr(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_browser_BrowserrSrvInfo100Ctr); } offset = browser_dissect_element_BrowserrSrvInfo100Ctr_entries_read(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_BrowserrSrvInfo100Ctr_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: struct { */ /* IDL: uint32 entries_read; */ /* IDL: [size_is(entries_read)] [unique(1)] srvsvc_NetSrvInfo101 *entries; */ /* IDL: } */ static int browser_dissect_element_BrowserrSrvInfo101Ctr_entries_read(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_browser_BrowserrSrvInfo101Ctr_entries_read, 0); return offset; } static int browser_dissect_element_BrowserrSrvInfo101Ctr_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, browser_dissect_element_BrowserrSrvInfo101Ctr_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (srvsvc_NetSrvInfo101)",hf_browser_BrowserrSrvInfo101Ctr_entries); return offset; } static int browser_dissect_element_BrowserrSrvInfo101Ctr_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, browser_dissect_element_BrowserrSrvInfo101Ctr_entries__); return offset; } static int browser_dissect_element_BrowserrSrvInfo101Ctr_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 = srvsvc_dissect_struct_NetSrvInfo101(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo100Ctr_entries, 0); return offset; } int browser_dissect_struct_BrowserrSrvInfo101Ctr(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_browser_BrowserrSrvInfo101Ctr); } offset = browser_dissect_element_BrowserrSrvInfo101Ctr_entries_read(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_BrowserrSrvInfo101Ctr_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: [switch_type(uint32)] union { */ /* IDL: [case(100)] [case(100)] [unique(1)] BrowserrSrvInfo100Ctr *info100; */ /* IDL: [case(101)] [case(101)] [unique(1)] BrowserrSrvInfo101Ctr *info101; */ /* IDL: [default] ; */ /* IDL: } */ static int browser_dissect_element_BrowserrSrvInfoUnion_info100(tvbuff_t *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, browser_dissect_element_BrowserrSrvInfoUnion_info100_, NDR_POINTER_UNIQUE, "Pointer to Info100 (BrowserrSrvInfo100Ctr)",hf_browser_BrowserrSrvInfoUnion_info100); return offset; } static int browser_dissect_element_BrowserrSrvInfoUnion_info100_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_BrowserrSrvInfo100Ctr(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrSrvInfoUnion_info100,0); return offset; } static int browser_dissect_element_BrowserrSrvInfoUnion_info101(tvbuff_t *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, browser_dissect_element_BrowserrSrvInfoUnion_info101_, NDR_POINTER_UNIQUE, "Pointer to Info101 (BrowserrSrvInfo101Ctr)",hf_browser_BrowserrSrvInfoUnion_info101); return offset; } static int browser_dissect_element_BrowserrSrvInfoUnion_info101_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_BrowserrSrvInfo101Ctr(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrSrvInfoUnion_info101,0); return offset; } static int browser_dissect_BrowserrSrvInfoUnion(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_browser_BrowserrSrvInfoUnion, &item, "BrowserrSrvInfoUnion"); } offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level); ALIGN_TO_5_BYTES; switch(level) { case 100: offset = browser_dissect_element_BrowserrSrvInfoUnion_info100(tvb, offset, pinfo, tree, di, drep); break; case 101: offset = browser_dissect_element_BrowserrSrvInfoUnion_info101(tvb, offset, pinfo, tree, di, drep); break; default: break; } proto_item_set_len(item, offset-old_offset); return offset; } /* IDL: struct { */ /* IDL: uint32 level; */ /* IDL: [switch_is(level)] BrowserrSrvInfoUnion info; */ /* IDL: } */ static int browser_dissect_element_BrowserrSrvInfo_level(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 *level) { offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo_level, *level); return offset; } static int browser_dissect_element_BrowserrSrvInfo_info(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 *level) { offset = browser_dissect_BrowserrSrvInfoUnion(tvb, offset, pinfo, tree, di, drep, hf_browser_BrowserrSrvInfo_info, *level); return offset; } int browser_dissect_struct_BrowserrSrvInfo(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 level = 0; 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_browser_BrowserrSrvInfo); } offset = browser_dissect_element_BrowserrSrvInfo_level(tvb, offset, pinfo, tree, di, drep, &level); offset = browser_dissect_element_BrowserrSrvInfo_info(tvb, offset, pinfo, tree, di, drep, &level); 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: hyper unknown; */ /* IDL: } */ static int browser_dissect_element_TYPE_1_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 = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hf_browser_TYPE_1_unknown, NULL); return offset; } int browser_dissect_struct_TYPE_1(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_browser_TYPE_1); } offset = browser_dissect_element_TYPE_1_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: TYPE_1 unknown1; */ /* IDL: TYPE_1 unknown2; */ /* IDL: TYPE_1 unknown3; */ /* IDL: int32 unknown4; */ /* IDL: int32 unknown5; */ /* IDL: int32 unknown6; */ /* IDL: int32 unknown7; */ /* IDL: int32 unknown8; */ /* IDL: int32 unknown9; */ /* IDL: int32 unknown10; */ /* IDL: int32 unknown11; */ /* IDL: int32 unknown12; */ /* IDL: int32 unknown13; */ /* IDL: int32 unknown14; */ /* IDL: int32 unknown15; */ /* IDL: int32 unknown16; */ /* IDL: int32 unknown17; */ /* IDL: int32 unknown18; */ /* IDL: TYPE_1 unknown19; */ /* IDL: } */ static int browser_dissect_element_TYPE_2_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown1,0); return offset; } static int browser_dissect_element_TYPE_2_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown2,0); return offset; } static int browser_dissect_element_TYPE_2_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown3,0); return offset; } static int browser_dissect_element_TYPE_2_unknown4(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_browser_TYPE_2_unknown4, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown5(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_browser_TYPE_2_unknown5, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown6(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_browser_TYPE_2_unknown6, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown7(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_browser_TYPE_2_unknown7, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown8(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_browser_TYPE_2_unknown8, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown9(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_browser_TYPE_2_unknown9, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown10(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_browser_TYPE_2_unknown10, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown11(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_browser_TYPE_2_unknown11, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown12(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_browser_TYPE_2_unknown12, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown13(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_browser_TYPE_2_unknown13, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown14(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_browser_TYPE_2_unknown14, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown15(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_browser_TYPE_2_unknown15, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown16(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_browser_TYPE_2_unknown16, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown17(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_browser_TYPE_2_unknown17, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown18(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_browser_TYPE_2_unknown18, 0); return offset; } static int browser_dissect_element_TYPE_2_unknown19(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_2_unknown19,0); return offset; } int browser_dissect_struct_TYPE_2(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_browser_TYPE_2); } offset = browser_dissect_element_TYPE_2_unknown1(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown2(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown3(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown4(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown5(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown6(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown7(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown8(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown9(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown10(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown11(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown12(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown13(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown14(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown15(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown16(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown17(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown18(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_2_unknown19(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: TYPE_1 unknown1; */ /* IDL: TYPE_1 unknown2; */ /* IDL: TYPE_1 unknown3; */ /* IDL: int32 unknown4; */ /* IDL: int32 unknown5; */ /* IDL: int32 unknown6; */ /* IDL: TYPE_1 unknown7; */ /* IDL: int32 unknown8; */ /* IDL: int32 unknown9; */ /* IDL: int32 unknown10; */ /* IDL: int32 unknown11; */ /* IDL: int32 unknown12; */ /* IDL: int32 unknown13; */ /* IDL: int32 unknown14; */ /* IDL: int32 unknown15; */ /* IDL: int32 unknown16; */ /* IDL: } */ static int browser_dissect_element_TYPE_3_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown1,0); return offset; } static int browser_dissect_element_TYPE_3_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown2,0); return offset; } static int browser_dissect_element_TYPE_3_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown3,0); return offset; } static int browser_dissect_element_TYPE_3_unknown4(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_browser_TYPE_3_unknown4, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown5(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_browser_TYPE_3_unknown5, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown6(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_browser_TYPE_3_unknown6, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_1(tvb,offset,pinfo,tree,di,drep,hf_browser_TYPE_3_unknown7,0); return offset; } static int browser_dissect_element_TYPE_3_unknown8(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_browser_TYPE_3_unknown8, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown9(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_browser_TYPE_3_unknown9, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown10(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_browser_TYPE_3_unknown10, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown11(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_browser_TYPE_3_unknown11, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown12(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_browser_TYPE_3_unknown12, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown13(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_browser_TYPE_3_unknown13, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown14(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_browser_TYPE_3_unknown14, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown15(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_browser_TYPE_3_unknown15, 0); return offset; } static int browser_dissect_element_TYPE_3_unknown16(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_browser_TYPE_3_unknown16, 0); return offset; } int browser_dissect_struct_TYPE_3(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_browser_TYPE_3); } offset = browser_dissect_element_TYPE_3_unknown1(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown2(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown3(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown4(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown5(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown6(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown7(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown8(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown9(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown10(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown11(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown12(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown13(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown14(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown15(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_3_unknown16(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: int32 unknown1; */ /* IDL: [size_is(unknown82)] [unique(1)] uint8 *unknown2; */ /* IDL: } */ static int browser_dissect_element_TYPE_4_unknown1(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_browser_TYPE_4_unknown1, 0); return offset; } static int browser_dissect_element_TYPE_4_unknown2(tvbuff_t *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, browser_dissect_element_TYPE_4_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (uint8)",hf_browser_TYPE_4_unknown2); return offset; } static int browser_dissect_element_TYPE_4_unknown2_(tvbuff_t *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, browser_dissect_element_TYPE_4_unknown2__); return offset; } static int browser_dissect_element_TYPE_4_unknown2__(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_browser_TYPE_4_unknown2, 0); return offset; } int browser_dissect_struct_TYPE_4(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_browser_TYPE_4); } offset = browser_dissect_element_TYPE_4_unknown1(tvb, offset, pinfo, tree, di, drep); offset = browser_dissect_element_TYPE_4_unknown2(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 browser_dissect_element_BrowserrServerEnum_unknown1(tvbuff_t *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, browser_dissect_element_BrowserrServerEnum_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrServerEnum_unknown1); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown1_(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_browser_BrowserrServerEnum_unknown1, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown2(tvbuff_t *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, browser_dissect_element_BrowserrServerEnum_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (uint16)",hf_browser_BrowserrServerEnum_unknown2); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown2_(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_browser_BrowserrServerEnum_unknown2, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown3(tvbuff_t *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, browser_dissect_element_BrowserrServerEnum_unknown3_, NDR_POINTER_UNIQUE, "Pointer to Unknown3 (uint16)",hf_browser_BrowserrServerEnum_unknown3); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown3_(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_browser_BrowserrServerEnum_unknown3, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrServerEnum_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, browser_dissect_element_BrowserrServerEnum_info_, NDR_POINTER_REF, "Pointer to Info (BrowserrSrvInfo)",hf_browser_BrowserrServerEnum_info); return offset; } static int browser_dissect_element_BrowserrServerEnum_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 = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrServerEnum_info,0); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown4(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_browser_BrowserrServerEnum_unknown4, 0); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown5(tvbuff_t *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, browser_dissect_element_BrowserrServerEnum_unknown5_, NDR_POINTER_REF, "Pointer to Unknown5 (int32)",hf_browser_BrowserrServerEnum_unknown5); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown5_(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_browser_BrowserrServerEnum_unknown5, 0); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown6(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_browser_BrowserrServerEnum_unknown6, 0); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown7(tvbuff_t *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, browser_dissect_element_BrowserrServerEnum_unknown7_, NDR_POINTER_UNIQUE, "Pointer to Unknown7 (uint16)",hf_browser_BrowserrServerEnum_unknown7); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown7_(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_browser_BrowserrServerEnum_unknown7, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown8(tvbuff_t *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, browser_dissect_element_BrowserrServerEnum_unknown8_, NDR_POINTER_UNIQUE, "Pointer to Unknown8 (int32)",hf_browser_BrowserrServerEnum_unknown8); return offset; } static int browser_dissect_element_BrowserrServerEnum_unknown8_(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_browser_BrowserrServerEnum_unknown8, 0); return offset; } /* IDL: WERROR BrowserrServerEnum( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown2, */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown3, */ /* IDL: [in] [out] [ref] BrowserrSrvInfo *info, */ /* IDL: [in] int32 unknown4, */ /* IDL: [out] [ref] int32 *unknown5, */ /* IDL: [in] int32 unknown6, */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown7, */ /* IDL: [in] [out] [unique(1)] int32 *unknown8 */ /* IDL: ); */ static int browser_dissect_BrowserrServerEnum_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="BrowserrServerEnum"; offset = browser_dissect_element_BrowserrServerEnum_info(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnum_unknown5(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnum_unknown8(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrServerEnum_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="BrowserrServerEnum"; offset = browser_dissect_element_BrowserrServerEnum_unknown1(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnum_unknown2(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnum_unknown3(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnum_info(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnum_unknown4(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnum_unknown6(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnum_unknown7(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnum_unknown8(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_BrowserrDebugCall_unknown1(tvbuff_t *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, browser_dissect_element_BrowserrDebugCall_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrDebugCall_unknown1); return offset; } static int browser_dissect_element_BrowserrDebugCall_unknown1_(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_browser_BrowserrDebugCall_unknown1, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrDebugCall_unknown2(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_browser_BrowserrDebugCall_unknown2, 0); return offset; } static int browser_dissect_element_BrowserrDebugCall_unknown3(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_browser_BrowserrDebugCall_unknown3, 0); return offset; } /* IDL: WERROR BrowserrDebugCall( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */ /* IDL: [in] int32 unknown2, */ /* IDL: [in] int32 unknown3 */ /* IDL: ); */ static int browser_dissect_BrowserrDebugCall_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="BrowserrDebugCall"; offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrDebugCall_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="BrowserrDebugCall"; offset = browser_dissect_element_BrowserrDebugCall_unknown1(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrDebugCall_unknown2(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrDebugCall_unknown3(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_BrowserrQueryOtherDomains_server_unc(tvbuff_t *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, browser_dissect_element_BrowserrQueryOtherDomains_server_unc_, NDR_POINTER_UNIQUE, "Pointer to Server Unc (uint16)",hf_browser_BrowserrQueryOtherDomains_server_unc); return offset; } static int browser_dissect_element_BrowserrQueryOtherDomains_server_unc_(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_browser_BrowserrQueryOtherDomains_server_unc, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrQueryOtherDomains_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, browser_dissect_element_BrowserrQueryOtherDomains_info_, NDR_POINTER_REF, "Pointer to Info (BrowserrSrvInfo)",hf_browser_BrowserrQueryOtherDomains_info); return offset; } static int browser_dissect_element_BrowserrQueryOtherDomains_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 = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrQueryOtherDomains_info,0); return offset; } static int browser_dissect_element_BrowserrQueryOtherDomains_total_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_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrQueryOtherDomains_total_entries_, NDR_POINTER_REF, "Pointer to Total Entries (uint32)",hf_browser_BrowserrQueryOtherDomains_total_entries); return offset; } static int browser_dissect_element_BrowserrQueryOtherDomains_total_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_browser_BrowserrQueryOtherDomains_total_entries, 0); return offset; } /* IDL: WERROR BrowserrQueryOtherDomains( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *server_unc, */ /* IDL: [in] [out] [ref] BrowserrSrvInfo *info, */ /* IDL: [out] [ref] uint32 *total_entries */ /* IDL: ); */ static int browser_dissect_BrowserrQueryOtherDomains_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="BrowserrQueryOtherDomains"; offset = browser_dissect_element_BrowserrQueryOtherDomains_info(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrQueryOtherDomains_total_entries(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrQueryOtherDomains_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="BrowserrQueryOtherDomains"; offset = browser_dissect_element_BrowserrQueryOtherDomains_server_unc(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrQueryOtherDomains_info(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_BrowserrResetNetlogonState_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 = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrResetNetlogonState_unknown_, NDR_POINTER_UNIQUE, "Pointer to Unknown (uint16)",hf_browser_BrowserrResetNetlogonState_unknown); return offset; } static int browser_dissect_element_BrowserrResetNetlogonState_unknown_(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_browser_BrowserrResetNetlogonState_unknown, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } /* IDL: WERROR BrowserrResetNetlogonState( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown */ /* IDL: ); */ static int browser_dissect_BrowserrResetNetlogonState_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="BrowserrResetNetlogonState"; offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrResetNetlogonState_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="BrowserrResetNetlogonState"; offset = browser_dissect_element_BrowserrResetNetlogonState_unknown(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_BrowserrDebugTrace_unknown1(tvbuff_t *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, browser_dissect_element_BrowserrDebugTrace_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrDebugTrace_unknown1); return offset; } static int browser_dissect_element_BrowserrDebugTrace_unknown1_(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_browser_BrowserrDebugTrace_unknown1, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrDebugTrace_unknown2(tvbuff_t *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, browser_dissect_element_BrowserrDebugTrace_unknown2_, NDR_POINTER_REF, "Pointer to Unknown2 (uint8)",hf_browser_BrowserrDebugTrace_unknown2); return offset; } static int browser_dissect_element_BrowserrDebugTrace_unknown2_(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(uint8_t), hf_browser_BrowserrDebugTrace_unknown2, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } /* IDL: WERROR BrowserrDebugTrace( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */ /* IDL: [in] [ref] uint8 *unknown2 */ /* IDL: ); */ static int browser_dissect_BrowserrDebugTrace_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="BrowserrDebugTrace"; offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrDebugTrace_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="BrowserrDebugTrace"; offset = browser_dissect_element_BrowserrDebugTrace_unknown1(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrDebugTrace_unknown2(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_BrowserrQueryStatistics_unknown1(tvbuff_t *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, browser_dissect_element_BrowserrQueryStatistics_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrQueryStatistics_unknown1); return offset; } static int browser_dissect_element_BrowserrQueryStatistics_unknown1_(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_browser_BrowserrQueryStatistics_unknown1, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrQueryStatistics_unknown2(tvbuff_t *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, browser_dissect_element_BrowserrQueryStatistics_unknown2_, NDR_POINTER_REF, "Pointer to Unknown2 (TYPE_2)",hf_browser_BrowserrQueryStatistics_unknown2); return offset; } static int browser_dissect_element_BrowserrQueryStatistics_unknown2_(tvbuff_t *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, browser_dissect_element_BrowserrQueryStatistics_unknown2__, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (TYPE_2)",hf_browser_BrowserrQueryStatistics_unknown2); return offset; } static int browser_dissect_element_BrowserrQueryStatistics_unknown2__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_2(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrQueryStatistics_unknown2,0); return offset; } /* IDL: WERROR BrowserrQueryStatistics( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */ /* IDL: [out] [ref] TYPE_2 **unknown2 */ /* IDL: ); */ static int browser_dissect_BrowserrQueryStatistics_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="BrowserrQueryStatistics"; offset = browser_dissect_element_BrowserrQueryStatistics_unknown2(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrQueryStatistics_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="BrowserrQueryStatistics"; offset = browser_dissect_element_BrowserrQueryStatistics_unknown1(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_BrowserrResetStatistics_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 = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_BrowserrResetStatistics_unknown_, NDR_POINTER_UNIQUE, "Pointer to Unknown (uint16)",hf_browser_BrowserrResetStatistics_unknown); return offset; } static int browser_dissect_element_BrowserrResetStatistics_unknown_(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_browser_BrowserrResetStatistics_unknown, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } /* IDL: WERROR BrowserrResetStatistics( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown */ /* IDL: ); */ static int browser_dissect_BrowserrResetStatistics_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="BrowserrResetStatistics"; offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrResetStatistics_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="BrowserrResetStatistics"; offset = browser_dissect_element_BrowserrResetStatistics_unknown(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_NetrBrowserStatisticsClear_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 = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, browser_dissect_element_NetrBrowserStatisticsClear_unknown_, NDR_POINTER_UNIQUE, "Pointer to Unknown (uint16)",hf_browser_NetrBrowserStatisticsClear_unknown); return offset; } static int browser_dissect_element_NetrBrowserStatisticsClear_unknown_(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_browser_NetrBrowserStatisticsClear_unknown, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } /* IDL: WERROR NetrBrowserStatisticsClear( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown */ /* IDL: ); */ static int browser_dissect_NetrBrowserStatisticsClear_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="NetrBrowserStatisticsClear"; offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_NetrBrowserStatisticsClear_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="NetrBrowserStatisticsClear"; offset = browser_dissect_element_NetrBrowserStatisticsClear_unknown(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_NetrBrowserStatisticsGet_unknown1(tvbuff_t *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, browser_dissect_element_NetrBrowserStatisticsGet_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_NetrBrowserStatisticsGet_unknown1); return offset; } static int browser_dissect_element_NetrBrowserStatisticsGet_unknown1_(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_browser_NetrBrowserStatisticsGet_unknown1, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_NetrBrowserStatisticsGet_unknown2(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_browser_NetrBrowserStatisticsGet_unknown2, 0); return offset; } static int browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvbuff_t *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, browser_dissect_element_NetrBrowserStatisticsGet_unknown3_, NDR_POINTER_REF, "Pointer to Unknown3 (BrowserrSrvInfo)",hf_browser_NetrBrowserStatisticsGet_unknown3); return offset; } static int browser_dissect_element_NetrBrowserStatisticsGet_unknown3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_NetrBrowserStatisticsGet_unknown3,0); return offset; } /* IDL: WERROR NetrBrowserStatisticsGet( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */ /* IDL: [in] int32 unknown2, */ /* IDL: [in] [out] [ref] BrowserrSrvInfo *unknown3 */ /* IDL: ); */ static int browser_dissect_NetrBrowserStatisticsGet_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="NetrBrowserStatisticsGet"; offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_NetrBrowserStatisticsGet_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="NetrBrowserStatisticsGet"; offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown1(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown2(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_NetrBrowserStatisticsGet_unknown3(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_BrowserrSetNetlogonState_unknown1(tvbuff_t *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, browser_dissect_element_BrowserrSetNetlogonState_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrSetNetlogonState_unknown1); return offset; } static int browser_dissect_element_BrowserrSetNetlogonState_unknown1_(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_browser_BrowserrSetNetlogonState_unknown1, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrSetNetlogonState_unknown2(tvbuff_t *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, browser_dissect_element_BrowserrSetNetlogonState_unknown2_, NDR_POINTER_REF, "Pointer to Unknown2 (uint16)",hf_browser_BrowserrSetNetlogonState_unknown2); return offset; } static int browser_dissect_element_BrowserrSetNetlogonState_unknown2_(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_browser_BrowserrSetNetlogonState_unknown2, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrSetNetlogonState_unknown3(tvbuff_t *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, browser_dissect_element_BrowserrSetNetlogonState_unknown3_, NDR_POINTER_UNIQUE, "Pointer to Unknown3 (uint16)",hf_browser_BrowserrSetNetlogonState_unknown3); return offset; } static int browser_dissect_element_BrowserrSetNetlogonState_unknown3_(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_browser_BrowserrSetNetlogonState_unknown3, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrSetNetlogonState_unknown4(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_browser_BrowserrSetNetlogonState_unknown4, 0); return offset; } /* IDL: WERROR BrowserrSetNetlogonState( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */ /* IDL: [charset(UTF16)] [in] [ref] uint16 *unknown2, */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown3, */ /* IDL: [in] int32 unknown4 */ /* IDL: ); */ static int browser_dissect_BrowserrSetNetlogonState_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="BrowserrSetNetlogonState"; offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrSetNetlogonState_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="BrowserrSetNetlogonState"; offset = browser_dissect_element_BrowserrSetNetlogonState_unknown1(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrSetNetlogonState_unknown2(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrSetNetlogonState_unknown3(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrSetNetlogonState_unknown4(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1(tvbuff_t *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, browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrQueryEmulatedDomains_unknown1); return offset; } static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1_(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_browser_BrowserrQueryEmulatedDomains_unknown1, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvbuff_t *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, browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2_, NDR_POINTER_REF, "Pointer to Unknown2 (TYPE_4)",hf_browser_BrowserrQueryEmulatedDomains_unknown2); return offset; } static int browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_) { offset = browser_dissect_struct_TYPE_4(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrQueryEmulatedDomains_unknown2,0); return offset; } /* IDL: WERROR BrowserrQueryEmulatedDomains( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */ /* IDL: [in] [out] [ref] TYPE_4 *unknown2 */ /* IDL: ); */ static int browser_dissect_BrowserrQueryEmulatedDomains_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="BrowserrQueryEmulatedDomains"; offset = browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrQueryEmulatedDomains_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="BrowserrQueryEmulatedDomains"; offset = browser_dissect_element_BrowserrQueryEmulatedDomains_unknown1(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrQueryEmulatedDomains_unknown2(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown1(tvbuff_t *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, browser_dissect_element_BrowserrServerEnumEx_unknown1_, NDR_POINTER_UNIQUE, "Pointer to Unknown1 (uint16)",hf_browser_BrowserrServerEnumEx_unknown1); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown1_(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_browser_BrowserrServerEnumEx_unknown1, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown2(tvbuff_t *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, browser_dissect_element_BrowserrServerEnumEx_unknown2_, NDR_POINTER_UNIQUE, "Pointer to Unknown2 (uint16)",hf_browser_BrowserrServerEnumEx_unknown2); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown2_(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_browser_BrowserrServerEnumEx_unknown2, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown3(tvbuff_t *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, browser_dissect_element_BrowserrServerEnumEx_unknown3_, NDR_POINTER_UNIQUE, "Pointer to Unknown3 (uint16)",hf_browser_BrowserrServerEnumEx_unknown3); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown3_(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_browser_BrowserrServerEnumEx_unknown3, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_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, browser_dissect_element_BrowserrServerEnumEx_info_, NDR_POINTER_REF, "Pointer to Info (BrowserrSrvInfo)",hf_browser_BrowserrServerEnumEx_info); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_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 = browser_dissect_struct_BrowserrSrvInfo(tvb,offset,pinfo,tree,di,drep,hf_browser_BrowserrServerEnumEx_info,0); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown4(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_browser_BrowserrServerEnumEx_unknown4, 0); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown5(tvbuff_t *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, browser_dissect_element_BrowserrServerEnumEx_unknown5_, NDR_POINTER_REF, "Pointer to Unknown5 (int32)",hf_browser_BrowserrServerEnumEx_unknown5); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown5_(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_browser_BrowserrServerEnumEx_unknown5, 0); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown6(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_browser_BrowserrServerEnumEx_unknown6, 0); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown7(tvbuff_t *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, browser_dissect_element_BrowserrServerEnumEx_unknown7_, NDR_POINTER_UNIQUE, "Pointer to Unknown7 (uint16)",hf_browser_BrowserrServerEnumEx_unknown7); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown7_(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_browser_BrowserrServerEnumEx_unknown7, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown8(tvbuff_t *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, browser_dissect_element_BrowserrServerEnumEx_unknown8_, NDR_POINTER_UNIQUE, "Pointer to Unknown8 (uint16)",hf_browser_BrowserrServerEnumEx_unknown8); return offset; } static int browser_dissect_element_BrowserrServerEnumEx_unknown8_(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_browser_BrowserrServerEnumEx_unknown8, false, &data); proto_item_append_text(tree, ": %s", data); return offset; } /* IDL: WERROR BrowserrServerEnumEx( */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown1, */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown2, */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown3, */ /* IDL: [in] [out] [ref] BrowserrSrvInfo *info, */ /* IDL: [in] int32 unknown4, */ /* IDL: [out] [ref] int32 *unknown5, */ /* IDL: [in] int32 unknown6, */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown7, */ /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *unknown8 */ /* IDL: ); */ static int browser_dissect_BrowserrServerEnumEx_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="BrowserrServerEnumEx"; offset = browser_dissect_element_BrowserrServerEnumEx_info(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnumEx_unknown5(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_browser_werror, &status); if (status != 0) col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &WERR_errors_ext, "Unknown DOS error 0x%08x")); return offset; } static int browser_dissect_BrowserrServerEnumEx_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="BrowserrServerEnumEx"; offset = browser_dissect_element_BrowserrServerEnumEx_unknown1(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnumEx_unknown2(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnumEx_unknown3(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnumEx_info(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnumEx_unknown4(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnumEx_unknown6(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnumEx_unknown7(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); offset = browser_dissect_element_BrowserrServerEnumEx_unknown8(tvb, offset, pinfo, tree, di, drep); offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep); return offset; } static const dcerpc_sub_dissector browser_dissectors[] = { { 0, "BrowserrServerEnum", browser_dissect_BrowserrServerEnum_request, browser_dissect_BrowserrServerEnum_response}, { 1, "BrowserrDebugCall", browser_dissect_BrowserrDebugCall_request, browser_dissect_BrowserrDebugCall_response}, { 2, "BrowserrQueryOtherDomains", browser_dissect_BrowserrQueryOtherDomains_request, browser_dissect_BrowserrQueryOtherDomains_response}, { 3, "BrowserrResetNetlogonState", browser_dissect_BrowserrResetNetlogonState_request, browser_dissect_BrowserrResetNetlogonState_response}, { 4, "BrowserrDebugTrace", browser_dissect_BrowserrDebugTrace_request, browser_dissect_BrowserrDebugTrace_response}, { 5, "BrowserrQueryStatistics", browser_dissect_BrowserrQueryStatistics_request, browser_dissect_BrowserrQueryStatistics_response}, { 6, "BrowserrResetStatistics", browser_dissect_BrowserrResetStatistics_request, browser_dissect_BrowserrResetStatistics_response}, { 7, "NetrBrowserStatisticsClear", browser_dissect_NetrBrowserStatisticsClear_request, browser_dissect_NetrBrowserStatisticsClear_response}, { 8, "NetrBrowserStatisticsGet", browser_dissect_NetrBrowserStatisticsGet_request, browser_dissect_NetrBrowserStatisticsGet_response}, { 9, "BrowserrSetNetlogonState", browser_dissect_BrowserrSetNetlogonState_request, browser_dissect_BrowserrSetNetlogonState_response}, { 10, "BrowserrQueryEmulatedDomains", browser_dissect_BrowserrQueryEmulatedDomains_request, browser_dissect_BrowserrQueryEmulatedDomains_response}, { 11, "BrowserrServerEnumEx", browser_dissect_BrowserrServerEnumEx_request, browser_dissect_BrowserrServerEnumEx_response}, { 0, NULL, NULL, NULL } }; void proto_register_dcerpc_browser(void) { static hf_register_info hf[] = { { &hf_browser_BrowserrDebugCall_unknown1, { "Unknown1", "browser.BrowserrDebugCall.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrDebugCall_unknown2, { "Unknown2", "browser.BrowserrDebugCall.unknown2", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrDebugCall_unknown3, { "Unknown3", "browser.BrowserrDebugCall.unknown3", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrDebugTrace_unknown1, { "Unknown1", "browser.BrowserrDebugTrace.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrDebugTrace_unknown2, { "Unknown2", "browser.BrowserrDebugTrace.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrQueryEmulatedDomains_unknown1, { "Unknown1", "browser.BrowserrQueryEmulatedDomains.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrQueryEmulatedDomains_unknown2, { "Unknown2", "browser.BrowserrQueryEmulatedDomains.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrQueryOtherDomains_info, { "Info", "browser.BrowserrQueryOtherDomains.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrQueryOtherDomains_server_unc, { "Server Unc", "browser.BrowserrQueryOtherDomains.server_unc", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrQueryOtherDomains_total_entries, { "Total Entries", "browser.BrowserrQueryOtherDomains.total_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrQueryStatistics_unknown1, { "Unknown1", "browser.BrowserrQueryStatistics.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrQueryStatistics_unknown2, { "Unknown2", "browser.BrowserrQueryStatistics.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrResetNetlogonState_unknown, { "Unknown", "browser.BrowserrResetNetlogonState.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrResetStatistics_unknown, { "Unknown", "browser.BrowserrResetStatistics.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnumEx_info, { "Info", "browser.BrowserrServerEnumEx.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnumEx_unknown1, { "Unknown1", "browser.BrowserrServerEnumEx.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnumEx_unknown2, { "Unknown2", "browser.BrowserrServerEnumEx.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnumEx_unknown3, { "Unknown3", "browser.BrowserrServerEnumEx.unknown3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnumEx_unknown4, { "Unknown4", "browser.BrowserrServerEnumEx.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnumEx_unknown5, { "Unknown5", "browser.BrowserrServerEnumEx.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnumEx_unknown6, { "Unknown6", "browser.BrowserrServerEnumEx.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnumEx_unknown7, { "Unknown7", "browser.BrowserrServerEnumEx.unknown7", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnumEx_unknown8, { "Unknown8", "browser.BrowserrServerEnumEx.unknown8", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnum_info, { "Info", "browser.BrowserrServerEnum.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnum_unknown1, { "Unknown1", "browser.BrowserrServerEnum.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnum_unknown2, { "Unknown2", "browser.BrowserrServerEnum.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnum_unknown3, { "Unknown3", "browser.BrowserrServerEnum.unknown3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnum_unknown4, { "Unknown4", "browser.BrowserrServerEnum.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnum_unknown5, { "Unknown5", "browser.BrowserrServerEnum.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnum_unknown6, { "Unknown6", "browser.BrowserrServerEnum.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnum_unknown7, { "Unknown7", "browser.BrowserrServerEnum.unknown7", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrServerEnum_unknown8, { "Unknown8", "browser.BrowserrServerEnum.unknown8", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSetNetlogonState_unknown1, { "Unknown1", "browser.BrowserrSetNetlogonState.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSetNetlogonState_unknown2, { "Unknown2", "browser.BrowserrSetNetlogonState.unknown2", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSetNetlogonState_unknown3, { "Unknown3", "browser.BrowserrSetNetlogonState.unknown3", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSetNetlogonState_unknown4, { "Unknown4", "browser.BrowserrSetNetlogonState.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSrvInfo100Ctr_entries, { "Entries", "browser.BrowserrSrvInfo100Ctr.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSrvInfo100Ctr_entries_read, { "Entries Read", "browser.BrowserrSrvInfo100Ctr.entries_read", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSrvInfo101Ctr_entries, { "Entries", "browser.BrowserrSrvInfo101Ctr.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSrvInfo101Ctr_entries_read, { "Entries Read", "browser.BrowserrSrvInfo101Ctr.entries_read", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSrvInfoUnion_info100, { "Info100", "browser.BrowserrSrvInfoUnion.info100", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSrvInfoUnion_info101, { "Info101", "browser.BrowserrSrvInfoUnion.info101", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSrvInfo_info, { "Info", "browser.BrowserrSrvInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_BrowserrSrvInfo_level, { "Level", "browser.BrowserrSrvInfo.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_NetrBrowserStatisticsClear_unknown, { "Unknown", "browser.NetrBrowserStatisticsClear.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_NetrBrowserStatisticsGet_unknown1, { "Unknown1", "browser.NetrBrowserStatisticsGet.unknown1", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_NetrBrowserStatisticsGet_unknown2, { "Unknown2", "browser.NetrBrowserStatisticsGet.unknown2", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_NetrBrowserStatisticsGet_unknown3, { "Unknown3", "browser.NetrBrowserStatisticsGet.unknown3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_1_unknown, { "Unknown", "browser.TYPE_1.unknown", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown1, { "Unknown1", "browser.TYPE_2.unknown1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown10, { "Unknown10", "browser.TYPE_2.unknown10", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown11, { "Unknown11", "browser.TYPE_2.unknown11", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown12, { "Unknown12", "browser.TYPE_2.unknown12", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown13, { "Unknown13", "browser.TYPE_2.unknown13", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown14, { "Unknown14", "browser.TYPE_2.unknown14", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown15, { "Unknown15", "browser.TYPE_2.unknown15", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown16, { "Unknown16", "browser.TYPE_2.unknown16", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown17, { "Unknown17", "browser.TYPE_2.unknown17", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown18, { "Unknown18", "browser.TYPE_2.unknown18", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown19, { "Unknown19", "browser.TYPE_2.unknown19", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown2, { "Unknown2", "browser.TYPE_2.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown3, { "Unknown3", "browser.TYPE_2.unknown3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown4, { "Unknown4", "browser.TYPE_2.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown5, { "Unknown5", "browser.TYPE_2.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown6, { "Unknown6", "browser.TYPE_2.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown7, { "Unknown7", "browser.TYPE_2.unknown7", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown8, { "Unknown8", "browser.TYPE_2.unknown8", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_2_unknown9, { "Unknown9", "browser.TYPE_2.unknown9", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown1, { "Unknown1", "browser.TYPE_3.unknown1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown10, { "Unknown10", "browser.TYPE_3.unknown10", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown11, { "Unknown11", "browser.TYPE_3.unknown11", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown12, { "Unknown12", "browser.TYPE_3.unknown12", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown13, { "Unknown13", "browser.TYPE_3.unknown13", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown14, { "Unknown14", "browser.TYPE_3.unknown14", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown15, { "Unknown15", "browser.TYPE_3.unknown15", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown16, { "Unknown16", "browser.TYPE_3.unknown16", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown2, { "Unknown2", "browser.TYPE_3.unknown2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown3, { "Unknown3", "browser.TYPE_3.unknown3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown4, { "Unknown4", "browser.TYPE_3.unknown4", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown5, { "Unknown5", "browser.TYPE_3.unknown5", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown6, { "Unknown6", "browser.TYPE_3.unknown6", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown7, { "Unknown7", "browser.TYPE_3.unknown7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown8, { "Unknown8", "browser.TYPE_3.unknown8", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_3_unknown9, { "Unknown9", "browser.TYPE_3.unknown9", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_4_unknown1, { "Unknown1", "browser.TYPE_4.unknown1", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_TYPE_4_unknown2, { "Unknown2", "browser.TYPE_4.unknown2", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_opnum, { "Operation", "browser.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_browser_werror, { "Windows Error", "browser.werror", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &WERR_errors_ext, 0, NULL, HFILL }}, }; static int *ett[] = { &ett_dcerpc_browser, &ett_browser_BrowserrSrvInfo100Ctr, &ett_browser_BrowserrSrvInfo101Ctr, &ett_browser_BrowserrSrvInfoUnion, &ett_browser_BrowserrSrvInfo, &ett_browser_TYPE_1, &ett_browser_TYPE_2, &ett_browser_TYPE_3, &ett_browser_TYPE_4, }; proto_dcerpc_browser = proto_register_protocol("RPC Browser", "RPC_BROWSER", "rpc_browser"); proto_register_field_array(proto_dcerpc_browser, hf, array_length (hf)); proto_register_subtree_array(ett, array_length(ett)); } void proto_reg_handoff_dcerpc_browser(void) { dcerpc_init_uuid(proto_dcerpc_browser, ett_dcerpc_browser, &uuid_dcerpc_browser, ver_dcerpc_browser, browser_dissectors, hf_browser_opnum); }