1 /* packet-dcerpc-afs4int.c
3 * Routines for dcerpc Afs4Int dissection
4 * Copyright 2002, Jaime Fournier <Jaime.Fournier@hush.com>
5 * This information is based off the released idl files from opengroup.
6 * ftp://ftp.opengroup.org/pub/dce122/dce/src/file.tar.gz file/fsint/afs4int.idl
8 * $Id: packet-dcerpc-afs4int.c,v 1.7 2004/02/01 06:49:22 jmayer Exp $
10 * Ethereal - Network traffic analyzer
11 * By Gerald Combs <gerald@ethereal.com>
12 * Copyright 1998 Gerald Combs
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License
16 * as published by the Free Software Foundation; either version 2
17 * of the License, or (at your option) any later version.
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
35 #ifdef HAVE_SYS_TYPES_H
36 #include <sys/types.h>
42 #include <epan/packet.h>
43 #include "packet-dcerpc.h"
44 #include "packet-dcerpc-dce122.h"
46 #define AFS_SETMODTIME 1
47 #define AFS_SETOWNER 2
48 #define AFS_SETGROUP 4
50 #define AFS_SETACCESSTIME 0x10
51 #define AFS_SETCHANGETIME 0x20
52 #define AFS_SETLENGTH 0x40
53 #define AFS_SETTYPEUUID 0x80
54 #define AFS_SETDEVNUM 0x100
55 #define AFS_SETMODEXACT 0x200
56 #define AFS_SETTRUNCLENGTH 0x400
57 #define AFS_SETCLIENTSPARE 0x800
59 #define TKN_LOCK_READ 0x001
60 #define TKN_LOCK_WRITE 0x002
61 #define TKN_DATA_READ 0x004
62 #define TKN_DATA_WRITE 0x008
63 #define TKN_OPEN_READ 0x010
64 #define TKN_OPEN_WRITE 0x020
65 #define TKN_OPEN_SHARED 0x040
66 #define TKN_OPEN_EXCLUSIVE 0x080
67 #define TKN_OPEN_DELETE 0x100
68 #define TKN_OPEN_PRESERVE 0x200
69 #define TKN_STATUS_READ 0x400
70 #define TKN_STATUS_WRITE 0x800
71 #define TKN_OPEN_UNLINK 0x1000
72 #define TKN_SPOT_HERE 0x2000
73 #define TKN_SPOT_THERE 0x4000
74 #define TKN_OPEN_NO_READ 0x8000
75 #define TKN_OPEN_NO_WRITE 0x10000
76 #define TKN_OPEN_NO_UNLINK 0x20000
78 #define AFS_CONN_PARAM_HOSTLIFE 0
79 #define AFS_CONN_PARAM_HOSTRPC 1
80 #define AFS_CONN_PARAM_DEADSERVER 2
81 #define AFS_CONN_PARAM_EPOCH 3
82 #define AFS_CONN_PARAM_MAXFILE_CLIENT 4
83 #define AFS_CONN_PARAM_MAXFILE_SERVER 5
84 #define AFS_CONN_PARAM_HOST_TYPE_CLIENT 6
85 #define AFS_CONN_PARAM_HOST_TYPE_SERVER 7
86 #define AFS_CONN_PARAM_FT_MASK_CLIENT 8
87 #define AFS_CONN_PARAM_FT_MASK_SERVER 9
88 #define AFS_CONN_PARAM_SUPPORTS_64BITS 0x10000
89 #define AFS_CONN_PARAM_512BYTE_BLOCKS 0x20000
91 #define AFS_FLAG_SEC_SERVICE 0x1
92 #define AFS_FLAG_CONTEXT_NEW_IF 0x2
93 #define AFS_FLAG_CONTEXT_DO_RESET 0x4
94 #define AFS_FLAG_CONTEXT_NEW_ACL_IF 0x8
95 #define AFS_FLAG_CONTEXT_NEW_TKN_TYPES 0x10
97 #define AFS_FLAG_RETURNTOKEN 1
98 #define AFS_FLAG_TOKENJUMPQUEUE 2
99 #define AFS_FLAG_SKIPTOKEN 4
100 #define AFS_FLAG_NOOPTIMISM 0x8
101 #define AFS_FLAG_TOKENID 0x10
102 #define AFS_FLAG_RETURNBLOCKER 0x20
103 #define AFS_FLAG_ASYNCGRANT 0x40
104 #define AFS_FLAG_NOREVOKE 0x80
105 #define AFS_FLAG_MOVE_REESTABLISH 0x100
106 #define AFS_FLAG_SERVER_REESTABLISH 0x200
107 #define AFS_FLAG_NO_NEW_EPOCH 0x400
108 #define AFS_FLAG_MOVE_SOURCE_OK 0x800
109 #define AFS_FLAG_SYNC 0x1000
110 #define AFS_FLAG_ZERO 0x2000
111 #define AFS_FLAG_SKIPSTATUS 0x4000
112 #define AFS_FLAG_FORCEREVOCATIONS 0x8000
113 #define AFS_FLAG_FORCEVOLQUIESCE 0x10000
114 #define AFS_FLAG_FORCEREVOCATIONDOWN 0x20000
116 static int hf_afs4int_opnum = -1;
119 static int hf_afs4int_afsFid_cell_high = -1;
120 static int hf_afs4int_afsuuid_uuid = -1;
121 static int hf_afs4int_fetchdata_pipe_t_size = -1;
122 static int hf_afs4int_afsNameString_t_principalName_string = -1;
123 static int hf_afs4int_afsFid_cell_low = -1;
124 static int hf_afs4int_afsFid_volume_high = -1;
125 static int hf_afs4int_afsFid_volume_low = -1;
126 static int hf_afs4int_afsFid_Vnode = -1;
127 static int hf_afs4int_afsFid_Unique = -1;
128 static int hf_afs4int_volume_high = -1;
129 static int hf_afs4int_volume_low = -1;
130 static int hf_afs4int_vnode = -1;
131 static int hf_afs4int_unique = -1;
132 static int hf_afs4int_interfaceversion = -1;
133 static int hf_afs4int_filetype = -1;
134 static int hf_afs4int_linkcount = -1;
135 static int hf_afs4int_length_high = -1;
136 static int hf_afs4int_length_low = -1;
137 static int hf_afs4int_dataversion_high = -1;
138 static int hf_afs4int_dataversion_low = -1;
139 static int hf_afs4int_author = -1;
140 static int hf_afs4int_owner = -1;
141 static int hf_afs4int_group = -1;
142 static int hf_afs4int_calleraccess = -1;
143 static int hf_afs4int_anonymousaccess = -1;
144 static int hf_afs4int_aclexpirationtime = -1;
145 static int hf_afs4int_mode = -1;
146 static int hf_afs4int_parentvnode = -1;
147 static int hf_afs4int_parentunique = -1;
148 static int hf_afs4int_modtime_sec = -1;
149 static int hf_afs4int_modtime_msec = -1;
150 static int hf_afs4int_changetime_sec = -1;
151 static int hf_afs4int_changetime_msec = -1;
152 static int hf_afs4int_accesstime_sec = -1;
153 static int hf_afs4int_accesstime_msec = -1;
154 static int hf_afs4int_servermodtime_sec = -1;
155 static int hf_afs4int_servermodtime_msec = -1;
156 static int hf_afs4int_typeuuid = -1;
157 static int hf_afs4int_objectuuid = -1;
158 static int hf_afs4int_devicenumber = -1;
159 static int hf_afs4int_blocksused = -1;
160 static int hf_afs4int_clientspare1 = -1;
161 static int hf_afs4int_devicenumberhighbits = -1;
162 static int hf_afs4int_agtypeunique = -1;
163 static int hf_afs4int_himaxspare = -1;
164 static int hf_afs4int_lomaxspare = -1;
165 static int hf_afs4int_pathconfspare = -1;
166 static int hf_afs4int_spare4 = -1;
167 static int hf_afs4int_spare5 = -1;
168 static int hf_afs4int_spare6 = -1;
169 static int hf_afs4int_volid_hi = -1;
170 static int hf_afs4int_volid_low = -1;
171 static int hf_afs4int_vvage = -1;
172 static int hf_afs4int_vv_hi = -1;
173 static int hf_afs4int_vv_low = -1;
174 static int hf_afs4int_vvpingage = -1;
175 static int hf_afs4int_vvspare1 = -1;
176 static int hf_afs4int_vvspare2 = -1;
177 static int hf_afs4int_beginrange = -1;
178 static int hf_afs4int_beginrangeext = -1;
179 static int hf_afs4int_endrange = -1;
180 static int hf_afs4int_endrangeext = -1;
181 static int hf_afs4int_expirationtime = -1;
182 static int hf_afs4int_tokenid_hi = -1;
183 static int hf_afs4int_tokenid_low = -1;
184 static int hf_afs4int_type_hi = -1;
185 static int hf_afs4int_type_low = -1;
186 static int hf_afs4int_tn_length = -1;
187 static int hf_afs4int_storestatus_accesstime_sec = -1;
188 static int hf_afs4int_storestatus_accesstime_usec = -1;
189 static int hf_afs4int_storestatus_changetime_sec = -1;
190 static int hf_afs4int_storestatus_changetime_usec = -1;
191 static int hf_afs4int_storestatus_clientspare1 = -1;
192 static int hf_afs4int_storestatus_cmask = -1;
193 static int hf_afs4int_storestatus_devicenumber = -1;
194 static int hf_afs4int_storestatus_devicenumberhighbits = -1;
195 static int hf_afs4int_storestatus_devicetype = -1;
196 static int hf_afs4int_storestatus_group = -1;
197 static int hf_afs4int_storestatus_length_high = -1;
198 static int hf_afs4int_storestatus_length_low = -1;
199 static int hf_afs4int_storestatus_mask = -1;
200 static int hf_afs4int_storestatus_mode = -1;
201 static int hf_afs4int_storestatus_modtime_sec = -1;
202 static int hf_afs4int_storestatus_modtime_usec = -1;
203 static int hf_afs4int_storestatus_owner = -1;
204 static int hf_afs4int_storestatus_spare1 = -1;
205 static int hf_afs4int_storestatus_spare2 = -1;
206 static int hf_afs4int_storestatus_spare3 = -1;
207 static int hf_afs4int_storestatus_spare4 = -1;
208 static int hf_afs4int_storestatus_spare5 = -1;
209 static int hf_afs4int_storestatus_spare6 = -1;
210 static int hf_afs4int_storestatus_trunc_high = -1;
211 static int hf_afsconnparams_mask = -1;
212 static int hf_afs4int_storestatus_trunc_low = -1;
213 static int hf_afs4int_storestatus_typeuuid = -1;
214 static int hf_afs4int_l_end_pos = -1;
215 static int hf_afs4int_l_end_pos_ext = -1;
216 static int hf_afs4int_l_fstype = -1;
217 static int hf_afs4int_l_pid = -1;
218 static int hf_afs4int_l_start_pos = -1;
219 static int hf_afs4int_l_start_pos_ext = -1;
220 static int hf_afs4int_l_sysid = -1;
221 static int hf_afs4int_l_type = -1;
222 static int hf_afs4int_l_whence = -1;
223 static int hf_afs4int_acl_len = -1;
224 static int hf_afs4int_st = -1;
225 static int hf_afs4int_uint = -1;
226 static int hf_afs4int_setcontext_rqst_epochtime = -1;
227 static int hf_afs4int_setcontext_rqst_secobjectid = -1;
228 static int hf_afs4int_setcontext_rqst_clientsizesattrs = -1;
229 static int hf_afs4int_setcontext_rqst_parm7 = -1;
230 static int hf_afs4int_afsNetAddr_type = -1;
231 static int hf_afs4int_afsNetAddr_data = -1;
232 static int hf_afs4int_returntokenidp_high = -1;
233 static int hf_afs4int_minvvp_low = -1;
234 static int hf_afs4int_position_high = -1;
235 static int hf_afs4int_position_low = -1;
236 static int hf_afs4int_offsetp_high = -1;
237 static int hf_afs4int_nextoffsetp_low = -1;
238 static int hf_afs4int_cellidp_high = -1;
239 static int hf_afserrorstatus_st = -1;
240 static int hf_afs4int_length = -1;
241 static int hf_afsconnparams_values = -1;
242 static int hf_afs4int_acltype = -1;
243 static int hf_afs4int_afsTaggedPath_tp_chars = -1;
244 static int hf_afs4int_afsTaggedPath_tp_tag = -1;
245 static int hf_afs4int_afsacl_uuid1 = -1;
246 static int hf_afs4int_bulkfetchstatus_size = -1;
247 static int hf_afs4int_flags = -1;
248 static int hf_afs4int_afsreturndesc_tokenid_high = -1;
249 static int hf_afs4int_afsreturndesc_tokenid_low = -1;
250 static int hf_afs4int_afsreturndesc_type_high = -1;
251 static int hf_afs4int_afsreturndesc_type_low = -1;
252 static int hf_afs4int_returntokenidp_low = -1;
253 static int hf_afs4int_minvvp_high = -1;
254 static int hf_afs4int_offsetp_low = -1;
255 static int hf_afs4int_nextoffsetp_high = -1;
256 static int hf_afs4int_cellidp_low = -1;
257 static int hf_afs4int_tn_tag = -1;
258 static int hf_afs4int_tn_size = -1;
259 static int hf_afs4int_tn_string = -1;
260 static int hf_afs4int_bulkfetchvv_numvols = -1;
261 static int hf_afs4int_bulkfetchvv_spare1 = -1;
262 static int hf_afs4int_bulkfetchvv_spare2 = -1;
263 static int hf_afs4int_bulkkeepalive_numexecfids = -1;
264 static int hf_afs4int_bulkkeepalive_spare4 = -1;
265 static int hf_afs4int_bulkkeepalive_spare2 = -1;
266 static int hf_afs4int_bulkkeepalive_spare1 = -1;
267 static int hf_afs4int_afsacl_defaultcell_uuid = -1;
268 static int hf_afs4int_gettime_syncdispersion = -1;
269 static int hf_afs4int_gettime_syncdistance = -1;
270 static int hf_afs4int_gettime_usecondsp = -1;
271 static int hf_afs4int_readdir_size = -1;
272 static int hf_afs4int_afsNameString_t_principalName_size = -1;
273 static int hf_afs4int_afsNameString_t_principalName_size2 = -1;
274 static int hf_afs4int_afsTaggedPath_tp_length = -1;
275 static int hf_afs4int_fstype = -1;
276 static int hf_afs4int_gettime_secondsp = -1;
278 static int proto_afs4int = -1;
280 static gint ett_afs4int = -1;
281 static gint ett_afs4int_afsFid = -1;
282 static gint ett_afs4int_afsReturnDesc = -1;
283 static gint ett_afs4int_afsNetAddr = -1;
284 static gint ett_afs4int_fetchstatus = -1;
285 static gint ett_afs4int_afsflags = -1;
286 static gint ett_afs4int_volsync = -1;
287 static gint ett_afs4int_minvvp = -1;
288 static gint ett_afs4int_afsfidtaggedname = -1;
289 static gint ett_afs4int_afstaggedname = -1;
290 static gint ett_afs4int_afstoken = -1;
291 static gint ett_afs4int_afsstorestatus = -1;
292 static gint ett_afs4int_afsRecordLock = -1;
293 static gint ett_afs4int_afsAcl = -1;
294 static gint ett_afs4int_afsNameString_t = -1;
295 static gint ett_afs4int_afsConnParams = -1;
296 static gint ett_afs4int_afsErrorStatus = -1;
297 static gint ett_afs4int_afsNetData = -1;
298 static gint ett_afs4int_afsTaggedPath = -1;
299 static gint ett_afs4int_afsBulkStat = -1;
300 static gint ett_afs4int_afsuuid = -1;
301 static gint ett_afs4int_offsetp = -1;
302 static gint ett_afs4int_returntokenidp = -1;
303 static gint ett_afs4int_afsbundled_stat = -1;
306 /* vars for our macro(s) */
307 guint32 hf_error_st, st;
311 static e_uuid_t uuid_afs4int =
312 { 0x4d37f2dd, 0xed93, 0x0000, {0x02, 0xc0, 0x37, 0xcf, 0x1e, 0x00, 0x00,
315 static guint16 ver_afs4int = 4;
317 /* XXX the only macro that I could not find the right way to convert easily.
318 The reason is because we reset col_info if st is non zero for many rpcs.
319 This is because on error, many structures are filled with garbage.
320 We end up not knowing if data is valid until we get the st var at the very end of the stubdata..
321 We can not just jump to the end, because more often than not an extra buffer exists in payload
322 after st. Thus we have to advance on each item until we read in ST, then we clear col_info. on error
323 A good example is FetchStatus() on a file that returns ENOEXIST.
324 inode, volume, etc all will be garbage.
327 #define MACRO_ST_CLEAR(name) \
328 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_error_st, &st); \
329 st_str = val_to_str (st, dce_error_vals, "%u"); \
331 if (check_col (pinfo->cinfo, COL_INFO)) \
332 col_add_fstr (pinfo->cinfo, COL_INFO, "%s st:%s ", name, st_str); \
334 if (check_col (pinfo->cinfo, COL_INFO)) \
335 col_append_fstr (pinfo->cinfo, COL_INFO, " st:%s ", st_str); \
339 dissect_afsFid (tvbuff_t * tvb, int offset,
340 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
351 proto_item *item = NULL;
352 proto_tree *tree = NULL;
353 int old_offset = offset;
354 guint32 volume_low, unique, vnode, inode;
357 di = pinfo->private_data;
358 if (di->conformant_run)
367 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsFid:");
368 tree = proto_item_add_subtree (item, ett_afs4int_afsFid);
372 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
373 hf_afs4int_afsFid_cell_high, NULL);
375 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
376 hf_afs4int_afsFid_cell_low, NULL);
378 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
379 hf_afs4int_afsFid_volume_high, NULL);
381 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
382 hf_afs4int_afsFid_volume_low, &volume_low);
384 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
385 hf_afs4int_afsFid_Vnode, &vnode);
387 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
388 hf_afs4int_afsFid_Unique, &unique);
390 if (check_col (pinfo->cinfo, COL_INFO))
391 col_append_fstr (pinfo->cinfo, COL_INFO, " :FSID:%u ", volume_low);
393 if ((vnode == 1) || (vnode == 2))
395 if (check_col (pinfo->cinfo, COL_INFO))
396 col_append_str (pinfo->cinfo, COL_INFO, " InFS ");
400 inode = ((volume_low << 16) + vnode) & 0x7fffffff;
401 if (check_col (pinfo->cinfo, COL_INFO))
402 col_append_fstr (pinfo->cinfo, COL_INFO, " inode:%u ", inode);
405 proto_item_set_len (item, offset - old_offset);
410 dissect_afsConnParams (tvbuff_t * tvb, int offset,
411 packet_info * pinfo, proto_tree * parent_tree,
417 unsigned32 Values[20];
420 proto_item *item = NULL;
421 proto_tree *tree = NULL;
422 int old_offset = offset;
423 guint32 mask, Values[20];
426 di = pinfo->private_data;
427 if (di->conformant_run)
436 proto_tree_add_text (parent_tree, tvb, offset, -1,
438 tree = proto_item_add_subtree (item, ett_afs4int_afsConnParams);
441 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
442 hf_afsconnparams_mask, &mask);
444 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
445 hf_afsconnparams_values, &Values[0]);
447 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
448 hf_afsconnparams_values, &Values[1]);
450 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
451 hf_afsconnparams_values, &Values[2]);
453 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
454 hf_afsconnparams_values, &Values[3]);
456 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
457 hf_afsconnparams_values, &Values[4]);
459 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
460 hf_afsconnparams_values, &Values[5]);
462 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
463 hf_afsconnparams_values, &Values[6]);
465 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
466 hf_afsconnparams_values, &Values[7]);
468 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
469 hf_afsconnparams_values, &Values[9]);
471 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
472 hf_afsconnparams_values, &Values[9]);
474 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
475 hf_afsconnparams_values, &Values[10]);
477 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
478 hf_afsconnparams_values, &Values[11]);
480 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
481 hf_afsconnparams_values, &Values[12]);
483 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
484 hf_afsconnparams_values, &Values[13]);
486 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
487 hf_afsconnparams_values, &Values[14]);
489 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
490 hf_afsconnparams_values, &Values[15]);
492 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
493 hf_afsconnparams_values, &Values[16]);
495 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
496 hf_afsconnparams_values, &Values[17]);
498 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
499 hf_afsconnparams_values, &Values[18]);
501 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
502 hf_afsconnparams_values, &Values[19]);
503 if ((mask & AFS_CONN_PARAM_HOSTLIFE) == AFS_CONN_PARAM_HOSTLIFE)
505 if (check_col (pinfo->cinfo, COL_INFO))
506 col_append_str (pinfo->cinfo, COL_INFO, ":HOSTLIFE");
508 if ((mask & AFS_CONN_PARAM_HOSTRPC) == AFS_CONN_PARAM_HOSTRPC)
510 if (check_col (pinfo->cinfo, COL_INFO))
511 col_append_str (pinfo->cinfo, COL_INFO, ":HOSTRPC");
513 if ((mask & AFS_CONN_PARAM_DEADSERVER) == AFS_CONN_PARAM_DEADSERVER)
515 if (check_col (pinfo->cinfo, COL_INFO))
516 col_append_str (pinfo->cinfo, COL_INFO, ":DEADSERVER");
518 if ((mask & AFS_CONN_PARAM_EPOCH) == AFS_CONN_PARAM_EPOCH)
520 if (check_col (pinfo->cinfo, COL_INFO))
521 col_append_str (pinfo->cinfo, COL_INFO, ":EPOCH");
523 if ((mask & AFS_CONN_PARAM_MAXFILE_CLIENT) == AFS_CONN_PARAM_MAXFILE_CLIENT)
525 if (check_col (pinfo->cinfo, COL_INFO))
526 col_append_str (pinfo->cinfo, COL_INFO, ":MAXFILE_CLIENT");
528 if ((mask & AFS_CONN_PARAM_MAXFILE_SERVER) == AFS_CONN_PARAM_MAXFILE_SERVER)
530 if (check_col (pinfo->cinfo, COL_INFO))
531 col_append_str (pinfo->cinfo, COL_INFO, ":MAXFILE_SERVER");
533 if ((mask & AFS_CONN_PARAM_HOST_TYPE_CLIENT) ==
534 AFS_CONN_PARAM_HOST_TYPE_CLIENT)
536 if (check_col (pinfo->cinfo, COL_INFO))
537 col_append_str (pinfo->cinfo, COL_INFO, ":HOST_TYPE_CLIENT");
539 if ((mask & AFS_CONN_PARAM_HOST_TYPE_SERVER) ==
540 AFS_CONN_PARAM_HOST_TYPE_SERVER)
542 if (check_col (pinfo->cinfo, COL_INFO))
543 col_append_str (pinfo->cinfo, COL_INFO, ":HOST_TYPE_SERVER");
545 if ((mask & AFS_CONN_PARAM_FT_MASK_CLIENT) == AFS_CONN_PARAM_FT_MASK_CLIENT)
547 if (check_col (pinfo->cinfo, COL_INFO))
548 col_append_str (pinfo->cinfo, COL_INFO, ":FT_MASK_CLIENT");
550 if ((mask & AFS_CONN_PARAM_FT_MASK_SERVER) == AFS_CONN_PARAM_FT_MASK_SERVER)
552 if (check_col (pinfo->cinfo, COL_INFO))
553 col_append_str (pinfo->cinfo, COL_INFO, ":FT_MASK_SERVER");
555 if ((mask & AFS_CONN_PARAM_SUPPORTS_64BITS) ==
556 AFS_CONN_PARAM_SUPPORTS_64BITS)
558 if (check_col (pinfo->cinfo, COL_INFO))
559 col_append_str (pinfo->cinfo, COL_INFO, ":SUPPORTS_64BITS");
561 if ((mask & AFS_CONN_PARAM_512BYTE_BLOCKS) == AFS_CONN_PARAM_512BYTE_BLOCKS)
563 if (check_col (pinfo->cinfo, COL_INFO))
564 col_append_str (pinfo->cinfo, COL_INFO, ":512BYTE_BLOCKS");
566 if (check_col (pinfo->cinfo, COL_INFO))
567 col_append_fstr (pinfo->cinfo, COL_INFO,
568 " Values:%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u",
569 Values[0], Values[1], Values[2], Values[3],
570 Values[4], Values[5], Values[6], Values[7], Values[8],
571 Values[9], Values[10], Values[11], Values[12],
572 Values[13], Values[14], Values[15], Values[16],
573 Values[17], Values[18], Values[19]);
575 proto_item_set_len (item, offset - old_offset);
580 dissect_afsNameString_t (tvbuff_t * tvb, int offset,
581 packet_info * pinfo, proto_tree * parent_tree,
586 typedef [string] byte NameString_t[AFS_NAMEMAX];
589 proto_item *item = NULL;
590 proto_tree *tree = NULL;
591 int old_offset = offset;
592 #define AFS_NAMEMAX 256
594 const guint8 *namestring;
597 di = pinfo->private_data;
598 if (di->conformant_run)
607 proto_tree_add_text (parent_tree, tvb, offset, -1,
609 tree = proto_item_add_subtree (item, ett_afs4int_afsNameString_t);
613 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
614 hf_afs4int_afsNameString_t_principalName_size,
616 if (check_col (pinfo->cinfo, COL_INFO))
617 col_append_fstr (pinfo->cinfo, COL_INFO, " String_size:%u", string_size);
618 if (string_size < AFS_NAMEMAX)
620 /* proto_tree_add_string(tree, id, tvb, start, length, value_ptr); */
622 proto_tree_add_string (tree, hf_afs4int_afsNameString_t_principalName_string, tvb, offset, string_size, tvb_get_ptr (tvb, offset, string_size));
623 namestring = tvb_get_ptr (tvb, offset, string_size);
624 offset += string_size;
625 if (check_col (pinfo->cinfo, COL_INFO))
626 col_append_fstr (pinfo->cinfo, COL_INFO, " Principal:%s", namestring);
630 if (check_col (pinfo->cinfo, COL_INFO))
631 col_append_fstr (pinfo->cinfo, COL_INFO,
632 " :FIXME!: Invalid string length of %u",
636 proto_item_set_len (item, offset - old_offset);
642 dissect_afsNetAddr (tvbuff_t * tvb, int offset,
643 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
650 proto_item *item = NULL;
651 proto_tree *tree = NULL;
652 int old_offset = offset;
658 di = pinfo->private_data;
659 if (di->conformant_run)
666 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
668 tree = proto_item_add_subtree (item, ett_afs4int_afsNetAddr);
673 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep,
674 hf_afs4int_afsNetAddr_type, &type);
678 if (check_col (pinfo->cinfo, COL_INFO))
679 col_append_fstr (pinfo->cinfo, COL_INFO, " Type:%u ", type);
682 for (i = 0; i < 14; i++)
686 dissect_ndr_uint8 (tvb, offset, pinfo, tree, drep,
687 hf_afs4int_afsNetAddr_data, &data);
695 if (check_col (pinfo->cinfo, COL_INFO))
696 col_append_fstr (pinfo->cinfo, COL_INFO, " Port:%u",
701 if (check_col (pinfo->cinfo, COL_INFO))
702 col_append_fstr (pinfo->cinfo, COL_INFO, " IP:%u.", data);
705 if (check_col (pinfo->cinfo, COL_INFO))
706 col_append_fstr (pinfo->cinfo, COL_INFO, "%u.", data);
709 if (check_col (pinfo->cinfo, COL_INFO))
710 col_append_fstr (pinfo->cinfo, COL_INFO, "%u.", data);
713 if (check_col (pinfo->cinfo, COL_INFO))
714 col_append_fstr (pinfo->cinfo, COL_INFO, "%u", data);
724 offset += 14; /* space left after reading in type for the array. */
728 proto_item_set_len (item, offset - old_offset);
734 dissect_afsNetData (tvbuff_t * tvb, int offset,
735 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
739 NameString_t principalName;
741 proto_item *item = NULL;
742 proto_tree *tree = NULL;
743 int old_offset = offset;
746 di = pinfo->private_data;
747 if (di->conformant_run)
755 proto_tree_add_text (parent_tree, tvb, offset, -1, "afsNetData:");
756 tree = proto_item_add_subtree (item, ett_afs4int_afsNetData);
760 offset = dissect_afsNetAddr ( tvb, offset, pinfo, tree, drep);
761 offset += 4; /* buffer */
762 offset = dissect_afsNameString_t ( tvb, offset, pinfo, tree, drep);
764 proto_item_set_len (item, offset - old_offset);
770 dissect_afsTaggedPath (tvbuff_t * tvb, int offset,
771 packet_info * pinfo, proto_tree * parent_tree,
777 unsigned16 tp_length;
778 byte tp_chars[AFS_PATHMAX+1]; 1024+1
781 proto_item *item = NULL;
782 proto_tree *tree = NULL;
783 int old_offset = offset;
786 const guint8 *tp_chars;
789 di = pinfo->private_data;
790 if (di->conformant_run)
799 proto_tree_add_text (parent_tree, tvb, offset, -1, "afsTaggedPath");
800 tree = proto_item_add_subtree (item, ett_afs4int_afsTaggedPath);
805 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
806 hf_afs4int_afsTaggedPath_tp_tag, &tp_tag);
808 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep,
809 hf_afs4int_afsTaggedPath_tp_length, &tp_length);
810 proto_tree_add_string (tree, hf_afs4int_afsTaggedPath_tp_chars, tvb, offset,
811 hf_afs4int_afsTaggedPath_tp_length, tvb_get_ptr (tvb,
814 tp_chars = tvb_get_ptr (tvb, offset, 1025);
816 if (check_col (pinfo->cinfo, COL_INFO))
817 col_append_fstr (pinfo->cinfo, COL_INFO, " :tp_chars %s", tp_chars);
820 proto_item_set_len (item, offset - old_offset);
825 dissect_afsAcl (tvbuff_t * tvb, int offset,
826 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
829 unsigned32 afsACL_len;
830 [length_is(afsACL_len)] byte afsACL_val[AFS_ACLMAX];
835 proto_item *item = NULL;
836 proto_tree *tree = NULL;
837 int old_offset = offset;
839 e_uuid_t uuid1, defaultcell;
842 di = pinfo->private_data;
843 if (di->conformant_run)
852 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsAcl");
853 tree = proto_item_add_subtree (item, ett_afs4int_afsAcl);
858 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_acl_len,
860 offset += 8; /* bypass spare and duplicate acl_len */
862 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep,
863 hf_afs4int_afsacl_uuid1, &uuid1);
864 if (check_col (pinfo->cinfo, COL_INFO))
865 col_append_fstr (pinfo->cinfo, COL_INFO,
866 " - %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
867 uuid1.Data1, uuid1.Data2, uuid1.Data3, uuid1.Data4[0],
868 uuid1.Data4[1], uuid1.Data4[2], uuid1.Data4[3],
869 uuid1.Data4[4], uuid1.Data4[5], uuid1.Data4[6],
873 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep,
874 hf_afs4int_afsacl_defaultcell_uuid, &defaultcell);
875 if (check_col (pinfo->cinfo, COL_INFO))
876 col_append_fstr (pinfo->cinfo, COL_INFO,
877 " %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
878 defaultcell.Data1, defaultcell.Data2, defaultcell.Data3,
879 defaultcell.Data4[0], defaultcell.Data4[1],
880 defaultcell.Data4[2], defaultcell.Data4[3],
881 defaultcell.Data4[4], defaultcell.Data4[5],
882 defaultcell.Data4[6], defaultcell.Data4[7]);
884 offset += (acl_len - 38);
886 proto_item_set_len(item, offset-old_offset);
892 dissect_afsErrorStatus (tvbuff_t * tvb, int offset,
893 packet_info * pinfo, proto_tree * parent_tree,
896 proto_item *item = NULL;
897 proto_tree *tree = NULL;
898 int old_offset = offset;
902 di = pinfo->private_data;
903 if (di->conformant_run)
910 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
912 tree = proto_item_add_subtree (item, ett_afs4int_afsErrorStatus);
916 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afserrorstatus_st,
918 st_str = val_to_str (st, dce_error_vals, "%u");
920 if (check_col (pinfo->cinfo, COL_INFO))
921 col_append_fstr (pinfo->cinfo, COL_INFO, " st:%s ", st_str);
923 proto_item_set_len (item, offset - old_offset);
928 dissect_afsRecordLock (tvbuff_t * tvb, int offset,
929 packet_info * pinfo, proto_tree * parent_tree,
935 unsigned32 l_start_pos;
936 unsigned32 l_end_pos;
940 unsigned32 l_start_pos_ext; was l_spare0: high 32b of l_start_pos
941 unsigned32 l_end_pos_ext; was l_spare1: high 32b of l_end_pos
944 proto_item *item = NULL;
945 proto_tree *tree = NULL;
946 int old_offset = offset;
947 guint16 l_type, l_whence;
948 guint32 l_start_pos, l_end_pos, l_pid, l_sysid, l_fstype, l_start_pos_ext,
952 di = pinfo->private_data;
953 if (di->conformant_run)
960 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
962 tree = proto_item_add_subtree (item, ett_afs4int_afsRecordLock);
966 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_type,
969 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_whence,
972 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
973 hf_afs4int_l_start_pos, &l_start_pos);
975 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_end_pos,
978 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_pid,
981 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_sysid,
984 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_fstype,
987 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
988 hf_afs4int_l_start_pos_ext, &l_start_pos_ext);
990 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
991 hf_afs4int_l_end_pos_ext, &l_end_pos_ext);
994 proto_item_set_len (item, offset - old_offset);
999 dissect_afsstorestatus (tvbuff_t * tvb, int offset,
1000 packet_info * pinfo, proto_tree * parent_tree,
1006 afsTimeval accessTime;
1007 afsTimeval changeTime;
1011 afsHyper truncLength; applied first
1014 unsigned32 deviceType; character or block
1015 unsigned32 deviceNumber;
1017 unsigned32 clientSpare1; client-only attrs
1018 unsigned32 deviceNumberHighBits;
1027 proto_item *item = NULL;
1028 proto_tree *tree = NULL;
1029 int old_offset = offset;
1030 guint32 mask, modtime_sec, changetime_sec, accesstime_sec, devicenumber,
1031 clientspare1, devicenumberhighbits, spare1, spare2, spare3, spare4,
1032 spare5, spare6, accesstime_usec, changetime_usec, owner, group, mode,
1033 trunc_high, trunc_low, length_high, length_low, devicetype,
1034 cmask, modtime_usec;
1038 di = pinfo->private_data;
1039 if (di->conformant_run)
1047 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1049 tree = proto_item_add_subtree (item, ett_afs4int_afsstorestatus);
1053 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1054 hf_afs4int_storestatus_mask, &mask);
1056 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1057 hf_afs4int_storestatus_modtime_sec, &modtime_sec);
1059 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1060 hf_afs4int_storestatus_modtime_usec, &modtime_usec);
1062 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1063 hf_afs4int_storestatus_accesstime_sec,
1066 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1067 hf_afs4int_storestatus_accesstime_usec,
1070 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1071 hf_afs4int_storestatus_changetime_sec,
1074 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1075 hf_afs4int_storestatus_changetime_usec,
1078 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1079 hf_afs4int_storestatus_owner, &owner);
1081 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1082 hf_afs4int_storestatus_group, &group);
1084 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1085 hf_afs4int_storestatus_mode, &mode);
1087 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1088 hf_afs4int_storestatus_trunc_high, &trunc_high);
1090 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1091 hf_afs4int_storestatus_trunc_low, &trunc_low);
1093 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1094 hf_afs4int_storestatus_length_high, &length_high);
1096 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1097 hf_afs4int_storestatus_length_low, &length_low);
1099 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep,
1100 hf_afs4int_storestatus_typeuuid, &typeuuid);
1102 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1103 hf_afs4int_storestatus_devicetype, &devicetype);
1105 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1106 hf_afs4int_storestatus_devicenumber, &devicenumber);
1108 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1109 hf_afs4int_storestatus_cmask, &cmask);
1111 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1112 hf_afs4int_storestatus_clientspare1, &clientspare1);
1114 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1115 hf_afs4int_storestatus_devicenumberhighbits,
1116 &devicenumberhighbits);
1118 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1119 hf_afs4int_storestatus_spare1, &spare1);
1121 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1122 hf_afs4int_storestatus_spare2, &spare2);
1124 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1125 hf_afs4int_storestatus_spare3, &spare3);
1127 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1128 hf_afs4int_storestatus_spare4, &spare4);
1130 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1131 hf_afs4int_storestatus_spare5, &spare5);
1133 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1134 hf_afs4int_storestatus_spare6, &spare6);
1136 if (check_col (pinfo->cinfo, COL_INFO))
1137 col_append_fstr (pinfo->cinfo, COL_INFO, " Mask=");
1138 if ((mask & AFS_SETMODTIME) == AFS_SETMODTIME)
1140 if (check_col (pinfo->cinfo, COL_INFO))
1141 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETMODTIME-%u.%u",
1142 modtime_sec, modtime_usec);
1144 if ((mask & AFS_SETOWNER) == AFS_SETOWNER)
1146 if (check_col (pinfo->cinfo, COL_INFO))
1147 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETOWNER-%u", owner);
1149 if ((mask & AFS_SETGROUP) == AFS_SETGROUP)
1151 if (check_col (pinfo->cinfo, COL_INFO))
1152 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETGROUP-%u", group);
1154 if ((mask & AFS_SETMODE) == AFS_SETMODE)
1156 if (check_col (pinfo->cinfo, COL_INFO))
1157 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETMODE-%o", mode);
1159 if ((mask & AFS_SETACCESSTIME) == AFS_SETACCESSTIME)
1161 if (check_col (pinfo->cinfo, COL_INFO))
1162 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETACCESSTIME-%u.%u",
1163 accesstime_sec, accesstime_usec);
1165 if ((mask & AFS_SETCHANGETIME) == AFS_SETCHANGETIME)
1167 if (check_col (pinfo->cinfo, COL_INFO))
1168 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETCHANGETIME-%u.%u",
1169 changetime_sec, changetime_usec);
1171 if ((mask & AFS_SETLENGTH) == AFS_SETLENGTH)
1173 if (check_col (pinfo->cinfo, COL_INFO))
1174 col_append_str (pinfo->cinfo, COL_INFO, ":SETLENGTH");
1176 if ((mask & AFS_SETTYPEUUID) == AFS_SETTYPEUUID)
1178 if (check_col (pinfo->cinfo, COL_INFO))
1179 col_append_str (pinfo->cinfo, COL_INFO, ":SETTYPEUUID");
1181 if ((mask & AFS_SETDEVNUM) == AFS_SETDEVNUM)
1183 if (check_col (pinfo->cinfo, COL_INFO))
1184 col_append_str (pinfo->cinfo, COL_INFO, ":SETDEVNUM");
1186 if ((mask & AFS_SETMODEXACT) == AFS_SETMODEXACT)
1188 if (check_col (pinfo->cinfo, COL_INFO))
1189 col_append_str (pinfo->cinfo, COL_INFO, ":SETMODEXACT");
1191 if ((mask & AFS_SETTRUNCLENGTH) == AFS_SETTRUNCLENGTH)
1193 if (check_col (pinfo->cinfo, COL_INFO))
1194 col_append_str (pinfo->cinfo, COL_INFO, ":SETTRUNCLENGTH");
1196 if ((mask & AFS_SETCLIENTSPARE) == AFS_SETCLIENTSPARE)
1198 if (check_col (pinfo->cinfo, COL_INFO))
1199 col_append_str (pinfo->cinfo, COL_INFO, ":SETCLIENTSPARE");
1202 proto_item_set_len (item, offset - old_offset);
1207 dissect_afstoken (tvbuff_t * tvb, int offset,
1208 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1212 unsigned32 expirationTime;
1214 unsigned32 beginRange;
1215 unsigned32 endRange;
1216 unsigned32 beginRangeExt;
1217 unsigned32 endRangeExt;
1220 proto_item *item = NULL;
1221 proto_tree *tree = NULL;
1222 int old_offset = offset;
1223 guint32 tokenid_hi, tokenid_low, expirationtime, type_hi, type_low,
1224 beginrange, endrange, beginrangeext, endrangeext, type;
1227 di = pinfo->private_data;
1228 if (di->conformant_run)
1236 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsToken:");
1237 tree = proto_item_add_subtree (item, ett_afs4int_afstoken);
1241 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_tokenid_hi,
1244 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1245 hf_afs4int_tokenid_low, &tokenid_low);
1247 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1248 hf_afs4int_expirationtime, &expirationtime);
1250 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_type_hi,
1253 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_type_low,
1256 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_beginrange,
1259 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_endrange,
1262 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1263 hf_afs4int_beginrangeext, &beginrangeext);
1265 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1266 hf_afs4int_endrangeext, &endrangeext);
1267 if (check_col (pinfo->cinfo, COL_INFO))
1268 col_append_fstr (pinfo->cinfo, COL_INFO,
1269 " :Tokenid:%u/%u ExpirationTime:%u beginrange:%u endrange:%u beginrangeext:%u endrangeext:%u",
1270 tokenid_hi, tokenid_low, expirationtime, beginrange,
1271 endrange, beginrangeext, endrangeext);
1274 if (check_col (pinfo->cinfo, COL_INFO))
1275 col_append_str (pinfo->cinfo, COL_INFO, " Type=");
1277 if ((type & TKN_LOCK_READ) == TKN_LOCK_READ)
1279 if (check_col (pinfo->cinfo, COL_INFO))
1280 col_append_str (pinfo->cinfo, COL_INFO, ":LOCK_READ");
1282 if ((type & TKN_LOCK_WRITE) == TKN_LOCK_WRITE)
1284 if (check_col (pinfo->cinfo, COL_INFO))
1285 col_append_str (pinfo->cinfo, COL_INFO, ":LOCK_WRITE");
1287 if ((type & TKN_DATA_READ) == TKN_DATA_READ)
1289 if (check_col (pinfo->cinfo, COL_INFO))
1290 col_append_str (pinfo->cinfo, COL_INFO, ":DATA_READ");
1292 if ((type & TKN_DATA_WRITE) == TKN_DATA_WRITE)
1294 if (check_col (pinfo->cinfo, COL_INFO))
1295 col_append_str (pinfo->cinfo, COL_INFO, ":DATA_WRITE");
1297 if ((type & TKN_OPEN_READ) == TKN_OPEN_READ)
1299 if (check_col (pinfo->cinfo, COL_INFO))
1300 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_READ");
1302 if ((type & TKN_OPEN_WRITE) == TKN_OPEN_WRITE)
1304 if (check_col (pinfo->cinfo, COL_INFO))
1305 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_WRITE");
1307 if ((type & TKN_OPEN_SHARED) == TKN_OPEN_SHARED)
1309 if (check_col (pinfo->cinfo, COL_INFO))
1310 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_SHARED");
1312 if ((type & TKN_OPEN_EXCLUSIVE) == TKN_OPEN_EXCLUSIVE)
1314 if (check_col (pinfo->cinfo, COL_INFO))
1315 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_EXCLUSIVE");
1317 if ((type & TKN_OPEN_DELETE) == TKN_OPEN_DELETE)
1319 if (check_col (pinfo->cinfo, COL_INFO))
1320 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_DELETE");
1322 if ((type & TKN_OPEN_PRESERVE) == TKN_OPEN_PRESERVE)
1324 if (check_col (pinfo->cinfo, COL_INFO))
1325 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_PRESERVE");
1327 if ((type & TKN_STATUS_READ) == TKN_STATUS_READ)
1329 if (check_col (pinfo->cinfo, COL_INFO))
1330 col_append_str (pinfo->cinfo, COL_INFO, ":STATUS_READ");
1332 if ((type & TKN_STATUS_WRITE) == TKN_STATUS_WRITE)
1334 if (check_col (pinfo->cinfo, COL_INFO))
1335 col_append_str (pinfo->cinfo, COL_INFO, ":STATUS_WRITE");
1337 if ((type & TKN_OPEN_UNLINK) == TKN_OPEN_UNLINK)
1339 if (check_col (pinfo->cinfo, COL_INFO))
1340 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_UNLINK");
1342 if ((type & TKN_SPOT_HERE) == TKN_SPOT_HERE)
1344 if (check_col (pinfo->cinfo, COL_INFO))
1345 col_append_str (pinfo->cinfo, COL_INFO, ":SPOT_HERE");
1347 if ((type & TKN_SPOT_THERE) == TKN_SPOT_THERE)
1349 if (check_col (pinfo->cinfo, COL_INFO))
1350 col_append_str (pinfo->cinfo, COL_INFO, ":SPOT_THERE");
1352 if ((type & TKN_OPEN_NO_READ) == TKN_OPEN_NO_READ)
1354 if (check_col (pinfo->cinfo, COL_INFO))
1355 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_NO_READ");
1357 if ((type & TKN_OPEN_NO_WRITE) == TKN_OPEN_NO_WRITE)
1359 if (check_col (pinfo->cinfo, COL_INFO))
1360 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_NO_WRITE");
1362 if ((type & TKN_OPEN_NO_UNLINK) == TKN_OPEN_NO_UNLINK)
1364 if (check_col (pinfo->cinfo, COL_INFO))
1365 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_NO_UNLINK");
1368 proto_item_set_len (item, offset - old_offset);
1373 dissect_afstaggedname (tvbuff_t * tvb, int offset,
1374 packet_info * pinfo, proto_tree * parent_tree,
1380 unsigned16 tn_length;
1381 byte tn_chars[AFS_NAMEMAX+1];
1384 proto_item *item = NULL;
1385 proto_tree *tree = NULL;
1386 int old_offset = offset;
1389 const guint8 *tn_string;
1392 di = pinfo->private_data;
1393 if (di->conformant_run)
1401 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1403 tree = proto_item_add_subtree (item, ett_afs4int_afstaggedname);
1407 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_tn_tag,
1410 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep, hf_afs4int_tn_length,
1412 if (tn_length < 254)
1414 proto_tree_add_string (tree, hf_afs4int_tn_string, tvb, offset,
1415 hf_afs4int_tn_size, tvb_get_ptr (tvb, offset,
1417 tn_string = tvb_get_ptr (tvb, offset, 257);
1419 if (check_col (pinfo->cinfo, COL_INFO))
1420 col_append_fstr (pinfo->cinfo, COL_INFO, " :tn_tag: %s", tn_string);
1424 if (check_col (pinfo->cinfo, COL_INFO))
1425 col_append_fstr (pinfo->cinfo, COL_INFO,
1426 " :FIXME!: Invalid string length of %u", tn_length);
1429 proto_item_set_len (item, offset - old_offset);
1434 dissect_afsfidtaggedname (tvbuff_t * tvb, int offset,
1435 packet_info * pinfo, proto_tree * parent_tree,
1443 proto_item *item = NULL;
1444 proto_tree *tree = NULL;
1445 int old_offset = offset;
1448 di = pinfo->private_data;
1449 if (di->conformant_run)
1457 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1459 tree = proto_item_add_subtree (item, ett_afs4int_afsfidtaggedname);
1461 offset = dissect_afsFid (tvb, offset, pinfo, tree, drep);
1462 offset = dissect_afstaggedname (tvb, offset, pinfo, tree, drep);
1464 proto_item_set_len (item, offset - old_offset);
1470 dissect_minvvp (tvbuff_t * tvb, int offset,
1471 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1474 /* unsigned32 minvvp_high
1475 unsigned32 minvvp_low
1478 proto_item *item = NULL;
1479 proto_tree *tree = NULL;
1480 int old_offset = offset;
1481 guint32 minvvp_high, minvvp_low;
1484 di = pinfo->private_data;
1485 if (di->conformant_run)
1493 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "minVVp:");
1494 tree = proto_item_add_subtree (item, ett_afs4int_minvvp);
1497 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1498 hf_afs4int_minvvp_high, &minvvp_high);
1500 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_minvvp_low,
1503 if (check_col (pinfo->cinfo, COL_INFO))
1504 col_append_fstr (pinfo->cinfo, COL_INFO, " minVVp:%u/%u", minvvp_high,
1508 proto_item_set_len (item, offset - old_offset);
1514 dissect_afsuuid (tvbuff_t * tvb, int offset,
1515 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1524 proto_item *item = NULL;
1525 proto_tree *tree = NULL;
1526 int old_offset = offset;
1529 di = pinfo->private_data;
1530 if (di->conformant_run)
1538 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsUUID:");
1539 tree = proto_item_add_subtree (item, ett_afs4int_afsuuid);
1542 offset = dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, hf_afs4int_afsuuid_uuid, &uuid1);
1545 if (check_col (pinfo->cinfo, COL_INFO)) col_append_fstr (pinfo->cinfo, COL_INFO, ":%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", uuid1.Data1, uuid1.Data2, uuid1.Data3, uuid1.Data4[0], uuid1.Data4[1], uuid1.Data4[2], uuid1.Data4[3], uuid1.Data4[4], uuid1.Data4[5], uuid1.Data4[6], uuid1.Data4[7]);
1547 proto_item_set_len (item, offset - old_offset);
1553 dissect_offsetp (tvbuff_t * tvb, int offset,
1554 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1557 /* unsigned32 offsetp_high
1558 unsigned32 offsetp_low
1561 proto_item *item = NULL;
1562 proto_tree *tree = NULL;
1563 int old_offset = offset;
1564 guint32 offsetp_high, offsetp_low;
1567 di = pinfo->private_data;
1568 if (di->conformant_run)
1576 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "minVVp:");
1577 tree = proto_item_add_subtree (item, ett_afs4int_offsetp);
1580 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1581 hf_afs4int_offsetp_high, &offsetp_high);
1583 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_offsetp_low,
1586 if (check_col (pinfo->cinfo, COL_INFO))
1587 col_append_fstr (pinfo->cinfo, COL_INFO, " offsetp:%u/%u", offsetp_high,
1591 proto_item_set_len (item, offset - old_offset);
1597 dissect_returntokenidp (tvbuff_t * tvb, int offset,
1598 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1601 /* unsigned32 returntokenidp_high
1602 unsigned32 returntokenidp_low
1605 proto_item *item = NULL;
1606 proto_tree *tree = NULL;
1607 int old_offset = offset;
1608 guint32 returntokenidp_high, returntokenidp_low;
1611 di = pinfo->private_data;
1612 if (di->conformant_run)
1620 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "returnTokenIDp:");
1621 tree = proto_item_add_subtree (item, ett_afs4int_returntokenidp);
1624 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1625 hf_afs4int_returntokenidp_high, &returntokenidp_high);
1627 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_returntokenidp_low,
1628 &returntokenidp_low);
1630 if (check_col (pinfo->cinfo, COL_INFO))
1631 col_append_fstr (pinfo->cinfo, COL_INFO, " returnTokenIDp:%u/%u", returntokenidp_high,
1632 returntokenidp_low);
1635 proto_item_set_len (item, offset - old_offset);
1641 dissect_volsync (tvbuff_t * tvb, int offset,
1642 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1646 afsHyper VV; volume's version
1647 unsigned32 VVAge; age, in seconds, of the knowledge that the
1648 given VolVers is current
1649 unsigned32 VVPingAge; age, in seconds, of the last probe from
1650 the callee (the secondary) to the primary
1651 unsigned32 vv_spare1;
1652 unsigned32 vv_spare2;
1655 proto_item *item = NULL;
1656 proto_tree *tree = NULL;
1657 int old_offset = offset;
1658 guint32 volid_hi, volid_low, vv_hi, vv_low, vvage, vvpingage, vvspare1,
1662 di = pinfo->private_data;
1663 if (di->conformant_run)
1671 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1673 tree = proto_item_add_subtree (item, ett_afs4int_volsync);
1677 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_volid_hi,
1680 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_volid_low,
1683 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vv_hi,
1686 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vv_low,
1689 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vvage,
1692 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vvpingage,
1695 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vvspare1,
1698 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vvspare2,
1701 if (check_col (pinfo->cinfo, COL_INFO))
1702 col_append_fstr (pinfo->cinfo, COL_INFO,
1703 " volid_hi:%u volid_low:%u vv_hi:%u vv_low:%u vvage:%u vvpingage:%u vvpspare1:%u vvspare2:%u",
1704 volid_hi, volid_low, vv_hi, vv_low, vvage, vvpingage,
1705 vvspare1, vvspare2);
1708 proto_item_set_len (item, offset - old_offset);
1714 dissect_afsFlags (tvbuff_t * tvb, int offset,
1715 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1723 proto_item *item = NULL;
1724 proto_tree *tree = NULL;
1725 int old_offset = offset;
1729 di = pinfo->private_data;
1730 if (di->conformant_run)
1738 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "AfsFlags:");
1739 tree = proto_item_add_subtree (item, ett_afs4int_afsflags);
1743 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_flags,
1748 if (check_col (pinfo->cinfo, COL_INFO))
1749 col_append_str (pinfo->cinfo, COL_INFO, " Flags=");
1750 if ((flags & AFS_FLAG_RETURNTOKEN) == AFS_FLAG_RETURNTOKEN)
1752 if (check_col (pinfo->cinfo, COL_INFO))
1753 col_append_str (pinfo->cinfo, COL_INFO, ":RETURNTOKEN");
1755 if ((flags & AFS_FLAG_TOKENJUMPQUEUE) == AFS_FLAG_TOKENJUMPQUEUE)
1757 if (check_col (pinfo->cinfo, COL_INFO))
1758 col_append_str (pinfo->cinfo, COL_INFO, ":TOKENJUMPQUEUE");
1760 if ((flags & AFS_FLAG_SKIPTOKEN) == AFS_FLAG_SKIPTOKEN)
1762 if (check_col (pinfo->cinfo, COL_INFO))
1763 col_append_str (pinfo->cinfo, COL_INFO, ":SKIPTOKEN");
1765 if ((flags & AFS_FLAG_NOOPTIMISM) == AFS_FLAG_NOOPTIMISM)
1767 if (check_col (pinfo->cinfo, COL_INFO))
1768 col_append_str (pinfo->cinfo, COL_INFO, ":NOOPTIMISM");
1770 if ((flags & AFS_FLAG_TOKENID) == AFS_FLAG_TOKENID)
1772 if (check_col (pinfo->cinfo, COL_INFO))
1773 col_append_str (pinfo->cinfo, COL_INFO, ":TOKENID");
1775 if ((flags & AFS_FLAG_RETURNBLOCKER) == AFS_FLAG_RETURNBLOCKER)
1777 if (check_col (pinfo->cinfo, COL_INFO))
1778 col_append_str (pinfo->cinfo, COL_INFO, ":RETURNBLOCKER");
1780 if ((flags & AFS_FLAG_ASYNCGRANT) == AFS_FLAG_ASYNCGRANT)
1782 if (check_col (pinfo->cinfo, COL_INFO))
1783 col_append_str (pinfo->cinfo, COL_INFO, ":ASYNCGRANT");
1785 if ((flags & AFS_FLAG_NOREVOKE) == AFS_FLAG_NOREVOKE)
1787 if (check_col (pinfo->cinfo, COL_INFO))
1788 col_append_str (pinfo->cinfo, COL_INFO, ":NOREVOKE");
1790 if ((flags & AFS_FLAG_MOVE_REESTABLISH) == AFS_FLAG_MOVE_REESTABLISH)
1792 if (check_col (pinfo->cinfo, COL_INFO))
1793 col_append_str (pinfo->cinfo, COL_INFO, ":MOVE_REESTABLISH");
1795 if ((flags & AFS_FLAG_SERVER_REESTABLISH) ==
1796 AFS_FLAG_SERVER_REESTABLISH)
1798 if (check_col (pinfo->cinfo, COL_INFO))
1799 col_append_str (pinfo->cinfo, COL_INFO, ":SERVER_REESTABLISH");
1801 if ((flags & AFS_FLAG_NO_NEW_EPOCH) == AFS_FLAG_NO_NEW_EPOCH)
1803 if (check_col (pinfo->cinfo, COL_INFO))
1804 col_append_str (pinfo->cinfo, COL_INFO, ":NO_NEW_EPOCH");
1806 if ((flags & AFS_FLAG_MOVE_SOURCE_OK) == AFS_FLAG_MOVE_SOURCE_OK)
1808 if (check_col (pinfo->cinfo, COL_INFO))
1809 col_append_str (pinfo->cinfo, COL_INFO, ":MOVE_SOURCE_OK");
1811 if ((flags & AFS_FLAG_SYNC) == AFS_FLAG_SYNC)
1813 if (check_col (pinfo->cinfo, COL_INFO))
1814 col_append_str (pinfo->cinfo, COL_INFO, ":SYNC");
1816 if ((flags & AFS_FLAG_ZERO) == AFS_FLAG_ZERO)
1818 if (check_col (pinfo->cinfo, COL_INFO))
1819 col_append_str (pinfo->cinfo, COL_INFO, ":ZERO");
1821 if ((flags & AFS_FLAG_SKIPSTATUS) == AFS_FLAG_SKIPSTATUS)
1823 if (check_col (pinfo->cinfo, COL_INFO))
1824 col_append_str (pinfo->cinfo, COL_INFO, ":SKIPSTATUS");
1826 if ((flags & AFS_FLAG_FORCEREVOCATIONS) == AFS_FLAG_FORCEREVOCATIONS)
1828 if (check_col (pinfo->cinfo, COL_INFO))
1829 col_append_str (pinfo->cinfo, COL_INFO, ":FORCEREVOCATIONS");
1831 if ((flags & AFS_FLAG_FORCEVOLQUIESCE) == AFS_FLAG_FORCEVOLQUIESCE)
1833 if (check_col (pinfo->cinfo, COL_INFO))
1834 col_append_str (pinfo->cinfo, COL_INFO, ":FORCEVOLQUIESCE");
1836 if ((flags & AFS_FLAG_SEC_SERVICE) == AFS_FLAG_SEC_SERVICE)
1838 if (check_col (pinfo->cinfo, COL_INFO))
1839 col_append_str (pinfo->cinfo, COL_INFO, ":SEC_SERVICE");
1841 if ((flags & AFS_FLAG_CONTEXT_NEW_ACL_IF) ==
1842 AFS_FLAG_CONTEXT_NEW_ACL_IF)
1844 if (check_col (pinfo->cinfo, COL_INFO))
1845 col_append_str (pinfo->cinfo, COL_INFO, ":CONTEXT_NEW_ACL_IF");
1850 proto_item_set_len (item, offset - old_offset);
1855 dissect_fetchstatus (tvbuff_t * tvb, int offset,
1856 packet_info * pinfo, proto_tree * parent_tree,
1861 unsigned32 interfaceVersion;
1862 unsigned32 fileType;
1863 unsigned32 linkCount;
1865 afsHyper dataVersion;
1869 unsigned32 callerAccess;
1870 unsigned32 anonymousAccess;
1871 unsigned32 aclExpirationTime;
1873 unsigned32 parentVnode;
1874 unsigned32 parentUnique;
1876 afsTimeval changeTime;
1877 afsTimeval accessTime;
1878 afsTimeval serverModTime;
1881 unsigned32 deviceNumber;
1882 unsigned32 blocksUsed;
1883 unsigned32 clientSpare1; * client-only attrs *
1884 unsigned32 deviceNumberHighBits;
1893 proto_item *item = NULL;
1894 proto_tree *tree = NULL;
1895 int old_offset = offset;
1896 guint32 interfaceversion, filetype, linkcount, length_high, length_low,
1897 dataversion_high, dataversion_low, author, owner, group, calleraccess,
1898 anonymousaccess, aclexpirationtime, mode, parentvnode, parentunique,
1899 modtime_sec, modtime_msec, changetime_sec, changetime_msec,
1900 accesstime_sec, accesstime_msec, servermodtime_msec, servermodtime_sec,
1901 devicenumber, blocksused, clientspare1, devicenumberhighbits,
1902 agtypeunique, himaxspare, lomaxspare, pathconfspare, spare4, spare5,
1904 e_uuid_t typeuuid, objectuuid;
1907 di = pinfo->private_data;
1908 if (di->conformant_run)
1917 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1919 tree = proto_item_add_subtree (item, ett_afs4int_fetchstatus);
1923 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1924 hf_afs4int_interfaceversion, &interfaceversion);
1926 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_filetype,
1929 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_linkcount,
1932 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1933 hf_afs4int_length_high, &length_high);
1935 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_length_low,
1938 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1939 hf_afs4int_dataversion_high, &dataversion_high);
1941 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1942 hf_afs4int_dataversion_low, &dataversion_low);
1944 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_author,
1947 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_owner,
1950 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_group,
1953 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1954 hf_afs4int_calleraccess, &calleraccess);
1956 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1957 hf_afs4int_anonymousaccess, &anonymousaccess);
1959 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1960 hf_afs4int_aclexpirationtime, &aclexpirationtime);
1962 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_mode,
1965 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1966 hf_afs4int_parentvnode, &parentvnode);
1968 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1969 hf_afs4int_parentunique, &parentunique);
1971 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1972 hf_afs4int_modtime_sec, &modtime_sec);
1974 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1975 hf_afs4int_modtime_msec, &modtime_msec);
1977 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1978 hf_afs4int_changetime_sec, &changetime_sec);
1980 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1981 hf_afs4int_changetime_msec, &changetime_msec);
1983 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1984 hf_afs4int_accesstime_sec, &accesstime_sec);
1986 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1987 hf_afs4int_accesstime_msec, &accesstime_msec);
1989 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1990 hf_afs4int_servermodtime_sec, &servermodtime_sec);
1992 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1993 hf_afs4int_servermodtime_msec, &servermodtime_msec);
1995 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, hf_afs4int_typeuuid,
1998 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, hf_afs4int_objectuuid,
2001 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2002 hf_afs4int_devicenumber, &devicenumber);
2004 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_blocksused,
2007 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2008 hf_afs4int_clientspare1, &clientspare1);
2010 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2011 hf_afs4int_devicenumberhighbits,
2012 &devicenumberhighbits);
2014 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2015 hf_afs4int_agtypeunique, &agtypeunique);
2017 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_himaxspare,
2020 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_lomaxspare,
2023 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2024 hf_afs4int_pathconfspare, &pathconfspare);
2026 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_spare4,
2029 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_spare5,
2032 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_spare6,
2036 if (check_col (pinfo->cinfo, COL_INFO))
2037 col_append_fstr (pinfo->cinfo, COL_INFO,
2038 " :interfacever:%u filetype:%u linkcount:%u length:%u dataver:%u author:%u owner:%u group:%u calleraccess:%u anonaccess:%u aclexpire:%u mode:%u parentvnode:%u parentunique:%u modtimesec:%u changetime_sec:%u accesstime_sec:%u servermodtimesec:%u devicenumber:%u blocksused:%u clientspare:%u devicehighbits:%u agtypeunique:%u",
2039 interfaceversion, filetype, linkcount, length_low,
2040 dataversion_low, author, owner, group, calleraccess,
2041 anonymousaccess, aclexpirationtime, mode, parentvnode,
2042 parentunique, modtime_sec, changetime_sec,
2043 accesstime_sec, servermodtime_sec, devicenumber,
2044 blocksused, clientspare1, devicenumberhighbits,
2048 proto_item_set_len (item, offset - old_offset);
2053 dissect_afsReturnDesc (tvbuff_t * tvb, int offset,
2054 packet_info * pinfo, proto_tree * parent_tree,
2058 afsFid fid; * useful hint *
2060 afsHyper type; * mask *
2061 unsigned32 flags; * just in case *
2064 proto_item *item = NULL;
2065 proto_tree *tree = NULL;
2066 int old_offset = offset;
2067 guint32 tokenid_high, tokenid_low, type_high, type_low;
2070 di = pinfo->private_data;
2071 if (di->conformant_run)
2079 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
2081 tree = proto_item_add_subtree (item, ett_afs4int_afsReturnDesc);
2085 offset = dissect_afsFid ( tvb, offset, pinfo, tree, drep);
2087 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2088 hf_afs4int_afsreturndesc_tokenid_high, &tokenid_high);
2090 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2091 hf_afs4int_afsreturndesc_tokenid_low, &tokenid_low);
2093 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2094 hf_afs4int_afsreturndesc_type_high, &type_high);
2096 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2097 hf_afs4int_afsreturndesc_type_low, &type_low);
2098 if (check_col (pinfo->cinfo, COL_INFO))
2099 col_append_fstr (pinfo->cinfo, COL_INFO, " TokenId:%u/%u Type:%u/%u",
2100 tokenid_high, tokenid_low, type_high, type_low);
2103 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2104 NDR_POINTER_REF, "afsFlags: ", -1);
2106 proto_item_set_len (item, offset - old_offset);
2113 dissect_afsReturns (tvbuff_t * tvb, int offset,
2114 packet_info * pinfo, proto_tree * tree, guint8 *drep)
2118 long afsReturns_len;
2119 [length_is(afsReturns_len)] afsReturnDesc afsReturns_val[AFS_BULKMAX];
2122 /* this is not really a ucvarray, but with the initial len, we can
2123 cheat and pretend it is */
2126 di = pinfo->private_data;
2127 if (di->conformant_run)
2133 dissect_ndr_ucvarray (tvb, offset, pinfo, tree, drep,
2134 dissect_afsReturnDesc);
2139 #if 0 /* not used */
2142 dissect_afsbundled_stat (tvbuff_t * tvb, int offset,
2143 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep _U_)
2147 proto_item *item = NULL;
2148 proto_tree *tree = NULL;
2149 int old_offset = offset;
2152 di = pinfo->private_data;
2153 if (di->conformant_run)
2160 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsbundled_stat:");
2161 tree = proto_item_add_subtree (item, ett_afs4int_afsbundled_stat);
2167 afsFetchStatus stat;
2169 error_status_t error;
2173 offset = dissect_afsFid(tvb, offset, pinfo, tree, drep);
2176 offset = dissect_fetchstatus(tvb, offset, pinfo, tree, drep);
2177 offset = dissect_afstoken(tvb, offset, pinfo, tree, drep);
2179 /* This is currently under construction as I figure out the reverse layout of the packet. */
2181 offset = dissect_afsErrorStatus (tvb, offset, pinfo, tree, drep);
2187 proto_item_set_len (item, offset - old_offset);
2192 #endif /* not used */
2195 dissect_afsBulkStat (tvbuff_t * tvb _U_, int offset,
2196 packet_info * pinfo _U_, proto_tree * tree _U_,
2200 unsigned32 BulkStat_len;
2201 [length_is(BulkStat_len)] bundled_stat BulkStat_val[AFS_BULKMAX];
2203 /* this is not really a ucvarray, but with the initial len, we can
2204 cheat and pretend it is */
2206 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, drep,
2207 dissect_afsbundled_stat);
2217 afs4int_dissect_removefile_rqst (tvbuff_t * tvb, int offset,
2218 packet_info * pinfo, proto_tree * tree,
2225 di = pinfo->private_data;
2226 if (di->conformant_run)
2233 [in] afsFid *DirFidp,
2234 [in] afsFidTaggedName *Namep,
2235 [in] afsHyper *returnTokenIDp,
2236 [in] afsHyper *minVVp,
2237 [in] unsigned32 Flags,
2242 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2243 NDR_POINTER_REF, "afsFid: ", -1);
2245 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2246 dissect_afsfidtaggedname, NDR_POINTER_REF,
2247 "afsFidTaggedName: ", -1);
2249 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_returntokenidp,
2250 NDR_POINTER_REF, "afsReturnTokenIDp:", -1);
2252 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2253 NDR_POINTER_REF, "afsMinVVp:", -1);
2256 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2257 NDR_POINTER_REF, "afsFlags:", -1);
2263 afs4int_dissect_storedata_rqst (tvbuff_t * tvb, int offset,
2264 packet_info * pinfo, proto_tree * tree,
2267 guint32 position_high, position_low, length;
2270 di = pinfo->private_data;
2271 if (di->conformant_run)
2278 [in] afsStoreStatus *InStatusp,
2279 [in] afsHyper *Position,
2280 [in] signed32 Length,
2281 [in] afsHyper *minVVp,
2282 [in] unsigned32 Flags,
2283 [in] pipe_t *storeStream,
2289 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2290 NDR_POINTER_REF, "afsFid: ", -1);
2292 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2293 dissect_afsstorestatus, NDR_POINTER_REF,
2294 "afsStoreStatus:", -1);
2296 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2297 hf_afs4int_position_high, &position_high);
2299 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2300 hf_afs4int_position_low, &position_low);
2303 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2304 hf_afs4int_length, &length);
2306 if (check_col (pinfo->cinfo, COL_INFO))
2307 col_append_fstr (pinfo->cinfo, COL_INFO, " Position:%u/%u Length:%u",
2308 position_high, position_low, length);
2311 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2312 NDR_POINTER_REF, "MinVVp:", -1);
2315 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2316 NDR_POINTER_REF, "afsFlags:", -1);
2318 /* XXX need to decode pipe_t still here */
2324 afs4int_dissect_gettoken_rqst (tvbuff_t * tvb, int offset,
2325 packet_info * pinfo, proto_tree * tree,
2330 di = pinfo->private_data;
2331 if (di->conformant_run)
2339 [in] afsToken *MinTokenp,
2340 [in] afsHyper *minVVp,
2341 [in] unsigned32 Flags,
2346 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2347 NDR_POINTER_REF, "afsFid: ", -1);
2350 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
2351 NDR_POINTER_REF, "afsToken: ", -1);
2354 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2355 NDR_POINTER_REF, "MinVVp:", -1);
2358 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2359 NDR_POINTER_REF, "afsFlags:", -1);
2364 afs4int_dissect_gettoken_resp (tvbuff_t * tvb, int offset,
2365 packet_info * pinfo, proto_tree * tree,
2370 di = pinfo->private_data;
2371 if (di->conformant_run)
2377 [out] afsToken *OutTokenp,
2378 [out] afsRecordLock *OutBlockerp,
2379 [out] afsFetchStatus *OutStatusp,
2380 [out] afsVolSync *Syncp
2384 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
2385 NDR_POINTER_REF, "afsToken: ", -1);
2387 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2388 dissect_afsRecordLock, NDR_POINTER_REF,
2389 "afsRecordLock: ", -1);
2391 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
2392 NDR_POINTER_REF, "afsFetchStatus: ", -1);
2394 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
2395 NDR_POINTER_REF, "VolSync: ", -1);
2397 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2398 dissect_afsErrorStatus, NDR_POINTER_REF,
2399 "afsErrorStatus: ", -1);
2405 afs4int_dissect_lookuproot_rqst (tvbuff_t * tvb, int offset,
2406 packet_info * pinfo, proto_tree * tree,
2411 di = pinfo->private_data;
2412 if (di->conformant_run)
2419 * [in] afsFid *InFidp,
2420 * [in] afsHyper *minVVp,
2421 * [in] unsigned32 Flags,
2425 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2426 NDR_POINTER_REF, "afsFid: ", -1);
2429 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2430 NDR_POINTER_REF, "MinVVp:", -1);
2433 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2434 NDR_POINTER_REF, "afsFlags:", -1);
2440 afs4int_dissect_fetchdata_rqst (tvbuff_t * tvb, int offset,
2441 packet_info * pinfo, proto_tree * tree,
2444 guint32 position_high, position_low, length;
2447 di = pinfo->private_data;
2448 if (di->conformant_run)
2455 [in] afsHyper *minVVp,
2456 [in] afsHyper *Position,
2457 [in] signed32 Length,
2458 [in] unsigned32 Flags,
2462 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2463 NDR_POINTER_REF, "afsFid: ", -1);
2466 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2467 NDR_POINTER_REF, "MinVVp:", -1);
2469 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2470 hf_afs4int_position_high, &position_high);
2472 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2473 hf_afs4int_position_low, &position_low);
2475 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2476 hf_afs4int_length, &length);
2477 if (check_col (pinfo->cinfo, COL_INFO))
2478 col_append_fstr (pinfo->cinfo, COL_INFO, " Position:%u/%u Length:%u",
2479 position_high, position_low, length);
2482 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2483 NDR_POINTER_REF, "afsFlags:", -1);
2489 afs4int_dissect_fetchacl_rqst (tvbuff_t * tvb, int offset,
2490 packet_info * pinfo, proto_tree * tree,
2497 di = pinfo->private_data;
2498 if (di->conformant_run)
2506 [in] unsigned32 aclType,
2507 [in] afsHyper *minVVp,
2508 [in] unsigned32 Flags,
2513 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2514 NDR_POINTER_REF, "afsFid: ", -1);
2517 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_acltype,
2520 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2521 NDR_POINTER_REF, "MinVVp:", -1);
2524 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2525 NDR_POINTER_REF, "afsFlags:", -1);
2529 if (check_col (pinfo->cinfo, COL_INFO))
2530 col_append_str (pinfo->cinfo, COL_INFO,
2531 " :copy the ACL from specified fid:");
2538 afs4int_dissect_fetchstatus_rqst (tvbuff_t * tvb, int offset,
2539 packet_info * pinfo, proto_tree * tree,
2544 di = pinfo->private_data;
2545 if (di->conformant_run)
2553 [in] afsHyper *minVVp,
2554 [in] unsigned32 Flags,
2558 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2559 NDR_POINTER_REF, "afsFid: ", -1);
2561 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2562 NDR_POINTER_REF, "MinVVp:", -1);
2564 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2565 NDR_POINTER_REF, "afsFlags:", -1);
2570 afs4int_dissect_storeacl_rqst (tvbuff_t * tvb, int offset,
2571 packet_info * pinfo, proto_tree * tree,
2577 di = pinfo->private_data;
2578 if (di->conformant_run)
2585 [in] afsACL *AccessListp,
2586 [in] unsigned32 aclType,
2587 [in] afsFid *aclFidp,
2588 [in] afsHyper *minVVp,
2589 [in] unsigned32 Flags,
2594 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2595 NDR_POINTER_REF, "afsFid: ", -1);
2597 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsAcl,
2598 NDR_POINTER_REF, "afsAcl: ", -1);
2600 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_acltype,
2603 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2604 NDR_POINTER_REF, "afsFid: ", -1);
2606 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2607 NDR_POINTER_REF, "MinVVp:", -1);
2609 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2610 NDR_POINTER_REF, "afsFlags:", -1);
2612 if (check_col (pinfo->cinfo, COL_INFO))
2613 col_append_fstr (pinfo->cinfo, COL_INFO, " aclType:%u",acltype);
2619 afs4int_dissect_storestatus_rqst (tvbuff_t * tvb, int offset,
2620 packet_info * pinfo, proto_tree * tree,
2625 di = pinfo->private_data;
2626 if (di->conformant_run)
2634 [in] afsStoreStatus *InStatusp,
2635 [in] afsHyper *minVVp,
2636 [in] unsigned32 Flags,
2640 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2641 NDR_POINTER_REF, "afsFid: ", -1);
2643 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2644 dissect_afsstorestatus, NDR_POINTER_REF,
2645 "afsStoreStatus: ", -1);
2647 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2648 NDR_POINTER_REF, "MinVVp:", -1);
2650 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2651 NDR_POINTER_REF, "afsFlags:", -1);
2658 afs4int_dissect_createfile_rqst (tvbuff_t * tvb, int offset,
2659 packet_info * pinfo, proto_tree * tree,
2664 di = pinfo->private_data;
2665 if (di->conformant_run)
2672 [in] afsFid *DirFidp,
2673 [in] afsTaggedName *Namep,
2674 [in] afsStoreStatus *InStatusp,
2675 [in] afsHyper *minVVp,
2676 [in] unsigned32 Flags,
2680 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2681 NDR_POINTER_REF, "afsFid: ", -1);
2683 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2684 dissect_afstaggedname, NDR_POINTER_REF,
2685 "afsTaggedName: ", -1);
2687 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2688 dissect_afsstorestatus, NDR_POINTER_REF,
2689 "afsStoreStatus: ", -1);
2691 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2692 NDR_POINTER_REF, "MinVVp:", -1);
2694 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2695 NDR_POINTER_REF, "afsFlags:", -1);
2701 afs4int_dissect_rename_rqst (tvbuff_t * tvb, int offset,
2702 packet_info * pinfo, proto_tree * tree,
2707 di = pinfo->private_data;
2708 if (di->conformant_run)
2714 [in] afsFid *OldDirFidp,
2715 [in] afsFidTaggedName *OldNamep,
2716 [in] afsFid *NewDirFidp,
2717 [in] afsFidTaggedName *NewNamep,
2718 [in] afsHyper *returnTokenIDp,
2719 [in] afsHyper *minVVp,
2720 [in] unsigned32 Flags,
2725 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2726 NDR_POINTER_REF, "afsFid: ", -1);
2729 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2730 dissect_afsfidtaggedname, NDR_POINTER_REF,
2731 "afsFidTaggedName: ", -1);
2734 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2735 NDR_POINTER_REF, "afsFid: ", -1);
2738 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2739 dissect_afstaggedname, NDR_POINTER_REF,
2740 "afsFidTaggedName: ", -1);
2743 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2744 dissect_returntokenidp, NDR_POINTER_REF,
2745 "afsReturnTokenIDp: ", -1);
2748 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2749 dissect_minvvp, NDR_POINTER_REF,
2752 offset = dissect_afsFlags(tvb, offset, pinfo, tree, drep);
2758 afs4int_dissect_symlink_rqst (tvbuff_t * tvb, int offset,
2759 packet_info * pinfo, proto_tree * tree,
2764 di = pinfo->private_data;
2765 if (di->conformant_run)
2771 [in] afsFid *DirFidp,
2772 [in] afsTaggedName *Namep,
2773 [in] afsTaggedPath *LinkContentsp,
2774 [in] afsStoreStatus *InStatusp,
2775 [in] afsHyper *minVVp,
2776 [in] unsigned32 Flags,
2782 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2783 NDR_POINTER_REF, "afsFid: ", -1);
2786 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2787 dissect_afstaggedname, NDR_POINTER_REF,
2788 "afsTaggedName: ", -1);
2790 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2791 dissect_afsTaggedPath, NDR_POINTER_REF,
2792 "afsTaggedPath: ", -1);
2794 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2795 dissect_afsstorestatus, NDR_POINTER_REF,
2796 "afsStoreStatus: ", -1);
2798 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2799 NDR_POINTER_REF, "MinVVp:", -1);
2800 offset = dissect_afsFlags (tvb, offset, pinfo, tree, drep);
2806 afs4int_dissect_readdir_rqst (tvbuff_t * tvb, int offset,
2807 packet_info * pinfo, proto_tree * tree,
2813 di = pinfo->private_data;
2814 if (di->conformant_run)
2820 [in] afsFid *DirFidp,
2821 [in] afsHyper *Offsetp,
2822 [in] unsigned32 Size,
2823 [in] afsHyper *minVVp,
2824 [in] unsigned32 Flags,
2828 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2829 NDR_POINTER_REF, "afsFid: ", -1);
2831 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_offsetp,
2832 NDR_POINTER_REF, "Offsetp: ", -1);
2834 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2835 hf_afs4int_readdir_size, &size);
2837 if (check_col (pinfo->cinfo, COL_INFO))
2838 col_append_fstr (pinfo->cinfo, COL_INFO, " Size:%u", size);
2841 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2842 NDR_POINTER_REF, "MinVVp:", -1);
2843 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
2849 afs4int_dissect_makedir_rqst (tvbuff_t * tvb, int offset,
2850 packet_info * pinfo, proto_tree * tree,
2855 di = pinfo->private_data;
2856 if (di->conformant_run)
2862 [in] afsFid *DirFidp,
2863 [in] afsTaggedName *Namep,
2864 [in] afsStoreStatus *InStatusp,
2865 [in] afsHyper *minVVp,
2866 [in] unsigned32 Flags,
2870 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2871 NDR_POINTER_REF, "afsFid: ", -1);
2874 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2875 dissect_afstaggedname, NDR_POINTER_REF,
2876 "afsTaggedName: ", -1);
2878 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2879 dissect_afsstorestatus, NDR_POINTER_REF,
2880 "afsStoreStatus: ", -1);
2882 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2883 NDR_POINTER_REF, "MinVVp:", -1);
2884 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
2890 afs4int_dissect_removedir_rqst (tvbuff_t * tvb, int offset,
2891 packet_info * pinfo, proto_tree * tree,
2894 guint32 returntokenidp_high, returntokenidp_low;
2897 di = pinfo->private_data;
2898 if (di->conformant_run)
2904 [in] afsFid *DirFidp,
2905 [in] afsFidTaggedName *Namep,
2906 [in] afsHyper *returnTokenIDp,
2907 [in] afsHyper *minVVp,
2908 [in] unsigned32 Flags,
2912 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2913 NDR_POINTER_REF, "afsFid: ", -1);
2915 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2916 dissect_afsfidtaggedname, NDR_POINTER_REF,
2917 "afsFidTaggedName: ", -1);
2919 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2920 hf_afs4int_returntokenidp_high, &returntokenidp_high);
2922 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2923 hf_afs4int_returntokenidp_low, &returntokenidp_low);
2925 if (check_col (pinfo->cinfo, COL_INFO))
2926 col_append_fstr (pinfo->cinfo, COL_INFO, " returnTokenIDp:%u/%u",
2927 returntokenidp_high, returntokenidp_low);
2929 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2930 NDR_POINTER_REF, "MinVVp:", -1);
2931 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep );
2937 afs4int_dissect_lookup_rqst (tvbuff_t * tvb, int offset,
2938 packet_info * pinfo, proto_tree * tree,
2943 di = pinfo->private_data;
2944 if (di->conformant_run)
2950 [in] afsFid *DirFidp,
2951 [in] afsTaggedName *Namep,
2952 [in] afsHyper *minVVp,
2953 [in] unsigned32 Flags,
2957 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2958 NDR_POINTER_REF, "afsFid: ", -1);
2961 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2962 dissect_afstaggedname, NDR_POINTER_REF,
2963 "afsTaggedName: ", -1);
2965 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2966 NDR_POINTER_REF, "MinVVp:", -1);
2967 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
2972 afs4int_dissect_lookup_resp (tvbuff_t * tvb, int offset,
2973 packet_info * pinfo, proto_tree * tree,
2978 di = pinfo->private_data;
2979 if (di->conformant_run)
2985 [out] afsFid *OutFidp,
2986 [out] afsFetchStatus *OutFidStatusp,
2987 [out] afsFetchStatus *OutDirStatusp,
2988 [out] afsToken *OutTokenp,
2989 [out] afsVolSync *Syncp
2993 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2994 NDR_POINTER_REF, "afsFid: ", -1);
2997 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
2998 NDR_POINTER_REF, "FetchStatus: ", -1);
3000 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3001 NDR_POINTER_REF, "FetchStatus: ", -1);
3004 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3005 NDR_POINTER_REF, "afsToken: ", -1);
3007 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3008 NDR_POINTER_REF, "VolSync: ", -1);
3009 MACRO_ST_CLEAR ("Lookup reply");
3016 afs4int_dissect_makemountpoint_rqst (tvbuff_t * tvb, int offset,
3017 packet_info * pinfo, proto_tree * tree,
3023 di = pinfo->private_data;
3024 if (di->conformant_run)
3031 [in] afsFid *DirFidp,
3032 [in] afsTaggedName *Namep,
3033 [in] afsTaggedName *cellNamep,
3034 [in] afsFStype Type,
3035 [in] afsTaggedName *volumeNamep,
3036 [in] afsStoreStatus *InStatusp,
3037 [in] afsHyper *minVVp,
3038 [in] unsigned32 Flags,
3043 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3044 NDR_POINTER_REF, "afsFid: ", -1);
3047 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3048 dissect_afstaggedname, NDR_POINTER_REF,
3049 "afsTaggedName: ", -1);
3051 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3052 dissect_afstaggedname, NDR_POINTER_REF,
3053 "afsTaggedName: ", -1);
3055 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep, hf_afs4int_fstype,
3058 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3059 dissect_afstaggedname, NDR_POINTER_REF,
3060 "afsTaggedName: ", -1);
3062 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3063 dissect_afsstorestatus, NDR_POINTER_REF,
3064 "afsStoreStatus: ", -1);
3066 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
3067 NDR_POINTER_REF, "MinVVp:", -1);
3069 offset = dissect_afsFlags (tvb, offset, pinfo, tree, drep);
3071 if (check_col (pinfo->cinfo, COL_INFO))
3072 col_append_fstr (pinfo->cinfo, COL_INFO, " Type:%u", type);
3079 afs4int_dissect_setcontext_rqst (tvbuff_t * tvb, int offset,
3080 packet_info * pinfo, proto_tree * tree,
3085 guint32 epochtime, clientsizesattrs, parm7;
3087 di = pinfo->private_data;
3088 if (di->conformant_run)
3094 [in] unsigned32 epochTime,
3095 [in] afsNetData *callbackAddr,
3096 [in] unsigned32 Flags,
3097 [in] afsUUID *secObjectID,
3098 [in] unsigned32 clientSizesAttrs,
3099 [in] unsigned32 parm7
3104 dissect_dcerpc_time_t (tvb, offset, pinfo, tree, drep,
3105 hf_afs4int_setcontext_rqst_epochtime, &epochtime);
3107 offset = dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsNetData,
3108 NDR_POINTER_REF, "afsNetData:", -1);
3110 offset = dissect_afsFlags (tvb, offset, pinfo, tree, drep);
3112 if (check_col (pinfo->cinfo, COL_INFO)) col_append_str (pinfo->cinfo, COL_INFO, " setObjectID");
3114 offset = dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsuuid,
3115 NDR_POINTER_REF, "afsUUID:", -1);
3117 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3118 hf_afs4int_setcontext_rqst_clientsizesattrs,
3121 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3122 hf_afs4int_setcontext_rqst_parm7, &parm7);
3124 if (check_col (pinfo->cinfo, COL_INFO)) col_append_fstr (pinfo->cinfo, COL_INFO, " epochTime:%u clientSizesAttrs:%u parm7:%u", epochtime, clientsizesattrs, parm7);
3130 afs4int_dissect_setcontext_resp (tvbuff_t * tvb, int offset,
3131 packet_info * pinfo, proto_tree * tree,
3134 /* nothing but error code */
3139 di = pinfo->private_data;
3140 if (di->conformant_run)
3145 MACRO_ST_CLEAR ("SetContext reply");
3150 afs4int_dissect_lookuproot_resp
3152 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3156 di = pinfo->private_data;
3157 if (di->conformant_run)
3163 * [out] afsFid *OutFidp,
3164 * [out] afsFetchStatus *OutFidStatusp,
3165 * [out] afsToken *OutTokenp,
3166 * [out] afsVolSync *Syncp
3170 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3171 NDR_POINTER_REF, "afsFid: ", -1);
3174 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3175 NDR_POINTER_REF, "FetchStatus: ", -1);
3177 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3178 NDR_POINTER_REF, "afsToken: ", -1);
3180 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3181 NDR_POINTER_REF, "VolSync: ", -1);
3182 MACRO_ST_CLEAR ("LookupRoot reply");
3187 afs4int_dissect_fetchdata_resp
3189 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3193 guint32 pipe_t_size;
3195 di = pinfo->private_data;
3196 if (di->conformant_run)
3202 [out] afsFetchStatus *OutStatusp,
3203 [out] afsToken *OutTokenp,
3204 [out] afsVolSync *Syncp,
3205 [out] pipe_t *fetchStream
3207 /* The SkipToken/SkipStatus flags are always used in every fetchdata request I have seen.
3208 There is also not sign of the afsVolSync structure... Just size, and data string... aka pipe_t */
3211 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3212 hf_afs4int_fetchdata_pipe_t_size, &pipe_t_size);
3218 afs4int_dissect_fetchacl_resp
3220 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3224 di = pinfo->private_data;
3225 if (di->conformant_run)
3232 [out] afsACL *AccessListp,
3233 [out] afsFetchStatus *OutStatusp,
3234 [out] afsVolSync *Syncp
3237 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsAcl,
3238 NDR_POINTER_REF, "afsAcl: ", -1);
3240 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3241 NDR_POINTER_REF, "FetchStatus: ", -1);
3244 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3245 NDR_POINTER_REF, "VolSync: ", -1);
3246 MACRO_ST_CLEAR ("FetchAcl reply");
3251 afs4int_dissect_fetchstatus_resp
3253 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3257 di = pinfo->private_data;
3258 if (di->conformant_run)
3264 [out] afsFetchStatus *OutStatusp,
3265 [out] afsToken *OutTokenp,
3266 [out] afsVolSync *Syncp
3270 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3271 NDR_POINTER_REF, "FetchStatus: ", -1);
3274 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3275 NDR_POINTER_REF, "afsToken: ", -1);
3277 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3278 NDR_POINTER_REF, "VolSync: ", -1);
3279 MACRO_ST_CLEAR ("FetchStatus reply");
3284 afs4int_dissect_storedata_resp
3286 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3290 di = pinfo->private_data;
3291 if (di->conformant_run)
3297 [out] afsFetchStatus *OutStatusp,
3298 [out] afsVolSync *Syncp
3302 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3303 NDR_POINTER_REF, "FetchStatus: ", -1);
3306 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3307 NDR_POINTER_REF, "VolSync: ", -1);
3308 MACRO_ST_CLEAR ("StoreData reply");
3313 afs4int_dissect_storeacl_resp
3315 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3319 di = pinfo->private_data;
3320 if (di->conformant_run)
3326 [out] afsFetchStatus *OutStatusp,
3327 [out] afsVolSync *Syncp
3331 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3332 NDR_POINTER_REF, "FetchStatus: ", -1);
3335 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3336 NDR_POINTER_REF, "VolSync: ", -1);
3337 MACRO_ST_CLEAR ("StoreAcl reply");
3342 afs4int_dissect_storestatus_resp
3344 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3348 di = pinfo->private_data;
3349 if (di->conformant_run)
3355 [out] afsFetchStatus *OutStatusp,
3356 [out] afsVolSync *Syncp
3360 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3361 NDR_POINTER_REF, "FetchStatus: ", -1);
3364 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3365 NDR_POINTER_REF, "VolSync: ", -1);
3366 MACRO_ST_CLEAR ("StoreStatus reply");
3371 afs4int_dissect_removefile_resp
3373 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3377 di = pinfo->private_data;
3378 if (di->conformant_run)
3384 [out] afsFetchStatus *OutDirStatusp,
3385 [out] afsFetchStatus *OutFileStatusp,
3386 [out] afsFid *OutFileFidp,
3387 [out] afsVolSync *Syncp
3390 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3391 NDR_POINTER_REF, "FetchStatus: ", -1);
3394 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3395 NDR_POINTER_REF, "FetchStatus: ", -1);
3397 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3398 NDR_POINTER_REF, "afsFid: ", -1);
3400 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3401 NDR_POINTER_REF, "VolSync: ", -1);
3402 MACRO_ST_CLEAR ("RemoveFile reply");
3407 afs4int_dissect_createfile_resp
3409 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3413 di = pinfo->private_data;
3414 if (di->conformant_run)
3420 [out] afsFid *OutFidp,
3421 [out] afsFetchStatus *OutFidStatusp,
3422 [out] afsFetchStatus *OutDirStatusp,
3423 [out] afsToken *OutTokenp,
3424 [out] afsVolSync *Syncp
3429 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3430 NDR_POINTER_REF, "afsFid: ", -1);
3432 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3433 NDR_POINTER_REF, "FetchStatus: ", -1);
3436 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3437 NDR_POINTER_REF, "FetchStatus: ", -1);
3440 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3441 NDR_POINTER_REF, "afsToken: ", -1);
3443 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3444 NDR_POINTER_REF, "VolSync: ", -1);
3445 MACRO_ST_CLEAR ("CreateFile reply");
3450 afs4int_dissect_rename_resp
3452 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3456 di = pinfo->private_data;
3457 if (di->conformant_run)
3463 [out] afsFetchStatus *OutOldDirStatusp,
3464 [out] afsFetchStatus *OutNewDirStatusp,
3465 [out] afsFid *OutOldFileFidp,
3466 [out] afsFetchStatus *OutOldFileStatusp,
3467 [out] afsFid *OutNewFileFidp,
3468 [out] afsFetchStatus *OutNewFileStatusp,
3469 [out] afsVolSync *Syncp
3473 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3474 NDR_POINTER_REF, "FetchStatus: ", -1);
3476 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3477 NDR_POINTER_REF, "FetchStatus: ", -1);
3479 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3480 NDR_POINTER_REF, "afsFid: ", -1);
3482 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3483 NDR_POINTER_REF, "FetchStatus: ", -1);
3485 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3486 NDR_POINTER_REF, "afsFid: ", -1);
3489 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3490 NDR_POINTER_REF, "FetchStatus: ", -1);
3493 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3494 NDR_POINTER_REF, "VolSync: ", -1);
3495 MACRO_ST_CLEAR("Rename reply");
3500 afs4int_dissect_symlink_resp
3502 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3506 di = pinfo->private_data;
3507 if (di->conformant_run)
3513 [out] afsFid *OutFidp,
3514 [out] afsFetchStatus *OutFidStatusp,
3515 [out] afsFetchStatus *OutDirStatusp,
3516 [out] afsToken *OutTokenp,
3517 [out] afsVolSync *Syncp
3521 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3522 NDR_POINTER_REF, "afsFid: ", -1);
3524 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3525 NDR_POINTER_REF, "FetchStatus: ", -1);
3527 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3528 NDR_POINTER_REF, "FetchStatus: ", -1);
3530 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3531 NDR_POINTER_REF, "afsToken: ", -1);
3533 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3534 NDR_POINTER_REF, "VolSync: ", -1);
3535 MACRO_ST_CLEAR ("Symlink reply");
3541 afs4int_dissect_hardlink_resp
3543 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3547 di = pinfo->private_data;
3548 if (di->conformant_run)
3554 [out] afsFetchStatus *OutFidStatusp,
3555 [out] afsFetchStatus *OutDirStatusp,
3556 [out] afsVolSync *Syncp
3561 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3562 NDR_POINTER_REF, "FetchStatus: ", -1);
3564 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3565 NDR_POINTER_REF, "FetchStatus: ", -1);
3567 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3568 NDR_POINTER_REF, "VolSync: ", -1);
3569 MACRO_ST_CLEAR ("Hardlink reply");
3574 afs4int_dissect_hardlink_rqst
3576 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3580 di = pinfo->private_data;
3581 if (di->conformant_run)
3587 [in] afsFid *DirFidp,
3588 [in] afsTaggedName *Namep,
3589 [in] afsFid *ExistingFidp,
3590 [in] afsHyper *minVVp,
3591 [in] unsigned32 Flags,
3596 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3597 NDR_POINTER_REF, "afsFid: ", -1);
3600 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3601 dissect_afstaggedname, NDR_POINTER_REF,
3602 "afsTaggedName: ", -1);
3605 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3606 NDR_POINTER_REF, "afsFid: ", -1);
3609 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
3610 NDR_POINTER_REF, "MinVVp:", -1);
3612 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
3618 afs4int_dissect_makedir_resp
3620 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3624 di = pinfo->private_data;
3625 if (di->conformant_run)
3631 [out] afsFid *OutFidp,
3632 [out] afsFetchStatus *OutFidStatusp,
3633 [out] afsFetchStatus *OutDirStatusp,
3634 [out] afsToken *OutTokenp,
3635 [out] afsVolSync *Syncp
3638 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3639 NDR_POINTER_REF, "afsFid: ", -1);
3641 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3642 NDR_POINTER_REF, "FetchStatus: ", -1);
3644 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3645 NDR_POINTER_REF, "FetchStatus: ", -1);
3647 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3648 NDR_POINTER_REF, "afsToken: ", -1);
3650 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3651 NDR_POINTER_REF, "VolSync: ", -1);
3653 MACRO_ST_CLEAR ("MakeDir reply");
3659 afs4int_dissect_removedir_resp
3661 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3665 di = pinfo->private_data;
3666 if (di->conformant_run)
3672 [out] afsFetchStatus *OutDirStatusp,
3673 [out] afsFid *OutFidp,
3674 [out] afsFetchStatus *OutDelStatusp,
3675 [out] afsVolSync *Syncp
3679 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3680 NDR_POINTER_REF, "FetchStatus: ", -1);
3682 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3683 NDR_POINTER_REF, "afsFid: ", -1);
3685 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3686 NDR_POINTER_REF, "FetchStatus: ", -1);
3688 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3689 NDR_POINTER_REF, "VolSync: ", -1);
3690 MACRO_ST_CLEAR ("RemoveDir reply");
3697 afs4int_dissect_readdir_resp
3699 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3702 guint32 nextoffsetp_high, nextoffsetp_low;
3705 di = pinfo->private_data;
3706 if (di->conformant_run)
3713 [out] afsHyper *NextOffsetp,
3714 [out] afsFetchStatus *OutDirStatusp,
3715 [out] afsToken *OutTokenp,
3716 [out] afsVolSync *Syncp,
3717 [out] pipe_t *dirStream
3721 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3722 hf_afs4int_nextoffsetp_high, &nextoffsetp_high);
3724 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3725 hf_afs4int_nextoffsetp_low, &nextoffsetp_low);
3727 if (check_col (pinfo->cinfo, COL_INFO))
3728 col_append_fstr (pinfo->cinfo, COL_INFO, " NextOffsetp:%u/%u",
3729 nextoffsetp_high, nextoffsetp_low);
3731 /* all packets seem to have SKIPTOKEN/SKIPSTATUS sent, and thus these structures are missing on calls holding tokens. */
3734 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3735 NDR_POINTER_REF, "VolSync: ", -1);
3736 /* XXX need to add pipe_t here, once figured out. */
3742 afs4int_dissect_releasetokens_resp
3744 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3748 di = pinfo->private_data;
3749 if (di->conformant_run)
3755 MACRO_ST_CLEAR ("ReleaseTokens reply");
3760 afs4int_dissect_releasetokens_rqst
3762 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3766 di = pinfo->private_data;
3767 if (di->conformant_run)
3774 [in] afsReturns *Tokens_Arrayp,
3775 [in] unsigned32 Flags
3778 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsReturns,
3779 NDR_POINTER_REF, "afsReturns: ", -1);
3781 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
3782 NDR_POINTER_REF, "afsFlags: ", -1);
3787 afs4int_dissect_gettime_resp
3789 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3792 guint32 secondsp, usecondsp, syncdistance, syncdispersion;
3795 di = pinfo->private_data;
3796 if (di->conformant_run)
3802 [out] unsigned32 *Secondsp,
3803 [out] unsigned32 *USecondsp,
3804 [out] unsigned32 *SyncDistance,
3805 [out] unsigned32 *SyncDispersion
3809 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3810 hf_afs4int_gettime_secondsp, &secondsp);
3812 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3813 hf_afs4int_gettime_usecondsp, &usecondsp);
3815 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3816 hf_afs4int_gettime_syncdistance, &syncdistance);
3818 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3819 hf_afs4int_gettime_syncdispersion, &syncdispersion);
3821 if (check_col (pinfo->cinfo, COL_INFO)) col_append_fstr (pinfo->cinfo, COL_INFO, " Secondsp:%u Usecondsp:%u SyncDistance:/%u SyncDispersion:%u", secondsp, usecondsp, syncdistance, syncdispersion);
3823 MACRO_ST_CLEAR ("GetTime reply");
3830 afs4int_dissect_gettime_rqst
3832 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
3836 di = pinfo->private_data;
3837 if (di->conformant_run)
3848 afs4int_dissect_processquota_resp
3850 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3854 di = pinfo->private_data;
3855 if (di->conformant_run)
3861 [in,out] afsQuota *quotaListp,
3862 [out] afsFetchStatus *OutStatusp,
3863 [out] afsVolSync *Syncp
3866 /* XXX need afsQuota */
3869 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3870 NDR_POINTER_REF, "FetchStatus: ", -1);
3872 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3873 NDR_POINTER_REF, "VolSync: ", -1);
3874 MACRO_ST_CLEAR ("ProcessQuota reply");
3880 afs4int_dissect_processquota_rqst
3882 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3886 di = pinfo->private_data;
3887 if (di->conformant_run)
3894 [in] afsHyper *minVVp,
3895 [in] unsigned32 Flags,
3896 [in,out] afsQuota *quotaListp,
3901 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3902 NDR_POINTER_REF, "afsFid: ", -1);
3904 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
3905 NDR_POINTER_REF, "MinVVp:", -1);
3906 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
3908 /* XXX need to figure out afsQuota here */
3913 afs4int_dissect_getserverinterfaces_rqst
3915 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
3919 di = pinfo->private_data;
3920 if (di->conformant_run)
3926 [in, out] dfs_interfaceList *serverInterfacesP
3928 /* XXX figure out dfs_interfacelist */
3933 afs4int_dissect_getserverinterfaces_resp
3935 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3939 di = pinfo->private_data;
3940 if (di->conformant_run)
3946 [in, out] dfs_interfaceList *serverInterfacesP
3948 /* XXX figure out dfs_interfacelist */
3950 MACRO_ST_CLEAR ("GetServerInterfaces reply");
3955 afs4int_dissect_setparams_rqst
3957 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3961 di = pinfo->private_data;
3962 if (di->conformant_run)
3968 [in] unsigned32 Flags,
3969 [in, out] afsConnParams *paramsP
3971 offset = dissect_afsFlags( tvb, offset, pinfo, tree, drep);
3973 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3974 dissect_afsConnParams, NDR_POINTER_REF,
3975 "afsConnParams:", -1);
3980 afs4int_dissect_setparams_resp
3982 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3986 di = pinfo->private_data;
3987 if (di->conformant_run)
3993 [in, out] afsConnParams *paramsP
3997 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3998 dissect_afsConnParams, NDR_POINTER_REF,
3999 "afsConnParams:", -1);
4000 MACRO_ST_CLEAR ("SetParams reply");
4005 afs4int_dissect_makemountpoint_resp
4007 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4011 di = pinfo->private_data;
4012 if (di->conformant_run)
4018 [out] afsFid *OutFidp,
4019 [out] afsFetchStatus *OutFidStatusp,
4020 [out] afsFetchStatus *OutDirStatusp,
4021 [out] afsVolSync *Syncp
4025 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
4026 NDR_POINTER_REF, "afsFid: ", -1);
4028 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
4029 NDR_POINTER_REF, "FetchStatus: ", -1);
4031 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
4032 NDR_POINTER_REF, "FetchStatus: ", -1);
4035 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
4036 NDR_POINTER_REF, "VolSync: ", -1);
4037 MACRO_ST_CLEAR ("MakeMountPoint reply");
4042 afs4int_dissect_getstatistics_rqst
4044 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
4048 di = pinfo->private_data;
4049 if (di->conformant_run)
4054 /* nothing for request */
4059 afs4int_dissect_getstatistics_resp
4061 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
4065 di = pinfo->private_data;
4066 if (di->conformant_run)
4072 [out] afsStatistics *Statisticsp
4074 /* XXX figure out afsStatistics */
4079 afs4int_dissect_bulkfetchvv_rqst
4081 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4084 guint32 cellidp_high, cellidp_low, numvols, spare1, spare2;
4087 di = pinfo->private_data;
4088 if (di->conformant_run)
4094 [in] afsHyper *cellIdp,
4095 [in] afsBulkVolIDs *VolIDsp,
4096 [in] unsigned32 NumVols,
4097 [in] unsigned32 Flags,
4098 [in] unsigned32 spare1,
4099 [in] unsigned32 spare2,
4102 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4103 hf_afs4int_cellidp_high, &cellidp_high);
4105 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4106 hf_afs4int_cellidp_low, &cellidp_low);
4108 if (check_col (pinfo->cinfo, COL_INFO))
4109 col_append_fstr (pinfo->cinfo, COL_INFO, " CellIDp:%u/%u", cellidp_high,
4112 /* XXX figure out the afsBulkVolIDS */
4114 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4115 hf_afs4int_bulkfetchvv_numvols, &numvols);
4117 offset = dissect_afsFlags (tvb, offset, pinfo, tree, drep);
4119 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4120 hf_afs4int_bulkfetchvv_spare1, &spare1);
4122 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4123 hf_afs4int_bulkfetchvv_spare2, &spare2);
4128 afs4int_dissect_bulkfetchvv_resp
4130 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
4134 di = pinfo->private_data;
4135 if (di->conformant_run)
4141 [out] afsBulkVVs *VolVVsp,
4142 [out] unsigned32 *spare4
4144 /* XXX need to figure out afsBulkVVs ; */
4149 afs4int_dissect_bulkkeepalive_resp
4151 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4156 di = pinfo->private_data;
4157 if (di->conformant_run)
4163 [out] unsigned32 *spare4
4167 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4168 hf_afs4int_bulkkeepalive_spare4, &spare4);
4169 MACRO_ST_CLEAR ("BulkKeepAlive reply");
4174 afs4int_dissect_bulkkeepalive_rqst
4176 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4178 guint32 numexecfids, spare1, spare2;
4181 di = pinfo->private_data;
4182 if (di->conformant_run)
4188 [in] afsBulkFEX *KAFEXp,
4189 [in] unsigned32 numExecFids,
4190 [in] unsigned32 Flags,
4191 [in] unsigned32 spare1,
4192 [in] unsigned32 spare2,
4194 /* XXX figure out afsBulkFEX */
4196 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4197 hf_afs4int_bulkkeepalive_numexecfids, &numexecfids);
4199 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
4200 NDR_POINTER_REF, "afsFlags:", -1);
4202 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4203 hf_afs4int_bulkkeepalive_spare1, &spare1);
4205 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4206 hf_afs4int_bulkkeepalive_spare2, &spare2);
4211 afs4int_dissect_bulkfetchstatus_rqst
4213 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4215 guint32 offsetp_high, offsetp_low, size;
4218 di = pinfo->private_data;
4219 if (di->conformant_run)
4226 [in] afsFid *DirFidp,
4227 [in] afsHyper *Offsetp,
4228 [in] unsigned32 Size,
4229 [in] afsHyper *minVVp,
4230 [in] unsigned32 Flags,
4234 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
4235 NDR_POINTER_REF, "afsFid: ", -1);
4237 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4238 hf_afs4int_offsetp_high, &offsetp_high);
4240 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4241 hf_afs4int_offsetp_low, &offsetp_low);
4243 if (check_col (pinfo->cinfo, COL_INFO))
4244 col_append_fstr (pinfo->cinfo, COL_INFO, " Offsetp:%u/%u", offsetp_high,
4247 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4248 hf_afs4int_bulkfetchstatus_size, &size);
4250 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
4251 NDR_POINTER_REF, "MinVVp:", -1);
4252 offset = dissect_afsFlags(tvb, offset, pinfo, tree, drep);
4258 afs4int_dissect_bulkfetchstatus_resp
4260 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4265 di = pinfo->private_data;
4266 if (di->conformant_run)
4272 [out] BulkStat *bulkstats,
4273 [out] afsHyper *NextOffsetp,
4274 [out] afsFetchStatus *OutDirStatusp,
4275 [out] afsToken *OutTokenp,
4276 [out] afsVolSync *Syncp,
4277 [out] pipe_t *dirStream
4281 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsBulkStat,
4282 NDR_POINTER_REF, "BulkStat: ", -1);
4283 /* Under construction. The packet seems to have the pipe_t before the rest of the data listed in idl. */
4287 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4288 hf_afs4int_nextoffsetp_high, &nextoffsetp_high);
4290 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4291 hf_afs4int_nextoffsetp_low, &nextoffsetp_low);
4293 if (check_col (pinfo->cinfo, COL_INFO))
4294 col_append_fstr (pinfo->cinfo, COL_INFO, " NextOffsetp:%u/%u",
4295 nextoffsetp_high, nextoffsetp_low);
4297 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
4298 NDR_POINTER_REF, "FetchStatus: ", -1);
4300 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
4301 NDR_POINTER_REF, "afsToken: ", -1);
4303 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
4304 NDR_POINTER_REF, "VolSync: ", -1);
4306 /* XXX figure out pipe_t */
4311 static dcerpc_sub_dissector afs4int_dissectors[] = {
4312 { 0, "SetContext", afs4int_dissect_setcontext_rqst, afs4int_dissect_setcontext_resp} ,
4313 { 1, "LookupRoot", afs4int_dissect_lookuproot_rqst, afs4int_dissect_lookuproot_resp} ,
4314 { 2, "FetchData", afs4int_dissect_fetchdata_rqst, afs4int_dissect_fetchdata_resp} ,
4315 { 3, "FetchAcl", afs4int_dissect_fetchacl_rqst, afs4int_dissect_fetchacl_resp} ,
4316 { 4, "FetchStatus", afs4int_dissect_fetchstatus_rqst, afs4int_dissect_fetchstatus_resp} ,
4317 { 5, "StoreData", afs4int_dissect_storedata_rqst, afs4int_dissect_storedata_resp} ,
4318 { 6, "StoreAcl", afs4int_dissect_storeacl_rqst, afs4int_dissect_storeacl_resp} ,
4319 { 7, "StoreStatus", afs4int_dissect_storestatus_rqst, afs4int_dissect_storestatus_resp} ,
4320 { 8, "RemoveFile", afs4int_dissect_removefile_rqst, afs4int_dissect_removefile_resp} ,
4321 { 9, "CreateFile", afs4int_dissect_createfile_rqst, afs4int_dissect_createfile_resp} ,
4322 { 10, "Rename", afs4int_dissect_rename_rqst, afs4int_dissect_rename_resp} ,
4323 { 11, "Symlink", afs4int_dissect_symlink_rqst, afs4int_dissect_symlink_resp} ,
4324 { 12, "HardLink", afs4int_dissect_hardlink_rqst, afs4int_dissect_hardlink_resp} ,
4325 { 13, "MakeDir", afs4int_dissect_makedir_rqst, afs4int_dissect_makedir_resp} ,
4326 { 14, "RemoveDir", afs4int_dissect_removedir_rqst, afs4int_dissect_removedir_resp} ,
4327 { 15, "Readdir", afs4int_dissect_readdir_rqst, afs4int_dissect_readdir_resp} ,
4328 { 16, "Lookup", afs4int_dissect_lookup_rqst, afs4int_dissect_lookup_resp} ,
4329 { 17, "GetToken", afs4int_dissect_gettoken_rqst, afs4int_dissect_gettoken_resp} ,
4330 { 18, "ReleaseTokens", afs4int_dissect_releasetokens_rqst, afs4int_dissect_releasetokens_resp} ,
4331 { 19, "GetTime", afs4int_dissect_gettime_rqst, afs4int_dissect_gettime_resp} ,
4332 { 20, "MakeMountPoint", afs4int_dissect_makemountpoint_rqst, afs4int_dissect_makemountpoint_resp} ,
4333 { 21, "GetStatistics", afs4int_dissect_getstatistics_rqst, afs4int_dissect_getstatistics_resp} ,
4334 { 22, "BulkFetchVV", afs4int_dissect_bulkfetchvv_rqst, afs4int_dissect_bulkfetchvv_resp} ,
4335 { 23, "BulkKeepAlive", afs4int_dissect_bulkkeepalive_rqst, afs4int_dissect_bulkkeepalive_resp} ,
4336 { 24, "ProcessQuota", afs4int_dissect_processquota_rqst, afs4int_dissect_processquota_resp} ,
4337 { 25, "GetServerInterfaces", afs4int_dissect_getserverinterfaces_rqst, afs4int_dissect_getserverinterfaces_resp} ,
4338 { 26, "SetParams", afs4int_dissect_setparams_rqst, afs4int_dissect_setparams_resp} ,
4339 { 27, "BulkFetchStatus", afs4int_dissect_bulkfetchstatus_rqst, afs4int_dissect_bulkfetchstatus_resp} ,
4340 { 0, NULL, NULL, NULL}
4344 proto_register_afs4int (void)
4348 static hf_register_info hf[] = {
4349 { &hf_error_st, {"AFS4Int Error Status Code", "afs4int.st", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4350 { &hf_afs4int_flags, {"DFS Flags", "afs4int.flags", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4351 { &hf_afs4int_tn_string, {"String ", "afs4int.string", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL}},
4352 { &hf_afs4int_tn_size, {"String Size", "afs4int.tn_size", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4353 { &hf_afs4int_opnum, {"Operation", "afs4int.opnum", FT_UINT16, BASE_DEC, NULL, 0x0, "Operation", HFILL}},
4354 { &hf_afs4int_setcontext_rqst_epochtime, {"EpochTime:", "afs4int.setcontext_rqst_epochtime", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL}},
4355 { &hf_afs4int_setcontext_rqst_secobjectid, { "SetObjectid:", "afs4int.setcontext_secobjextid", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", HFILL} } ,
4356 { &hf_afs4int_setcontext_rqst_clientsizesattrs, { "ClientSizeAttrs:", "afs4int.setcontext_clientsizesattrs", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4357 { &hf_afs4int_setcontext_rqst_parm7, { "Parm7:", "afs4int.setcontext.parm7", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4358 { &hf_afs4int_acl_len, {"Acl Length", "afs4int.acl_len", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4359 { &hf_afs4int_acltype, {"afs4int.acltype", "afs4int.acltype", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4360 { &hf_afs4int_minvvp_high, {"afs4int.minvvp_high", "afs4int.minvvp_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4361 { &hf_afs4int_minvvp_low, {"afs4int.minvvp_low", "afs4int.minvvp_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4362 { &hf_afs4int_volume_low, { "afs4int.volume_low", "afs4int.volume_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4363 { &hf_afs4int_volume_high, { "afs4int.volume_high", "afs4int.volume_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4364 { &hf_afs4int_vnode, { "afs4int.vnode", "afs4int.vnode", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4365 { &hf_afs4int_unique, { "afs4int.unique", "afs4int.unique", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4366 { &hf_afs4int_accesstime_msec, { "afs4int.accesstime_msec", "afs4int.accesstime_msec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4367 { &hf_afs4int_accesstime_sec, { "afs4int.accesstime_sec", "afs4int.accesstime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4368 { &hf_afs4int_aclexpirationtime, { "afs4int.aclexpirationtime", "afs4int.aclexpirationtime", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4369 { &hf_afs4int_agtypeunique, { "afs4int.agtypeunique", "afs4int.agtypeunique", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4370 { &hf_afs4int_anonymousaccess, { "afs4int.anonymousaccess", "afs4int.anonymousaccess", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4371 { &hf_afs4int_author, { "afs4int.author", "afs4int.author", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4372 { &hf_afs4int_blocksused, { "afs4int.blocksused", "afs4int.blocksused", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} },
4373 { &hf_afs4int_calleraccess, { "afs4int.calleraccess", "afs4int.calleraccess", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4374 { &hf_afs4int_changetime_msec, { "afs4int.changetime_msec", "afs4int.changetime_msec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4375 { &hf_afs4int_changetime_sec, { "afs4int.changetime_sec", "afs4int.changetime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4376 { &hf_afs4int_clientspare1, { "afs4int.clientspare1", "afs4int.clientspare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4377 { &hf_afs4int_dataversion_high, { "afs4int.dataversion_high", "afs4int.dataversion_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4378 { &hf_afs4int_dataversion_low, { "afs4int.dataversion_low", "afs4int.dataversion_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4379 { &hf_afs4int_devicenumber, { "afs4int.devicenumber", "afs4int.devicenumber", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4380 { &hf_afs4int_devicenumberhighbits, { "afs4int.devicenumberhighbits", "afs4int.devicenumberhighbits", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4381 { &hf_afs4int_filetype, { "afs4int.filetype", "afs4int.filetype", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4382 { &hf_afs4int_group, { "afs4int.group", "afs4int.group", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4383 { &hf_afs4int_himaxspare, { "afs4int.himaxspare", "afs4int.himaxspare", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4384 { &hf_afs4int_interfaceversion, { "afs4int.interfaceversion", "afs4int.interfaceversion", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4385 { &hf_afs4int_length_high, { "afs4int.length_high", "afs4int.length_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4386 { &hf_afs4int_length_low, { "afs4int.length_low", "afs4int.length_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4387 { &hf_afs4int_linkcount, { "afs4int.linkcount", "afs4int.linkcount", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4388 { &hf_afs4int_lomaxspare, { "afs4int.lomaxspare", "afs4int.lomaxspare", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4389 { &hf_afs4int_mode, { "afs4int.mode", "afs4int.mode", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4390 { &hf_afs4int_modtime_msec, { "afs4int.modtime_msec", "afs4int.modtime_msec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4391 { &hf_afs4int_modtime_sec, { "afs4int.modtime_sec", "afs4int.modtime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4392 { &hf_afs4int_objectuuid, { "afs4int.objectuuid", "afs4int.objectuuid", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", HFILL} } ,
4393 { &hf_afs4int_owner, { "afs4int.owner", "afs4int.owner", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4394 { &hf_afs4int_parentunique, { "afs4int.parentunique", "afs4int.parentunique", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4395 { &hf_afs4int_parentvnode, { "afs4int.parentvnode", "afs4int.parentvnode", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4396 { &hf_afs4int_pathconfspare, { "afs4int.pathconfspare", "afs4int.pathconfspare", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4397 { &hf_afs4int_servermodtime_msec, { "afs4int.servermodtime_msec", "afs4int.servermodtime_msec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4398 { &hf_afs4int_servermodtime_sec, { "afs4int.servermodtime_sec", "afs4int.servermodtime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4399 { &hf_afs4int_spare4, { "afs4int.spare4", "afs4int.spare4", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4400 { &hf_afs4int_spare5, { "afs4int.spare5", "afs4int.spare5", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4401 { &hf_afs4int_spare6, { "afs4int.spare6", "afs4int.spare6", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4402 { &hf_afs4int_typeuuid, { "afs4int.typeuuid", "afs4int.typeuuid", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", HFILL} } ,
4403 { &hf_afs4int_volid_hi, { "afs4int.volid_hi", "afs4int.volid_hi", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4404 { &hf_afs4int_volid_low, { "afs4int.volid_low", "afs4int.volid_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4405 { &hf_afs4int_vvage, { "afs4int.vvage", "afs4int.vvage", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4406 { &hf_afs4int_vv_hi, { "afs4int.vv_hi", "afs4int.vv_hi", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4407 { &hf_afs4int_vv_low, { "afs4int.vv_low", "afs4int.vv_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4408 { &hf_afs4int_vvpingage, { "afs4int.vvpingage", "afs4int.vvpingage", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4409 { &hf_afs4int_vvspare1, { "afs4int.vvspare1", "afs4int.vvspare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4410 { &hf_afs4int_vvspare2, { "afs4int.vvspare2", "afs4int.vvspare2", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4411 { &hf_afs4int_beginrange, { "afs4int.beginrange", "afs4int.beginrange", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4412 { &hf_afs4int_beginrangeext, { "afs4int.beginrangeext", "afs4int.beginrangeext", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4413 { &hf_afs4int_endrange, { "afs4int.endrange", "afs4int.endrange", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4414 { &hf_afs4int_endrangeext, { "afs4int.endrangeext", "afs4int.endrangeext", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4415 { &hf_afs4int_expirationtime, { "afs4int.expirationtime", "afs4int.expirationtime", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4416 { &hf_afs4int_tokenid_hi, { "afs4int.tokenid_hi", "afs4int.tokenid_hi", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4417 { &hf_afs4int_tokenid_low, { "afs4int.tokenid_low", "afs4int.tokenid_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4418 { &hf_afs4int_type_hi, { "afs4int.type_hi", "afs4int.type_hi", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4419 { &hf_afs4int_type_low, { "afs4int.type_low", "afs4int.type_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4420 { &hf_afs4int_tn_length, { "afs4int.tn_length", "afs4int.tn_length", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4421 { &hf_afs4int_tn_tag, { "afs4int.tn_tag", "afs4int.tn_tag", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4422 { &hf_afs4int_storestatus_accesstime_sec, { "afs4int.storestatus_accesstime_sec", "afs4int.storestatus_accesstime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4423 { &hf_afs4int_storestatus_accesstime_usec, { "afs4int.storestatus_accesstime_usec", "afs4int.storestatus_accesstime_usec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4424 { &hf_afs4int_storestatus_changetime_sec, { "afs4int.storestatus_changetime_sec", "afs4int.storestatus_changetime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4425 { &hf_afs4int_storestatus_changetime_usec, { "afs4int.storestatus_changetime_usec", "afs4int.storestatus_changetime_usec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4426 { &hf_afs4int_storestatus_clientspare1, { "afs4int.storestatus_clientspare1", "afs4int.storestatus_clientspare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4427 { &hf_afs4int_storestatus_cmask, { "afs4int.storestatus_cmask", "afs4int.storestatus_cmask", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4428 { &hf_afs4int_storestatus_devicenumber, { "afs4int.storestatus_devicenumber", "afs4int.storestatus_devicenumber", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4429 { &hf_afs4int_storestatus_devicenumberhighbits, { "afs4int.storestatus_devicenumberhighbits", "afs4int.storestatus_devicenumberhighbits", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4430 { &hf_afs4int_storestatus_devicetype, { "afs4int.storestatus_devicetype", "afs4int.storestatus_devicetype", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4431 { &hf_afs4int_storestatus_group, { "afs4int.storestatus_group", "afs4int.storestatus_group", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4432 { &hf_afs4int_storestatus_length_high, { "afs4int.storestatus_length_high", "afs4int.storestatus_length_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4433 { &hf_afs4int_storestatus_length_low, { "afs4int.storestatus_length_low", "afs4int.storestatus_length_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4434 { &hf_afs4int_storestatus_mask, { "afs4int.storestatus_mask", "afs4int.storestatus_mask", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4435 { &hf_afs4int_storestatus_mode, { "afs4int.storestatus_mode", "afs4int.storestatus_mode", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4436 { &hf_afs4int_storestatus_modtime_sec, { "afs4int.storestatus_modtime_sec", "afs4int.storestatus_modtime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4437 { &hf_afs4int_storestatus_modtime_usec, { "afs4int.storestatus_modtime_usec", "afs4int.storestatus_modtime_usec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4438 { &hf_afs4int_storestatus_owner, { "afs4int.storestatus_owner", "afs4int.storestatus_owner", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4439 { &hf_afs4int_storestatus_spare1, { "afs4int.storestatus_spare1", "afs4int.storestatus_spare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4440 { &hf_afs4int_storestatus_spare2, { "afs4int.storestatus_spare2", "afs4int.storestatus_spare2", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4441 { &hf_afs4int_storestatus_spare3, { "afs4int.storestatus_spare3", "afs4int.storestatus_spare3", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4442 { &hf_afs4int_storestatus_spare4, { "afs4int.storestatus_spare4", "afs4int.storestatus_spare4", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4443 { &hf_afs4int_storestatus_spare5, { "afs4int.storestatus_spare5", "afs4int.storestatus_spare5", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4444 { &hf_afs4int_storestatus_spare6, { "afs4int.storestatus_spare6", "afs4int.storestatus_spare6", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4445 { &hf_afs4int_storestatus_trunc_high, { "afs4int.storestatus_trunc_high", "afs4int.storestatus_trunc_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4446 { &hf_afs4int_storestatus_trunc_low, { "afs4int.storestatus_trunc_low", "afs4int.storestatus_trunc_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4447 { &hf_afs4int_storestatus_typeuuid, { "afs4int.storestatus_typeuuid", "afs4int.storestatus_typeuuid", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", HFILL} } ,
4448 { &hf_afs4int_st, { "afs4int.st", "afs4int.st", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4449 { &hf_afs4int_uint, {"afs4int.uint", "afs4int.uint", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4450 { &hf_afs4int_l_end_pos, { "afs4int.l_end_pos", "afs4int.l_end_pos", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4451 { &hf_afs4int_l_end_pos_ext, { "afs4int.l_end_pos_ext", "afs4int.l_end_pos_ext", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4452 { &hf_afs4int_l_fstype, { "afs4int.l_fstype", "afs4int.l_fstype", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4453 { &hf_afs4int_l_pid, { "afs4int.l_pid", "afs4int.l_pid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4454 { &hf_afs4int_l_start_pos, { "afs4int.l_start_pos", "afs4int.l_start_pos", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4455 { &hf_afs4int_l_start_pos_ext, { "afs4int.l_start_pos_ext", "afs4int.l_start_pos_ext", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4456 { &hf_afs4int_l_sysid, { "afs4int.l_sysid", "afs4int.l_sysid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4457 { &hf_afs4int_l_type, { "afs4int.l_type", "afs4int.l_type", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4458 { &hf_afs4int_l_whence, { "afs4int.l_whence", "afs4int.l_whence", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4459 {&hf_afsconnparams_mask,
4460 {"hf_afsconnparams_mask", "hf_afsconnparams_mask",
4461 FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4462 {&hf_afsconnparams_values,
4463 {"hf_afsconnparams_values", "hf_afsconnparams_values",
4464 FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4465 {&hf_afs4int_afsFid_cell_high,
4466 {"Cell High", "afs4int.afsFid.cell_high", FT_UINT32, BASE_HEX, NULL, 0x0,
4467 "afsFid Cell High", HFILL}},
4468 {&hf_afs4int_afsFid_cell_low,
4469 {"Cell Low", "afs4int.afsFid.cell_low", FT_UINT32, BASE_HEX, NULL, 0x0,
4470 "afsFid Cell Low", HFILL}},
4471 {&hf_afs4int_afsFid_volume_high,
4472 {"Volume High", "afs4int.afsFid.volume_high", FT_UINT32, BASE_HEX, NULL,
4473 0x0, "afsFid Volume High", HFILL}},
4474 {&hf_afs4int_afsFid_volume_low,
4475 {"Volume Low", "afs4int.afsFid.volume_low", FT_UINT32, BASE_HEX, NULL,
4476 0x0, "afsFid Volume Low", HFILL}},
4477 {&hf_afs4int_afsFid_Vnode,
4478 {"Vnode", "afs4int.afsFid.Vnode", FT_UINT32, BASE_HEX, NULL, 0x0,
4479 "afsFid Vnode", HFILL}},
4480 {&hf_afs4int_afsFid_Unique,
4481 {"Unique", "afs4int.afsFid.Unique", FT_UINT32, BASE_HEX, NULL, 0x0,
4482 "afsFid Unique", HFILL}},
4483 {&hf_afs4int_afsNetAddr_type,
4484 {"Type", "afsNetAddr.type", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL}},
4485 {&hf_afs4int_afsNetAddr_data,
4486 {"IP Data", "afsNetAddr.data", FT_UINT8, BASE_DEC, NULL, 0x0, "",
4488 {&hf_afs4int_position_high,
4489 {"Position High", "afs4int.position_high", FT_UINT32, BASE_HEX, NULL,
4491 {&hf_afs4int_position_low,
4492 {"Position Low", "afs4int.position_low", FT_UINT32, BASE_HEX, NULL, 0x0,
4494 {&hf_afs4int_afsreturndesc_tokenid_high,
4495 {"Tokenid High", "afs4int.afsreturndesc_tokenid_high", FT_UINT32,
4496 BASE_HEX, NULL, 0x0, "", HFILL}},
4497 {&hf_afs4int_afsreturndesc_tokenid_low,
4498 {"Tokenid low", "afs4int.afsreturndesc_tokenid_low", FT_UINT32, BASE_HEX,
4499 NULL, 0x0, "", HFILL}},
4500 {&hf_afs4int_afsreturndesc_type_high,
4501 {"Type high", "afs4int.type_high", FT_UINT32, BASE_HEX, NULL, 0x0, "",
4503 {&hf_afs4int_afsreturndesc_type_low,
4504 {"Type low", "afs4int.type_low", FT_UINT32, BASE_HEX, NULL, 0x0, "",
4506 {&hf_afs4int_offsetp_high,
4507 {"offset high", "afs4int.offset_high", FT_UINT32, BASE_HEX, NULL, 0x0,
4509 {&hf_afs4int_offsetp_low,
4510 {"offset high", "afs4int.offset_high", FT_UINT32, BASE_HEX, NULL, 0x0,
4512 {&hf_afs4int_nextoffsetp_high,
4513 {"next offset high", "afs4int.nextoffset_high", FT_UINT32, BASE_HEX,
4514 NULL, 0x0, "", HFILL}},
4515 {&hf_afs4int_nextoffsetp_low,
4516 {"next offset low", "afs4int.nextoffset_low", FT_UINT32, BASE_HEX, NULL,
4518 {&hf_afs4int_returntokenidp_high,
4519 {"return token idp high", "afs4int.returntokenidp_high", FT_UINT32,
4520 BASE_HEX, NULL, 0x0, "", HFILL}},
4521 {&hf_afs4int_returntokenidp_low,
4522 {"return token idp low", "afs4int.returntokenidp_low", FT_UINT32,
4523 BASE_HEX, NULL, 0x0, "", HFILL}},
4524 {&hf_afs4int_cellidp_high,
4525 {"cellidp high", "afs4int.cellidp_high", FT_UINT32, BASE_HEX, NULL, 0x0,
4527 {&hf_afs4int_cellidp_low,
4528 {"cellidp low", "afs4int.cellidp_low", FT_UINT32, BASE_HEX, NULL, 0x0,
4530 {&hf_afserrorstatus_st,
4531 {"AFS Error Code", "afs4int.afserrortstatus_st", FT_UINT32, BASE_HEX,
4532 NULL, 0x0, "", HFILL}},
4533 {&hf_afs4int_length,
4534 {"Length", "afs4int.length", FT_UINT32, BASE_HEX,
4535 NULL, 0x0, "", HFILL}},
4536 {&hf_afs4int_afsTaggedPath_tp_chars,
4537 {"AFS Tagged Path", "afs4int.TaggedPath_tp_chars", FT_STRING, BASE_NONE,
4538 NULL, 0x0, "", HFILL}},
4539 {&hf_afs4int_afsTaggedPath_tp_tag,
4540 {"AFS Tagged Path Name", "afs4int.TaggedPath_tp_tag", FT_UINT32,
4542 NULL, 0x0, "", HFILL}},
4543 {&hf_afs4int_afsacl_uuid1,
4544 {"AFS ACL UUID1", "afs4int.afsacl_uuid1", FT_STRING, BASE_NONE,
4545 NULL, 0x0, "UUID", HFILL}},
4546 {&hf_afs4int_bulkfetchstatus_size,
4547 {"BulkFetchStatus Size", "afs4int.bulkfetchstatus_size", FT_UINT32,
4549 NULL, 0x0, "", HFILL}},
4550 {&hf_afs4int_bulkfetchvv_numvols,
4551 {"afs4int.bulkfetchvv_numvols", "afs4int.bulkfetchvv_numvols",
4552 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4553 {&hf_afs4int_bulkfetchvv_spare1,
4554 {"afs4int.bulkfetchvv_spare1", "afs4int.bulkfetchvv_spare1",
4555 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4556 {&hf_afs4int_bulkfetchvv_spare2,
4557 {"afs4int.bulkfetchvv_spare2", "afs4int.bulkfetchvv_spare2",
4558 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4559 {&hf_afs4int_bulkkeepalive_numexecfids, {"BulkKeepAlive numexecfids", "afs4int.bulkkeepalive_numexecfids", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4560 {&hf_afs4int_bulkkeepalive_spare4,
4561 {"BulkKeepAlive spare4", "afs4int.bulkfetchkeepalive_spare2",
4562 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4563 {&hf_afs4int_bulkkeepalive_spare2,
4564 {"BulkKeepAlive spare2", "afs4int.bulkfetchkeepalive_spare2",
4565 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4566 {&hf_afs4int_bulkkeepalive_spare1,
4567 {"BulkFetch KeepAlive spare1", "afs4int.bulkfetchkeepalive_spare1",
4568 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4569 {&hf_afs4int_afsacl_defaultcell_uuid,
4570 {"Default Cell UUID",
4571 "afs4int.defaultcell_uuid", FT_STRING, BASE_NONE, NULL, 0x0,
4573 {&hf_afs4int_afsuuid_uuid,
4575 "afs4int.uuid", FT_STRING, BASE_NONE, NULL, 0x0,
4577 {&hf_afs4int_gettime_syncdispersion,
4578 {"GetTime Syncdispersion",
4579 "afs4int.gettime_syncdispersion", FT_UINT32, BASE_HEX, NULL, 0x0,
4581 {&hf_afs4int_gettime_syncdistance,
4582 {"SyncDistance", "afs4int.gettime.syncdistance",
4583 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4584 {&hf_afs4int_gettime_usecondsp,
4585 {"GetTime usecondsp", "afs4int.gettime_usecondsp",
4586 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4587 {&hf_afs4int_readdir_size,
4588 {"Readdir Size", "afs4int.readdir.size", FT_UINT32,
4589 BASE_HEX, NULL, 0x0, "", HFILL}},
4590 {&hf_afs4int_afsNameString_t_principalName_size,
4591 {"Principal Name Size",
4592 "afs4int.principalName_size", FT_UINT32, BASE_HEX,
4593 NULL, 0x0, "", HFILL}},
4594 {&hf_afs4int_afsNameString_t_principalName_size2,
4595 {"Principal Name Size2",
4596 "afs4int.principalName_size2", FT_UINT32, BASE_HEX,
4597 NULL, 0x0, "", HFILL}},
4598 {&hf_afs4int_afsTaggedPath_tp_length,
4599 {"Tagged Path Length",
4600 "afs4int.afsTaggedPath_length", FT_UINT32, BASE_HEX, NULL, 0x0,
4602 {&hf_afs4int_fstype,
4603 {"Filetype", "afs4int.fstype", FT_UINT32, BASE_HEX, NULL,
4605 {&hf_afs4int_gettime_secondsp,
4606 {"GetTime secondsp", "afs4int.gettime_secondsp", FT_UINT32,
4609 {&hf_afs4int_afsNameString_t_principalName_string,
4610 {"Principal Name", "afs4int.NameString_principal", FT_STRING,
4613 {&hf_afs4int_fetchdata_pipe_t_size,
4614 {"FetchData Pipe_t size", "afs4int.fetchdata_pipe_t_size", FT_STRING,
4618 static gint *ett[] = {
4620 &ett_afs4int_afsReturnDesc,
4621 &ett_afs4int_afsFid,
4622 &ett_afs4int_afsNetAddr,
4623 &ett_afs4int_fetchstatus,
4624 &ett_afs4int_afsflags,
4625 &ett_afs4int_volsync,
4626 &ett_afs4int_minvvp,
4627 &ett_afs4int_afsfidtaggedname,
4628 &ett_afs4int_afstaggedname,
4629 &ett_afs4int_afstoken,
4630 &ett_afs4int_afsstorestatus,
4631 &ett_afs4int_afsRecordLock,
4632 &ett_afs4int_afsAcl,
4633 &ett_afs4int_afsNameString_t,
4634 &ett_afs4int_afsConnParams,
4635 &ett_afs4int_afsErrorStatus,
4636 &ett_afs4int_afsTaggedPath,
4637 &ett_afs4int_afsNetData,
4638 &ett_afs4int_afsBulkStat,
4639 &ett_afs4int_afsuuid,
4640 &ett_afs4int_offsetp,
4641 &ett_afs4int_returntokenidp,
4642 &ett_afs4int_afsbundled_stat,
4644 proto_afs4int = proto_register_protocol ("DFS Calls", "DCE_DFS", "dce_dfs");
4645 proto_register_field_array (proto_afs4int, hf, array_length (hf));
4646 proto_register_subtree_array (ett, array_length (ett));
4650 proto_reg_handoff_afs4int (void)
4653 * Register the protocol as dcerpc
4655 dcerpc_init_uuid (proto_afs4int, ett_afs4int, &uuid_afs4int, ver_afs4int,
4656 afs4int_dissectors, hf_afs4int_opnum);