2 This filter was automatically generated
3 from /home/metze/devel/samba/4.0/master4-franky/librpc/idl/smb_acl.idl and /home/metze/devel/samba/4.0/master4-franky/librpc/idl/smb_acl.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-smb_acl.h"
31 /* Ett declarations */
32 static gint ett_dcerpc_smb_acl = -1;
33 static gint ett_smb_acl_smb_acl_user = -1;
34 static gint ett_smb_acl_smb_acl_group = -1;
35 static gint ett_smb_acl_smb_acl_entry_info = -1;
36 static gint ett_smb_acl_smb_acl_entry = -1;
37 static gint ett_smb_acl_smb_acl_t = -1;
38 static gint ett_smb_acl_smb_acl_wrapper = -1;
41 /* Header field declarations */
42 static gint hf_smb_acl_smb_acl_wrapper_mode = -1;
43 static gint hf_smb_acl_smb_acl_entry_info = -1;
44 static gint hf_smb_acl_smb_acl_wrapper_default_acl = -1;
45 static gint hf_smb_acl_smb_acl_entry_info_group = -1;
46 static gint hf_smb_acl_smb_acl_wrapper_access_acl = -1;
47 static gint hf_smb_acl_smb_acl_entry_info_user = -1;
48 static gint hf_smb_acl_smb_acl_t_acl = -1;
49 static gint hf_smb_acl_smb_acl_user_uid = -1;
50 static gint hf_smb_acl_smb_acl_t_next = -1;
51 static gint hf_smb_acl_smb_acl_entry_a_perm = -1;
52 static gint hf_smb_acl_smb_acl_group_gid = -1;
53 static gint hf_smb_acl_smb_acl_wrapper_group = -1;
54 static gint hf_smb_acl_smb_acl_t_count = -1;
55 static gint hf_smb_acl_smb_acl_wrapper_owner = -1;
56 static gint hf_smb_acl_smb_acl_entry_a_type = -1;
57 static gint hf_smb_acl_opnum = -1;
59 static gint proto_dcerpc_smb_acl = -1;
60 /* Version information */
63 static e_uuid_t uuid_dcerpc_smb_acl = {
65 { 0x, 0x, 0x, 0x, 0x, 0x, 0x, 0x }
67 static guint16 ver_dcerpc_smb_acl = 0;
69 const value_string smb_acl_smb_acl_tag_t_vals[] = {
70 { SMB_ACL_TAG_INVALID, "SMB_ACL_TAG_INVALID" },
71 { SMB_ACL_USER, "SMB_ACL_USER" },
72 { SMB_ACL_USER_OBJ, "SMB_ACL_USER_OBJ" },
73 { SMB_ACL_GROUP, "SMB_ACL_GROUP" },
74 { SMB_ACL_GROUP_OBJ, "SMB_ACL_GROUP_OBJ" },
75 { SMB_ACL_OTHER, "SMB_ACL_OTHER" },
76 { SMB_ACL_MASK, "SMB_ACL_MASK" },
79 static int smb_acl_dissect_element_user_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
80 static int smb_acl_dissect_element_group_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
81 static int smb_acl_dissect_element_entry_info_user(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
82 static int smb_acl_dissect_element_entry_info_group(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
83 static int smb_acl_dissect_element_entry_a_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint1632 *a_type);
84 static int smb_acl_dissect_element_entry_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint1632 *a_type);
85 static int smb_acl_dissect_element_entry_a_perm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
86 static int smb_acl_dissect_element_t_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
87 static int smb_acl_dissect_element_t_next(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
88 static int smb_acl_dissect_element_t_acl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
89 static int smb_acl_dissect_element_t_acl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
90 static int smb_acl_dissect_element_wrapper_access_acl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
91 static int smb_acl_dissect_element_wrapper_access_acl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
92 static int smb_acl_dissect_element_wrapper_default_acl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
93 static int smb_acl_dissect_element_wrapper_default_acl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
94 static int smb_acl_dissect_element_wrapper_owner(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
95 static int smb_acl_dissect_element_wrapper_group(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
96 static int smb_acl_dissect_element_wrapper_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_);
100 /* IDL: SMB_ACL_TAG_INVALID=0, */
101 /* IDL: SMB_ACL_USER=1, */
102 /* IDL: SMB_ACL_USER_OBJ=2, */
103 /* IDL: SMB_ACL_GROUP=3, */
104 /* IDL: SMB_ACL_GROUP_OBJ=4, */
105 /* IDL: SMB_ACL_OTHER=5, */
106 /* IDL: SMB_ACL_MASK=6, */
110 smb_acl_dissect_enum_tag_t(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_)
112 guint1632 parameter=0;
114 parameter=(guint1632)*param;
116 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, drep, hf_index, ¶meter);
118 *param=(guint32)parameter;
125 /* IDL: uid_t uid; */
129 smb_acl_dissect_element_user_uid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
131 offset = smb_acl_dissect_struct_uid_t(tvb,offset,pinfo,tree,drep,hf_smb_acl_smb_acl_user_uid,0);
137 smb_acl_dissect_struct_user(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_)
139 proto_item *item = NULL;
140 proto_tree *tree = NULL;
141 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
149 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
150 tree = proto_item_add_subtree(item, ett_smb_acl_smb_acl_user);
153 offset = smb_acl_dissect_element_user_uid(tvb, offset, pinfo, tree, drep);
156 proto_item_set_len(item, offset-old_offset);
159 if (di->call_data->flags & DCERPC_IS_NDR64) {
168 /* IDL: gid_t gid; */
172 smb_acl_dissect_element_group_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
174 offset = smb_acl_dissect_struct_gid_t(tvb,offset,pinfo,tree,drep,hf_smb_acl_smb_acl_group_gid,0);
180 smb_acl_dissect_struct_group(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_)
182 proto_item *item = NULL;
183 proto_tree *tree = NULL;
184 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
192 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
193 tree = proto_item_add_subtree(item, ett_smb_acl_smb_acl_group);
196 offset = smb_acl_dissect_element_group_gid(tvb, offset, pinfo, tree, drep);
199 proto_item_set_len(item, offset-old_offset);
202 if (di->call_data->flags & DCERPC_IS_NDR64) {
210 /* IDL: [switch_type(uint16)] union { */
211 /* IDL: [case(SMB_ACL_USER)] [case(SMB_ACL_USER)] smb_acl_user user; */
212 /* IDL: [case(SMB_ACL_USER_OBJ)] [case(SMB_ACL_USER_OBJ)] EMPTY ; */
213 /* IDL: [case(SMB_ACL_GROUP)] [case(SMB_ACL_GROUP)] smb_acl_group group; */
214 /* IDL: [case(SMB_ACL_GROUP_OBJ)] [case(SMB_ACL_GROUP_OBJ)] EMPTY ; */
215 /* IDL: [case(SMB_ACL_OTHER)] [case(SMB_ACL_OTHER)] EMPTY ; */
216 /* IDL: [case(SMB_ACL_MASK)] [case(SMB_ACL_MASK)] EMPTY ; */
220 smb_acl_dissect_element_entry_info_user(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
222 offset = smb_acl_dissect_struct_user(tvb,offset,pinfo,tree,drep,hf_smb_acl_smb_acl_entry_info_user,0);
228 smb_acl_dissect_element_entry_info_group(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
230 offset = smb_acl_dissect_struct_group(tvb,offset,pinfo,tree,drep,hf_smb_acl_smb_acl_entry_info_group,0);
236 smb_acl_dissect_entry_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_)
238 proto_item *item = NULL;
239 proto_tree *tree = NULL;
245 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "smb_acl_entry_info");
246 tree = proto_item_add_subtree(item, ett_smb_acl_smb_acl_entry_info);
249 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_index, &level);
254 offset = smb_acl_dissect_element_entry_info_user(tvb, offset, pinfo, tree, drep);
257 case SMB_ACL_USER_OBJ:
261 offset = smb_acl_dissect_element_entry_info_group(tvb, offset, pinfo, tree, drep);
264 case SMB_ACL_GROUP_OBJ:
273 proto_item_set_len(item, offset-old_offset);
280 /* IDL: smb_acl_tag_t a_type; */
281 /* IDL: [switch_is(a_type)] smb_acl_entry_info info; */
282 /* IDL: uint32 a_perm; */
286 smb_acl_dissect_element_entry_a_type(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint1632 *a_type)
288 offset = smb_acl_dissect_enum_tag_t(tvb, offset, pinfo, tree, drep, hf_smb_acl_smb_acl_entry_a_type, a_type);
294 smb_acl_dissect_element_entry_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, guint1632 *a_type)
296 offset = smb_acl_dissect_entry_info(tvb, offset, pinfo, tree, drep, hf_smb_acl_smb_acl_entry_info, *a_type);
302 smb_acl_dissect_element_entry_a_perm(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
304 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_smb_acl_smb_acl_entry_a_perm, 0);
310 smb_acl_dissect_struct_entry(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_)
313 proto_item *item = NULL;
314 proto_tree *tree = NULL;
315 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
323 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
324 tree = proto_item_add_subtree(item, ett_smb_acl_smb_acl_entry);
327 offset = smb_acl_dissect_element_entry_a_type(tvb, offset, pinfo, tree, drep, &a_type);
329 offset = smb_acl_dissect_element_entry_info(tvb, offset, pinfo, tree, drep, &a_type);
331 offset = smb_acl_dissect_element_entry_a_perm(tvb, offset, pinfo, tree, drep);
334 proto_item_set_len(item, offset-old_offset);
337 if (di->call_data->flags & DCERPC_IS_NDR64) {
346 /* IDL: int32 count; */
347 /* IDL: [value(0)] int32 next; */
348 /* IDL: [size_is(count)] smb_acl_entry acl[*]; */
352 smb_acl_dissect_element_t_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
354 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_smb_acl_smb_acl_t_count, 0);
360 smb_acl_dissect_element_t_next(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
362 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_smb_acl_smb_acl_t_next, 0);
368 smb_acl_dissect_element_t_acl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
370 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, smb_acl_dissect_element_t_acl_);
376 smb_acl_dissect_element_t_acl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
378 offset = smb_acl_dissect_struct_entry(tvb,offset,pinfo,tree,drep,hf_smb_acl_smb_acl_t_acl,0);
384 smb_acl_dissect_struct_t(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_)
386 proto_item *item = NULL;
387 proto_tree *tree = NULL;
388 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
396 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
397 tree = proto_item_add_subtree(item, ett_smb_acl_smb_acl_t);
400 offset = smb_acl_dissect_element_t_count(tvb, offset, pinfo, tree, drep);
402 offset = smb_acl_dissect_element_t_next(tvb, offset, pinfo, tree, drep);
404 offset = smb_acl_dissect_element_t_acl(tvb, offset, pinfo, tree, drep);
407 proto_item_set_len(item, offset-old_offset);
410 if (di->call_data->flags & DCERPC_IS_NDR64) {
419 /* IDL: [unique(1)] smb_acl_t *access_acl; */
420 /* IDL: [unique(1)] smb_acl_t *default_acl; */
421 /* IDL: uid_t owner; */
422 /* IDL: gid_t group; */
423 /* IDL: uint32 mode; */
427 smb_acl_dissect_element_wrapper_access_acl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
429 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, smb_acl_dissect_element_wrapper_access_acl_, NDR_POINTER_UNIQUE, "Pointer to Access Acl (smb_acl_t)",hf_smb_acl_smb_acl_wrapper_access_acl);
435 smb_acl_dissect_element_wrapper_access_acl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
437 offset = smb_acl_dissect_struct_t(tvb,offset,pinfo,tree,drep,hf_smb_acl_smb_acl_wrapper_access_acl,0);
443 smb_acl_dissect_element_wrapper_default_acl(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
445 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, drep, smb_acl_dissect_element_wrapper_default_acl_, NDR_POINTER_UNIQUE, "Pointer to Default Acl (smb_acl_t)",hf_smb_acl_smb_acl_wrapper_default_acl);
451 smb_acl_dissect_element_wrapper_default_acl_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
453 offset = smb_acl_dissect_struct_t(tvb,offset,pinfo,tree,drep,hf_smb_acl_smb_acl_wrapper_default_acl,0);
459 smb_acl_dissect_element_wrapper_owner(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
461 offset = smb_acl_dissect_struct_uid_t(tvb,offset,pinfo,tree,drep,hf_smb_acl_smb_acl_wrapper_owner,0);
467 smb_acl_dissect_element_wrapper_group(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
469 offset = smb_acl_dissect_struct_gid_t(tvb,offset,pinfo,tree,drep,hf_smb_acl_smb_acl_wrapper_group,0);
475 smb_acl_dissect_element_wrapper_mode(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
477 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_smb_acl_smb_acl_wrapper_mode, 0);
483 smb_acl_dissect_struct_wrapper(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_)
485 proto_item *item = NULL;
486 proto_tree *tree = NULL;
487 dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
495 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
496 tree = proto_item_add_subtree(item, ett_smb_acl_smb_acl_wrapper);
499 offset = smb_acl_dissect_element_wrapper_access_acl(tvb, offset, pinfo, tree, drep);
501 offset = smb_acl_dissect_element_wrapper_default_acl(tvb, offset, pinfo, tree, drep);
503 offset = smb_acl_dissect_element_wrapper_owner(tvb, offset, pinfo, tree, drep);
505 offset = smb_acl_dissect_element_wrapper_group(tvb, offset, pinfo, tree, drep);
507 offset = smb_acl_dissect_element_wrapper_mode(tvb, offset, pinfo, tree, drep);
510 proto_item_set_len(item, offset-old_offset);
513 if (di->call_data->flags & DCERPC_IS_NDR64) {
521 static dcerpc_sub_dissector smb_acl_dissectors[] = {
522 { 0, NULL, NULL, NULL }
525 void proto_register_dcerpc_smb_acl(void)
527 static hf_register_info hf[] = {
528 { &hf_smb_acl_smb_acl_wrapper_mode,
529 { "Mode", "smb_acl.smb_acl_wrapper.mode", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
530 { &hf_smb_acl_smb_acl_entry_info,
531 { "Info", "smb_acl.smb_acl_entry.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
532 { &hf_smb_acl_smb_acl_wrapper_default_acl,
533 { "Default Acl", "smb_acl.smb_acl_wrapper.default_acl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
534 { &hf_smb_acl_smb_acl_entry_info_group,
535 { "Group", "smb_acl.smb_acl_entry_info.group", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
536 { &hf_smb_acl_smb_acl_wrapper_access_acl,
537 { "Access Acl", "smb_acl.smb_acl_wrapper.access_acl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
538 { &hf_smb_acl_smb_acl_entry_info_user,
539 { "User", "smb_acl.smb_acl_entry_info.user", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
540 { &hf_smb_acl_smb_acl_t_acl,
541 { "Acl", "smb_acl.smb_acl_t.acl", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
542 { &hf_smb_acl_smb_acl_user_uid,
543 { "Uid", "smb_acl.smb_acl_user.uid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
544 { &hf_smb_acl_smb_acl_t_next,
545 { "Next", "smb_acl.smb_acl_t.next", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
546 { &hf_smb_acl_smb_acl_entry_a_perm,
547 { "A Perm", "smb_acl.smb_acl_entry.a_perm", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
548 { &hf_smb_acl_smb_acl_group_gid,
549 { "Gid", "smb_acl.smb_acl_group.gid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
550 { &hf_smb_acl_smb_acl_wrapper_group,
551 { "Group", "smb_acl.smb_acl_wrapper.group", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
552 { &hf_smb_acl_smb_acl_t_count,
553 { "Count", "smb_acl.smb_acl_t.count", FT_INT32, BASE_DEC, NULL, 0, NULL, HFILL }},
554 { &hf_smb_acl_smb_acl_wrapper_owner,
555 { "Owner", "smb_acl.smb_acl_wrapper.owner", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
556 { &hf_smb_acl_smb_acl_entry_a_type,
557 { "A Type", "smb_acl.smb_acl_entry.a_type", FT_UINT1632, BASE_DEC, VALS(smb_acl_smb_acl_tag_t_vals), 0, NULL, HFILL }},
559 { "Operation", "smb_acl.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
563 static gint *ett[] = {
565 &ett_smb_acl_smb_acl_user,
566 &ett_smb_acl_smb_acl_group,
567 &ett_smb_acl_smb_acl_entry_info,
568 &ett_smb_acl_smb_acl_entry,
569 &ett_smb_acl_smb_acl_t,
570 &ett_smb_acl_smb_acl_wrapper,
573 proto_dcerpc_smb_acl = proto_register_protocol("SMB_ACL (pidl)", "SMB_ACL", "smb_acl");
574 proto_register_field_array(proto_dcerpc_smb_acl, hf, array_length (hf));
575 proto_register_subtree_array(ett, array_length(ett));
578 void proto_reg_handoff_dcerpc_smb_acl(void)
580 dcerpc_init_uuid(proto_dcerpc_smb_acl, ett_dcerpc_smb_acl,
581 &uuid_dcerpc_smb_acl, ver_dcerpc_smb_acl,
582 smb_acl_dissectors, hf_smb_acl_opnum);