2 This filter was automatically generated
3 from /home/metze/devel/samba/4.0/master4-franky/librpc/idl/orpc.idl and /home/metze/devel/samba/4.0/master4-franky/librpc/idl/orpc.cnf.
5 Pidl is a perl based IDL compiler for DCE/RPC idl files.
6 It is maintained by the Samba team, not the Wireshark team.
7 Instructions on how to download and install Pidl can be
8 found at http://wiki.wireshark.org/Pidl
16 #pragma warning(disable:4005)
17 #pragma warning(disable:4013)
18 #pragma warning(disable:4018)
19 #pragma warning(disable:4101)
24 #include <epan/packet.h>
26 #include "packet-dcerpc.h"
27 #include "packet-dcerpc-nt.h"
28 #include "packet-windows-common.h"
29 #include "packet-dcerpc-orpc.h"
31 /* Ett declarations */
32 static gint ett_dcerpc_ObjectRpcBaseTypes = -1;
33 static gint ett_ObjectRpcBaseTypes_COMVERSION = -1;
34 static gint ett_ObjectRpcBaseTypes_ORPC_FLAGS = -1;
35 static gint ett_ObjectRpcBaseTypes_ORPC_EXTENT = -1;
36 static gint ett_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY = -1;
37 static gint ett_ObjectRpcBaseTypes_ORPCTHIS = -1;
38 static gint ett_ObjectRpcBaseTypes_ORPCTHAT = -1;
39 static gint ett_ObjectRpcBaseTypes_STRINGBINDING = -1;
40 static gint ett_ObjectRpcBaseTypes_STRINGARRAY = -1;
41 static gint ett_ObjectRpcBaseTypes_DUALSTRINGARRAY = -1;
42 static gint ett_ObjectRpcBaseTypes_SECURITYBINDING = -1;
43 static gint ett_ObjectRpcBaseTypes_STDOBJREF_FLAGS = -1;
44 static gint ett_ObjectRpcBaseTypes_STDOBJREF = -1;
45 static gint ett_ObjectRpcBaseTypes_u_standard = -1;
46 static gint ett_ObjectRpcBaseTypes_u_handler = -1;
47 static gint ett_ObjectRpcBaseTypes_u_custom = -1;
48 static gint ett_ObjectRpcBaseTypes_u_null = -1;
49 static gint ett_ObjectRpcBaseTypes_OBJREF_Types = -1;
50 static gint ett_ObjectRpcBaseTypes_OBJREF = -1;
51 static gint ett_ObjectRpcBaseTypes_MInterfacePointer = -1;
54 /* Header field declarations */
55 static gint hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED1 = -1;
56 static gint hf_ObjectRpcBaseTypes_COMVERSION_MajorVersion = -1;
57 static gint hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED3 = -1;
58 static gint hf_ObjectRpcBaseTypes_SECURITYBINDING_PrincName = -1;
59 static gint hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED2 = -1;
60 static gint hf_ObjectRpcBaseTypes_u_standard_saResAddr = -1;
61 static gint hf_ObjectRpcBaseTypes_STDOBJREF_ipid = -1;
62 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES5 = -1;
63 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES2 = -1;
64 static gint hf_ObjectRpcBaseTypes_ORPCTHAT_flags = -1;
65 static gint hf_ObjectRpcBaseTypes_MInterfacePointer_obj = -1;
66 static gint hf_ObjectRpcBaseTypes_STRINGBINDING_NetworkAddr = -1;
67 static gint hf_ObjectRpcBaseTypes_MInterfacePointer_obj_ = -1;
68 static gint hf_ObjectRpcBaseTypes_ORPCTHIS_reserved1 = -1;
69 static gint hf_ObjectRpcBaseTypes_OBJREF_u_objref = -1;
70 static gint hf_ObjectRpcBaseTypes_OBJREF_Types_u_standard = -1;
71 static gint hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_LOCAL = -1;
72 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_NOPING = -1;
73 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES3 = -1;
74 static gint hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_NULL = -1;
75 static gint hf_ObjectRpcBaseTypes_ORPCTHAT_extensions = -1;
76 static gint hf_ObjectRpcBaseTypes_STRINGBINDING_wTowerId = -1;
77 static gint hf_ObjectRpcBaseTypes_STRINGARRAY_stringbindings = -1;
78 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES8 = -1;
79 static gint hf_ObjectRpcBaseTypes_STDOBJREF_cPublicRefs = -1;
80 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES6 = -1;
81 static gint hf_ObjectRpcBaseTypes_OBJREF_Types_u_null = -1;
82 static gint hf_ObjectRpcBaseTypes_u_standard_std = -1;
83 static gint hf_ObjectRpcBaseTypes_ORPCTHIS_flags = -1;
84 static gint hf_ObjectRpcBaseTypes_SECURITYBINDING_wAuthzSvc = -1;
85 static gint hf_ObjectRpcBaseTypes_SECURITYBINDING_wAuthnSvc = -1;
86 static gint hf_ObjectRpcBaseTypes_ORPCTHIS_extensions = -1;
87 static gint hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_securitybindings = -1;
88 static gint hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_size = -1;
89 static gint hf_ObjectRpcBaseTypes_u_handler_std = -1;
90 static gint hf_ObjectRpcBaseTypes_STDOBJREF_oxid = -1;
91 static gint hf_ObjectRpcBaseTypes_OBJREF_flags = -1;
92 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_NULL = -1;
93 static gint hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED4 = -1;
94 static gint hf_ObjectRpcBaseTypes_ORPC_EXTENT_size = -1;
95 static gint hf_ObjectRpcBaseTypes_OBJREF_Types_u_handler = -1;
96 static gint hf_ObjectRpcBaseTypes_u_custom_cbExtension = -1;
97 static gint hf_ObjectRpcBaseTypes_opnum = -1;
98 static gint hf_ObjectRpcBaseTypes_u_handler_clsid = -1;
99 static gint hf_ObjectRpcBaseTypes_OBJREF_signature = -1;
100 static gint hf_ObjectRpcBaseTypes_OBJREF_Types_u_custom = -1;
101 static gint hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_extent = -1;
102 static gint hf_ObjectRpcBaseTypes_ORPC_EXTENT_id = -1;
103 static gint hf_ObjectRpcBaseTypes_u_custom_size = -1;
104 static gint hf_ObjectRpcBaseTypes_OBJREF_iid = -1;
105 static gint hf_ObjectRpcBaseTypes_ORPCTHIS_version = -1;
106 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES4 = -1;
107 static gint hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_reserved = -1;
108 static gint hf_ObjectRpcBaseTypes_COMVERSION_MinorVersion = -1;
109 static gint hf_ObjectRpcBaseTypes_MInterfacePointer_size = -1;
110 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES1 = -1;
111 static gint hf_ObjectRpcBaseTypes_u_custom_clsid = -1;
112 static gint hf_ObjectRpcBaseTypes_STDOBJREF_oid = -1;
113 static gint hf_ObjectRpcBaseTypes_u_handler_saResAddr = -1;
114 static gint hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_stringbindings = -1;
115 static gint hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES7 = -1;
116 static gint hf_ObjectRpcBaseTypes_ORPCTHIS_cid = -1;
117 static gint hf_ObjectRpcBaseTypes_STDOBJREF_flags = -1;
118 static gint hf_ObjectRpcBaseTypes_u_custom_pData = -1;
119 static gint hf_ObjectRpcBaseTypes_ORPC_EXTENT_data = -1;
121 static gint proto_dcerpc_ObjectRpcBaseTypes = -1;
122 /* Version information */
125 static e_uuid_t uuid_dcerpc_ObjectRpcBaseTypes = {
127 { 0x, 0x, 0x, 0x, 0x, 0x, 0x, 0x }
129 static guint16 ver_dcerpc_ObjectRpcBaseTypes = 0;
131 static int ObjectRpcBaseTypes_dissect_element_COMVERSION_MajorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
132 static int ObjectRpcBaseTypes_dissect_element_COMVERSION_MinorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
133 static const true_false_string ORPC_FLAGS_ORPCF_NULL_tfs = {
135 "ORPCF_NULL is NOT SET",
137 static const true_false_string ORPC_FLAGS_ORPCF_LOCAL_tfs = {
138 "ORPCF_LOCAL is SET",
139 "ORPCF_LOCAL is NOT SET",
141 static const true_false_string ORPC_FLAGS_ORPCF_RESERVED1_tfs = {
142 "ORPCF_RESERVED1 is SET",
143 "ORPCF_RESERVED1 is NOT SET",
145 static const true_false_string ORPC_FLAGS_ORPCF_RESERVED2_tfs = {
146 "ORPCF_RESERVED2 is SET",
147 "ORPCF_RESERVED2 is NOT SET",
149 static const true_false_string ORPC_FLAGS_ORPCF_RESERVED3_tfs = {
150 "ORPCF_RESERVED3 is SET",
151 "ORPCF_RESERVED3 is NOT SET",
153 static const true_false_string ORPC_FLAGS_ORPCF_RESERVED4_tfs = {
154 "ORPCF_RESERVED4 is SET",
155 "ORPCF_RESERVED4 is NOT SET",
157 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
158 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
159 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
160 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
161 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
162 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
163 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
164 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
165 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
166 static int ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
167 static int ObjectRpcBaseTypes_dissect_element_ORPCTHIS_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
168 static int ObjectRpcBaseTypes_dissect_element_ORPCTHIS_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
169 static int ObjectRpcBaseTypes_dissect_element_ORPCTHIS_reserved1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
170 static int ObjectRpcBaseTypes_dissect_element_ORPCTHIS_cid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
171 static int ObjectRpcBaseTypes_dissect_element_ORPCTHIS_extensions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
172 static int ObjectRpcBaseTypes_dissect_element_ORPCTHIS_extensions_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
173 static int ObjectRpcBaseTypes_dissect_element_ORPCTHAT_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
174 static int ObjectRpcBaseTypes_dissect_element_ORPCTHAT_extensions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
175 static int ObjectRpcBaseTypes_dissect_element_ORPCTHAT_extensions_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
176 static int ObjectRpcBaseTypes_dissect_element_STRINGBINDING_wTowerId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
177 static int ObjectRpcBaseTypes_dissect_element_STRINGBINDING_NetworkAddr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
178 static int ObjectRpcBaseTypes_dissect_element_STRINGARRAY_stringbindings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
179 static int ObjectRpcBaseTypes_dissect_element_STRINGARRAY_stringbindings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
180 static int ObjectRpcBaseTypes_dissect_element_STRINGARRAY_stringbindings__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
181 static int ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_stringbindings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
182 static int ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_stringbindings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
183 static int ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_stringbindings__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
184 static int ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_securitybindings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
185 static int ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_securitybindings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
186 static int ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_securitybindings__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
187 static int ObjectRpcBaseTypes_dissect_element_SECURITYBINDING_wAuthnSvc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
188 static int ObjectRpcBaseTypes_dissect_element_SECURITYBINDING_wAuthzSvc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
189 static int ObjectRpcBaseTypes_dissect_element_SECURITYBINDING_PrincName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
190 const value_string ObjectRpcBaseTypes_OBJREF_FLAGS_vals[] = {
191 { OBJREF_NULL, "OBJREF_NULL" },
192 { OBJREF_STANDARD, "OBJREF_STANDARD" },
193 { OBJREF_HANDLER, "OBJREF_HANDLER" },
194 { OBJREF_CUSTOM, "OBJREF_CUSTOM" },
197 static const true_false_string STDOBJREF_FLAGS_SORF_NULL_tfs = {
199 "SORF_NULL is NOT SET",
201 static const true_false_string STDOBJREF_FLAGS_SORF_OXRES1_tfs = {
202 "SORF_OXRES1 is SET",
203 "SORF_OXRES1 is NOT SET",
205 static const true_false_string STDOBJREF_FLAGS_SORF_OXRES2_tfs = {
206 "SORF_OXRES2 is SET",
207 "SORF_OXRES2 is NOT SET",
209 static const true_false_string STDOBJREF_FLAGS_SORF_OXRES3_tfs = {
210 "SORF_OXRES3 is SET",
211 "SORF_OXRES3 is NOT SET",
213 static const true_false_string STDOBJREF_FLAGS_SORF_OXRES4_tfs = {
214 "SORF_OXRES4 is SET",
215 "SORF_OXRES4 is NOT SET",
217 static const true_false_string STDOBJREF_FLAGS_SORF_OXRES5_tfs = {
218 "SORF_OXRES5 is SET",
219 "SORF_OXRES5 is NOT SET",
221 static const true_false_string STDOBJREF_FLAGS_SORF_OXRES6_tfs = {
222 "SORF_OXRES6 is SET",
223 "SORF_OXRES6 is NOT SET",
225 static const true_false_string STDOBJREF_FLAGS_SORF_OXRES7_tfs = {
226 "SORF_OXRES7 is SET",
227 "SORF_OXRES7 is NOT SET",
229 static const true_false_string STDOBJREF_FLAGS_SORF_OXRES8_tfs = {
230 "SORF_OXRES8 is SET",
231 "SORF_OXRES8 is NOT SET",
233 static const true_false_string STDOBJREF_FLAGS_SORF_NOPING_tfs = {
234 "SORF_NOPING is SET",
235 "SORF_NOPING is NOT SET",
237 static int ObjectRpcBaseTypes_dissect_element_STDOBJREF_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
238 static int ObjectRpcBaseTypes_dissect_element_STDOBJREF_cPublicRefs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
239 static int ObjectRpcBaseTypes_dissect_element_STDOBJREF_oxid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
240 static int ObjectRpcBaseTypes_dissect_element_STDOBJREF_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
241 static int ObjectRpcBaseTypes_dissect_element_STDOBJREF_ipid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
242 static int ObjectRpcBaseTypes_dissect_element_u_standard_std(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
243 static int ObjectRpcBaseTypes_dissect_element_u_standard_saResAddr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
244 static int ObjectRpcBaseTypes_dissect_element_u_handler_std(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
245 static int ObjectRpcBaseTypes_dissect_element_u_handler_clsid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
246 static int ObjectRpcBaseTypes_dissect_element_u_handler_saResAddr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
247 static int ObjectRpcBaseTypes_dissect_element_u_custom_clsid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
248 static int ObjectRpcBaseTypes_dissect_element_u_custom_cbExtension(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
249 static int ObjectRpcBaseTypes_dissect_element_u_custom_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
250 static int ObjectRpcBaseTypes_dissect_element_u_custom_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
251 static int ObjectRpcBaseTypes_dissect_element_u_custom_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
252 static int ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_null(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
253 static int ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_standard(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
254 static int ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_handler(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
255 static int ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_custom(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
256 static int ObjectRpcBaseTypes_dissect_element_OBJREF_signature(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
257 static int ObjectRpcBaseTypes_dissect_element_OBJREF_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *flags);
258 static int ObjectRpcBaseTypes_dissect_element_OBJREF_iid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
259 static int ObjectRpcBaseTypes_dissect_element_OBJREF_u_objref(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *flags);
260 static int ObjectRpcBaseTypes_dissect_element_MInterfacePointer_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
261 static int ObjectRpcBaseTypes_dissect_element_MInterfacePointer_obj(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
262 static int ObjectRpcBaseTypes_dissect_element_MInterfacePointer_obj_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
263 const value_string ObjectRpcBaseTypes_COMRESULT_vals[] = {
264 { COM_OK, "COM_OK" },
265 { COM_OUTOFMEMORY, "COM_OUTOFMEMORY" },
266 { COM_INVALIDARG, "COM_INVALIDARG" },
267 { COM_NOINTERFACE, "COM_NOINTERFACE" },
268 { COM_ACCESSDENIED, "COM_ACCESSDENIED" },
269 { COM_INVALID_OXID, "COM_INVALID_OXID" },
270 { COM_INVALID_OID, "COM_INVALID_OID" },
271 { COM_INVALID_SET, "COM_INVALID_SET" },
272 { COM_UNEXPECTED, "COM_UNEXPECTED" },
273 { COM_CLSNOTFOUND, "COM_CLSNOTFOUND" },
279 /* IDL: uint16 MajorVersion; */
280 /* IDL: uint16 MinorVersion; */
284 ObjectRpcBaseTypes_dissect_element_COMVERSION_MajorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
286 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_COMVERSION_MajorVersion, 0);
292 ObjectRpcBaseTypes_dissect_element_COMVERSION_MinorVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
294 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_COMVERSION_MinorVersion, 0);
300 ObjectRpcBaseTypes_dissect_struct_COMVERSION(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
302 proto_item *item = NULL;
303 proto_tree *tree = NULL;
304 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
312 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
313 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_COMVERSION);
316 offset = ObjectRpcBaseTypes_dissect_element_COMVERSION_MajorVersion(tvb, offset, pinfo, tree, drep);
318 offset = ObjectRpcBaseTypes_dissect_element_COMVERSION_MinorVersion(tvb, offset, pinfo, tree, drep);
321 proto_item_set_len(item, offset-old_offset);
324 if (di->call_data->flags & DCERPC_IS_NDR64) {
333 /* IDL: ORPCF_NULL = 0x00 , */
334 /* IDL: ORPCF_LOCAL = 0x01 , */
335 /* IDL: ORPCF_RESERVED1 = 0x02 , */
336 /* IDL: ORPCF_RESERVED2 = 0x04 , */
337 /* IDL: ORPCF_RESERVED3 = 0x08 , */
338 /* IDL: ORPCF_RESERVED4 = 0x10 , */
342 ObjectRpcBaseTypes_dissect_bitmap_ORPC_FLAGS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
344 proto_item *item = NULL;
345 proto_tree *tree = NULL;
351 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));
352 tree = proto_item_add_subtree(item,ett_ObjectRpcBaseTypes_ORPC_FLAGS);
355 offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
356 proto_item_append_text(item, ": ");
359 proto_item_append_text(item, "(No values set)");
361 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_NULL, tvb, offset-4, 4, flags);
363 proto_item_append_text(item, "ORPCF_NULL");
364 if (flags & (~( 0x00 )))
365 proto_item_append_text(item, ", ");
369 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_LOCAL, tvb, offset-4, 4, flags);
371 proto_item_append_text(item, "ORPCF_LOCAL");
372 if (flags & (~( 0x01 )))
373 proto_item_append_text(item, ", ");
377 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED1, tvb, offset-4, 4, flags);
379 proto_item_append_text(item, "ORPCF_RESERVED1");
380 if (flags & (~( 0x02 )))
381 proto_item_append_text(item, ", ");
385 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED2, tvb, offset-4, 4, flags);
387 proto_item_append_text(item, "ORPCF_RESERVED2");
388 if (flags & (~( 0x04 )))
389 proto_item_append_text(item, ", ");
393 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED3, tvb, offset-4, 4, flags);
395 proto_item_append_text(item, "ORPCF_RESERVED3");
396 if (flags & (~( 0x08 )))
397 proto_item_append_text(item, ", ");
401 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED4, tvb, offset-4, 4, flags);
403 proto_item_append_text(item, "ORPCF_RESERVED4");
404 if (flags & (~( 0x10 )))
405 proto_item_append_text(item, ", ");
410 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
419 /* IDL: uint32 size; */
420 /* IDL: [size_is(((size+7)&~7))] uint8 data[*]; */
424 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_id(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
426 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_ORPC_EXTENT_id, NULL);
432 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
434 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_ORPC_EXTENT_size, 0);
440 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
442 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_data_);
448 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
450 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_ORPC_EXTENT_data, 0);
456 ObjectRpcBaseTypes_dissect_struct_ORPC_EXTENT(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
458 proto_item *item = NULL;
459 proto_tree *tree = NULL;
460 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
468 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
469 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_ORPC_EXTENT);
472 offset = ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_id(tvb, offset, pinfo, tree, drep);
474 offset = ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_size(tvb, offset, pinfo, tree, drep);
476 offset = ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_data(tvb, offset, pinfo, tree, drep);
479 proto_item_set_len(item, offset-old_offset);
482 if (di->call_data->flags & DCERPC_IS_NDR64) {
491 /* IDL: uint32 size; */
492 /* IDL: uint32 reserved; */
493 /* IDL: [unique(1)] [size_is(((size+1)&~1))] ORPC_EXTENT **extent; */
497 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
499 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_size, 0);
505 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
507 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_reserved, 0);
513 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
515 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent_, NDR_POINTER_UNIQUE, "Pointer to Extent (ORPC_EXTENT)",hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_extent);
521 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
523 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent__);
529 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
531 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent___, NDR_POINTER_UNIQUE, "Pointer to Extent (ORPC_EXTENT)",hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_extent);
537 ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent___(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
539 offset = ObjectRpcBaseTypes_dissect_struct_ORPC_EXTENT(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_extent,0);
545 ObjectRpcBaseTypes_dissect_struct_ORPC_EXTENT_ARRAY(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
547 proto_item *item = NULL;
548 proto_tree *tree = NULL;
549 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
557 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
558 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY);
561 offset = ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_size(tvb, offset, pinfo, tree, drep);
563 offset = ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_reserved(tvb, offset, pinfo, tree, drep);
565 offset = ObjectRpcBaseTypes_dissect_element_ORPC_EXTENT_ARRAY_extent(tvb, offset, pinfo, tree, drep);
568 proto_item_set_len(item, offset-old_offset);
571 if (di->call_data->flags & DCERPC_IS_NDR64) {
580 /* IDL: COMVERSION version; */
581 /* IDL: uint32 flags; */
582 /* IDL: uint32 reserved1; */
584 /* IDL: [unique(1)] ORPC_EXTENT_ARRAY *extensions; */
588 ObjectRpcBaseTypes_dissect_element_ORPCTHIS_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
590 offset = ObjectRpcBaseTypes_dissect_struct_COMVERSION(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_ORPCTHIS_version,0);
596 ObjectRpcBaseTypes_dissect_element_ORPCTHIS_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
598 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_ORPCTHIS_flags, 0);
604 ObjectRpcBaseTypes_dissect_element_ORPCTHIS_reserved1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
606 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_ORPCTHIS_reserved1, 0);
612 ObjectRpcBaseTypes_dissect_element_ORPCTHIS_cid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
614 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_ORPCTHIS_cid, NULL);
620 ObjectRpcBaseTypes_dissect_element_ORPCTHIS_extensions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
622 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_ORPCTHIS_extensions_, NDR_POINTER_UNIQUE, "Pointer to Extensions (ORPC_EXTENT_ARRAY)",hf_ObjectRpcBaseTypes_ORPCTHIS_extensions);
628 ObjectRpcBaseTypes_dissect_element_ORPCTHIS_extensions_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
630 offset = ObjectRpcBaseTypes_dissect_struct_ORPC_EXTENT_ARRAY(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_ORPCTHIS_extensions,0);
636 ObjectRpcBaseTypes_dissect_struct_ORPCTHIS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
638 proto_item *item = NULL;
639 proto_tree *tree = NULL;
640 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
648 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
649 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_ORPCTHIS);
652 offset = ObjectRpcBaseTypes_dissect_element_ORPCTHIS_version(tvb, offset, pinfo, tree, drep);
654 offset = ObjectRpcBaseTypes_dissect_element_ORPCTHIS_flags(tvb, offset, pinfo, tree, drep);
656 offset = ObjectRpcBaseTypes_dissect_element_ORPCTHIS_reserved1(tvb, offset, pinfo, tree, drep);
658 offset = ObjectRpcBaseTypes_dissect_element_ORPCTHIS_cid(tvb, offset, pinfo, tree, drep);
660 offset = ObjectRpcBaseTypes_dissect_element_ORPCTHIS_extensions(tvb, offset, pinfo, tree, drep);
663 proto_item_set_len(item, offset-old_offset);
666 if (di->call_data->flags & DCERPC_IS_NDR64) {
675 /* IDL: uint32 flags; */
676 /* IDL: [unique(1)] ORPC_EXTENT_ARRAY *extensions; */
680 ObjectRpcBaseTypes_dissect_element_ORPCTHAT_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
682 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_ORPCTHAT_flags, 0);
688 ObjectRpcBaseTypes_dissect_element_ORPCTHAT_extensions(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
690 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_ORPCTHAT_extensions_, NDR_POINTER_UNIQUE, "Pointer to Extensions (ORPC_EXTENT_ARRAY)",hf_ObjectRpcBaseTypes_ORPCTHAT_extensions);
696 ObjectRpcBaseTypes_dissect_element_ORPCTHAT_extensions_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
698 offset = ObjectRpcBaseTypes_dissect_struct_ORPC_EXTENT_ARRAY(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_ORPCTHAT_extensions,0);
704 ObjectRpcBaseTypes_dissect_struct_ORPCTHAT(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
706 proto_item *item = NULL;
707 proto_tree *tree = NULL;
708 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
716 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
717 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_ORPCTHAT);
720 offset = ObjectRpcBaseTypes_dissect_element_ORPCTHAT_flags(tvb, offset, pinfo, tree, drep);
722 offset = ObjectRpcBaseTypes_dissect_element_ORPCTHAT_extensions(tvb, offset, pinfo, tree, drep);
725 proto_item_set_len(item, offset-old_offset);
728 if (di->call_data->flags & DCERPC_IS_NDR64) {
737 /* IDL: uint16 wTowerId; */
738 /* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] string NetworkAddr; */
742 ObjectRpcBaseTypes_dissect_element_STRINGBINDING_wTowerId(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
744 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_STRINGBINDING_wTowerId, 0);
750 ObjectRpcBaseTypes_dissect_element_STRINGBINDING_NetworkAddr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
752 offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_STRINGBINDING_NetworkAddr , 0);
758 ObjectRpcBaseTypes_dissect_struct_STRINGBINDING(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
760 proto_item *item = NULL;
761 proto_tree *tree = NULL;
762 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
769 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
770 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_STRINGBINDING);
773 offset = ObjectRpcBaseTypes_dissect_element_STRINGBINDING_wTowerId(tvb, offset, pinfo, tree, drep);
775 offset = ObjectRpcBaseTypes_dissect_element_STRINGBINDING_NetworkAddr(tvb, offset, pinfo, tree, drep);
778 proto_item_set_len(item, offset-old_offset);
781 if (di->call_data->flags & DCERPC_IS_NDR64) {
790 /* IDL: [unique(1)] STRINGBINDING **stringbindings; */
794 ObjectRpcBaseTypes_dissect_element_STRINGARRAY_stringbindings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
796 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_STRINGARRAY_stringbindings_, NDR_POINTER_UNIQUE, "Pointer to Stringbindings (STRINGBINDING)",hf_ObjectRpcBaseTypes_STRINGARRAY_stringbindings);
802 ObjectRpcBaseTypes_dissect_element_STRINGARRAY_stringbindings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
804 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_STRINGARRAY_stringbindings__, NDR_POINTER_UNIQUE, "Pointer to Stringbindings (STRINGBINDING)",hf_ObjectRpcBaseTypes_STRINGARRAY_stringbindings);
810 ObjectRpcBaseTypes_dissect_element_STRINGARRAY_stringbindings__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
812 offset = ObjectRpcBaseTypes_dissect_struct_STRINGBINDING(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_STRINGARRAY_stringbindings,0);
818 ObjectRpcBaseTypes_dissect_struct_STRINGARRAY(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
820 proto_item *item = NULL;
821 proto_tree *tree = NULL;
822 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
830 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
831 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_STRINGARRAY);
834 offset = ObjectRpcBaseTypes_dissect_element_STRINGARRAY_stringbindings(tvb, offset, pinfo, tree, drep);
837 proto_item_set_len(item, offset-old_offset);
840 if (di->call_data->flags & DCERPC_IS_NDR64) {
849 /* IDL: [unique(1)] STRINGBINDING **stringbindings; */
850 /* IDL: [unique(1)] SECURITYBINDING **securitybindings; */
854 ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_stringbindings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
856 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_stringbindings_, NDR_POINTER_UNIQUE, "Pointer to Stringbindings (STRINGBINDING)",hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_stringbindings);
862 ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_stringbindings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
864 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_stringbindings__, NDR_POINTER_UNIQUE, "Pointer to Stringbindings (STRINGBINDING)",hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_stringbindings);
870 ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_stringbindings__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
872 offset = ObjectRpcBaseTypes_dissect_struct_STRINGBINDING(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_stringbindings,0);
878 ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_securitybindings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
880 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_securitybindings_, NDR_POINTER_UNIQUE, "Pointer to Securitybindings (SECURITYBINDING)",hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_securitybindings);
886 ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_securitybindings_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
888 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_securitybindings__, NDR_POINTER_UNIQUE, "Pointer to Securitybindings (SECURITYBINDING)",hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_securitybindings);
894 ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_securitybindings__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
896 offset = ObjectRpcBaseTypes_dissect_struct_SECURITYBINDING(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_securitybindings,0);
902 ObjectRpcBaseTypes_dissect_struct_DUALSTRINGARRAY(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
904 proto_item *item = NULL;
905 proto_tree *tree = NULL;
906 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
914 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
915 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_DUALSTRINGARRAY);
918 offset = ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_stringbindings(tvb, offset, pinfo, tree, drep);
920 offset = ObjectRpcBaseTypes_dissect_element_DUALSTRINGARRAY_securitybindings(tvb, offset, pinfo, tree, drep);
923 proto_item_set_len(item, offset-old_offset);
926 if (di->call_data->flags & DCERPC_IS_NDR64) {
935 /* IDL: uint16 wAuthnSvc; */
936 /* IDL: uint16 wAuthzSvc; */
937 /* IDL: [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] string PrincName; */
941 ObjectRpcBaseTypes_dissect_element_SECURITYBINDING_wAuthnSvc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
943 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_SECURITYBINDING_wAuthnSvc, 0);
949 ObjectRpcBaseTypes_dissect_element_SECURITYBINDING_wAuthzSvc(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
951 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_SECURITYBINDING_wAuthzSvc, 0);
957 ObjectRpcBaseTypes_dissect_element_SECURITYBINDING_PrincName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
959 offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_SECURITYBINDING_PrincName , 0);
965 ObjectRpcBaseTypes_dissect_struct_SECURITYBINDING(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
967 proto_item *item = NULL;
968 proto_tree *tree = NULL;
969 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
976 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
977 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_SECURITYBINDING);
980 offset = ObjectRpcBaseTypes_dissect_element_SECURITYBINDING_wAuthnSvc(tvb, offset, pinfo, tree, drep);
982 offset = ObjectRpcBaseTypes_dissect_element_SECURITYBINDING_wAuthzSvc(tvb, offset, pinfo, tree, drep);
984 offset = ObjectRpcBaseTypes_dissect_element_SECURITYBINDING_PrincName(tvb, offset, pinfo, tree, drep);
987 proto_item_set_len(item, offset-old_offset);
990 if (di->call_data->flags & DCERPC_IS_NDR64) {
999 /* IDL: OBJREF_NULL=0x0, */
1000 /* IDL: OBJREF_STANDARD=0x1, */
1001 /* IDL: OBJREF_HANDLER=0x2, */
1002 /* IDL: OBJREF_CUSTOM=0x4, */
1006 ObjectRpcBaseTypes_dissect_enum_OBJREF_FLAGS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
1008 guint1632 parameter=0;
1010 parameter=(guint1632)*param;
1012 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, drep, hf_index, ¶meter);
1014 *param=(guint32)parameter;
1021 /* IDL: SORF_NULL = 0x0000 , */
1022 /* IDL: SORF_OXRES1 = 0x0001 , */
1023 /* IDL: SORF_OXRES2 = 0x0020 , */
1024 /* IDL: SORF_OXRES3 = 0x0040 , */
1025 /* IDL: SORF_OXRES4 = 0x0080 , */
1026 /* IDL: SORF_OXRES5 = 0x0100 , */
1027 /* IDL: SORF_OXRES6 = 0x0200 , */
1028 /* IDL: SORF_OXRES7 = 0x0400 , */
1029 /* IDL: SORF_OXRES8 = 0x0800 , */
1030 /* IDL: SORF_NOPING = 0x1000 , */
1034 ObjectRpcBaseTypes_dissect_bitmap_STDOBJREF_FLAGS(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1036 proto_item *item = NULL;
1037 proto_tree *tree = NULL;
1043 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));
1044 tree = proto_item_add_subtree(item,ett_ObjectRpcBaseTypes_STDOBJREF_FLAGS);
1047 offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
1048 proto_item_append_text(item, ": ");
1051 proto_item_append_text(item, "(No values set)");
1053 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_NULL, tvb, offset-4, 4, flags);
1054 if (flags&( 0x0000 )){
1055 proto_item_append_text(item, "SORF_NULL");
1056 if (flags & (~( 0x0000 )))
1057 proto_item_append_text(item, ", ");
1059 flags&=(~( 0x0000 ));
1061 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES1, tvb, offset-4, 4, flags);
1062 if (flags&( 0x0001 )){
1063 proto_item_append_text(item, "SORF_OXRES1");
1064 if (flags & (~( 0x0001 )))
1065 proto_item_append_text(item, ", ");
1067 flags&=(~( 0x0001 ));
1069 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES2, tvb, offset-4, 4, flags);
1070 if (flags&( 0x0020 )){
1071 proto_item_append_text(item, "SORF_OXRES2");
1072 if (flags & (~( 0x0020 )))
1073 proto_item_append_text(item, ", ");
1075 flags&=(~( 0x0020 ));
1077 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES3, tvb, offset-4, 4, flags);
1078 if (flags&( 0x0040 )){
1079 proto_item_append_text(item, "SORF_OXRES3");
1080 if (flags & (~( 0x0040 )))
1081 proto_item_append_text(item, ", ");
1083 flags&=(~( 0x0040 ));
1085 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES4, tvb, offset-4, 4, flags);
1086 if (flags&( 0x0080 )){
1087 proto_item_append_text(item, "SORF_OXRES4");
1088 if (flags & (~( 0x0080 )))
1089 proto_item_append_text(item, ", ");
1091 flags&=(~( 0x0080 ));
1093 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES5, tvb, offset-4, 4, flags);
1094 if (flags&( 0x0100 )){
1095 proto_item_append_text(item, "SORF_OXRES5");
1096 if (flags & (~( 0x0100 )))
1097 proto_item_append_text(item, ", ");
1099 flags&=(~( 0x0100 ));
1101 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES6, tvb, offset-4, 4, flags);
1102 if (flags&( 0x0200 )){
1103 proto_item_append_text(item, "SORF_OXRES6");
1104 if (flags & (~( 0x0200 )))
1105 proto_item_append_text(item, ", ");
1107 flags&=(~( 0x0200 ));
1109 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES7, tvb, offset-4, 4, flags);
1110 if (flags&( 0x0400 )){
1111 proto_item_append_text(item, "SORF_OXRES7");
1112 if (flags & (~( 0x0400 )))
1113 proto_item_append_text(item, ", ");
1115 flags&=(~( 0x0400 ));
1117 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES8, tvb, offset-4, 4, flags);
1118 if (flags&( 0x0800 )){
1119 proto_item_append_text(item, "SORF_OXRES8");
1120 if (flags & (~( 0x0800 )))
1121 proto_item_append_text(item, ", ");
1123 flags&=(~( 0x0800 ));
1125 proto_tree_add_boolean(tree, hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_NOPING, tvb, offset-4, 4, flags);
1126 if (flags&( 0x1000 )){
1127 proto_item_append_text(item, "SORF_NOPING");
1128 if (flags & (~( 0x1000 )))
1129 proto_item_append_text(item, ", ");
1131 flags&=(~( 0x1000 ));
1134 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
1142 /* IDL: uint32 flags; */
1143 /* IDL: uint32 cPublicRefs; */
1144 /* IDL: hyper oxid; */
1145 /* IDL: hyper oid; */
1146 /* IDL: GUID ipid; */
1150 ObjectRpcBaseTypes_dissect_element_STDOBJREF_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1152 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_STDOBJREF_flags, 0);
1158 ObjectRpcBaseTypes_dissect_element_STDOBJREF_cPublicRefs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1160 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_STDOBJREF_cPublicRefs, 0);
1166 ObjectRpcBaseTypes_dissect_element_STDOBJREF_oxid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1168 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_STDOBJREF_oxid, NULL);
1174 ObjectRpcBaseTypes_dissect_element_STDOBJREF_oid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1176 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_STDOBJREF_oid, NULL);
1182 ObjectRpcBaseTypes_dissect_element_STDOBJREF_ipid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1184 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_STDOBJREF_ipid, NULL);
1190 ObjectRpcBaseTypes_dissect_struct_STDOBJREF(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1192 proto_item *item = NULL;
1193 proto_tree *tree = NULL;
1194 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
1199 old_offset = offset;
1202 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1203 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_STDOBJREF);
1206 offset = ObjectRpcBaseTypes_dissect_element_STDOBJREF_flags(tvb, offset, pinfo, tree, drep);
1208 offset = ObjectRpcBaseTypes_dissect_element_STDOBJREF_cPublicRefs(tvb, offset, pinfo, tree, drep);
1210 offset = ObjectRpcBaseTypes_dissect_element_STDOBJREF_oxid(tvb, offset, pinfo, tree, drep);
1212 offset = ObjectRpcBaseTypes_dissect_element_STDOBJREF_oid(tvb, offset, pinfo, tree, drep);
1214 offset = ObjectRpcBaseTypes_dissect_element_STDOBJREF_ipid(tvb, offset, pinfo, tree, drep);
1217 proto_item_set_len(item, offset-old_offset);
1220 if (di->call_data->flags & DCERPC_IS_NDR64) {
1229 /* IDL: STDOBJREF std; */
1230 /* IDL: STRINGARRAY saResAddr; */
1234 ObjectRpcBaseTypes_dissect_element_u_standard_std(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1236 offset = ObjectRpcBaseTypes_dissect_struct_STDOBJREF(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_u_standard_std,0);
1242 ObjectRpcBaseTypes_dissect_element_u_standard_saResAddr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1244 offset = ObjectRpcBaseTypes_dissect_struct_STRINGARRAY(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_u_standard_saResAddr,0);
1250 ObjectRpcBaseTypes_dissect_struct_u_standard(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1252 proto_item *item = NULL;
1253 proto_tree *tree = NULL;
1254 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
1259 old_offset = offset;
1262 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1263 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_u_standard);
1266 offset = ObjectRpcBaseTypes_dissect_element_u_standard_std(tvb, offset, pinfo, tree, drep);
1268 offset = ObjectRpcBaseTypes_dissect_element_u_standard_saResAddr(tvb, offset, pinfo, tree, drep);
1271 proto_item_set_len(item, offset-old_offset);
1274 if (di->call_data->flags & DCERPC_IS_NDR64) {
1283 /* IDL: STDOBJREF std; */
1284 /* IDL: GUID clsid; */
1285 /* IDL: STRINGARRAY saResAddr; */
1289 ObjectRpcBaseTypes_dissect_element_u_handler_std(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1291 offset = ObjectRpcBaseTypes_dissect_struct_STDOBJREF(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_u_handler_std,0);
1297 ObjectRpcBaseTypes_dissect_element_u_handler_clsid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1299 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_u_handler_clsid, NULL);
1305 ObjectRpcBaseTypes_dissect_element_u_handler_saResAddr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1307 offset = ObjectRpcBaseTypes_dissect_struct_STRINGARRAY(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_u_handler_saResAddr,0);
1313 ObjectRpcBaseTypes_dissect_struct_u_handler(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1315 proto_item *item = NULL;
1316 proto_tree *tree = NULL;
1317 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
1322 old_offset = offset;
1325 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1326 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_u_handler);
1329 offset = ObjectRpcBaseTypes_dissect_element_u_handler_std(tvb, offset, pinfo, tree, drep);
1331 offset = ObjectRpcBaseTypes_dissect_element_u_handler_clsid(tvb, offset, pinfo, tree, drep);
1333 offset = ObjectRpcBaseTypes_dissect_element_u_handler_saResAddr(tvb, offset, pinfo, tree, drep);
1336 proto_item_set_len(item, offset-old_offset);
1339 if (di->call_data->flags & DCERPC_IS_NDR64) {
1348 /* IDL: GUID clsid; */
1349 /* IDL: uint32 cbExtension; */
1350 /* IDL: uint32 size; */
1351 /* IDL: uint8 pData[size]; */
1355 ObjectRpcBaseTypes_dissect_element_u_custom_clsid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1357 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_u_custom_clsid, NULL);
1363 ObjectRpcBaseTypes_dissect_element_u_custom_cbExtension(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1365 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_u_custom_cbExtension, 0);
1371 ObjectRpcBaseTypes_dissect_element_u_custom_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1373 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_u_custom_size, 0);
1379 ObjectRpcBaseTypes_dissect_element_u_custom_pData(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1386 ObjectRpcBaseTypes_dissect_element_u_custom_pData_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1388 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_u_custom_pData, 0);
1394 ObjectRpcBaseTypes_dissect_struct_u_custom(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1396 proto_item *item = NULL;
1397 proto_tree *tree = NULL;
1398 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
1403 old_offset = offset;
1406 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1407 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_u_custom);
1410 offset = ObjectRpcBaseTypes_dissect_element_u_custom_clsid(tvb, offset, pinfo, tree, drep);
1412 offset = ObjectRpcBaseTypes_dissect_element_u_custom_cbExtension(tvb, offset, pinfo, tree, drep);
1414 offset = ObjectRpcBaseTypes_dissect_element_u_custom_size(tvb, offset, pinfo, tree, drep);
1416 offset = ObjectRpcBaseTypes_dissect_element_u_custom_pData(tvb, offset, pinfo, tree, drep);
1419 proto_item_set_len(item, offset-old_offset);
1422 if (di->call_data->flags & DCERPC_IS_NDR64) {
1434 ObjectRpcBaseTypes_dissect_struct_u_null(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1436 proto_item *item = NULL;
1437 proto_tree *tree = NULL;
1441 old_offset = offset;
1444 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1445 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_u_null);
1449 proto_item_set_len(item, offset-old_offset);
1456 /* IDL: [nodiscriminant(1)] union { */
1457 /* IDL: [case(OBJREF_NULL)] [case(OBJREF_NULL)] u_null u_null; */
1458 /* IDL: [case(OBJREF_STANDARD)] [case(OBJREF_STANDARD)] u_standard u_standard; */
1459 /* IDL: [case(OBJREF_HANDLER)] [case(OBJREF_HANDLER)] u_handler u_handler; */
1460 /* IDL: [case(OBJREF_CUSTOM)] [case(OBJREF_CUSTOM)] u_custom u_custom; */
1464 ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_null(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1466 offset = ObjectRpcBaseTypes_dissect_struct_u_null(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_OBJREF_Types_u_null,0);
1472 ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_standard(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1474 offset = ObjectRpcBaseTypes_dissect_struct_u_standard(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_OBJREF_Types_u_standard,0);
1480 ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_handler(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1482 offset = ObjectRpcBaseTypes_dissect_struct_u_handler(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_OBJREF_Types_u_handler,0);
1488 ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_custom(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1490 offset = ObjectRpcBaseTypes_dissect_struct_u_custom(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_OBJREF_Types_u_custom,0);
1496 ObjectRpcBaseTypes_dissect_OBJREF_Types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1498 proto_item *item = NULL;
1499 proto_tree *tree = NULL;
1501 guint32 level = param;
1503 old_offset = offset;
1505 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "OBJREF_Types");
1506 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_OBJREF_Types);
1511 offset = ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_null(tvb, offset, pinfo, tree, drep);
1514 case OBJREF_STANDARD:
1515 offset = ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_standard(tvb, offset, pinfo, tree, drep);
1518 case OBJREF_HANDLER:
1519 offset = ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_handler(tvb, offset, pinfo, tree, drep);
1523 offset = ObjectRpcBaseTypes_dissect_element_OBJREF_Types_u_custom(tvb, offset, pinfo, tree, drep);
1526 proto_item_set_len(item, offset-old_offset);
1533 /* IDL: uint32 signature; */
1534 /* IDL: uint32 flags; */
1535 /* IDL: GUID iid; */
1536 /* IDL: [switch_is(flags)] [switch_type(uint32)] OBJREF_Types u_objref; */
1540 ObjectRpcBaseTypes_dissect_element_OBJREF_signature(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1542 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_OBJREF_signature, 0);
1548 ObjectRpcBaseTypes_dissect_element_OBJREF_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *flags)
1550 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_OBJREF_flags, flags);
1556 ObjectRpcBaseTypes_dissect_element_OBJREF_iid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1558 offset = dissect_ndr_uuid_t(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_OBJREF_iid, NULL);
1564 ObjectRpcBaseTypes_dissect_element_OBJREF_u_objref(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *flags)
1566 offset = ObjectRpcBaseTypes_dissect_OBJREF_Types(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_OBJREF_u_objref, *flags);
1572 ObjectRpcBaseTypes_dissect_struct_OBJREF(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1575 proto_item *item = NULL;
1576 proto_tree *tree = NULL;
1577 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
1582 old_offset = offset;
1585 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1586 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_OBJREF);
1589 offset = ObjectRpcBaseTypes_dissect_element_OBJREF_signature(tvb, offset, pinfo, tree, drep);
1591 offset = ObjectRpcBaseTypes_dissect_element_OBJREF_flags(tvb, offset, pinfo, tree, drep, &flags);
1593 offset = ObjectRpcBaseTypes_dissect_element_OBJREF_iid(tvb, offset, pinfo, tree, drep);
1595 offset = ObjectRpcBaseTypes_dissect_element_OBJREF_u_objref(tvb, offset, pinfo, tree, drep, &flags);
1598 proto_item_set_len(item, offset-old_offset);
1601 if (di->call_data->flags & DCERPC_IS_NDR64) {
1610 /* IDL: uint32 size; */
1611 /* IDL: [subcontext(4)] OBJREF obj; */
1615 ObjectRpcBaseTypes_dissect_element_MInterfacePointer_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1617 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_MInterfacePointer_size, 0);
1623 ObjectRpcBaseTypes_dissect_element_MInterfacePointer_obj(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1625 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
1627 int conformant = di->conformant_run;
1631 guint32 saved_flags = di->call_data->flags;
1632 offset = dissect_ndr_uint3264(tvb, offset, pinfo, tree, drep, hf_ObjectRpcBaseTypes_MInterfacePointer_obj_, &size);
1633 di->call_data->flags &= ~DCERPC_IS_NDR64;
1634 subtvb = tvb_new_subset(tvb, offset, size, -1);
1635 ObjectRpcBaseTypes_dissect_element_MInterfacePointer_obj_(subtvb, 0, pinfo, tree, drep);
1637 di->call_data->flags = saved_flags;
1644 ObjectRpcBaseTypes_dissect_element_MInterfacePointer_obj_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1646 offset = ObjectRpcBaseTypes_dissect_struct_OBJREF(tvb,offset,pinfo,tree,drep,hf_ObjectRpcBaseTypes_MInterfacePointer_obj,0);
1652 ObjectRpcBaseTypes_dissect_struct_MInterfacePointer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
1654 proto_item *item = NULL;
1655 proto_tree *tree = NULL;
1656 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
1661 old_offset = offset;
1664 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
1665 tree = proto_item_add_subtree(item, ett_ObjectRpcBaseTypes_MInterfacePointer);
1668 offset = ObjectRpcBaseTypes_dissect_element_MInterfacePointer_size(tvb, offset, pinfo, tree, drep);
1670 offset = ObjectRpcBaseTypes_dissect_element_MInterfacePointer_obj(tvb, offset, pinfo, tree, drep);
1673 proto_item_set_len(item, offset-old_offset);
1676 if (di->call_data->flags & DCERPC_IS_NDR64) {
1685 /* IDL: COM_OK=0x00000000, */
1686 /* IDL: COM_OUTOFMEMORY=0x80000002, */
1687 /* IDL: COM_INVALIDARG=0x80000003, */
1688 /* IDL: COM_NOINTERFACE=0x80000004, */
1689 /* IDL: COM_ACCESSDENIED=0x80070005, */
1690 /* IDL: COM_INVALID_OXID=0x80070776, */
1691 /* IDL: COM_INVALID_OID=0x80070777, */
1692 /* IDL: COM_INVALID_SET=0x80070778, */
1693 /* IDL: COM_UNEXPECTED=0x8000FFFF, */
1694 /* IDL: COM_CLSNOTFOUND=0x80040154, */
1698 ObjectRpcBaseTypes_dissect_enum_COMRESULT(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
1700 guint32 parameter=0;
1702 parameter=(guint32)*param;
1704 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, ¶meter);
1706 *param=(guint32)parameter;
1712 static dcerpc_sub_dissector ObjectRpcBaseTypes_dissectors[] = {
1713 { 0, NULL, NULL, NULL }
1716 void proto_register_dcerpc_ObjectRpcBaseTypes(void)
1718 static hf_register_info hf[] = {
1719 { &hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED1,
1720 { "Orpcf Reserved1", "ObjectRpcBaseTypes.ORPC_FLAGS.ORPCF_RESERVED1", FT_BOOLEAN, 32, TFS(&ORPC_FLAGS_ORPCF_RESERVED1_tfs), ( 0x02 ), NULL, HFILL }},
1721 { &hf_ObjectRpcBaseTypes_COMVERSION_MajorVersion,
1722 { "Majorversion", "ObjectRpcBaseTypes.COMVERSION.MajorVersion", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1723 { &hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED3,
1724 { "Orpcf Reserved3", "ObjectRpcBaseTypes.ORPC_FLAGS.ORPCF_RESERVED3", FT_BOOLEAN, 32, TFS(&ORPC_FLAGS_ORPCF_RESERVED3_tfs), ( 0x08 ), NULL, HFILL }},
1725 { &hf_ObjectRpcBaseTypes_SECURITYBINDING_PrincName,
1726 { "Princname", "ObjectRpcBaseTypes.SECURITYBINDING.PrincName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1727 { &hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED2,
1728 { "Orpcf Reserved2", "ObjectRpcBaseTypes.ORPC_FLAGS.ORPCF_RESERVED2", FT_BOOLEAN, 32, TFS(&ORPC_FLAGS_ORPCF_RESERVED2_tfs), ( 0x04 ), NULL, HFILL }},
1729 { &hf_ObjectRpcBaseTypes_u_standard_saResAddr,
1730 { "Saresaddr", "ObjectRpcBaseTypes.u_standard.saResAddr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1731 { &hf_ObjectRpcBaseTypes_STDOBJREF_ipid,
1732 { "Ipid", "ObjectRpcBaseTypes.STDOBJREF.ipid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1733 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES5,
1734 { "Sorf Oxres5", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_OXRES5", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_OXRES5_tfs), ( 0x0100 ), NULL, HFILL }},
1735 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES2,
1736 { "Sorf Oxres2", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_OXRES2", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_OXRES2_tfs), ( 0x0020 ), NULL, HFILL }},
1737 { &hf_ObjectRpcBaseTypes_ORPCTHAT_flags,
1738 { "Flags", "ObjectRpcBaseTypes.ORPCTHAT.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1739 { &hf_ObjectRpcBaseTypes_MInterfacePointer_obj,
1740 { "Obj", "ObjectRpcBaseTypes.MInterfacePointer.obj", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1741 { &hf_ObjectRpcBaseTypes_STRINGBINDING_NetworkAddr,
1742 { "Networkaddr", "ObjectRpcBaseTypes.STRINGBINDING.NetworkAddr", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
1743 { &hf_ObjectRpcBaseTypes_MInterfacePointer_obj_,
1744 { "Subcontext length", "ObjectRpcBaseTypes.MInterfacePointer.subcontext", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
1745 { &hf_ObjectRpcBaseTypes_ORPCTHIS_reserved1,
1746 { "Reserved1", "ObjectRpcBaseTypes.ORPCTHIS.reserved1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1747 { &hf_ObjectRpcBaseTypes_OBJREF_u_objref,
1748 { "U Objref", "ObjectRpcBaseTypes.OBJREF.u_objref", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1749 { &hf_ObjectRpcBaseTypes_OBJREF_Types_u_standard,
1750 { "U Standard", "ObjectRpcBaseTypes.OBJREF_Types.u_standard", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1751 { &hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_LOCAL,
1752 { "Orpcf Local", "ObjectRpcBaseTypes.ORPC_FLAGS.ORPCF_LOCAL", FT_BOOLEAN, 32, TFS(&ORPC_FLAGS_ORPCF_LOCAL_tfs), ( 0x01 ), NULL, HFILL }},
1753 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_NOPING,
1754 { "Sorf Noping", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_NOPING", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_NOPING_tfs), ( 0x1000 ), NULL, HFILL }},
1755 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES3,
1756 { "Sorf Oxres3", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_OXRES3", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_OXRES3_tfs), ( 0x0040 ), NULL, HFILL }},
1757 { &hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_NULL,
1758 { "Orpcf Null", "ObjectRpcBaseTypes.ORPC_FLAGS.ORPCF_NULL", FT_BOOLEAN, 32, TFS(&ORPC_FLAGS_ORPCF_NULL_tfs), ( 0x00 ), NULL, HFILL }},
1759 { &hf_ObjectRpcBaseTypes_ORPCTHAT_extensions,
1760 { "Extensions", "ObjectRpcBaseTypes.ORPCTHAT.extensions", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1761 { &hf_ObjectRpcBaseTypes_STRINGBINDING_wTowerId,
1762 { "Wtowerid", "ObjectRpcBaseTypes.STRINGBINDING.wTowerId", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1763 { &hf_ObjectRpcBaseTypes_STRINGARRAY_stringbindings,
1764 { "Stringbindings", "ObjectRpcBaseTypes.STRINGARRAY.stringbindings", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1765 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES8,
1766 { "Sorf Oxres8", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_OXRES8", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_OXRES8_tfs), ( 0x0800 ), NULL, HFILL }},
1767 { &hf_ObjectRpcBaseTypes_STDOBJREF_cPublicRefs,
1768 { "Cpublicrefs", "ObjectRpcBaseTypes.STDOBJREF.cPublicRefs", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1769 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES6,
1770 { "Sorf Oxres6", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_OXRES6", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_OXRES6_tfs), ( 0x0200 ), NULL, HFILL }},
1771 { &hf_ObjectRpcBaseTypes_OBJREF_Types_u_null,
1772 { "U Null", "ObjectRpcBaseTypes.OBJREF_Types.u_null", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1773 { &hf_ObjectRpcBaseTypes_u_standard_std,
1774 { "Std", "ObjectRpcBaseTypes.u_standard.std", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1775 { &hf_ObjectRpcBaseTypes_ORPCTHIS_flags,
1776 { "Flags", "ObjectRpcBaseTypes.ORPCTHIS.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1777 { &hf_ObjectRpcBaseTypes_SECURITYBINDING_wAuthzSvc,
1778 { "Wauthzsvc", "ObjectRpcBaseTypes.SECURITYBINDING.wAuthzSvc", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1779 { &hf_ObjectRpcBaseTypes_SECURITYBINDING_wAuthnSvc,
1780 { "Wauthnsvc", "ObjectRpcBaseTypes.SECURITYBINDING.wAuthnSvc", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1781 { &hf_ObjectRpcBaseTypes_ORPCTHIS_extensions,
1782 { "Extensions", "ObjectRpcBaseTypes.ORPCTHIS.extensions", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1783 { &hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_securitybindings,
1784 { "Securitybindings", "ObjectRpcBaseTypes.DUALSTRINGARRAY.securitybindings", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1785 { &hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_size,
1786 { "Size", "ObjectRpcBaseTypes.ORPC_EXTENT_ARRAY.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1787 { &hf_ObjectRpcBaseTypes_u_handler_std,
1788 { "Std", "ObjectRpcBaseTypes.u_handler.std", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1789 { &hf_ObjectRpcBaseTypes_STDOBJREF_oxid,
1790 { "Oxid", "ObjectRpcBaseTypes.STDOBJREF.oxid", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
1791 { &hf_ObjectRpcBaseTypes_OBJREF_flags,
1792 { "Flags", "ObjectRpcBaseTypes.OBJREF.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1793 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_NULL,
1794 { "Sorf Null", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_NULL", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_NULL_tfs), ( 0x0000 ), NULL, HFILL }},
1795 { &hf_ObjectRpcBaseTypes_ORPC_FLAGS_ORPCF_RESERVED4,
1796 { "Orpcf Reserved4", "ObjectRpcBaseTypes.ORPC_FLAGS.ORPCF_RESERVED4", FT_BOOLEAN, 32, TFS(&ORPC_FLAGS_ORPCF_RESERVED4_tfs), ( 0x10 ), NULL, HFILL }},
1797 { &hf_ObjectRpcBaseTypes_ORPC_EXTENT_size,
1798 { "Size", "ObjectRpcBaseTypes.ORPC_EXTENT.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1799 { &hf_ObjectRpcBaseTypes_OBJREF_Types_u_handler,
1800 { "U Handler", "ObjectRpcBaseTypes.OBJREF_Types.u_handler", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1801 { &hf_ObjectRpcBaseTypes_u_custom_cbExtension,
1802 { "Cbextension", "ObjectRpcBaseTypes.u_custom.cbExtension", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1803 { &hf_ObjectRpcBaseTypes_opnum,
1804 { "Operation", "ObjectRpcBaseTypes.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1805 { &hf_ObjectRpcBaseTypes_u_handler_clsid,
1806 { "Clsid", "ObjectRpcBaseTypes.u_handler.clsid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1807 { &hf_ObjectRpcBaseTypes_OBJREF_signature,
1808 { "Signature", "ObjectRpcBaseTypes.OBJREF.signature", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1809 { &hf_ObjectRpcBaseTypes_OBJREF_Types_u_custom,
1810 { "U Custom", "ObjectRpcBaseTypes.OBJREF_Types.u_custom", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1811 { &hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_extent,
1812 { "Extent", "ObjectRpcBaseTypes.ORPC_EXTENT_ARRAY.extent", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1813 { &hf_ObjectRpcBaseTypes_ORPC_EXTENT_id,
1814 { "Id", "ObjectRpcBaseTypes.ORPC_EXTENT.id", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1815 { &hf_ObjectRpcBaseTypes_u_custom_size,
1816 { "Size", "ObjectRpcBaseTypes.u_custom.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1817 { &hf_ObjectRpcBaseTypes_OBJREF_iid,
1818 { "Iid", "ObjectRpcBaseTypes.OBJREF.iid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1819 { &hf_ObjectRpcBaseTypes_ORPCTHIS_version,
1820 { "Version", "ObjectRpcBaseTypes.ORPCTHIS.version", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1821 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES4,
1822 { "Sorf Oxres4", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_OXRES4", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_OXRES4_tfs), ( 0x0080 ), NULL, HFILL }},
1823 { &hf_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY_reserved,
1824 { "Reserved", "ObjectRpcBaseTypes.ORPC_EXTENT_ARRAY.reserved", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1825 { &hf_ObjectRpcBaseTypes_COMVERSION_MinorVersion,
1826 { "Minorversion", "ObjectRpcBaseTypes.COMVERSION.MinorVersion", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
1827 { &hf_ObjectRpcBaseTypes_MInterfacePointer_size,
1828 { "Size", "ObjectRpcBaseTypes.MInterfacePointer.size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1829 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES1,
1830 { "Sorf Oxres1", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_OXRES1", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_OXRES1_tfs), ( 0x0001 ), NULL, HFILL }},
1831 { &hf_ObjectRpcBaseTypes_u_custom_clsid,
1832 { "Clsid", "ObjectRpcBaseTypes.u_custom.clsid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1833 { &hf_ObjectRpcBaseTypes_STDOBJREF_oid,
1834 { "Oid", "ObjectRpcBaseTypes.STDOBJREF.oid", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
1835 { &hf_ObjectRpcBaseTypes_u_handler_saResAddr,
1836 { "Saresaddr", "ObjectRpcBaseTypes.u_handler.saResAddr", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1837 { &hf_ObjectRpcBaseTypes_DUALSTRINGARRAY_stringbindings,
1838 { "Stringbindings", "ObjectRpcBaseTypes.DUALSTRINGARRAY.stringbindings", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
1839 { &hf_ObjectRpcBaseTypes_STDOBJREF_FLAGS_SORF_OXRES7,
1840 { "Sorf Oxres7", "ObjectRpcBaseTypes.STDOBJREF_FLAGS.SORF_OXRES7", FT_BOOLEAN, 32, TFS(&STDOBJREF_FLAGS_SORF_OXRES7_tfs), ( 0x0400 ), NULL, HFILL }},
1841 { &hf_ObjectRpcBaseTypes_ORPCTHIS_cid,
1842 { "Cid", "ObjectRpcBaseTypes.ORPCTHIS.cid", FT_GUID, BASE_NONE, NULL, 0, NULL, HFILL }},
1843 { &hf_ObjectRpcBaseTypes_STDOBJREF_flags,
1844 { "Flags", "ObjectRpcBaseTypes.STDOBJREF.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
1845 { &hf_ObjectRpcBaseTypes_u_custom_pData,
1846 { "Pdata", "ObjectRpcBaseTypes.u_custom.pData", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1847 { &hf_ObjectRpcBaseTypes_ORPC_EXTENT_data,
1848 { "Data", "ObjectRpcBaseTypes.ORPC_EXTENT.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
1852 static gint *ett[] = {
1853 &ett_dcerpc_ObjectRpcBaseTypes,
1854 &ett_ObjectRpcBaseTypes_COMVERSION,
1855 &ett_ObjectRpcBaseTypes_ORPC_FLAGS,
1856 &ett_ObjectRpcBaseTypes_ORPC_EXTENT,
1857 &ett_ObjectRpcBaseTypes_ORPC_EXTENT_ARRAY,
1858 &ett_ObjectRpcBaseTypes_ORPCTHIS,
1859 &ett_ObjectRpcBaseTypes_ORPCTHAT,
1860 &ett_ObjectRpcBaseTypes_STRINGBINDING,
1861 &ett_ObjectRpcBaseTypes_STRINGARRAY,
1862 &ett_ObjectRpcBaseTypes_DUALSTRINGARRAY,
1863 &ett_ObjectRpcBaseTypes_SECURITYBINDING,
1864 &ett_ObjectRpcBaseTypes_STDOBJREF_FLAGS,
1865 &ett_ObjectRpcBaseTypes_STDOBJREF,
1866 &ett_ObjectRpcBaseTypes_u_standard,
1867 &ett_ObjectRpcBaseTypes_u_handler,
1868 &ett_ObjectRpcBaseTypes_u_custom,
1869 &ett_ObjectRpcBaseTypes_u_null,
1870 &ett_ObjectRpcBaseTypes_OBJREF_Types,
1871 &ett_ObjectRpcBaseTypes_OBJREF,
1872 &ett_ObjectRpcBaseTypes_MInterfacePointer,
1875 proto_dcerpc_ObjectRpcBaseTypes = proto_register_protocol("OBJECTRPCBASETYPES (pidl)", "OBJECTRPCBASETYPES", "ObjectRpcBaseTypes");
1876 proto_register_field_array(proto_dcerpc_ObjectRpcBaseTypes, hf, array_length (hf));
1877 proto_register_subtree_array(ett, array_length(ett));
1880 void proto_reg_handoff_dcerpc_ObjectRpcBaseTypes(void)
1882 dcerpc_init_uuid(proto_dcerpc_ObjectRpcBaseTypes, ett_dcerpc_ObjectRpcBaseTypes,
1883 &uuid_dcerpc_ObjectRpcBaseTypes, ver_dcerpc_ObjectRpcBaseTypes,
1884 ObjectRpcBaseTypes_dissectors, hf_ObjectRpcBaseTypes_opnum);