2 This filter was automatically generated
3 from /home/metze/devel/samba/4.0/master4-franky/librpc/idl/named_pipe_auth.idl and /home/metze/devel/samba/4.0/master4-franky/librpc/idl/named_pipe_auth.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-named_pipe_auth.h"
31 /* Ett declarations */
32 static gint ett_dcerpc_named_pipe_auth = -1;
33 static gint ett_named_pipe_auth_named_pipe_auth_req_info4 = -1;
34 static gint ett_named_pipe_auth_named_pipe_auth_req_info = -1;
35 static gint ett_named_pipe_auth_named_pipe_auth_req = -1;
36 static gint ett_named_pipe_auth_named_pipe_auth_rep_info4 = -1;
37 static gint ett_named_pipe_auth_named_pipe_auth_rep_info = -1;
38 static gint ett_named_pipe_auth_named_pipe_auth_rep = -1;
41 /* Header field declarations */
42 static gint hf_named_pipe_auth_named_pipe_auth_req_info4_client_name = -1;
43 static gint hf_named_pipe_auth_named_pipe_auth_req_length = -1;
44 static gint hf_named_pipe_auth_opnum = -1;
45 static gint hf_named_pipe_auth_named_pipe_auth_rep_status = -1;
46 static gint hf_named_pipe_auth_named_pipe_auth_rep_info4_allocation_size = -1;
47 static gint hf_named_pipe_auth_named_pipe_auth_req_info4_client_addr = -1;
48 static gint hf_named_pipe_auth_named_pipe_auth_rep_info = -1;
49 static gint hf_named_pipe_auth_named_pipe_auth_req_info_info4 = -1;
50 static gint hf_named_pipe_auth_named_pipe_auth_req_info = -1;
51 static gint hf_named_pipe_auth_named_pipe_auth_req_info4_session_info = -1;
52 static gint hf_named_pipe_auth_named_pipe_auth_rep_magic = -1;
53 static gint hf_named_pipe_auth_named_pipe_auth_req_magic = -1;
54 static gint hf_named_pipe_auth_named_pipe_auth_rep_level = -1;
55 static gint hf_named_pipe_auth_named_pipe_auth_req_info4_server_port = -1;
56 static gint hf_named_pipe_auth_named_pipe_auth_rep_info4_file_type = -1;
57 static gint hf_named_pipe_auth_named_pipe_auth_req_level = -1;
58 static gint hf_named_pipe_auth_named_pipe_auth_req_info4_client_port = -1;
59 static gint hf_named_pipe_auth_named_pipe_auth_rep_info4_device_state = -1;
60 static gint hf_named_pipe_auth_named_pipe_auth_req_info4_server_addr = -1;
61 static gint hf_named_pipe_auth_named_pipe_auth_rep_info_info4 = -1;
62 static gint hf_named_pipe_auth_named_pipe_auth_rep_length = -1;
63 static gint hf_named_pipe_auth_named_pipe_auth_req_info4_server_name = -1;
65 static gint proto_dcerpc_named_pipe_auth = -1;
66 /* Version information */
69 static e_uuid_t uuid_dcerpc_named_pipe_auth = {
71 { 0x, 0x, 0x, 0x, 0x, 0x, 0x, 0x }
73 static guint16 ver_dcerpc_named_pipe_auth = 0;
75 static int named_pipe_auth_dissect_element_req_info4_client_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
76 static int named_pipe_auth_dissect_element_req_info4_client_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
77 static int named_pipe_auth_dissect_element_req_info4_client_addr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
78 static int named_pipe_auth_dissect_element_req_info4_client_addr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
79 static int named_pipe_auth_dissect_element_req_info4_client_port(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
80 static int named_pipe_auth_dissect_element_req_info4_server_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
81 static int named_pipe_auth_dissect_element_req_info4_server_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
82 static int named_pipe_auth_dissect_element_req_info4_server_addr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
83 static int named_pipe_auth_dissect_element_req_info4_server_addr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
84 static int named_pipe_auth_dissect_element_req_info4_server_port(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
85 static int named_pipe_auth_dissect_element_req_info4_session_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
86 static int named_pipe_auth_dissect_element_req_info4_session_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
87 static int named_pipe_auth_dissect_element_req_info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
88 static int named_pipe_auth_dissect_element_req_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
89 static int named_pipe_auth_dissect_element_req_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
90 static int named_pipe_auth_dissect_element_req_magic_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
91 static int named_pipe_auth_dissect_element_req_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *level);
92 static int named_pipe_auth_dissect_element_req_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *level);
93 static int named_pipe_auth_dissect_element_rep_info4_file_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
94 static int named_pipe_auth_dissect_element_rep_info4_device_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
95 static int named_pipe_auth_dissect_element_rep_info4_allocation_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
96 static int named_pipe_auth_dissect_element_rep_info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
97 static int named_pipe_auth_dissect_element_rep_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
98 static int named_pipe_auth_dissect_element_rep_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
99 static int named_pipe_auth_dissect_element_rep_magic_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
100 static int named_pipe_auth_dissect_element_rep_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *level);
101 static int named_pipe_auth_dissect_element_rep_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *level);
102 static int named_pipe_auth_dissect_element_rep_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
106 /* IDL: [unique(1)] [charset(UTF8)] uint8 *client_name; */
107 /* IDL: [unique(1)] [charset(DOS)] uint8 *client_addr; */
108 /* IDL: uint16 client_port; */
109 /* IDL: [unique(1)] [charset(UTF8)] uint8 *server_name; */
110 /* IDL: [unique(1)] [charset(DOS)] uint8 *server_addr; */
111 /* IDL: uint16 server_port; */
112 /* IDL: [unique(1)] auth_session_info_transport *session_info; */
116 named_pipe_auth_dissect_element_req_info4_client_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
118 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, named_pipe_auth_dissect_element_req_info4_client_name_, NDR_POINTER_UNIQUE, "Pointer to Client Name (uint8)",hf_named_pipe_auth_named_pipe_auth_req_info4_client_name);
124 named_pipe_auth_dissect_element_req_info4_client_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
128 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint8), hf_named_pipe_auth_named_pipe_auth_req_info4_client_name, FALSE, &data);
129 proto_item_append_text(tree, ": %s", data);
135 named_pipe_auth_dissect_element_req_info4_client_addr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
137 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, named_pipe_auth_dissect_element_req_info4_client_addr_, NDR_POINTER_UNIQUE, "Pointer to Client Addr (uint8)",hf_named_pipe_auth_named_pipe_auth_req_info4_client_addr);
143 named_pipe_auth_dissect_element_req_info4_client_addr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
147 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint8), hf_named_pipe_auth_named_pipe_auth_req_info4_client_addr, FALSE, &data);
148 proto_item_append_text(tree, ": %s", data);
154 named_pipe_auth_dissect_element_req_info4_client_port(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
156 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_req_info4_client_port, 0);
162 named_pipe_auth_dissect_element_req_info4_server_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
164 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, named_pipe_auth_dissect_element_req_info4_server_name_, NDR_POINTER_UNIQUE, "Pointer to Server Name (uint8)",hf_named_pipe_auth_named_pipe_auth_req_info4_server_name);
170 named_pipe_auth_dissect_element_req_info4_server_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
174 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint8), hf_named_pipe_auth_named_pipe_auth_req_info4_server_name, FALSE, &data);
175 proto_item_append_text(tree, ": %s", data);
181 named_pipe_auth_dissect_element_req_info4_server_addr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
183 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, named_pipe_auth_dissect_element_req_info4_server_addr_, NDR_POINTER_UNIQUE, "Pointer to Server Addr (uint8)",hf_named_pipe_auth_named_pipe_auth_req_info4_server_addr);
189 named_pipe_auth_dissect_element_req_info4_server_addr_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
193 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, sizeof(guint8), hf_named_pipe_auth_named_pipe_auth_req_info4_server_addr, FALSE, &data);
194 proto_item_append_text(tree, ": %s", data);
200 named_pipe_auth_dissect_element_req_info4_server_port(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
202 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_req_info4_server_port, 0);
208 named_pipe_auth_dissect_element_req_info4_session_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
210 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, named_pipe_auth_dissect_element_req_info4_session_info_, NDR_POINTER_UNIQUE, "Pointer to Session Info (auth_session_info_transport)",hf_named_pipe_auth_named_pipe_auth_req_info4_session_info);
216 named_pipe_auth_dissect_element_req_info4_session_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
218 offset = named_pipe_auth_dissect_struct_auth_session_info_transport(tvb,offset,pinfo,tree,drep,hf_named_pipe_auth_named_pipe_auth_req_info4_session_info,0);
224 named_pipe_auth_dissect_struct_req_info4(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_)
226 proto_item *item = NULL;
227 proto_tree *tree = NULL;
228 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
236 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
237 tree = proto_item_add_subtree(item, ett_named_pipe_auth_named_pipe_auth_req_info4);
240 offset = named_pipe_auth_dissect_element_req_info4_client_name(tvb, offset, pinfo, tree, drep);
242 offset = named_pipe_auth_dissect_element_req_info4_client_addr(tvb, offset, pinfo, tree, drep);
244 offset = named_pipe_auth_dissect_element_req_info4_client_port(tvb, offset, pinfo, tree, drep);
246 offset = named_pipe_auth_dissect_element_req_info4_server_name(tvb, offset, pinfo, tree, drep);
248 offset = named_pipe_auth_dissect_element_req_info4_server_addr(tvb, offset, pinfo, tree, drep);
250 offset = named_pipe_auth_dissect_element_req_info4_server_port(tvb, offset, pinfo, tree, drep);
252 offset = named_pipe_auth_dissect_element_req_info4_session_info(tvb, offset, pinfo, tree, drep);
255 proto_item_set_len(item, offset-old_offset);
258 if (di->call_data->flags & DCERPC_IS_NDR64) {
266 /* IDL: [switch_type(uint32)] union { */
267 /* IDL: [case(4)] [case(4)] named_pipe_auth_req_info4 info4; */
271 named_pipe_auth_dissect_element_req_info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
273 offset = named_pipe_auth_dissect_struct_req_info4(tvb,offset,pinfo,tree,drep,hf_named_pipe_auth_named_pipe_auth_req_info_info4,0);
279 named_pipe_auth_dissect_req_info(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_)
281 proto_item *item = NULL;
282 proto_tree *tree = NULL;
288 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "named_pipe_auth_req_info");
289 tree = proto_item_add_subtree(item, ett_named_pipe_auth_named_pipe_auth_req_info);
292 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level);
297 offset = named_pipe_auth_dissect_element_req_info_info4(tvb, offset, pinfo, tree, drep);
300 proto_item_set_len(item, offset-old_offset);
307 /* IDL: [value(ndr_size_named_pipe_auth_req(r,ndr->flags)-4)] [flag(LIBNDR_FLAG_BIGENDIAN)] uint32 length; */
308 /* IDL: [value(NAMED_PIPE_AUTH_MAGIC)] [charset(DOS)] uint8 magic[4]; */
309 /* IDL: uint32 level; */
310 /* IDL: [switch_is(level)] named_pipe_auth_req_info info; */
314 named_pipe_auth_dissect_element_req_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
316 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_req_length, 0);
322 named_pipe_auth_dissect_element_req_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
324 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
325 int conformant = di->conformant_run;
327 offset = named_pipe_auth_dissect_element_req_magic_(tvb, offset, 4, pinfo, tree, drep);
334 named_pipe_auth_dissect_element_req_magic_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
336 proto_tree_add_bytes(tree, hf_named_pipe_auth_named_pipe_auth_req_magic, tvb, offset, length, tvb_get_ptr(tvb, offset,length)); offset += length;
342 named_pipe_auth_dissect_element_req_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *level)
344 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_req_level, level);
350 named_pipe_auth_dissect_element_req_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *level)
352 offset = named_pipe_auth_dissect_req_info(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_req_info, *level);
358 named_pipe_auth_dissect_struct_req(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_)
361 proto_item *item = NULL;
362 proto_tree *tree = NULL;
363 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
371 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
372 tree = proto_item_add_subtree(item, ett_named_pipe_auth_named_pipe_auth_req);
375 offset = named_pipe_auth_dissect_element_req_length(tvb, offset, pinfo, tree, drep);
377 offset = named_pipe_auth_dissect_element_req_magic(tvb, offset, pinfo, tree, drep);
379 offset = named_pipe_auth_dissect_element_req_level(tvb, offset, pinfo, tree, drep, &level);
381 offset = named_pipe_auth_dissect_element_req_info(tvb, offset, pinfo, tree, drep, &level);
384 proto_item_set_len(item, offset-old_offset);
387 if (di->call_data->flags & DCERPC_IS_NDR64) {
396 /* IDL: uint16 file_type; */
397 /* IDL: uint16 device_state; */
398 /* IDL: hyper allocation_size; */
402 named_pipe_auth_dissect_element_rep_info4_file_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
404 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_rep_info4_file_type, 0);
410 named_pipe_auth_dissect_element_rep_info4_device_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
412 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_rep_info4_device_state, 0);
418 named_pipe_auth_dissect_element_rep_info4_allocation_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
420 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_rep_info4_allocation_size, NULL);
426 named_pipe_auth_dissect_struct_rep_info4(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_)
428 proto_item *item = NULL;
429 proto_tree *tree = NULL;
430 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
438 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
439 tree = proto_item_add_subtree(item, ett_named_pipe_auth_named_pipe_auth_rep_info4);
442 offset = named_pipe_auth_dissect_element_rep_info4_file_type(tvb, offset, pinfo, tree, drep);
444 offset = named_pipe_auth_dissect_element_rep_info4_device_state(tvb, offset, pinfo, tree, drep);
446 offset = named_pipe_auth_dissect_element_rep_info4_allocation_size(tvb, offset, pinfo, tree, drep);
449 proto_item_set_len(item, offset-old_offset);
452 if (di->call_data->flags & DCERPC_IS_NDR64) {
460 /* IDL: [switch_type(uint32)] union { */
461 /* IDL: [case(4)] [case(4)] named_pipe_auth_rep_info4 info4; */
465 named_pipe_auth_dissect_element_rep_info_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
467 offset = named_pipe_auth_dissect_struct_rep_info4(tvb,offset,pinfo,tree,drep,hf_named_pipe_auth_named_pipe_auth_rep_info_info4,0);
473 named_pipe_auth_dissect_rep_info(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_)
475 proto_item *item = NULL;
476 proto_tree *tree = NULL;
482 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "named_pipe_auth_rep_info");
483 tree = proto_item_add_subtree(item, ett_named_pipe_auth_named_pipe_auth_rep_info);
486 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, &level);
491 offset = named_pipe_auth_dissect_element_rep_info_info4(tvb, offset, pinfo, tree, drep);
494 proto_item_set_len(item, offset-old_offset);
501 /* IDL: [value(ndr_size_named_pipe_auth_rep(r,ndr->flags)-4)] [flag(LIBNDR_FLAG_BIGENDIAN)] uint32 length; */
502 /* IDL: [value(NAMED_PIPE_AUTH_MAGIC)] [charset(DOS)] uint8 magic[4]; */
503 /* IDL: uint32 level; */
504 /* IDL: [switch_is(level)] named_pipe_auth_rep_info info; */
505 /* IDL: NTSTATUS status; */
509 named_pipe_auth_dissect_element_rep_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
511 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_rep_length, 0);
517 named_pipe_auth_dissect_element_rep_magic(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
519 dcerpc_info *di = (dcerpc_info*)pinfo->private_data;
520 int conformant = di->conformant_run;
522 offset = named_pipe_auth_dissect_element_rep_magic_(tvb, offset, 4, pinfo, tree, drep);
529 named_pipe_auth_dissect_element_rep_magic_(tvbuff_t *tvb _U_, int offset _U_,int length _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
531 proto_tree_add_bytes(tree, hf_named_pipe_auth_named_pipe_auth_rep_magic, tvb, offset, length, tvb_get_ptr(tvb, offset,length)); offset += length;
537 named_pipe_auth_dissect_element_rep_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *level)
539 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_rep_level, level);
545 named_pipe_auth_dissect_element_rep_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint32 *level)
547 offset = named_pipe_auth_dissect_rep_info(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_rep_info, *level);
553 named_pipe_auth_dissect_element_rep_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
555 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_named_pipe_auth_named_pipe_auth_rep_status, 0);
561 named_pipe_auth_dissect_struct_rep(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_)
564 proto_item *item = NULL;
565 proto_tree *tree = NULL;
566 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
574 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
575 tree = proto_item_add_subtree(item, ett_named_pipe_auth_named_pipe_auth_rep);
578 offset = named_pipe_auth_dissect_element_rep_length(tvb, offset, pinfo, tree, drep);
580 offset = named_pipe_auth_dissect_element_rep_magic(tvb, offset, pinfo, tree, drep);
582 offset = named_pipe_auth_dissect_element_rep_level(tvb, offset, pinfo, tree, drep, &level);
584 offset = named_pipe_auth_dissect_element_rep_info(tvb, offset, pinfo, tree, drep, &level);
586 offset = named_pipe_auth_dissect_element_rep_status(tvb, offset, pinfo, tree, drep);
589 proto_item_set_len(item, offset-old_offset);
592 if (di->call_data->flags & DCERPC_IS_NDR64) {
600 static dcerpc_sub_dissector named_pipe_auth_dissectors[] = {
601 { 0, NULL, NULL, NULL }
604 void proto_register_dcerpc_named_pipe_auth(void)
606 static hf_register_info hf[] = {
607 { &hf_named_pipe_auth_named_pipe_auth_req_info4_client_name,
608 { "Client Name", "named_pipe_auth.named_pipe_auth_req_info4.client_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
609 { &hf_named_pipe_auth_named_pipe_auth_req_length,
610 { "Length", "named_pipe_auth.named_pipe_auth_req.length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
611 { &hf_named_pipe_auth_opnum,
612 { "Operation", "named_pipe_auth.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
613 { &hf_named_pipe_auth_named_pipe_auth_rep_status,
614 { "Status", "named_pipe_auth.named_pipe_auth_rep.status", FT_UINT32, BASE_DEC, VALS(NT_errors), 0, NULL, HFILL }},
615 { &hf_named_pipe_auth_named_pipe_auth_rep_info4_allocation_size,
616 { "Allocation Size", "named_pipe_auth.named_pipe_auth_rep_info4.allocation_size", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
617 { &hf_named_pipe_auth_named_pipe_auth_req_info4_client_addr,
618 { "Client Addr", "named_pipe_auth.named_pipe_auth_req_info4.client_addr", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
619 { &hf_named_pipe_auth_named_pipe_auth_rep_info,
620 { "Info", "named_pipe_auth.named_pipe_auth_rep.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
621 { &hf_named_pipe_auth_named_pipe_auth_req_info_info4,
622 { "Info4", "named_pipe_auth.named_pipe_auth_req_info.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
623 { &hf_named_pipe_auth_named_pipe_auth_req_info,
624 { "Info", "named_pipe_auth.named_pipe_auth_req.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
625 { &hf_named_pipe_auth_named_pipe_auth_req_info4_session_info,
626 { "Session Info", "named_pipe_auth.named_pipe_auth_req_info4.session_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
627 { &hf_named_pipe_auth_named_pipe_auth_rep_magic,
628 { "Magic", "named_pipe_auth.named_pipe_auth_rep.magic", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
629 { &hf_named_pipe_auth_named_pipe_auth_req_magic,
630 { "Magic", "named_pipe_auth.named_pipe_auth_req.magic", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
631 { &hf_named_pipe_auth_named_pipe_auth_rep_level,
632 { "Level", "named_pipe_auth.named_pipe_auth_rep.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
633 { &hf_named_pipe_auth_named_pipe_auth_req_info4_server_port,
634 { "Server Port", "named_pipe_auth.named_pipe_auth_req_info4.server_port", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
635 { &hf_named_pipe_auth_named_pipe_auth_rep_info4_file_type,
636 { "File Type", "named_pipe_auth.named_pipe_auth_rep_info4.file_type", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
637 { &hf_named_pipe_auth_named_pipe_auth_req_level,
638 { "Level", "named_pipe_auth.named_pipe_auth_req.level", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
639 { &hf_named_pipe_auth_named_pipe_auth_req_info4_client_port,
640 { "Client Port", "named_pipe_auth.named_pipe_auth_req_info4.client_port", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
641 { &hf_named_pipe_auth_named_pipe_auth_rep_info4_device_state,
642 { "Device State", "named_pipe_auth.named_pipe_auth_rep_info4.device_state", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
643 { &hf_named_pipe_auth_named_pipe_auth_req_info4_server_addr,
644 { "Server Addr", "named_pipe_auth.named_pipe_auth_req_info4.server_addr", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
645 { &hf_named_pipe_auth_named_pipe_auth_rep_info_info4,
646 { "Info4", "named_pipe_auth.named_pipe_auth_rep_info.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
647 { &hf_named_pipe_auth_named_pipe_auth_rep_length,
648 { "Length", "named_pipe_auth.named_pipe_auth_rep.length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
649 { &hf_named_pipe_auth_named_pipe_auth_req_info4_server_name,
650 { "Server Name", "named_pipe_auth.named_pipe_auth_req_info4.server_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
654 static gint *ett[] = {
655 &ett_dcerpc_named_pipe_auth,
656 &ett_named_pipe_auth_named_pipe_auth_req_info4,
657 &ett_named_pipe_auth_named_pipe_auth_req_info,
658 &ett_named_pipe_auth_named_pipe_auth_req,
659 &ett_named_pipe_auth_named_pipe_auth_rep_info4,
660 &ett_named_pipe_auth_named_pipe_auth_rep_info,
661 &ett_named_pipe_auth_named_pipe_auth_rep,
664 proto_dcerpc_named_pipe_auth = proto_register_protocol("NAMED_PIPE_AUTH (pidl)", "NAMED_PIPE_AUTH", "named_pipe_auth");
665 proto_register_field_array(proto_dcerpc_named_pipe_auth, hf, array_length (hf));
666 proto_register_subtree_array(ett, array_length(ett));
669 void proto_reg_handoff_dcerpc_named_pipe_auth(void)
671 dcerpc_init_uuid(proto_dcerpc_named_pipe_auth, ett_dcerpc_named_pipe_auth,
672 &uuid_dcerpc_named_pipe_auth, ver_dcerpc_named_pipe_auth,
673 named_pipe_auth_dissectors, hf_named_pipe_auth_opnum);