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
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 static int hf_error_st = -1;
312 static e_uuid_t uuid_afs4int =
313 { 0x4d37f2dd, 0xed93, 0x0000, {0x02, 0xc0, 0x37, 0xcf, 0x1e, 0x00, 0x00,
316 static guint16 ver_afs4int = 4;
318 /* XXX the only macro that I could not find the right way to convert easily.
319 The reason is because we reset col_info if st is non zero for many rpcs.
320 This is because on error, many structures are filled with garbage.
321 We end up not knowing if data is valid until we get the st var at the very end of the stubdata..
322 We can not just jump to the end, because more often than not an extra buffer exists in payload
323 after st. Thus we have to advance on each item until we read in ST, then we clear col_info. on error
324 A good example is FetchStatus() on a file that returns ENOEXIST.
325 inode, volume, etc all will be garbage.
328 #define MACRO_ST_CLEAR(name) \
329 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_error_st, &st); \
330 st_str = val_to_str (st, dce_error_vals, "%u"); \
332 if (check_col (pinfo->cinfo, COL_INFO)) \
333 col_add_fstr (pinfo->cinfo, COL_INFO, "%s st:%s ", name, st_str); \
335 if (check_col (pinfo->cinfo, COL_INFO)) \
336 col_append_fstr (pinfo->cinfo, COL_INFO, " st:%s ", st_str); \
340 dissect_afsFid (tvbuff_t * tvb, int offset,
341 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
352 proto_item *item = NULL;
353 proto_tree *tree = NULL;
354 int old_offset = offset;
355 guint32 volume_low, unique, vnode, inode;
358 di = pinfo->private_data;
359 if (di->conformant_run)
368 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsFid:");
369 tree = proto_item_add_subtree (item, ett_afs4int_afsFid);
373 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
374 hf_afs4int_afsFid_cell_high, NULL);
376 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
377 hf_afs4int_afsFid_cell_low, NULL);
379 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
380 hf_afs4int_afsFid_volume_high, NULL);
382 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
383 hf_afs4int_afsFid_volume_low, &volume_low);
385 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
386 hf_afs4int_afsFid_Vnode, &vnode);
388 offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
389 hf_afs4int_afsFid_Unique, &unique);
391 if (check_col (pinfo->cinfo, COL_INFO))
392 col_append_fstr (pinfo->cinfo, COL_INFO, " :FSID:%u ", volume_low);
394 if ((vnode == 1) || (vnode == 2))
396 if (check_col (pinfo->cinfo, COL_INFO))
397 col_append_str (pinfo->cinfo, COL_INFO, " InFS ");
401 inode = ((volume_low << 16) + vnode) & 0x7fffffff;
402 if (check_col (pinfo->cinfo, COL_INFO))
403 col_append_fstr (pinfo->cinfo, COL_INFO, " inode:%u ", inode);
406 proto_item_set_len (item, offset - old_offset);
411 dissect_afsConnParams (tvbuff_t * tvb, int offset,
412 packet_info * pinfo, proto_tree * parent_tree,
418 unsigned32 Values[20];
421 proto_item *item = NULL;
422 proto_tree *tree = NULL;
423 int old_offset = offset;
424 guint32 mask, Values[20];
427 di = pinfo->private_data;
428 if (di->conformant_run)
437 proto_tree_add_text (parent_tree, tvb, offset, -1,
439 tree = proto_item_add_subtree (item, ett_afs4int_afsConnParams);
442 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
443 hf_afsconnparams_mask, &mask);
445 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
446 hf_afsconnparams_values, &Values[0]);
448 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
449 hf_afsconnparams_values, &Values[1]);
451 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
452 hf_afsconnparams_values, &Values[2]);
454 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
455 hf_afsconnparams_values, &Values[3]);
457 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
458 hf_afsconnparams_values, &Values[4]);
460 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
461 hf_afsconnparams_values, &Values[5]);
463 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
464 hf_afsconnparams_values, &Values[6]);
466 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
467 hf_afsconnparams_values, &Values[7]);
469 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
470 hf_afsconnparams_values, &Values[9]);
472 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
473 hf_afsconnparams_values, &Values[9]);
475 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
476 hf_afsconnparams_values, &Values[10]);
478 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
479 hf_afsconnparams_values, &Values[11]);
481 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
482 hf_afsconnparams_values, &Values[12]);
484 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
485 hf_afsconnparams_values, &Values[13]);
487 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
488 hf_afsconnparams_values, &Values[14]);
490 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
491 hf_afsconnparams_values, &Values[15]);
493 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
494 hf_afsconnparams_values, &Values[16]);
496 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
497 hf_afsconnparams_values, &Values[17]);
499 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
500 hf_afsconnparams_values, &Values[18]);
502 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
503 hf_afsconnparams_values, &Values[19]);
504 if ((mask & AFS_CONN_PARAM_HOSTLIFE) == AFS_CONN_PARAM_HOSTLIFE)
506 if (check_col (pinfo->cinfo, COL_INFO))
507 col_append_str (pinfo->cinfo, COL_INFO, ":HOSTLIFE");
509 if ((mask & AFS_CONN_PARAM_HOSTRPC) == AFS_CONN_PARAM_HOSTRPC)
511 if (check_col (pinfo->cinfo, COL_INFO))
512 col_append_str (pinfo->cinfo, COL_INFO, ":HOSTRPC");
514 if ((mask & AFS_CONN_PARAM_DEADSERVER) == AFS_CONN_PARAM_DEADSERVER)
516 if (check_col (pinfo->cinfo, COL_INFO))
517 col_append_str (pinfo->cinfo, COL_INFO, ":DEADSERVER");
519 if ((mask & AFS_CONN_PARAM_EPOCH) == AFS_CONN_PARAM_EPOCH)
521 if (check_col (pinfo->cinfo, COL_INFO))
522 col_append_str (pinfo->cinfo, COL_INFO, ":EPOCH");
524 if ((mask & AFS_CONN_PARAM_MAXFILE_CLIENT) == AFS_CONN_PARAM_MAXFILE_CLIENT)
526 if (check_col (pinfo->cinfo, COL_INFO))
527 col_append_str (pinfo->cinfo, COL_INFO, ":MAXFILE_CLIENT");
529 if ((mask & AFS_CONN_PARAM_MAXFILE_SERVER) == AFS_CONN_PARAM_MAXFILE_SERVER)
531 if (check_col (pinfo->cinfo, COL_INFO))
532 col_append_str (pinfo->cinfo, COL_INFO, ":MAXFILE_SERVER");
534 if ((mask & AFS_CONN_PARAM_HOST_TYPE_CLIENT) ==
535 AFS_CONN_PARAM_HOST_TYPE_CLIENT)
537 if (check_col (pinfo->cinfo, COL_INFO))
538 col_append_str (pinfo->cinfo, COL_INFO, ":HOST_TYPE_CLIENT");
540 if ((mask & AFS_CONN_PARAM_HOST_TYPE_SERVER) ==
541 AFS_CONN_PARAM_HOST_TYPE_SERVER)
543 if (check_col (pinfo->cinfo, COL_INFO))
544 col_append_str (pinfo->cinfo, COL_INFO, ":HOST_TYPE_SERVER");
546 if ((mask & AFS_CONN_PARAM_FT_MASK_CLIENT) == AFS_CONN_PARAM_FT_MASK_CLIENT)
548 if (check_col (pinfo->cinfo, COL_INFO))
549 col_append_str (pinfo->cinfo, COL_INFO, ":FT_MASK_CLIENT");
551 if ((mask & AFS_CONN_PARAM_FT_MASK_SERVER) == AFS_CONN_PARAM_FT_MASK_SERVER)
553 if (check_col (pinfo->cinfo, COL_INFO))
554 col_append_str (pinfo->cinfo, COL_INFO, ":FT_MASK_SERVER");
556 if ((mask & AFS_CONN_PARAM_SUPPORTS_64BITS) ==
557 AFS_CONN_PARAM_SUPPORTS_64BITS)
559 if (check_col (pinfo->cinfo, COL_INFO))
560 col_append_str (pinfo->cinfo, COL_INFO, ":SUPPORTS_64BITS");
562 if ((mask & AFS_CONN_PARAM_512BYTE_BLOCKS) == AFS_CONN_PARAM_512BYTE_BLOCKS)
564 if (check_col (pinfo->cinfo, COL_INFO))
565 col_append_str (pinfo->cinfo, COL_INFO, ":512BYTE_BLOCKS");
567 if (check_col (pinfo->cinfo, COL_INFO))
568 col_append_fstr (pinfo->cinfo, COL_INFO,
569 " Values:%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u",
570 Values[0], Values[1], Values[2], Values[3],
571 Values[4], Values[5], Values[6], Values[7], Values[8],
572 Values[9], Values[10], Values[11], Values[12],
573 Values[13], Values[14], Values[15], Values[16],
574 Values[17], Values[18], Values[19]);
576 proto_item_set_len (item, offset - old_offset);
581 dissect_afsNameString_t (tvbuff_t * tvb, int offset,
582 packet_info * pinfo, proto_tree * parent_tree,
587 typedef [string] byte NameString_t[AFS_NAMEMAX];
590 proto_item *item = NULL;
591 proto_tree *tree = NULL;
592 int old_offset = offset;
593 #define AFS_NAMEMAX 256
595 const guint8 *namestring;
598 di = pinfo->private_data;
599 if (di->conformant_run)
608 proto_tree_add_text (parent_tree, tvb, offset, -1,
610 tree = proto_item_add_subtree (item, ett_afs4int_afsNameString_t);
614 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
615 hf_afs4int_afsNameString_t_principalName_size,
617 if (check_col (pinfo->cinfo, COL_INFO))
618 col_append_fstr (pinfo->cinfo, COL_INFO, " String_size:%u", string_size);
619 if (string_size < AFS_NAMEMAX)
621 /* proto_tree_add_string(tree, id, tvb, start, length, value_ptr); */
623 proto_tree_add_string (tree, hf_afs4int_afsNameString_t_principalName_string, tvb, offset, string_size, tvb_get_ptr (tvb, offset, string_size));
624 namestring = tvb_get_ptr (tvb, offset, string_size);
625 offset += string_size;
626 if (check_col (pinfo->cinfo, COL_INFO))
627 col_append_fstr (pinfo->cinfo, COL_INFO, " Principal:%s", namestring);
631 if (check_col (pinfo->cinfo, COL_INFO))
632 col_append_fstr (pinfo->cinfo, COL_INFO,
633 " :FIXME!: Invalid string length of %u",
637 proto_item_set_len (item, offset - old_offset);
643 dissect_afsNetAddr (tvbuff_t * tvb, int offset,
644 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
651 proto_item *item = NULL;
652 proto_tree *tree = NULL;
653 int old_offset = offset;
659 di = pinfo->private_data;
660 if (di->conformant_run)
667 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
669 tree = proto_item_add_subtree (item, ett_afs4int_afsNetAddr);
674 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep,
675 hf_afs4int_afsNetAddr_type, &type);
679 if (check_col (pinfo->cinfo, COL_INFO))
680 col_append_fstr (pinfo->cinfo, COL_INFO, " Type:%u ", type);
683 for (i = 0; i < 14; i++)
687 dissect_ndr_uint8 (tvb, offset, pinfo, tree, drep,
688 hf_afs4int_afsNetAddr_data, &data);
696 if (check_col (pinfo->cinfo, COL_INFO))
697 col_append_fstr (pinfo->cinfo, COL_INFO, " Port:%u",
702 if (check_col (pinfo->cinfo, COL_INFO))
703 col_append_fstr (pinfo->cinfo, COL_INFO, " IP:%u.", data);
706 if (check_col (pinfo->cinfo, COL_INFO))
707 col_append_fstr (pinfo->cinfo, COL_INFO, "%u.", data);
710 if (check_col (pinfo->cinfo, COL_INFO))
711 col_append_fstr (pinfo->cinfo, COL_INFO, "%u.", data);
714 if (check_col (pinfo->cinfo, COL_INFO))
715 col_append_fstr (pinfo->cinfo, COL_INFO, "%u", data);
725 offset += 14; /* space left after reading in type for the array. */
729 proto_item_set_len (item, offset - old_offset);
735 dissect_afsNetData (tvbuff_t * tvb, int offset,
736 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
740 NameString_t principalName;
742 proto_item *item = NULL;
743 proto_tree *tree = NULL;
744 int old_offset = offset;
747 di = pinfo->private_data;
748 if (di->conformant_run)
756 proto_tree_add_text (parent_tree, tvb, offset, -1, "afsNetData:");
757 tree = proto_item_add_subtree (item, ett_afs4int_afsNetData);
761 offset = dissect_afsNetAddr ( tvb, offset, pinfo, tree, drep);
762 offset += 4; /* buffer */
763 offset = dissect_afsNameString_t ( tvb, offset, pinfo, tree, drep);
765 proto_item_set_len (item, offset - old_offset);
771 dissect_afsTaggedPath (tvbuff_t * tvb, int offset,
772 packet_info * pinfo, proto_tree * parent_tree,
778 unsigned16 tp_length;
779 byte tp_chars[AFS_PATHMAX+1]; 1024+1
782 proto_item *item = NULL;
783 proto_tree *tree = NULL;
784 int old_offset = offset;
787 const guint8 *tp_chars;
790 di = pinfo->private_data;
791 if (di->conformant_run)
800 proto_tree_add_text (parent_tree, tvb, offset, -1, "afsTaggedPath");
801 tree = proto_item_add_subtree (item, ett_afs4int_afsTaggedPath);
806 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
807 hf_afs4int_afsTaggedPath_tp_tag, &tp_tag);
809 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep,
810 hf_afs4int_afsTaggedPath_tp_length, &tp_length);
811 proto_tree_add_string (tree, hf_afs4int_afsTaggedPath_tp_chars, tvb, offset,
812 hf_afs4int_afsTaggedPath_tp_length, tvb_get_ptr (tvb,
815 tp_chars = tvb_get_ptr (tvb, offset, 1025);
817 if (check_col (pinfo->cinfo, COL_INFO))
818 col_append_fstr (pinfo->cinfo, COL_INFO, " :tp_chars %s", tp_chars);
821 proto_item_set_len (item, offset - old_offset);
826 dissect_afsAcl (tvbuff_t * tvb, int offset,
827 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
830 unsigned32 afsACL_len;
831 [length_is(afsACL_len)] byte afsACL_val[AFS_ACLMAX];
836 proto_item *item = NULL;
837 proto_tree *tree = NULL;
838 int old_offset = offset;
840 e_uuid_t uuid1, defaultcell;
843 di = pinfo->private_data;
844 if (di->conformant_run)
853 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsAcl");
854 tree = proto_item_add_subtree (item, ett_afs4int_afsAcl);
859 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_acl_len,
861 offset += 8; /* bypass spare and duplicate acl_len */
863 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep,
864 hf_afs4int_afsacl_uuid1, &uuid1);
865 if (check_col (pinfo->cinfo, COL_INFO))
866 col_append_fstr (pinfo->cinfo, COL_INFO,
867 " - %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
868 uuid1.Data1, uuid1.Data2, uuid1.Data3, uuid1.Data4[0],
869 uuid1.Data4[1], uuid1.Data4[2], uuid1.Data4[3],
870 uuid1.Data4[4], uuid1.Data4[5], uuid1.Data4[6],
874 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep,
875 hf_afs4int_afsacl_defaultcell_uuid, &defaultcell);
876 if (check_col (pinfo->cinfo, COL_INFO))
877 col_append_fstr (pinfo->cinfo, COL_INFO,
878 " %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
879 defaultcell.Data1, defaultcell.Data2, defaultcell.Data3,
880 defaultcell.Data4[0], defaultcell.Data4[1],
881 defaultcell.Data4[2], defaultcell.Data4[3],
882 defaultcell.Data4[4], defaultcell.Data4[5],
883 defaultcell.Data4[6], defaultcell.Data4[7]);
885 offset += (acl_len - 38);
887 proto_item_set_len(item, offset-old_offset);
893 dissect_afsErrorStatus (tvbuff_t * tvb, int offset,
894 packet_info * pinfo, proto_tree * parent_tree,
897 proto_item *item = NULL;
898 proto_tree *tree = NULL;
899 int old_offset = offset;
903 di = pinfo->private_data;
904 if (di->conformant_run)
911 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
913 tree = proto_item_add_subtree (item, ett_afs4int_afsErrorStatus);
917 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afserrorstatus_st,
919 st_str = val_to_str (st, dce_error_vals, "%u");
921 if (check_col (pinfo->cinfo, COL_INFO))
922 col_append_fstr (pinfo->cinfo, COL_INFO, " st:%s ", st_str);
924 proto_item_set_len (item, offset - old_offset);
929 dissect_afsRecordLock (tvbuff_t * tvb, int offset,
930 packet_info * pinfo, proto_tree * parent_tree,
936 unsigned32 l_start_pos;
937 unsigned32 l_end_pos;
941 unsigned32 l_start_pos_ext; was l_spare0: high 32b of l_start_pos
942 unsigned32 l_end_pos_ext; was l_spare1: high 32b of l_end_pos
945 proto_item *item = NULL;
946 proto_tree *tree = NULL;
947 int old_offset = offset;
948 guint16 l_type, l_whence;
949 guint32 l_start_pos, l_end_pos, l_pid, l_sysid, l_fstype, l_start_pos_ext,
953 di = pinfo->private_data;
954 if (di->conformant_run)
961 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
963 tree = proto_item_add_subtree (item, ett_afs4int_afsRecordLock);
967 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_type,
970 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_whence,
973 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
974 hf_afs4int_l_start_pos, &l_start_pos);
976 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_end_pos,
979 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_pid,
982 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_sysid,
985 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_l_fstype,
988 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
989 hf_afs4int_l_start_pos_ext, &l_start_pos_ext);
991 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
992 hf_afs4int_l_end_pos_ext, &l_end_pos_ext);
995 proto_item_set_len (item, offset - old_offset);
1000 dissect_afsstorestatus (tvbuff_t * tvb, int offset,
1001 packet_info * pinfo, proto_tree * parent_tree,
1007 afsTimeval accessTime;
1008 afsTimeval changeTime;
1012 afsHyper truncLength; applied first
1015 unsigned32 deviceType; character or block
1016 unsigned32 deviceNumber;
1018 unsigned32 clientSpare1; client-only attrs
1019 unsigned32 deviceNumberHighBits;
1028 proto_item *item = NULL;
1029 proto_tree *tree = NULL;
1030 int old_offset = offset;
1031 guint32 mask, modtime_sec, changetime_sec, accesstime_sec, devicenumber,
1032 clientspare1, devicenumberhighbits, spare1, spare2, spare3, spare4,
1033 spare5, spare6, accesstime_usec, changetime_usec, owner, group, mode,
1034 trunc_high, trunc_low, length_high, length_low, devicetype,
1035 cmask, modtime_usec;
1039 di = pinfo->private_data;
1040 if (di->conformant_run)
1048 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1050 tree = proto_item_add_subtree (item, ett_afs4int_afsstorestatus);
1054 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1055 hf_afs4int_storestatus_mask, &mask);
1057 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1058 hf_afs4int_storestatus_modtime_sec, &modtime_sec);
1060 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1061 hf_afs4int_storestatus_modtime_usec, &modtime_usec);
1063 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1064 hf_afs4int_storestatus_accesstime_sec,
1067 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1068 hf_afs4int_storestatus_accesstime_usec,
1071 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1072 hf_afs4int_storestatus_changetime_sec,
1075 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1076 hf_afs4int_storestatus_changetime_usec,
1079 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1080 hf_afs4int_storestatus_owner, &owner);
1082 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1083 hf_afs4int_storestatus_group, &group);
1085 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1086 hf_afs4int_storestatus_mode, &mode);
1088 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1089 hf_afs4int_storestatus_trunc_high, &trunc_high);
1091 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1092 hf_afs4int_storestatus_trunc_low, &trunc_low);
1094 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1095 hf_afs4int_storestatus_length_high, &length_high);
1097 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1098 hf_afs4int_storestatus_length_low, &length_low);
1100 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep,
1101 hf_afs4int_storestatus_typeuuid, &typeuuid);
1103 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1104 hf_afs4int_storestatus_devicetype, &devicetype);
1106 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1107 hf_afs4int_storestatus_devicenumber, &devicenumber);
1109 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1110 hf_afs4int_storestatus_cmask, &cmask);
1112 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1113 hf_afs4int_storestatus_clientspare1, &clientspare1);
1115 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1116 hf_afs4int_storestatus_devicenumberhighbits,
1117 &devicenumberhighbits);
1119 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1120 hf_afs4int_storestatus_spare1, &spare1);
1122 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1123 hf_afs4int_storestatus_spare2, &spare2);
1125 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1126 hf_afs4int_storestatus_spare3, &spare3);
1128 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1129 hf_afs4int_storestatus_spare4, &spare4);
1131 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1132 hf_afs4int_storestatus_spare5, &spare5);
1134 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1135 hf_afs4int_storestatus_spare6, &spare6);
1137 if (check_col (pinfo->cinfo, COL_INFO))
1138 col_append_fstr (pinfo->cinfo, COL_INFO, " Mask=");
1139 if ((mask & AFS_SETMODTIME) == AFS_SETMODTIME)
1141 if (check_col (pinfo->cinfo, COL_INFO))
1142 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETMODTIME-%u.%u",
1143 modtime_sec, modtime_usec);
1145 if ((mask & AFS_SETOWNER) == AFS_SETOWNER)
1147 if (check_col (pinfo->cinfo, COL_INFO))
1148 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETOWNER-%u", owner);
1150 if ((mask & AFS_SETGROUP) == AFS_SETGROUP)
1152 if (check_col (pinfo->cinfo, COL_INFO))
1153 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETGROUP-%u", group);
1155 if ((mask & AFS_SETMODE) == AFS_SETMODE)
1157 if (check_col (pinfo->cinfo, COL_INFO))
1158 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETMODE-%o", mode);
1160 if ((mask & AFS_SETACCESSTIME) == AFS_SETACCESSTIME)
1162 if (check_col (pinfo->cinfo, COL_INFO))
1163 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETACCESSTIME-%u.%u",
1164 accesstime_sec, accesstime_usec);
1166 if ((mask & AFS_SETCHANGETIME) == AFS_SETCHANGETIME)
1168 if (check_col (pinfo->cinfo, COL_INFO))
1169 col_append_fstr (pinfo->cinfo, COL_INFO, ":SETCHANGETIME-%u.%u",
1170 changetime_sec, changetime_usec);
1172 if ((mask & AFS_SETLENGTH) == AFS_SETLENGTH)
1174 if (check_col (pinfo->cinfo, COL_INFO))
1175 col_append_str (pinfo->cinfo, COL_INFO, ":SETLENGTH");
1177 if ((mask & AFS_SETTYPEUUID) == AFS_SETTYPEUUID)
1179 if (check_col (pinfo->cinfo, COL_INFO))
1180 col_append_str (pinfo->cinfo, COL_INFO, ":SETTYPEUUID");
1182 if ((mask & AFS_SETDEVNUM) == AFS_SETDEVNUM)
1184 if (check_col (pinfo->cinfo, COL_INFO))
1185 col_append_str (pinfo->cinfo, COL_INFO, ":SETDEVNUM");
1187 if ((mask & AFS_SETMODEXACT) == AFS_SETMODEXACT)
1189 if (check_col (pinfo->cinfo, COL_INFO))
1190 col_append_str (pinfo->cinfo, COL_INFO, ":SETMODEXACT");
1192 if ((mask & AFS_SETTRUNCLENGTH) == AFS_SETTRUNCLENGTH)
1194 if (check_col (pinfo->cinfo, COL_INFO))
1195 col_append_str (pinfo->cinfo, COL_INFO, ":SETTRUNCLENGTH");
1197 if ((mask & AFS_SETCLIENTSPARE) == AFS_SETCLIENTSPARE)
1199 if (check_col (pinfo->cinfo, COL_INFO))
1200 col_append_str (pinfo->cinfo, COL_INFO, ":SETCLIENTSPARE");
1203 proto_item_set_len (item, offset - old_offset);
1208 dissect_afstoken (tvbuff_t * tvb, int offset,
1209 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1213 unsigned32 expirationTime;
1215 unsigned32 beginRange;
1216 unsigned32 endRange;
1217 unsigned32 beginRangeExt;
1218 unsigned32 endRangeExt;
1221 proto_item *item = NULL;
1222 proto_tree *tree = NULL;
1223 int old_offset = offset;
1224 guint32 tokenid_hi, tokenid_low, expirationtime, type_hi, type_low,
1225 beginrange, endrange, beginrangeext, endrangeext, type;
1228 di = pinfo->private_data;
1229 if (di->conformant_run)
1237 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsToken:");
1238 tree = proto_item_add_subtree (item, ett_afs4int_afstoken);
1242 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_tokenid_hi,
1245 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1246 hf_afs4int_tokenid_low, &tokenid_low);
1248 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1249 hf_afs4int_expirationtime, &expirationtime);
1251 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_type_hi,
1254 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_type_low,
1257 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_beginrange,
1260 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_endrange,
1263 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1264 hf_afs4int_beginrangeext, &beginrangeext);
1266 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1267 hf_afs4int_endrangeext, &endrangeext);
1268 if (check_col (pinfo->cinfo, COL_INFO))
1269 col_append_fstr (pinfo->cinfo, COL_INFO,
1270 " :Tokenid:%u/%u ExpirationTime:%u beginrange:%u endrange:%u beginrangeext:%u endrangeext:%u",
1271 tokenid_hi, tokenid_low, expirationtime, beginrange,
1272 endrange, beginrangeext, endrangeext);
1275 if (check_col (pinfo->cinfo, COL_INFO))
1276 col_append_str (pinfo->cinfo, COL_INFO, " Type=");
1278 if ((type & TKN_LOCK_READ) == TKN_LOCK_READ)
1280 if (check_col (pinfo->cinfo, COL_INFO))
1281 col_append_str (pinfo->cinfo, COL_INFO, ":LOCK_READ");
1283 if ((type & TKN_LOCK_WRITE) == TKN_LOCK_WRITE)
1285 if (check_col (pinfo->cinfo, COL_INFO))
1286 col_append_str (pinfo->cinfo, COL_INFO, ":LOCK_WRITE");
1288 if ((type & TKN_DATA_READ) == TKN_DATA_READ)
1290 if (check_col (pinfo->cinfo, COL_INFO))
1291 col_append_str (pinfo->cinfo, COL_INFO, ":DATA_READ");
1293 if ((type & TKN_DATA_WRITE) == TKN_DATA_WRITE)
1295 if (check_col (pinfo->cinfo, COL_INFO))
1296 col_append_str (pinfo->cinfo, COL_INFO, ":DATA_WRITE");
1298 if ((type & TKN_OPEN_READ) == TKN_OPEN_READ)
1300 if (check_col (pinfo->cinfo, COL_INFO))
1301 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_READ");
1303 if ((type & TKN_OPEN_WRITE) == TKN_OPEN_WRITE)
1305 if (check_col (pinfo->cinfo, COL_INFO))
1306 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_WRITE");
1308 if ((type & TKN_OPEN_SHARED) == TKN_OPEN_SHARED)
1310 if (check_col (pinfo->cinfo, COL_INFO))
1311 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_SHARED");
1313 if ((type & TKN_OPEN_EXCLUSIVE) == TKN_OPEN_EXCLUSIVE)
1315 if (check_col (pinfo->cinfo, COL_INFO))
1316 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_EXCLUSIVE");
1318 if ((type & TKN_OPEN_DELETE) == TKN_OPEN_DELETE)
1320 if (check_col (pinfo->cinfo, COL_INFO))
1321 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_DELETE");
1323 if ((type & TKN_OPEN_PRESERVE) == TKN_OPEN_PRESERVE)
1325 if (check_col (pinfo->cinfo, COL_INFO))
1326 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_PRESERVE");
1328 if ((type & TKN_STATUS_READ) == TKN_STATUS_READ)
1330 if (check_col (pinfo->cinfo, COL_INFO))
1331 col_append_str (pinfo->cinfo, COL_INFO, ":STATUS_READ");
1333 if ((type & TKN_STATUS_WRITE) == TKN_STATUS_WRITE)
1335 if (check_col (pinfo->cinfo, COL_INFO))
1336 col_append_str (pinfo->cinfo, COL_INFO, ":STATUS_WRITE");
1338 if ((type & TKN_OPEN_UNLINK) == TKN_OPEN_UNLINK)
1340 if (check_col (pinfo->cinfo, COL_INFO))
1341 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_UNLINK");
1343 if ((type & TKN_SPOT_HERE) == TKN_SPOT_HERE)
1345 if (check_col (pinfo->cinfo, COL_INFO))
1346 col_append_str (pinfo->cinfo, COL_INFO, ":SPOT_HERE");
1348 if ((type & TKN_SPOT_THERE) == TKN_SPOT_THERE)
1350 if (check_col (pinfo->cinfo, COL_INFO))
1351 col_append_str (pinfo->cinfo, COL_INFO, ":SPOT_THERE");
1353 if ((type & TKN_OPEN_NO_READ) == TKN_OPEN_NO_READ)
1355 if (check_col (pinfo->cinfo, COL_INFO))
1356 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_NO_READ");
1358 if ((type & TKN_OPEN_NO_WRITE) == TKN_OPEN_NO_WRITE)
1360 if (check_col (pinfo->cinfo, COL_INFO))
1361 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_NO_WRITE");
1363 if ((type & TKN_OPEN_NO_UNLINK) == TKN_OPEN_NO_UNLINK)
1365 if (check_col (pinfo->cinfo, COL_INFO))
1366 col_append_str (pinfo->cinfo, COL_INFO, ":OPEN_NO_UNLINK");
1369 proto_item_set_len (item, offset - old_offset);
1374 dissect_afstaggedname (tvbuff_t * tvb, int offset,
1375 packet_info * pinfo, proto_tree * parent_tree,
1381 unsigned16 tn_length;
1382 byte tn_chars[AFS_NAMEMAX+1];
1385 proto_item *item = NULL;
1386 proto_tree *tree = NULL;
1387 int old_offset = offset;
1390 const guint8 *tn_string;
1393 di = pinfo->private_data;
1394 if (di->conformant_run)
1402 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1404 tree = proto_item_add_subtree (item, ett_afs4int_afstaggedname);
1408 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_tn_tag,
1411 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep, hf_afs4int_tn_length,
1413 if (tn_length < 254)
1415 proto_tree_add_string (tree, hf_afs4int_tn_string, tvb, offset,
1416 hf_afs4int_tn_size, tvb_get_ptr (tvb, offset,
1418 tn_string = tvb_get_ptr (tvb, offset, 257);
1420 if (check_col (pinfo->cinfo, COL_INFO))
1421 col_append_fstr (pinfo->cinfo, COL_INFO, " :tn_tag: %s", tn_string);
1425 if (check_col (pinfo->cinfo, COL_INFO))
1426 col_append_fstr (pinfo->cinfo, COL_INFO,
1427 " :FIXME!: Invalid string length of %u", tn_length);
1430 proto_item_set_len (item, offset - old_offset);
1435 dissect_afsfidtaggedname (tvbuff_t * tvb, int offset,
1436 packet_info * pinfo, proto_tree * parent_tree,
1444 proto_item *item = NULL;
1445 proto_tree *tree = NULL;
1446 int old_offset = offset;
1449 di = pinfo->private_data;
1450 if (di->conformant_run)
1458 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1460 tree = proto_item_add_subtree (item, ett_afs4int_afsfidtaggedname);
1462 offset = dissect_afsFid (tvb, offset, pinfo, tree, drep);
1463 offset = dissect_afstaggedname (tvb, offset, pinfo, tree, drep);
1465 proto_item_set_len (item, offset - old_offset);
1471 dissect_minvvp (tvbuff_t * tvb, int offset,
1472 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1475 /* unsigned32 minvvp_high
1476 unsigned32 minvvp_low
1479 proto_item *item = NULL;
1480 proto_tree *tree = NULL;
1481 int old_offset = offset;
1482 guint32 minvvp_high, minvvp_low;
1485 di = pinfo->private_data;
1486 if (di->conformant_run)
1494 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "minVVp:");
1495 tree = proto_item_add_subtree (item, ett_afs4int_minvvp);
1498 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1499 hf_afs4int_minvvp_high, &minvvp_high);
1501 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_minvvp_low,
1504 if (check_col (pinfo->cinfo, COL_INFO))
1505 col_append_fstr (pinfo->cinfo, COL_INFO, " minVVp:%u/%u", minvvp_high,
1509 proto_item_set_len (item, offset - old_offset);
1515 dissect_afsuuid (tvbuff_t * tvb, int offset,
1516 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1525 proto_item *item = NULL;
1526 proto_tree *tree = NULL;
1527 int old_offset = offset;
1530 di = pinfo->private_data;
1531 if (di->conformant_run)
1539 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsUUID:");
1540 tree = proto_item_add_subtree (item, ett_afs4int_afsuuid);
1543 offset = dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, hf_afs4int_afsuuid_uuid, &uuid1);
1546 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]);
1548 proto_item_set_len (item, offset - old_offset);
1554 dissect_offsetp (tvbuff_t * tvb, int offset,
1555 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1558 /* unsigned32 offsetp_high
1559 unsigned32 offsetp_low
1562 proto_item *item = NULL;
1563 proto_tree *tree = NULL;
1564 int old_offset = offset;
1565 guint32 offsetp_high, offsetp_low;
1568 di = pinfo->private_data;
1569 if (di->conformant_run)
1577 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "minVVp:");
1578 tree = proto_item_add_subtree (item, ett_afs4int_offsetp);
1581 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1582 hf_afs4int_offsetp_high, &offsetp_high);
1584 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_offsetp_low,
1587 if (check_col (pinfo->cinfo, COL_INFO))
1588 col_append_fstr (pinfo->cinfo, COL_INFO, " offsetp:%u/%u", offsetp_high,
1592 proto_item_set_len (item, offset - old_offset);
1598 dissect_returntokenidp (tvbuff_t * tvb, int offset,
1599 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1602 /* unsigned32 returntokenidp_high
1603 unsigned32 returntokenidp_low
1606 proto_item *item = NULL;
1607 proto_tree *tree = NULL;
1608 int old_offset = offset;
1609 guint32 returntokenidp_high, returntokenidp_low;
1612 di = pinfo->private_data;
1613 if (di->conformant_run)
1621 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "returnTokenIDp:");
1622 tree = proto_item_add_subtree (item, ett_afs4int_returntokenidp);
1625 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1626 hf_afs4int_returntokenidp_high, &returntokenidp_high);
1628 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_returntokenidp_low,
1629 &returntokenidp_low);
1631 if (check_col (pinfo->cinfo, COL_INFO))
1632 col_append_fstr (pinfo->cinfo, COL_INFO, " returnTokenIDp:%u/%u", returntokenidp_high,
1633 returntokenidp_low);
1636 proto_item_set_len (item, offset - old_offset);
1642 dissect_volsync (tvbuff_t * tvb, int offset,
1643 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1647 afsHyper VV; volume's version
1648 unsigned32 VVAge; age, in seconds, of the knowledge that the
1649 given VolVers is current
1650 unsigned32 VVPingAge; age, in seconds, of the last probe from
1651 the callee (the secondary) to the primary
1652 unsigned32 vv_spare1;
1653 unsigned32 vv_spare2;
1656 proto_item *item = NULL;
1657 proto_tree *tree = NULL;
1658 int old_offset = offset;
1659 guint32 volid_hi, volid_low, vv_hi, vv_low, vvage, vvpingage, vvspare1,
1663 di = pinfo->private_data;
1664 if (di->conformant_run)
1672 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1674 tree = proto_item_add_subtree (item, ett_afs4int_volsync);
1678 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_volid_hi,
1681 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_volid_low,
1684 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vv_hi,
1687 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vv_low,
1690 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vvage,
1693 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vvpingage,
1696 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vvspare1,
1699 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_vvspare2,
1702 if (check_col (pinfo->cinfo, COL_INFO))
1703 col_append_fstr (pinfo->cinfo, COL_INFO,
1704 " volid_hi:%u volid_low:%u vv_hi:%u vv_low:%u vvage:%u vvpingage:%u vvpspare1:%u vvspare2:%u",
1705 volid_hi, volid_low, vv_hi, vv_low, vvage, vvpingage,
1706 vvspare1, vvspare2);
1709 proto_item_set_len (item, offset - old_offset);
1715 dissect_afsFlags (tvbuff_t * tvb, int offset,
1716 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep)
1724 proto_item *item = NULL;
1725 proto_tree *tree = NULL;
1726 int old_offset = offset;
1730 di = pinfo->private_data;
1731 if (di->conformant_run)
1739 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "AfsFlags:");
1740 tree = proto_item_add_subtree (item, ett_afs4int_afsflags);
1744 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_flags,
1749 if (check_col (pinfo->cinfo, COL_INFO))
1750 col_append_str (pinfo->cinfo, COL_INFO, " Flags=");
1751 if ((flags & AFS_FLAG_RETURNTOKEN) == AFS_FLAG_RETURNTOKEN)
1753 if (check_col (pinfo->cinfo, COL_INFO))
1754 col_append_str (pinfo->cinfo, COL_INFO, ":RETURNTOKEN");
1756 if ((flags & AFS_FLAG_TOKENJUMPQUEUE) == AFS_FLAG_TOKENJUMPQUEUE)
1758 if (check_col (pinfo->cinfo, COL_INFO))
1759 col_append_str (pinfo->cinfo, COL_INFO, ":TOKENJUMPQUEUE");
1761 if ((flags & AFS_FLAG_SKIPTOKEN) == AFS_FLAG_SKIPTOKEN)
1763 if (check_col (pinfo->cinfo, COL_INFO))
1764 col_append_str (pinfo->cinfo, COL_INFO, ":SKIPTOKEN");
1766 if ((flags & AFS_FLAG_NOOPTIMISM) == AFS_FLAG_NOOPTIMISM)
1768 if (check_col (pinfo->cinfo, COL_INFO))
1769 col_append_str (pinfo->cinfo, COL_INFO, ":NOOPTIMISM");
1771 if ((flags & AFS_FLAG_TOKENID) == AFS_FLAG_TOKENID)
1773 if (check_col (pinfo->cinfo, COL_INFO))
1774 col_append_str (pinfo->cinfo, COL_INFO, ":TOKENID");
1776 if ((flags & AFS_FLAG_RETURNBLOCKER) == AFS_FLAG_RETURNBLOCKER)
1778 if (check_col (pinfo->cinfo, COL_INFO))
1779 col_append_str (pinfo->cinfo, COL_INFO, ":RETURNBLOCKER");
1781 if ((flags & AFS_FLAG_ASYNCGRANT) == AFS_FLAG_ASYNCGRANT)
1783 if (check_col (pinfo->cinfo, COL_INFO))
1784 col_append_str (pinfo->cinfo, COL_INFO, ":ASYNCGRANT");
1786 if ((flags & AFS_FLAG_NOREVOKE) == AFS_FLAG_NOREVOKE)
1788 if (check_col (pinfo->cinfo, COL_INFO))
1789 col_append_str (pinfo->cinfo, COL_INFO, ":NOREVOKE");
1791 if ((flags & AFS_FLAG_MOVE_REESTABLISH) == AFS_FLAG_MOVE_REESTABLISH)
1793 if (check_col (pinfo->cinfo, COL_INFO))
1794 col_append_str (pinfo->cinfo, COL_INFO, ":MOVE_REESTABLISH");
1796 if ((flags & AFS_FLAG_SERVER_REESTABLISH) ==
1797 AFS_FLAG_SERVER_REESTABLISH)
1799 if (check_col (pinfo->cinfo, COL_INFO))
1800 col_append_str (pinfo->cinfo, COL_INFO, ":SERVER_REESTABLISH");
1802 if ((flags & AFS_FLAG_NO_NEW_EPOCH) == AFS_FLAG_NO_NEW_EPOCH)
1804 if (check_col (pinfo->cinfo, COL_INFO))
1805 col_append_str (pinfo->cinfo, COL_INFO, ":NO_NEW_EPOCH");
1807 if ((flags & AFS_FLAG_MOVE_SOURCE_OK) == AFS_FLAG_MOVE_SOURCE_OK)
1809 if (check_col (pinfo->cinfo, COL_INFO))
1810 col_append_str (pinfo->cinfo, COL_INFO, ":MOVE_SOURCE_OK");
1812 if ((flags & AFS_FLAG_SYNC) == AFS_FLAG_SYNC)
1814 if (check_col (pinfo->cinfo, COL_INFO))
1815 col_append_str (pinfo->cinfo, COL_INFO, ":SYNC");
1817 if ((flags & AFS_FLAG_ZERO) == AFS_FLAG_ZERO)
1819 if (check_col (pinfo->cinfo, COL_INFO))
1820 col_append_str (pinfo->cinfo, COL_INFO, ":ZERO");
1822 if ((flags & AFS_FLAG_SKIPSTATUS) == AFS_FLAG_SKIPSTATUS)
1824 if (check_col (pinfo->cinfo, COL_INFO))
1825 col_append_str (pinfo->cinfo, COL_INFO, ":SKIPSTATUS");
1827 if ((flags & AFS_FLAG_FORCEREVOCATIONS) == AFS_FLAG_FORCEREVOCATIONS)
1829 if (check_col (pinfo->cinfo, COL_INFO))
1830 col_append_str (pinfo->cinfo, COL_INFO, ":FORCEREVOCATIONS");
1832 if ((flags & AFS_FLAG_FORCEVOLQUIESCE) == AFS_FLAG_FORCEVOLQUIESCE)
1834 if (check_col (pinfo->cinfo, COL_INFO))
1835 col_append_str (pinfo->cinfo, COL_INFO, ":FORCEVOLQUIESCE");
1837 if ((flags & AFS_FLAG_SEC_SERVICE) == AFS_FLAG_SEC_SERVICE)
1839 if (check_col (pinfo->cinfo, COL_INFO))
1840 col_append_str (pinfo->cinfo, COL_INFO, ":SEC_SERVICE");
1842 if ((flags & AFS_FLAG_CONTEXT_NEW_ACL_IF) ==
1843 AFS_FLAG_CONTEXT_NEW_ACL_IF)
1845 if (check_col (pinfo->cinfo, COL_INFO))
1846 col_append_str (pinfo->cinfo, COL_INFO, ":CONTEXT_NEW_ACL_IF");
1851 proto_item_set_len (item, offset - old_offset);
1856 dissect_fetchstatus (tvbuff_t * tvb, int offset,
1857 packet_info * pinfo, proto_tree * parent_tree,
1862 unsigned32 interfaceVersion;
1863 unsigned32 fileType;
1864 unsigned32 linkCount;
1866 afsHyper dataVersion;
1870 unsigned32 callerAccess;
1871 unsigned32 anonymousAccess;
1872 unsigned32 aclExpirationTime;
1874 unsigned32 parentVnode;
1875 unsigned32 parentUnique;
1877 afsTimeval changeTime;
1878 afsTimeval accessTime;
1879 afsTimeval serverModTime;
1882 unsigned32 deviceNumber;
1883 unsigned32 blocksUsed;
1884 unsigned32 clientSpare1; * client-only attrs *
1885 unsigned32 deviceNumberHighBits;
1894 proto_item *item = NULL;
1895 proto_tree *tree = NULL;
1896 int old_offset = offset;
1897 guint32 interfaceversion, filetype, linkcount, length_high, length_low,
1898 dataversion_high, dataversion_low, author, owner, group, calleraccess,
1899 anonymousaccess, aclexpirationtime, mode, parentvnode, parentunique,
1900 modtime_sec, modtime_msec, changetime_sec, changetime_msec,
1901 accesstime_sec, accesstime_msec, servermodtime_msec, servermodtime_sec,
1902 devicenumber, blocksused, clientspare1, devicenumberhighbits,
1903 agtypeunique, himaxspare, lomaxspare, pathconfspare, spare4, spare5,
1905 e_uuid_t typeuuid, objectuuid;
1908 di = pinfo->private_data;
1909 if (di->conformant_run)
1918 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
1920 tree = proto_item_add_subtree (item, ett_afs4int_fetchstatus);
1924 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1925 hf_afs4int_interfaceversion, &interfaceversion);
1927 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_filetype,
1930 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_linkcount,
1933 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1934 hf_afs4int_length_high, &length_high);
1936 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_length_low,
1939 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1940 hf_afs4int_dataversion_high, &dataversion_high);
1942 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1943 hf_afs4int_dataversion_low, &dataversion_low);
1945 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_author,
1948 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_owner,
1951 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_group,
1954 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1955 hf_afs4int_calleraccess, &calleraccess);
1957 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1958 hf_afs4int_anonymousaccess, &anonymousaccess);
1960 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1961 hf_afs4int_aclexpirationtime, &aclexpirationtime);
1963 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_mode,
1966 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1967 hf_afs4int_parentvnode, &parentvnode);
1969 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1970 hf_afs4int_parentunique, &parentunique);
1972 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1973 hf_afs4int_modtime_sec, &modtime_sec);
1975 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1976 hf_afs4int_modtime_msec, &modtime_msec);
1978 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1979 hf_afs4int_changetime_sec, &changetime_sec);
1981 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1982 hf_afs4int_changetime_msec, &changetime_msec);
1984 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1985 hf_afs4int_accesstime_sec, &accesstime_sec);
1987 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1988 hf_afs4int_accesstime_msec, &accesstime_msec);
1990 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1991 hf_afs4int_servermodtime_sec, &servermodtime_sec);
1993 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
1994 hf_afs4int_servermodtime_msec, &servermodtime_msec);
1996 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, hf_afs4int_typeuuid,
1999 dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, hf_afs4int_objectuuid,
2002 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2003 hf_afs4int_devicenumber, &devicenumber);
2005 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_blocksused,
2008 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2009 hf_afs4int_clientspare1, &clientspare1);
2011 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2012 hf_afs4int_devicenumberhighbits,
2013 &devicenumberhighbits);
2015 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2016 hf_afs4int_agtypeunique, &agtypeunique);
2018 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_himaxspare,
2021 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_lomaxspare,
2024 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2025 hf_afs4int_pathconfspare, &pathconfspare);
2027 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_spare4,
2030 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_spare5,
2033 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_spare6,
2037 if (check_col (pinfo->cinfo, COL_INFO))
2038 col_append_fstr (pinfo->cinfo, COL_INFO,
2039 " :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",
2040 interfaceversion, filetype, linkcount, length_low,
2041 dataversion_low, author, owner, group, calleraccess,
2042 anonymousaccess, aclexpirationtime, mode, parentvnode,
2043 parentunique, modtime_sec, changetime_sec,
2044 accesstime_sec, servermodtime_sec, devicenumber,
2045 blocksused, clientspare1, devicenumberhighbits,
2049 proto_item_set_len (item, offset - old_offset);
2054 dissect_afsReturnDesc (tvbuff_t * tvb, int offset,
2055 packet_info * pinfo, proto_tree * parent_tree,
2059 afsFid fid; * useful hint *
2061 afsHyper type; * mask *
2062 unsigned32 flags; * just in case *
2065 proto_item *item = NULL;
2066 proto_tree *tree = NULL;
2067 int old_offset = offset;
2068 guint32 tokenid_high, tokenid_low, type_high, type_low;
2071 di = pinfo->private_data;
2072 if (di->conformant_run)
2080 item = proto_tree_add_text (parent_tree, tvb, offset, -1,
2082 tree = proto_item_add_subtree (item, ett_afs4int_afsReturnDesc);
2086 offset = dissect_afsFid ( tvb, offset, pinfo, tree, drep);
2088 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2089 hf_afs4int_afsreturndesc_tokenid_high, &tokenid_high);
2091 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2092 hf_afs4int_afsreturndesc_tokenid_low, &tokenid_low);
2094 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2095 hf_afs4int_afsreturndesc_type_high, &type_high);
2097 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2098 hf_afs4int_afsreturndesc_type_low, &type_low);
2099 if (check_col (pinfo->cinfo, COL_INFO))
2100 col_append_fstr (pinfo->cinfo, COL_INFO, " TokenId:%u/%u Type:%u/%u",
2101 tokenid_high, tokenid_low, type_high, type_low);
2104 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2105 NDR_POINTER_REF, "afsFlags: ", -1);
2107 proto_item_set_len (item, offset - old_offset);
2114 dissect_afsReturns (tvbuff_t * tvb, int offset,
2115 packet_info * pinfo, proto_tree * tree, guint8 *drep)
2119 long afsReturns_len;
2120 [length_is(afsReturns_len)] afsReturnDesc afsReturns_val[AFS_BULKMAX];
2123 /* this is not really a ucvarray, but with the initial len, we can
2124 cheat and pretend it is */
2127 di = pinfo->private_data;
2128 if (di->conformant_run)
2134 dissect_ndr_ucvarray (tvb, offset, pinfo, tree, drep,
2135 dissect_afsReturnDesc);
2140 #if 0 /* not used */
2143 dissect_afsbundled_stat (tvbuff_t * tvb, int offset,
2144 packet_info * pinfo, proto_tree * parent_tree, guint8 *drep _U_)
2148 proto_item *item = NULL;
2149 proto_tree *tree = NULL;
2150 int old_offset = offset;
2153 di = pinfo->private_data;
2154 if (di->conformant_run)
2161 item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsbundled_stat:");
2162 tree = proto_item_add_subtree (item, ett_afs4int_afsbundled_stat);
2168 afsFetchStatus stat;
2170 error_status_t error;
2174 offset = dissect_afsFid(tvb, offset, pinfo, tree, drep);
2177 offset = dissect_fetchstatus(tvb, offset, pinfo, tree, drep);
2178 offset = dissect_afstoken(tvb, offset, pinfo, tree, drep);
2180 /* This is currently under construction as I figure out the reverse layout of the packet. */
2182 offset = dissect_afsErrorStatus (tvb, offset, pinfo, tree, drep);
2188 proto_item_set_len (item, offset - old_offset);
2193 #endif /* not used */
2196 dissect_afsBulkStat (tvbuff_t * tvb _U_, int offset,
2197 packet_info * pinfo _U_, proto_tree * tree _U_,
2201 unsigned32 BulkStat_len;
2202 [length_is(BulkStat_len)] bundled_stat BulkStat_val[AFS_BULKMAX];
2204 /* this is not really a ucvarray, but with the initial len, we can
2205 cheat and pretend it is */
2207 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, drep,
2208 dissect_afsbundled_stat);
2218 afs4int_dissect_removefile_rqst (tvbuff_t * tvb, int offset,
2219 packet_info * pinfo, proto_tree * tree,
2226 di = pinfo->private_data;
2227 if (di->conformant_run)
2234 [in] afsFid *DirFidp,
2235 [in] afsFidTaggedName *Namep,
2236 [in] afsHyper *returnTokenIDp,
2237 [in] afsHyper *minVVp,
2238 [in] unsigned32 Flags,
2243 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2244 NDR_POINTER_REF, "afsFid: ", -1);
2246 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2247 dissect_afsfidtaggedname, NDR_POINTER_REF,
2248 "afsFidTaggedName: ", -1);
2250 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_returntokenidp,
2251 NDR_POINTER_REF, "afsReturnTokenIDp:", -1);
2253 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2254 NDR_POINTER_REF, "afsMinVVp:", -1);
2257 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2258 NDR_POINTER_REF, "afsFlags:", -1);
2264 afs4int_dissect_storedata_rqst (tvbuff_t * tvb, int offset,
2265 packet_info * pinfo, proto_tree * tree,
2268 guint32 position_high, position_low, length;
2271 di = pinfo->private_data;
2272 if (di->conformant_run)
2279 [in] afsStoreStatus *InStatusp,
2280 [in] afsHyper *Position,
2281 [in] signed32 Length,
2282 [in] afsHyper *minVVp,
2283 [in] unsigned32 Flags,
2284 [in] pipe_t *storeStream,
2290 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2291 NDR_POINTER_REF, "afsFid: ", -1);
2293 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2294 dissect_afsstorestatus, NDR_POINTER_REF,
2295 "afsStoreStatus:", -1);
2297 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2298 hf_afs4int_position_high, &position_high);
2300 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2301 hf_afs4int_position_low, &position_low);
2304 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2305 hf_afs4int_length, &length);
2307 if (check_col (pinfo->cinfo, COL_INFO))
2308 col_append_fstr (pinfo->cinfo, COL_INFO, " Position:%u/%u Length:%u",
2309 position_high, position_low, length);
2312 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2313 NDR_POINTER_REF, "MinVVp:", -1);
2316 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2317 NDR_POINTER_REF, "afsFlags:", -1);
2319 /* XXX need to decode pipe_t still here */
2325 afs4int_dissect_gettoken_rqst (tvbuff_t * tvb, int offset,
2326 packet_info * pinfo, proto_tree * tree,
2331 di = pinfo->private_data;
2332 if (di->conformant_run)
2340 [in] afsToken *MinTokenp,
2341 [in] afsHyper *minVVp,
2342 [in] unsigned32 Flags,
2347 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2348 NDR_POINTER_REF, "afsFid: ", -1);
2351 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
2352 NDR_POINTER_REF, "afsToken: ", -1);
2355 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2356 NDR_POINTER_REF, "MinVVp:", -1);
2359 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2360 NDR_POINTER_REF, "afsFlags:", -1);
2365 afs4int_dissect_gettoken_resp (tvbuff_t * tvb, int offset,
2366 packet_info * pinfo, proto_tree * tree,
2371 di = pinfo->private_data;
2372 if (di->conformant_run)
2378 [out] afsToken *OutTokenp,
2379 [out] afsRecordLock *OutBlockerp,
2380 [out] afsFetchStatus *OutStatusp,
2381 [out] afsVolSync *Syncp
2385 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
2386 NDR_POINTER_REF, "afsToken: ", -1);
2388 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2389 dissect_afsRecordLock, NDR_POINTER_REF,
2390 "afsRecordLock: ", -1);
2392 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
2393 NDR_POINTER_REF, "afsFetchStatus: ", -1);
2395 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
2396 NDR_POINTER_REF, "VolSync: ", -1);
2398 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2399 dissect_afsErrorStatus, NDR_POINTER_REF,
2400 "afsErrorStatus: ", -1);
2406 afs4int_dissect_lookuproot_rqst (tvbuff_t * tvb, int offset,
2407 packet_info * pinfo, proto_tree * tree,
2412 di = pinfo->private_data;
2413 if (di->conformant_run)
2420 * [in] afsFid *InFidp,
2421 * [in] afsHyper *minVVp,
2422 * [in] unsigned32 Flags,
2426 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2427 NDR_POINTER_REF, "afsFid: ", -1);
2430 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2431 NDR_POINTER_REF, "MinVVp:", -1);
2434 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2435 NDR_POINTER_REF, "afsFlags:", -1);
2441 afs4int_dissect_fetchdata_rqst (tvbuff_t * tvb, int offset,
2442 packet_info * pinfo, proto_tree * tree,
2445 guint32 position_high, position_low, length;
2448 di = pinfo->private_data;
2449 if (di->conformant_run)
2456 [in] afsHyper *minVVp,
2457 [in] afsHyper *Position,
2458 [in] signed32 Length,
2459 [in] unsigned32 Flags,
2463 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2464 NDR_POINTER_REF, "afsFid: ", -1);
2467 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2468 NDR_POINTER_REF, "MinVVp:", -1);
2470 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2471 hf_afs4int_position_high, &position_high);
2473 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2474 hf_afs4int_position_low, &position_low);
2476 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2477 hf_afs4int_length, &length);
2478 if (check_col (pinfo->cinfo, COL_INFO))
2479 col_append_fstr (pinfo->cinfo, COL_INFO, " Position:%u/%u Length:%u",
2480 position_high, position_low, length);
2483 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2484 NDR_POINTER_REF, "afsFlags:", -1);
2490 afs4int_dissect_fetchacl_rqst (tvbuff_t * tvb, int offset,
2491 packet_info * pinfo, proto_tree * tree,
2498 di = pinfo->private_data;
2499 if (di->conformant_run)
2507 [in] unsigned32 aclType,
2508 [in] afsHyper *minVVp,
2509 [in] unsigned32 Flags,
2514 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2515 NDR_POINTER_REF, "afsFid: ", -1);
2518 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_acltype,
2521 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2522 NDR_POINTER_REF, "MinVVp:", -1);
2525 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2526 NDR_POINTER_REF, "afsFlags:", -1);
2530 if (check_col (pinfo->cinfo, COL_INFO))
2531 col_append_str (pinfo->cinfo, COL_INFO,
2532 " :copy the ACL from specified fid:");
2539 afs4int_dissect_fetchstatus_rqst (tvbuff_t * tvb, int offset,
2540 packet_info * pinfo, proto_tree * tree,
2545 di = pinfo->private_data;
2546 if (di->conformant_run)
2554 [in] afsHyper *minVVp,
2555 [in] unsigned32 Flags,
2559 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2560 NDR_POINTER_REF, "afsFid: ", -1);
2562 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2563 NDR_POINTER_REF, "MinVVp:", -1);
2565 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2566 NDR_POINTER_REF, "afsFlags:", -1);
2571 afs4int_dissect_storeacl_rqst (tvbuff_t * tvb, int offset,
2572 packet_info * pinfo, proto_tree * tree,
2578 di = pinfo->private_data;
2579 if (di->conformant_run)
2586 [in] afsACL *AccessListp,
2587 [in] unsigned32 aclType,
2588 [in] afsFid *aclFidp,
2589 [in] afsHyper *minVVp,
2590 [in] unsigned32 Flags,
2595 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2596 NDR_POINTER_REF, "afsFid: ", -1);
2598 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsAcl,
2599 NDR_POINTER_REF, "afsAcl: ", -1);
2601 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_afs4int_acltype,
2604 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2605 NDR_POINTER_REF, "afsFid: ", -1);
2607 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2608 NDR_POINTER_REF, "MinVVp:", -1);
2610 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2611 NDR_POINTER_REF, "afsFlags:", -1);
2613 if (check_col (pinfo->cinfo, COL_INFO))
2614 col_append_fstr (pinfo->cinfo, COL_INFO, " aclType:%u",acltype);
2620 afs4int_dissect_storestatus_rqst (tvbuff_t * tvb, int offset,
2621 packet_info * pinfo, proto_tree * tree,
2626 di = pinfo->private_data;
2627 if (di->conformant_run)
2635 [in] afsStoreStatus *InStatusp,
2636 [in] afsHyper *minVVp,
2637 [in] unsigned32 Flags,
2641 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2642 NDR_POINTER_REF, "afsFid: ", -1);
2644 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2645 dissect_afsstorestatus, NDR_POINTER_REF,
2646 "afsStoreStatus: ", -1);
2648 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2649 NDR_POINTER_REF, "MinVVp:", -1);
2651 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2652 NDR_POINTER_REF, "afsFlags:", -1);
2659 afs4int_dissect_createfile_rqst (tvbuff_t * tvb, int offset,
2660 packet_info * pinfo, proto_tree * tree,
2665 di = pinfo->private_data;
2666 if (di->conformant_run)
2673 [in] afsFid *DirFidp,
2674 [in] afsTaggedName *Namep,
2675 [in] afsStoreStatus *InStatusp,
2676 [in] afsHyper *minVVp,
2677 [in] unsigned32 Flags,
2681 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2682 NDR_POINTER_REF, "afsFid: ", -1);
2684 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2685 dissect_afstaggedname, NDR_POINTER_REF,
2686 "afsTaggedName: ", -1);
2688 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2689 dissect_afsstorestatus, NDR_POINTER_REF,
2690 "afsStoreStatus: ", -1);
2692 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2693 NDR_POINTER_REF, "MinVVp:", -1);
2695 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
2696 NDR_POINTER_REF, "afsFlags:", -1);
2702 afs4int_dissect_rename_rqst (tvbuff_t * tvb, int offset,
2703 packet_info * pinfo, proto_tree * tree,
2708 di = pinfo->private_data;
2709 if (di->conformant_run)
2715 [in] afsFid *OldDirFidp,
2716 [in] afsFidTaggedName *OldNamep,
2717 [in] afsFid *NewDirFidp,
2718 [in] afsFidTaggedName *NewNamep,
2719 [in] afsHyper *returnTokenIDp,
2720 [in] afsHyper *minVVp,
2721 [in] unsigned32 Flags,
2726 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2727 NDR_POINTER_REF, "afsFid: ", -1);
2730 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2731 dissect_afsfidtaggedname, NDR_POINTER_REF,
2732 "afsFidTaggedName: ", -1);
2735 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2736 NDR_POINTER_REF, "afsFid: ", -1);
2739 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2740 dissect_afstaggedname, NDR_POINTER_REF,
2741 "afsFidTaggedName: ", -1);
2744 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2745 dissect_returntokenidp, NDR_POINTER_REF,
2746 "afsReturnTokenIDp: ", -1);
2749 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2750 dissect_minvvp, NDR_POINTER_REF,
2753 offset = dissect_afsFlags(tvb, offset, pinfo, tree, drep);
2759 afs4int_dissect_symlink_rqst (tvbuff_t * tvb, int offset,
2760 packet_info * pinfo, proto_tree * tree,
2765 di = pinfo->private_data;
2766 if (di->conformant_run)
2772 [in] afsFid *DirFidp,
2773 [in] afsTaggedName *Namep,
2774 [in] afsTaggedPath *LinkContentsp,
2775 [in] afsStoreStatus *InStatusp,
2776 [in] afsHyper *minVVp,
2777 [in] unsigned32 Flags,
2783 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2784 NDR_POINTER_REF, "afsFid: ", -1);
2787 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2788 dissect_afstaggedname, NDR_POINTER_REF,
2789 "afsTaggedName: ", -1);
2791 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2792 dissect_afsTaggedPath, NDR_POINTER_REF,
2793 "afsTaggedPath: ", -1);
2795 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2796 dissect_afsstorestatus, NDR_POINTER_REF,
2797 "afsStoreStatus: ", -1);
2799 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2800 NDR_POINTER_REF, "MinVVp:", -1);
2801 offset = dissect_afsFlags (tvb, offset, pinfo, tree, drep);
2807 afs4int_dissect_readdir_rqst (tvbuff_t * tvb, int offset,
2808 packet_info * pinfo, proto_tree * tree,
2814 di = pinfo->private_data;
2815 if (di->conformant_run)
2821 [in] afsFid *DirFidp,
2822 [in] afsHyper *Offsetp,
2823 [in] unsigned32 Size,
2824 [in] afsHyper *minVVp,
2825 [in] unsigned32 Flags,
2829 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2830 NDR_POINTER_REF, "afsFid: ", -1);
2832 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_offsetp,
2833 NDR_POINTER_REF, "Offsetp: ", -1);
2835 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2836 hf_afs4int_readdir_size, &size);
2838 if (check_col (pinfo->cinfo, COL_INFO))
2839 col_append_fstr (pinfo->cinfo, COL_INFO, " Size:%u", size);
2842 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2843 NDR_POINTER_REF, "MinVVp:", -1);
2844 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
2850 afs4int_dissect_makedir_rqst (tvbuff_t * tvb, int offset,
2851 packet_info * pinfo, proto_tree * tree,
2856 di = pinfo->private_data;
2857 if (di->conformant_run)
2863 [in] afsFid *DirFidp,
2864 [in] afsTaggedName *Namep,
2865 [in] afsStoreStatus *InStatusp,
2866 [in] afsHyper *minVVp,
2867 [in] unsigned32 Flags,
2871 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2872 NDR_POINTER_REF, "afsFid: ", -1);
2875 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2876 dissect_afstaggedname, NDR_POINTER_REF,
2877 "afsTaggedName: ", -1);
2879 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2880 dissect_afsstorestatus, NDR_POINTER_REF,
2881 "afsStoreStatus: ", -1);
2883 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2884 NDR_POINTER_REF, "MinVVp:", -1);
2885 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
2891 afs4int_dissect_removedir_rqst (tvbuff_t * tvb, int offset,
2892 packet_info * pinfo, proto_tree * tree,
2895 guint32 returntokenidp_high, returntokenidp_low;
2898 di = pinfo->private_data;
2899 if (di->conformant_run)
2905 [in] afsFid *DirFidp,
2906 [in] afsFidTaggedName *Namep,
2907 [in] afsHyper *returnTokenIDp,
2908 [in] afsHyper *minVVp,
2909 [in] unsigned32 Flags,
2913 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2914 NDR_POINTER_REF, "afsFid: ", -1);
2916 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2917 dissect_afsfidtaggedname, NDR_POINTER_REF,
2918 "afsFidTaggedName: ", -1);
2920 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2921 hf_afs4int_returntokenidp_high, &returntokenidp_high);
2923 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
2924 hf_afs4int_returntokenidp_low, &returntokenidp_low);
2926 if (check_col (pinfo->cinfo, COL_INFO))
2927 col_append_fstr (pinfo->cinfo, COL_INFO, " returnTokenIDp:%u/%u",
2928 returntokenidp_high, returntokenidp_low);
2930 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2931 NDR_POINTER_REF, "MinVVp:", -1);
2932 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep );
2938 afs4int_dissect_lookup_rqst (tvbuff_t * tvb, int offset,
2939 packet_info * pinfo, proto_tree * tree,
2944 di = pinfo->private_data;
2945 if (di->conformant_run)
2951 [in] afsFid *DirFidp,
2952 [in] afsTaggedName *Namep,
2953 [in] afsHyper *minVVp,
2954 [in] unsigned32 Flags,
2958 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2959 NDR_POINTER_REF, "afsFid: ", -1);
2962 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
2963 dissect_afstaggedname, NDR_POINTER_REF,
2964 "afsTaggedName: ", -1);
2966 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
2967 NDR_POINTER_REF, "MinVVp:", -1);
2968 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
2973 afs4int_dissect_lookup_resp (tvbuff_t * tvb, int offset,
2974 packet_info * pinfo, proto_tree * tree,
2979 di = pinfo->private_data;
2980 if (di->conformant_run)
2986 [out] afsFid *OutFidp,
2987 [out] afsFetchStatus *OutFidStatusp,
2988 [out] afsFetchStatus *OutDirStatusp,
2989 [out] afsToken *OutTokenp,
2990 [out] afsVolSync *Syncp
2994 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
2995 NDR_POINTER_REF, "afsFid: ", -1);
2998 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
2999 NDR_POINTER_REF, "FetchStatus: ", -1);
3001 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3002 NDR_POINTER_REF, "FetchStatus: ", -1);
3005 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3006 NDR_POINTER_REF, "afsToken: ", -1);
3008 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3009 NDR_POINTER_REF, "VolSync: ", -1);
3010 MACRO_ST_CLEAR ("Lookup reply");
3017 afs4int_dissect_makemountpoint_rqst (tvbuff_t * tvb, int offset,
3018 packet_info * pinfo, proto_tree * tree,
3024 di = pinfo->private_data;
3025 if (di->conformant_run)
3032 [in] afsFid *DirFidp,
3033 [in] afsTaggedName *Namep,
3034 [in] afsTaggedName *cellNamep,
3035 [in] afsFStype Type,
3036 [in] afsTaggedName *volumeNamep,
3037 [in] afsStoreStatus *InStatusp,
3038 [in] afsHyper *minVVp,
3039 [in] unsigned32 Flags,
3044 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3045 NDR_POINTER_REF, "afsFid: ", -1);
3048 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3049 dissect_afstaggedname, NDR_POINTER_REF,
3050 "afsTaggedName: ", -1);
3052 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3053 dissect_afstaggedname, NDR_POINTER_REF,
3054 "afsTaggedName: ", -1);
3056 dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep, hf_afs4int_fstype,
3059 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3060 dissect_afstaggedname, NDR_POINTER_REF,
3061 "afsTaggedName: ", -1);
3063 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3064 dissect_afsstorestatus, NDR_POINTER_REF,
3065 "afsStoreStatus: ", -1);
3067 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
3068 NDR_POINTER_REF, "MinVVp:", -1);
3070 offset = dissect_afsFlags (tvb, offset, pinfo, tree, drep);
3072 if (check_col (pinfo->cinfo, COL_INFO))
3073 col_append_fstr (pinfo->cinfo, COL_INFO, " Type:%u", type);
3080 afs4int_dissect_setcontext_rqst (tvbuff_t * tvb, int offset,
3081 packet_info * pinfo, proto_tree * tree,
3086 guint32 epochtime, clientsizesattrs, parm7;
3088 di = pinfo->private_data;
3089 if (di->conformant_run)
3095 [in] unsigned32 epochTime,
3096 [in] afsNetData *callbackAddr,
3097 [in] unsigned32 Flags,
3098 [in] afsUUID *secObjectID,
3099 [in] unsigned32 clientSizesAttrs,
3100 [in] unsigned32 parm7
3105 dissect_dcerpc_time_t (tvb, offset, pinfo, tree, drep,
3106 hf_afs4int_setcontext_rqst_epochtime, &epochtime);
3108 offset = dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsNetData,
3109 NDR_POINTER_REF, "afsNetData:", -1);
3111 offset = dissect_afsFlags (tvb, offset, pinfo, tree, drep);
3113 if (check_col (pinfo->cinfo, COL_INFO)) col_append_str (pinfo->cinfo, COL_INFO, " setObjectID");
3115 offset = dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsuuid,
3116 NDR_POINTER_REF, "afsUUID:", -1);
3118 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3119 hf_afs4int_setcontext_rqst_clientsizesattrs,
3122 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3123 hf_afs4int_setcontext_rqst_parm7, &parm7);
3125 if (check_col (pinfo->cinfo, COL_INFO)) col_append_fstr (pinfo->cinfo, COL_INFO, " epochTime:%u clientSizesAttrs:%u parm7:%u", epochtime, clientsizesattrs, parm7);
3131 afs4int_dissect_setcontext_resp (tvbuff_t * tvb, int offset,
3132 packet_info * pinfo, proto_tree * tree,
3135 /* nothing but error code */
3140 di = pinfo->private_data;
3141 if (di->conformant_run)
3146 MACRO_ST_CLEAR ("SetContext reply");
3151 afs4int_dissect_lookuproot_resp
3153 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3157 di = pinfo->private_data;
3158 if (di->conformant_run)
3164 * [out] afsFid *OutFidp,
3165 * [out] afsFetchStatus *OutFidStatusp,
3166 * [out] afsToken *OutTokenp,
3167 * [out] afsVolSync *Syncp
3171 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3172 NDR_POINTER_REF, "afsFid: ", -1);
3175 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3176 NDR_POINTER_REF, "FetchStatus: ", -1);
3178 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3179 NDR_POINTER_REF, "afsToken: ", -1);
3181 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3182 NDR_POINTER_REF, "VolSync: ", -1);
3183 MACRO_ST_CLEAR ("LookupRoot reply");
3188 afs4int_dissect_fetchdata_resp
3190 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3194 guint32 pipe_t_size;
3196 di = pinfo->private_data;
3197 if (di->conformant_run)
3203 [out] afsFetchStatus *OutStatusp,
3204 [out] afsToken *OutTokenp,
3205 [out] afsVolSync *Syncp,
3206 [out] pipe_t *fetchStream
3208 /* The SkipToken/SkipStatus flags are always used in every fetchdata request I have seen.
3209 There is also not sign of the afsVolSync structure... Just size, and data string... aka pipe_t */
3212 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3213 hf_afs4int_fetchdata_pipe_t_size, &pipe_t_size);
3219 afs4int_dissect_fetchacl_resp
3221 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3225 di = pinfo->private_data;
3226 if (di->conformant_run)
3233 [out] afsACL *AccessListp,
3234 [out] afsFetchStatus *OutStatusp,
3235 [out] afsVolSync *Syncp
3238 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsAcl,
3239 NDR_POINTER_REF, "afsAcl: ", -1);
3241 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3242 NDR_POINTER_REF, "FetchStatus: ", -1);
3245 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3246 NDR_POINTER_REF, "VolSync: ", -1);
3247 MACRO_ST_CLEAR ("FetchAcl reply");
3252 afs4int_dissect_fetchstatus_resp
3254 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3258 di = pinfo->private_data;
3259 if (di->conformant_run)
3265 [out] afsFetchStatus *OutStatusp,
3266 [out] afsToken *OutTokenp,
3267 [out] afsVolSync *Syncp
3271 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3272 NDR_POINTER_REF, "FetchStatus: ", -1);
3275 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3276 NDR_POINTER_REF, "afsToken: ", -1);
3278 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3279 NDR_POINTER_REF, "VolSync: ", -1);
3280 MACRO_ST_CLEAR ("FetchStatus reply");
3285 afs4int_dissect_storedata_resp
3287 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3291 di = pinfo->private_data;
3292 if (di->conformant_run)
3298 [out] afsFetchStatus *OutStatusp,
3299 [out] afsVolSync *Syncp
3303 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3304 NDR_POINTER_REF, "FetchStatus: ", -1);
3307 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3308 NDR_POINTER_REF, "VolSync: ", -1);
3309 MACRO_ST_CLEAR ("StoreData reply");
3314 afs4int_dissect_storeacl_resp
3316 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3320 di = pinfo->private_data;
3321 if (di->conformant_run)
3327 [out] afsFetchStatus *OutStatusp,
3328 [out] afsVolSync *Syncp
3332 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3333 NDR_POINTER_REF, "FetchStatus: ", -1);
3336 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3337 NDR_POINTER_REF, "VolSync: ", -1);
3338 MACRO_ST_CLEAR ("StoreAcl reply");
3343 afs4int_dissect_storestatus_resp
3345 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3349 di = pinfo->private_data;
3350 if (di->conformant_run)
3356 [out] afsFetchStatus *OutStatusp,
3357 [out] afsVolSync *Syncp
3361 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3362 NDR_POINTER_REF, "FetchStatus: ", -1);
3365 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3366 NDR_POINTER_REF, "VolSync: ", -1);
3367 MACRO_ST_CLEAR ("StoreStatus reply");
3372 afs4int_dissect_removefile_resp
3374 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3378 di = pinfo->private_data;
3379 if (di->conformant_run)
3385 [out] afsFetchStatus *OutDirStatusp,
3386 [out] afsFetchStatus *OutFileStatusp,
3387 [out] afsFid *OutFileFidp,
3388 [out] afsVolSync *Syncp
3391 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3392 NDR_POINTER_REF, "FetchStatus: ", -1);
3395 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3396 NDR_POINTER_REF, "FetchStatus: ", -1);
3398 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3399 NDR_POINTER_REF, "afsFid: ", -1);
3401 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3402 NDR_POINTER_REF, "VolSync: ", -1);
3403 MACRO_ST_CLEAR ("RemoveFile reply");
3408 afs4int_dissect_createfile_resp
3410 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3414 di = pinfo->private_data;
3415 if (di->conformant_run)
3421 [out] afsFid *OutFidp,
3422 [out] afsFetchStatus *OutFidStatusp,
3423 [out] afsFetchStatus *OutDirStatusp,
3424 [out] afsToken *OutTokenp,
3425 [out] afsVolSync *Syncp
3430 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3431 NDR_POINTER_REF, "afsFid: ", -1);
3433 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3434 NDR_POINTER_REF, "FetchStatus: ", -1);
3437 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3438 NDR_POINTER_REF, "FetchStatus: ", -1);
3441 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3442 NDR_POINTER_REF, "afsToken: ", -1);
3444 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3445 NDR_POINTER_REF, "VolSync: ", -1);
3446 MACRO_ST_CLEAR ("CreateFile reply");
3451 afs4int_dissect_rename_resp
3453 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3457 di = pinfo->private_data;
3458 if (di->conformant_run)
3464 [out] afsFetchStatus *OutOldDirStatusp,
3465 [out] afsFetchStatus *OutNewDirStatusp,
3466 [out] afsFid *OutOldFileFidp,
3467 [out] afsFetchStatus *OutOldFileStatusp,
3468 [out] afsFid *OutNewFileFidp,
3469 [out] afsFetchStatus *OutNewFileStatusp,
3470 [out] afsVolSync *Syncp
3474 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3475 NDR_POINTER_REF, "FetchStatus: ", -1);
3477 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3478 NDR_POINTER_REF, "FetchStatus: ", -1);
3480 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3481 NDR_POINTER_REF, "afsFid: ", -1);
3483 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3484 NDR_POINTER_REF, "FetchStatus: ", -1);
3486 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3487 NDR_POINTER_REF, "afsFid: ", -1);
3490 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3491 NDR_POINTER_REF, "FetchStatus: ", -1);
3494 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3495 NDR_POINTER_REF, "VolSync: ", -1);
3496 MACRO_ST_CLEAR("Rename reply");
3501 afs4int_dissect_symlink_resp
3503 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3507 di = pinfo->private_data;
3508 if (di->conformant_run)
3514 [out] afsFid *OutFidp,
3515 [out] afsFetchStatus *OutFidStatusp,
3516 [out] afsFetchStatus *OutDirStatusp,
3517 [out] afsToken *OutTokenp,
3518 [out] afsVolSync *Syncp
3522 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3523 NDR_POINTER_REF, "afsFid: ", -1);
3525 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3526 NDR_POINTER_REF, "FetchStatus: ", -1);
3528 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3529 NDR_POINTER_REF, "FetchStatus: ", -1);
3531 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3532 NDR_POINTER_REF, "afsToken: ", -1);
3534 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3535 NDR_POINTER_REF, "VolSync: ", -1);
3536 MACRO_ST_CLEAR ("Symlink reply");
3542 afs4int_dissect_hardlink_resp
3544 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3548 di = pinfo->private_data;
3549 if (di->conformant_run)
3555 [out] afsFetchStatus *OutFidStatusp,
3556 [out] afsFetchStatus *OutDirStatusp,
3557 [out] afsVolSync *Syncp
3562 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3563 NDR_POINTER_REF, "FetchStatus: ", -1);
3565 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3566 NDR_POINTER_REF, "FetchStatus: ", -1);
3568 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3569 NDR_POINTER_REF, "VolSync: ", -1);
3570 MACRO_ST_CLEAR ("Hardlink reply");
3575 afs4int_dissect_hardlink_rqst
3577 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3581 di = pinfo->private_data;
3582 if (di->conformant_run)
3588 [in] afsFid *DirFidp,
3589 [in] afsTaggedName *Namep,
3590 [in] afsFid *ExistingFidp,
3591 [in] afsHyper *minVVp,
3592 [in] unsigned32 Flags,
3597 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3598 NDR_POINTER_REF, "afsFid: ", -1);
3601 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3602 dissect_afstaggedname, NDR_POINTER_REF,
3603 "afsTaggedName: ", -1);
3606 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3607 NDR_POINTER_REF, "afsFid: ", -1);
3610 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
3611 NDR_POINTER_REF, "MinVVp:", -1);
3613 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
3619 afs4int_dissect_makedir_resp
3621 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3625 di = pinfo->private_data;
3626 if (di->conformant_run)
3632 [out] afsFid *OutFidp,
3633 [out] afsFetchStatus *OutFidStatusp,
3634 [out] afsFetchStatus *OutDirStatusp,
3635 [out] afsToken *OutTokenp,
3636 [out] afsVolSync *Syncp
3639 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3640 NDR_POINTER_REF, "afsFid: ", -1);
3642 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3643 NDR_POINTER_REF, "FetchStatus: ", -1);
3645 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3646 NDR_POINTER_REF, "FetchStatus: ", -1);
3648 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
3649 NDR_POINTER_REF, "afsToken: ", -1);
3651 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3652 NDR_POINTER_REF, "VolSync: ", -1);
3654 MACRO_ST_CLEAR ("MakeDir reply");
3660 afs4int_dissect_removedir_resp
3662 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3666 di = pinfo->private_data;
3667 if (di->conformant_run)
3673 [out] afsFetchStatus *OutDirStatusp,
3674 [out] afsFid *OutFidp,
3675 [out] afsFetchStatus *OutDelStatusp,
3676 [out] afsVolSync *Syncp
3680 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3681 NDR_POINTER_REF, "FetchStatus: ", -1);
3683 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3684 NDR_POINTER_REF, "afsFid: ", -1);
3686 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3687 NDR_POINTER_REF, "FetchStatus: ", -1);
3689 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3690 NDR_POINTER_REF, "VolSync: ", -1);
3691 MACRO_ST_CLEAR ("RemoveDir reply");
3698 afs4int_dissect_readdir_resp
3700 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3703 guint32 nextoffsetp_high, nextoffsetp_low;
3706 di = pinfo->private_data;
3707 if (di->conformant_run)
3714 [out] afsHyper *NextOffsetp,
3715 [out] afsFetchStatus *OutDirStatusp,
3716 [out] afsToken *OutTokenp,
3717 [out] afsVolSync *Syncp,
3718 [out] pipe_t *dirStream
3722 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3723 hf_afs4int_nextoffsetp_high, &nextoffsetp_high);
3725 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3726 hf_afs4int_nextoffsetp_low, &nextoffsetp_low);
3728 if (check_col (pinfo->cinfo, COL_INFO))
3729 col_append_fstr (pinfo->cinfo, COL_INFO, " NextOffsetp:%u/%u",
3730 nextoffsetp_high, nextoffsetp_low);
3732 /* all packets seem to have SKIPTOKEN/SKIPSTATUS sent, and thus these structures are missing on calls holding tokens. */
3735 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3736 NDR_POINTER_REF, "VolSync: ", -1);
3737 /* XXX need to add pipe_t here, once figured out. */
3743 afs4int_dissect_releasetokens_resp
3745 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3749 di = pinfo->private_data;
3750 if (di->conformant_run)
3756 MACRO_ST_CLEAR ("ReleaseTokens reply");
3761 afs4int_dissect_releasetokens_rqst
3763 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3767 di = pinfo->private_data;
3768 if (di->conformant_run)
3775 [in] afsReturns *Tokens_Arrayp,
3776 [in] unsigned32 Flags
3779 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsReturns,
3780 NDR_POINTER_REF, "afsReturns: ", -1);
3782 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
3783 NDR_POINTER_REF, "afsFlags: ", -1);
3788 afs4int_dissect_gettime_resp
3790 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3793 guint32 secondsp, usecondsp, syncdistance, syncdispersion;
3796 di = pinfo->private_data;
3797 if (di->conformant_run)
3803 [out] unsigned32 *Secondsp,
3804 [out] unsigned32 *USecondsp,
3805 [out] unsigned32 *SyncDistance,
3806 [out] unsigned32 *SyncDispersion
3810 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3811 hf_afs4int_gettime_secondsp, &secondsp);
3813 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3814 hf_afs4int_gettime_usecondsp, &usecondsp);
3816 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3817 hf_afs4int_gettime_syncdistance, &syncdistance);
3819 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
3820 hf_afs4int_gettime_syncdispersion, &syncdispersion);
3822 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);
3824 MACRO_ST_CLEAR ("GetTime reply");
3831 afs4int_dissect_gettime_rqst
3833 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
3837 di = pinfo->private_data;
3838 if (di->conformant_run)
3849 afs4int_dissect_processquota_resp
3851 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3855 di = pinfo->private_data;
3856 if (di->conformant_run)
3862 [in,out] afsQuota *quotaListp,
3863 [out] afsFetchStatus *OutStatusp,
3864 [out] afsVolSync *Syncp
3867 /* XXX need afsQuota */
3870 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
3871 NDR_POINTER_REF, "FetchStatus: ", -1);
3873 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
3874 NDR_POINTER_REF, "VolSync: ", -1);
3875 MACRO_ST_CLEAR ("ProcessQuota reply");
3881 afs4int_dissect_processquota_rqst
3883 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3887 di = pinfo->private_data;
3888 if (di->conformant_run)
3895 [in] afsHyper *minVVp,
3896 [in] unsigned32 Flags,
3897 [in,out] afsQuota *quotaListp,
3902 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
3903 NDR_POINTER_REF, "afsFid: ", -1);
3905 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
3906 NDR_POINTER_REF, "MinVVp:", -1);
3907 offset = dissect_afsFlags ( tvb, offset, pinfo, tree, drep);
3909 /* XXX need to figure out afsQuota here */
3914 afs4int_dissect_getserverinterfaces_rqst
3916 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
3920 di = pinfo->private_data;
3921 if (di->conformant_run)
3927 [in, out] dfs_interfaceList *serverInterfacesP
3929 /* XXX figure out dfs_interfacelist */
3934 afs4int_dissect_getserverinterfaces_resp
3936 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3940 di = pinfo->private_data;
3941 if (di->conformant_run)
3947 [in, out] dfs_interfaceList *serverInterfacesP
3949 /* XXX figure out dfs_interfacelist */
3951 MACRO_ST_CLEAR ("GetServerInterfaces reply");
3956 afs4int_dissect_setparams_rqst
3958 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3962 di = pinfo->private_data;
3963 if (di->conformant_run)
3969 [in] unsigned32 Flags,
3970 [in, out] afsConnParams *paramsP
3972 offset = dissect_afsFlags( tvb, offset, pinfo, tree, drep);
3974 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3975 dissect_afsConnParams, NDR_POINTER_REF,
3976 "afsConnParams:", -1);
3981 afs4int_dissect_setparams_resp
3983 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
3987 di = pinfo->private_data;
3988 if (di->conformant_run)
3994 [in, out] afsConnParams *paramsP
3998 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep,
3999 dissect_afsConnParams, NDR_POINTER_REF,
4000 "afsConnParams:", -1);
4001 MACRO_ST_CLEAR ("SetParams reply");
4006 afs4int_dissect_makemountpoint_resp
4008 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4012 di = pinfo->private_data;
4013 if (di->conformant_run)
4019 [out] afsFid *OutFidp,
4020 [out] afsFetchStatus *OutFidStatusp,
4021 [out] afsFetchStatus *OutDirStatusp,
4022 [out] afsVolSync *Syncp
4026 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
4027 NDR_POINTER_REF, "afsFid: ", -1);
4029 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
4030 NDR_POINTER_REF, "FetchStatus: ", -1);
4032 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
4033 NDR_POINTER_REF, "FetchStatus: ", -1);
4036 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
4037 NDR_POINTER_REF, "VolSync: ", -1);
4038 MACRO_ST_CLEAR ("MakeMountPoint reply");
4043 afs4int_dissect_getstatistics_rqst
4045 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
4049 di = pinfo->private_data;
4050 if (di->conformant_run)
4055 /* nothing for request */
4060 afs4int_dissect_getstatistics_resp
4062 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
4066 di = pinfo->private_data;
4067 if (di->conformant_run)
4073 [out] afsStatistics *Statisticsp
4075 /* XXX figure out afsStatistics */
4080 afs4int_dissect_bulkfetchvv_rqst
4082 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4085 guint32 cellidp_high, cellidp_low, numvols, spare1, spare2;
4088 di = pinfo->private_data;
4089 if (di->conformant_run)
4095 [in] afsHyper *cellIdp,
4096 [in] afsBulkVolIDs *VolIDsp,
4097 [in] unsigned32 NumVols,
4098 [in] unsigned32 Flags,
4099 [in] unsigned32 spare1,
4100 [in] unsigned32 spare2,
4103 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4104 hf_afs4int_cellidp_high, &cellidp_high);
4106 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4107 hf_afs4int_cellidp_low, &cellidp_low);
4109 if (check_col (pinfo->cinfo, COL_INFO))
4110 col_append_fstr (pinfo->cinfo, COL_INFO, " CellIDp:%u/%u", cellidp_high,
4113 /* XXX figure out the afsBulkVolIDS */
4115 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4116 hf_afs4int_bulkfetchvv_numvols, &numvols);
4118 offset = dissect_afsFlags (tvb, offset, pinfo, tree, drep);
4120 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4121 hf_afs4int_bulkfetchvv_spare1, &spare1);
4123 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4124 hf_afs4int_bulkfetchvv_spare2, &spare2);
4129 afs4int_dissect_bulkfetchvv_resp
4131 tvb _U_, int offset, packet_info * pinfo, proto_tree * tree _U_, guint8 *drep _U_)
4135 di = pinfo->private_data;
4136 if (di->conformant_run)
4142 [out] afsBulkVVs *VolVVsp,
4143 [out] unsigned32 *spare4
4145 /* XXX need to figure out afsBulkVVs ; */
4150 afs4int_dissect_bulkkeepalive_resp
4152 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4157 di = pinfo->private_data;
4158 if (di->conformant_run)
4164 [out] unsigned32 *spare4
4168 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4169 hf_afs4int_bulkkeepalive_spare4, &spare4);
4170 MACRO_ST_CLEAR ("BulkKeepAlive reply");
4175 afs4int_dissect_bulkkeepalive_rqst
4177 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4179 guint32 numexecfids, spare1, spare2;
4182 di = pinfo->private_data;
4183 if (di->conformant_run)
4189 [in] afsBulkFEX *KAFEXp,
4190 [in] unsigned32 numExecFids,
4191 [in] unsigned32 Flags,
4192 [in] unsigned32 spare1,
4193 [in] unsigned32 spare2,
4195 /* XXX figure out afsBulkFEX */
4197 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4198 hf_afs4int_bulkkeepalive_numexecfids, &numexecfids);
4200 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFlags,
4201 NDR_POINTER_REF, "afsFlags:", -1);
4203 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4204 hf_afs4int_bulkkeepalive_spare1, &spare1);
4206 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4207 hf_afs4int_bulkkeepalive_spare2, &spare2);
4212 afs4int_dissect_bulkfetchstatus_rqst
4214 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4216 guint32 offsetp_high, offsetp_low, size;
4219 di = pinfo->private_data;
4220 if (di->conformant_run)
4227 [in] afsFid *DirFidp,
4228 [in] afsHyper *Offsetp,
4229 [in] unsigned32 Size,
4230 [in] afsHyper *minVVp,
4231 [in] unsigned32 Flags,
4235 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsFid,
4236 NDR_POINTER_REF, "afsFid: ", -1);
4238 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4239 hf_afs4int_offsetp_high, &offsetp_high);
4241 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4242 hf_afs4int_offsetp_low, &offsetp_low);
4244 if (check_col (pinfo->cinfo, COL_INFO))
4245 col_append_fstr (pinfo->cinfo, COL_INFO, " Offsetp:%u/%u", offsetp_high,
4248 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4249 hf_afs4int_bulkfetchstatus_size, &size);
4251 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_minvvp,
4252 NDR_POINTER_REF, "MinVVp:", -1);
4253 offset = dissect_afsFlags(tvb, offset, pinfo, tree, drep);
4259 afs4int_dissect_bulkfetchstatus_resp
4261 tvb, int offset, packet_info * pinfo, proto_tree * tree, guint8 *drep)
4266 di = pinfo->private_data;
4267 if (di->conformant_run)
4273 [out] BulkStat *bulkstats,
4274 [out] afsHyper *NextOffsetp,
4275 [out] afsFetchStatus *OutDirStatusp,
4276 [out] afsToken *OutTokenp,
4277 [out] afsVolSync *Syncp,
4278 [out] pipe_t *dirStream
4282 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afsBulkStat,
4283 NDR_POINTER_REF, "BulkStat: ", -1);
4284 /* Under construction. The packet seems to have the pipe_t before the rest of the data listed in idl. */
4288 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4289 hf_afs4int_nextoffsetp_high, &nextoffsetp_high);
4291 dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep,
4292 hf_afs4int_nextoffsetp_low, &nextoffsetp_low);
4294 if (check_col (pinfo->cinfo, COL_INFO))
4295 col_append_fstr (pinfo->cinfo, COL_INFO, " NextOffsetp:%u/%u",
4296 nextoffsetp_high, nextoffsetp_low);
4298 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_fetchstatus,
4299 NDR_POINTER_REF, "FetchStatus: ", -1);
4301 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_afstoken,
4302 NDR_POINTER_REF, "afsToken: ", -1);
4304 dissect_ndr_pointer (tvb, offset, pinfo, tree, drep, dissect_volsync,
4305 NDR_POINTER_REF, "VolSync: ", -1);
4307 /* XXX figure out pipe_t */
4312 static dcerpc_sub_dissector afs4int_dissectors[] = {
4313 { 0, "SetContext", afs4int_dissect_setcontext_rqst, afs4int_dissect_setcontext_resp} ,
4314 { 1, "LookupRoot", afs4int_dissect_lookuproot_rqst, afs4int_dissect_lookuproot_resp} ,
4315 { 2, "FetchData", afs4int_dissect_fetchdata_rqst, afs4int_dissect_fetchdata_resp} ,
4316 { 3, "FetchAcl", afs4int_dissect_fetchacl_rqst, afs4int_dissect_fetchacl_resp} ,
4317 { 4, "FetchStatus", afs4int_dissect_fetchstatus_rqst, afs4int_dissect_fetchstatus_resp} ,
4318 { 5, "StoreData", afs4int_dissect_storedata_rqst, afs4int_dissect_storedata_resp} ,
4319 { 6, "StoreAcl", afs4int_dissect_storeacl_rqst, afs4int_dissect_storeacl_resp} ,
4320 { 7, "StoreStatus", afs4int_dissect_storestatus_rqst, afs4int_dissect_storestatus_resp} ,
4321 { 8, "RemoveFile", afs4int_dissect_removefile_rqst, afs4int_dissect_removefile_resp} ,
4322 { 9, "CreateFile", afs4int_dissect_createfile_rqst, afs4int_dissect_createfile_resp} ,
4323 { 10, "Rename", afs4int_dissect_rename_rqst, afs4int_dissect_rename_resp} ,
4324 { 11, "Symlink", afs4int_dissect_symlink_rqst, afs4int_dissect_symlink_resp} ,
4325 { 12, "HardLink", afs4int_dissect_hardlink_rqst, afs4int_dissect_hardlink_resp} ,
4326 { 13, "MakeDir", afs4int_dissect_makedir_rqst, afs4int_dissect_makedir_resp} ,
4327 { 14, "RemoveDir", afs4int_dissect_removedir_rqst, afs4int_dissect_removedir_resp} ,
4328 { 15, "Readdir", afs4int_dissect_readdir_rqst, afs4int_dissect_readdir_resp} ,
4329 { 16, "Lookup", afs4int_dissect_lookup_rqst, afs4int_dissect_lookup_resp} ,
4330 { 17, "GetToken", afs4int_dissect_gettoken_rqst, afs4int_dissect_gettoken_resp} ,
4331 { 18, "ReleaseTokens", afs4int_dissect_releasetokens_rqst, afs4int_dissect_releasetokens_resp} ,
4332 { 19, "GetTime", afs4int_dissect_gettime_rqst, afs4int_dissect_gettime_resp} ,
4333 { 20, "MakeMountPoint", afs4int_dissect_makemountpoint_rqst, afs4int_dissect_makemountpoint_resp} ,
4334 { 21, "GetStatistics", afs4int_dissect_getstatistics_rqst, afs4int_dissect_getstatistics_resp} ,
4335 { 22, "BulkFetchVV", afs4int_dissect_bulkfetchvv_rqst, afs4int_dissect_bulkfetchvv_resp} ,
4336 { 23, "BulkKeepAlive", afs4int_dissect_bulkkeepalive_rqst, afs4int_dissect_bulkkeepalive_resp} ,
4337 { 24, "ProcessQuota", afs4int_dissect_processquota_rqst, afs4int_dissect_processquota_resp} ,
4338 { 25, "GetServerInterfaces", afs4int_dissect_getserverinterfaces_rqst, afs4int_dissect_getserverinterfaces_resp} ,
4339 { 26, "SetParams", afs4int_dissect_setparams_rqst, afs4int_dissect_setparams_resp} ,
4340 { 27, "BulkFetchStatus", afs4int_dissect_bulkfetchstatus_rqst, afs4int_dissect_bulkfetchstatus_resp} ,
4341 { 0, NULL, NULL, NULL}
4345 proto_register_afs4int (void)
4349 static hf_register_info hf[] = {
4350 { &hf_error_st, {"AFS4Int Error Status Code", "afs4int.st", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4351 { &hf_afs4int_flags, {"DFS Flags", "afs4int.flags", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4352 { &hf_afs4int_tn_string, {"String ", "afs4int.string", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL}},
4353 { &hf_afs4int_tn_size, {"String Size", "afs4int.tn_size", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4354 { &hf_afs4int_opnum, {"Operation", "afs4int.opnum", FT_UINT16, BASE_DEC, NULL, 0x0, "Operation", HFILL}},
4355 { &hf_afs4int_setcontext_rqst_epochtime, {"EpochTime:", "afs4int.setcontext_rqst_epochtime", FT_ABSOLUTE_TIME, BASE_NONE, NULL, 0x0, "", HFILL}},
4356 { &hf_afs4int_setcontext_rqst_secobjectid, { "SetObjectid:", "afs4int.setcontext_secobjextid", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", HFILL} } ,
4357 { &hf_afs4int_setcontext_rqst_clientsizesattrs, { "ClientSizeAttrs:", "afs4int.setcontext_clientsizesattrs", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4358 { &hf_afs4int_setcontext_rqst_parm7, { "Parm7:", "afs4int.setcontext.parm7", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4359 { &hf_afs4int_acl_len, {"Acl Length", "afs4int.acl_len", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4360 { &hf_afs4int_acltype, {"afs4int.acltype", "afs4int.acltype", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4361 { &hf_afs4int_minvvp_high, {"afs4int.minvvp_high", "afs4int.minvvp_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4362 { &hf_afs4int_minvvp_low, {"afs4int.minvvp_low", "afs4int.minvvp_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4363 { &hf_afs4int_volume_low, { "afs4int.volume_low", "afs4int.volume_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4364 { &hf_afs4int_volume_high, { "afs4int.volume_high", "afs4int.volume_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4365 { &hf_afs4int_vnode, { "afs4int.vnode", "afs4int.vnode", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4366 { &hf_afs4int_unique, { "afs4int.unique", "afs4int.unique", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4367 { &hf_afs4int_accesstime_msec, { "afs4int.accesstime_msec", "afs4int.accesstime_msec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4368 { &hf_afs4int_accesstime_sec, { "afs4int.accesstime_sec", "afs4int.accesstime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4369 { &hf_afs4int_aclexpirationtime, { "afs4int.aclexpirationtime", "afs4int.aclexpirationtime", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4370 { &hf_afs4int_agtypeunique, { "afs4int.agtypeunique", "afs4int.agtypeunique", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4371 { &hf_afs4int_anonymousaccess, { "afs4int.anonymousaccess", "afs4int.anonymousaccess", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4372 { &hf_afs4int_author, { "afs4int.author", "afs4int.author", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4373 { &hf_afs4int_blocksused, { "afs4int.blocksused", "afs4int.blocksused", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} },
4374 { &hf_afs4int_calleraccess, { "afs4int.calleraccess", "afs4int.calleraccess", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4375 { &hf_afs4int_changetime_msec, { "afs4int.changetime_msec", "afs4int.changetime_msec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4376 { &hf_afs4int_changetime_sec, { "afs4int.changetime_sec", "afs4int.changetime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4377 { &hf_afs4int_clientspare1, { "afs4int.clientspare1", "afs4int.clientspare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4378 { &hf_afs4int_dataversion_high, { "afs4int.dataversion_high", "afs4int.dataversion_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4379 { &hf_afs4int_dataversion_low, { "afs4int.dataversion_low", "afs4int.dataversion_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4380 { &hf_afs4int_devicenumber, { "afs4int.devicenumber", "afs4int.devicenumber", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4381 { &hf_afs4int_devicenumberhighbits, { "afs4int.devicenumberhighbits", "afs4int.devicenumberhighbits", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4382 { &hf_afs4int_filetype, { "afs4int.filetype", "afs4int.filetype", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4383 { &hf_afs4int_group, { "afs4int.group", "afs4int.group", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4384 { &hf_afs4int_himaxspare, { "afs4int.himaxspare", "afs4int.himaxspare", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4385 { &hf_afs4int_interfaceversion, { "afs4int.interfaceversion", "afs4int.interfaceversion", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4386 { &hf_afs4int_length_high, { "afs4int.length_high", "afs4int.length_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4387 { &hf_afs4int_length_low, { "afs4int.length_low", "afs4int.length_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4388 { &hf_afs4int_linkcount, { "afs4int.linkcount", "afs4int.linkcount", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4389 { &hf_afs4int_lomaxspare, { "afs4int.lomaxspare", "afs4int.lomaxspare", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4390 { &hf_afs4int_mode, { "afs4int.mode", "afs4int.mode", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4391 { &hf_afs4int_modtime_msec, { "afs4int.modtime_msec", "afs4int.modtime_msec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4392 { &hf_afs4int_modtime_sec, { "afs4int.modtime_sec", "afs4int.modtime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4393 { &hf_afs4int_objectuuid, { "afs4int.objectuuid", "afs4int.objectuuid", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", HFILL} } ,
4394 { &hf_afs4int_owner, { "afs4int.owner", "afs4int.owner", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4395 { &hf_afs4int_parentunique, { "afs4int.parentunique", "afs4int.parentunique", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4396 { &hf_afs4int_parentvnode, { "afs4int.parentvnode", "afs4int.parentvnode", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4397 { &hf_afs4int_pathconfspare, { "afs4int.pathconfspare", "afs4int.pathconfspare", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4398 { &hf_afs4int_servermodtime_msec, { "afs4int.servermodtime_msec", "afs4int.servermodtime_msec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4399 { &hf_afs4int_servermodtime_sec, { "afs4int.servermodtime_sec", "afs4int.servermodtime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4400 { &hf_afs4int_spare4, { "afs4int.spare4", "afs4int.spare4", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4401 { &hf_afs4int_spare5, { "afs4int.spare5", "afs4int.spare5", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4402 { &hf_afs4int_spare6, { "afs4int.spare6", "afs4int.spare6", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4403 { &hf_afs4int_typeuuid, { "afs4int.typeuuid", "afs4int.typeuuid", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", HFILL} } ,
4404 { &hf_afs4int_volid_hi, { "afs4int.volid_hi", "afs4int.volid_hi", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4405 { &hf_afs4int_volid_low, { "afs4int.volid_low", "afs4int.volid_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4406 { &hf_afs4int_vvage, { "afs4int.vvage", "afs4int.vvage", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4407 { &hf_afs4int_vv_hi, { "afs4int.vv_hi", "afs4int.vv_hi", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4408 { &hf_afs4int_vv_low, { "afs4int.vv_low", "afs4int.vv_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4409 { &hf_afs4int_vvpingage, { "afs4int.vvpingage", "afs4int.vvpingage", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4410 { &hf_afs4int_vvspare1, { "afs4int.vvspare1", "afs4int.vvspare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4411 { &hf_afs4int_vvspare2, { "afs4int.vvspare2", "afs4int.vvspare2", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4412 { &hf_afs4int_beginrange, { "afs4int.beginrange", "afs4int.beginrange", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4413 { &hf_afs4int_beginrangeext, { "afs4int.beginrangeext", "afs4int.beginrangeext", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4414 { &hf_afs4int_endrange, { "afs4int.endrange", "afs4int.endrange", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4415 { &hf_afs4int_endrangeext, { "afs4int.endrangeext", "afs4int.endrangeext", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4416 { &hf_afs4int_expirationtime, { "afs4int.expirationtime", "afs4int.expirationtime", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4417 { &hf_afs4int_tokenid_hi, { "afs4int.tokenid_hi", "afs4int.tokenid_hi", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4418 { &hf_afs4int_tokenid_low, { "afs4int.tokenid_low", "afs4int.tokenid_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4419 { &hf_afs4int_type_hi, { "afs4int.type_hi", "afs4int.type_hi", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4420 { &hf_afs4int_type_low, { "afs4int.type_low", "afs4int.type_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4421 { &hf_afs4int_tn_length, { "afs4int.tn_length", "afs4int.tn_length", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4422 { &hf_afs4int_tn_tag, { "afs4int.tn_tag", "afs4int.tn_tag", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4423 { &hf_afs4int_storestatus_accesstime_sec, { "afs4int.storestatus_accesstime_sec", "afs4int.storestatus_accesstime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4424 { &hf_afs4int_storestatus_accesstime_usec, { "afs4int.storestatus_accesstime_usec", "afs4int.storestatus_accesstime_usec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4425 { &hf_afs4int_storestatus_changetime_sec, { "afs4int.storestatus_changetime_sec", "afs4int.storestatus_changetime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4426 { &hf_afs4int_storestatus_changetime_usec, { "afs4int.storestatus_changetime_usec", "afs4int.storestatus_changetime_usec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4427 { &hf_afs4int_storestatus_clientspare1, { "afs4int.storestatus_clientspare1", "afs4int.storestatus_clientspare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4428 { &hf_afs4int_storestatus_cmask, { "afs4int.storestatus_cmask", "afs4int.storestatus_cmask", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4429 { &hf_afs4int_storestatus_devicenumber, { "afs4int.storestatus_devicenumber", "afs4int.storestatus_devicenumber", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4430 { &hf_afs4int_storestatus_devicenumberhighbits, { "afs4int.storestatus_devicenumberhighbits", "afs4int.storestatus_devicenumberhighbits", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4431 { &hf_afs4int_storestatus_devicetype, { "afs4int.storestatus_devicetype", "afs4int.storestatus_devicetype", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4432 { &hf_afs4int_storestatus_group, { "afs4int.storestatus_group", "afs4int.storestatus_group", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4433 { &hf_afs4int_storestatus_length_high, { "afs4int.storestatus_length_high", "afs4int.storestatus_length_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4434 { &hf_afs4int_storestatus_length_low, { "afs4int.storestatus_length_low", "afs4int.storestatus_length_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4435 { &hf_afs4int_storestatus_mask, { "afs4int.storestatus_mask", "afs4int.storestatus_mask", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4436 { &hf_afs4int_storestatus_mode, { "afs4int.storestatus_mode", "afs4int.storestatus_mode", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4437 { &hf_afs4int_storestatus_modtime_sec, { "afs4int.storestatus_modtime_sec", "afs4int.storestatus_modtime_sec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4438 { &hf_afs4int_storestatus_modtime_usec, { "afs4int.storestatus_modtime_usec", "afs4int.storestatus_modtime_usec", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4439 { &hf_afs4int_storestatus_owner, { "afs4int.storestatus_owner", "afs4int.storestatus_owner", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4440 { &hf_afs4int_storestatus_spare1, { "afs4int.storestatus_spare1", "afs4int.storestatus_spare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4441 { &hf_afs4int_storestatus_spare2, { "afs4int.storestatus_spare2", "afs4int.storestatus_spare2", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4442 { &hf_afs4int_storestatus_spare3, { "afs4int.storestatus_spare3", "afs4int.storestatus_spare3", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4443 { &hf_afs4int_storestatus_spare4, { "afs4int.storestatus_spare4", "afs4int.storestatus_spare4", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4444 { &hf_afs4int_storestatus_spare5, { "afs4int.storestatus_spare5", "afs4int.storestatus_spare5", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4445 { &hf_afs4int_storestatus_spare6, { "afs4int.storestatus_spare6", "afs4int.storestatus_spare6", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4446 { &hf_afs4int_storestatus_trunc_high, { "afs4int.storestatus_trunc_high", "afs4int.storestatus_trunc_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4447 { &hf_afs4int_storestatus_trunc_low, { "afs4int.storestatus_trunc_low", "afs4int.storestatus_trunc_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4448 { &hf_afs4int_storestatus_typeuuid, { "afs4int.storestatus_typeuuid", "afs4int.storestatus_typeuuid", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", HFILL} } ,
4449 { &hf_afs4int_st, { "afs4int.st", "afs4int.st", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4450 { &hf_afs4int_uint, {"afs4int.uint", "afs4int.uint", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4451 { &hf_afs4int_l_end_pos, { "afs4int.l_end_pos", "afs4int.l_end_pos", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4452 { &hf_afs4int_l_end_pos_ext, { "afs4int.l_end_pos_ext", "afs4int.l_end_pos_ext", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4453 { &hf_afs4int_l_fstype, { "afs4int.l_fstype", "afs4int.l_fstype", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4454 { &hf_afs4int_l_pid, { "afs4int.l_pid", "afs4int.l_pid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4455 { &hf_afs4int_l_start_pos, { "afs4int.l_start_pos", "afs4int.l_start_pos", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4456 { &hf_afs4int_l_start_pos_ext, { "afs4int.l_start_pos_ext", "afs4int.l_start_pos_ext", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4457 { &hf_afs4int_l_sysid, { "afs4int.l_sysid", "afs4int.l_sysid", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4458 { &hf_afs4int_l_type, { "afs4int.l_type", "afs4int.l_type", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4459 { &hf_afs4int_l_whence, { "afs4int.l_whence", "afs4int.l_whence", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL} } ,
4460 {&hf_afsconnparams_mask,
4461 {"hf_afsconnparams_mask", "hf_afsconnparams_mask",
4462 FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4463 {&hf_afsconnparams_values,
4464 {"hf_afsconnparams_values", "hf_afsconnparams_values",
4465 FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}},
4466 {&hf_afs4int_afsFid_cell_high,
4467 {"Cell High", "afs4int.afsFid.cell_high", FT_UINT32, BASE_HEX, NULL, 0x0,
4468 "afsFid Cell High", HFILL}},
4469 {&hf_afs4int_afsFid_cell_low,
4470 {"Cell Low", "afs4int.afsFid.cell_low", FT_UINT32, BASE_HEX, NULL, 0x0,
4471 "afsFid Cell Low", HFILL}},
4472 {&hf_afs4int_afsFid_volume_high,
4473 {"Volume High", "afs4int.afsFid.volume_high", FT_UINT32, BASE_HEX, NULL,
4474 0x0, "afsFid Volume High", HFILL}},
4475 {&hf_afs4int_afsFid_volume_low,
4476 {"Volume Low", "afs4int.afsFid.volume_low", FT_UINT32, BASE_HEX, NULL,
4477 0x0, "afsFid Volume Low", HFILL}},
4478 {&hf_afs4int_afsFid_Vnode,
4479 {"Vnode", "afs4int.afsFid.Vnode", FT_UINT32, BASE_HEX, NULL, 0x0,
4480 "afsFid Vnode", HFILL}},
4481 {&hf_afs4int_afsFid_Unique,
4482 {"Unique", "afs4int.afsFid.Unique", FT_UINT32, BASE_HEX, NULL, 0x0,
4483 "afsFid Unique", HFILL}},
4484 {&hf_afs4int_afsNetAddr_type,
4485 {"Type", "afsNetAddr.type", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL}},
4486 {&hf_afs4int_afsNetAddr_data,
4487 {"IP Data", "afsNetAddr.data", FT_UINT8, BASE_DEC, NULL, 0x0, "",
4489 {&hf_afs4int_position_high,
4490 {"Position High", "afs4int.position_high", FT_UINT32, BASE_HEX, NULL,
4492 {&hf_afs4int_position_low,
4493 {"Position Low", "afs4int.position_low", FT_UINT32, BASE_HEX, NULL, 0x0,
4495 {&hf_afs4int_afsreturndesc_tokenid_high,
4496 {"Tokenid High", "afs4int.afsreturndesc_tokenid_high", FT_UINT32,
4497 BASE_HEX, NULL, 0x0, "", HFILL}},
4498 {&hf_afs4int_afsreturndesc_tokenid_low,
4499 {"Tokenid low", "afs4int.afsreturndesc_tokenid_low", FT_UINT32, BASE_HEX,
4500 NULL, 0x0, "", HFILL}},
4501 {&hf_afs4int_afsreturndesc_type_high,
4502 {"Type high", "afs4int.type_high", FT_UINT32, BASE_HEX, NULL, 0x0, "",
4504 {&hf_afs4int_afsreturndesc_type_low,
4505 {"Type low", "afs4int.type_low", FT_UINT32, BASE_HEX, NULL, 0x0, "",
4507 {&hf_afs4int_offsetp_high,
4508 {"offset high", "afs4int.offset_high", FT_UINT32, BASE_HEX, NULL, 0x0,
4510 {&hf_afs4int_offsetp_low,
4511 {"offset high", "afs4int.offset_high", FT_UINT32, BASE_HEX, NULL, 0x0,
4513 {&hf_afs4int_nextoffsetp_high,
4514 {"next offset high", "afs4int.nextoffset_high", FT_UINT32, BASE_HEX,
4515 NULL, 0x0, "", HFILL}},
4516 {&hf_afs4int_nextoffsetp_low,
4517 {"next offset low", "afs4int.nextoffset_low", FT_UINT32, BASE_HEX, NULL,
4519 {&hf_afs4int_returntokenidp_high,
4520 {"return token idp high", "afs4int.returntokenidp_high", FT_UINT32,
4521 BASE_HEX, NULL, 0x0, "", HFILL}},
4522 {&hf_afs4int_returntokenidp_low,
4523 {"return token idp low", "afs4int.returntokenidp_low", FT_UINT32,
4524 BASE_HEX, NULL, 0x0, "", HFILL}},
4525 {&hf_afs4int_cellidp_high,
4526 {"cellidp high", "afs4int.cellidp_high", FT_UINT32, BASE_HEX, NULL, 0x0,
4528 {&hf_afs4int_cellidp_low,
4529 {"cellidp low", "afs4int.cellidp_low", FT_UINT32, BASE_HEX, NULL, 0x0,
4531 {&hf_afserrorstatus_st,
4532 {"AFS Error Code", "afs4int.afserrortstatus_st", FT_UINT32, BASE_HEX,
4533 NULL, 0x0, "", HFILL}},
4534 {&hf_afs4int_length,
4535 {"Length", "afs4int.length", FT_UINT32, BASE_HEX,
4536 NULL, 0x0, "", HFILL}},
4537 {&hf_afs4int_afsTaggedPath_tp_chars,
4538 {"AFS Tagged Path", "afs4int.TaggedPath_tp_chars", FT_STRING, BASE_NONE,
4539 NULL, 0x0, "", HFILL}},
4540 {&hf_afs4int_afsTaggedPath_tp_tag,
4541 {"AFS Tagged Path Name", "afs4int.TaggedPath_tp_tag", FT_UINT32,
4543 NULL, 0x0, "", HFILL}},
4544 {&hf_afs4int_afsacl_uuid1,
4545 {"AFS ACL UUID1", "afs4int.afsacl_uuid1", FT_STRING, BASE_NONE,
4546 NULL, 0x0, "UUID", HFILL}},
4547 {&hf_afs4int_bulkfetchstatus_size,
4548 {"BulkFetchStatus Size", "afs4int.bulkfetchstatus_size", FT_UINT32,
4550 NULL, 0x0, "", HFILL}},
4551 {&hf_afs4int_bulkfetchvv_numvols,
4552 {"afs4int.bulkfetchvv_numvols", "afs4int.bulkfetchvv_numvols",
4553 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4554 {&hf_afs4int_bulkfetchvv_spare1,
4555 {"afs4int.bulkfetchvv_spare1", "afs4int.bulkfetchvv_spare1",
4556 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4557 {&hf_afs4int_bulkfetchvv_spare2,
4558 {"afs4int.bulkfetchvv_spare2", "afs4int.bulkfetchvv_spare2",
4559 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4560 {&hf_afs4int_bulkkeepalive_numexecfids, {"BulkKeepAlive numexecfids", "afs4int.bulkkeepalive_numexecfids", FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4561 {&hf_afs4int_bulkkeepalive_spare4,
4562 {"BulkKeepAlive spare4", "afs4int.bulkfetchkeepalive_spare2",
4563 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4564 {&hf_afs4int_bulkkeepalive_spare2,
4565 {"BulkKeepAlive spare2", "afs4int.bulkfetchkeepalive_spare2",
4566 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4567 {&hf_afs4int_bulkkeepalive_spare1,
4568 {"BulkFetch KeepAlive spare1", "afs4int.bulkfetchkeepalive_spare1",
4569 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4570 {&hf_afs4int_afsacl_defaultcell_uuid,
4571 {"Default Cell UUID",
4572 "afs4int.defaultcell_uuid", FT_STRING, BASE_NONE, NULL, 0x0,
4574 {&hf_afs4int_afsuuid_uuid,
4576 "afs4int.uuid", FT_STRING, BASE_NONE, NULL, 0x0,
4578 {&hf_afs4int_gettime_syncdispersion,
4579 {"GetTime Syncdispersion",
4580 "afs4int.gettime_syncdispersion", FT_UINT32, BASE_HEX, NULL, 0x0,
4582 {&hf_afs4int_gettime_syncdistance,
4583 {"SyncDistance", "afs4int.gettime.syncdistance",
4584 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4585 {&hf_afs4int_gettime_usecondsp,
4586 {"GetTime usecondsp", "afs4int.gettime_usecondsp",
4587 FT_UINT32, BASE_HEX, NULL, 0x0, "", HFILL}},
4588 {&hf_afs4int_readdir_size,
4589 {"Readdir Size", "afs4int.readdir.size", FT_UINT32,
4590 BASE_HEX, NULL, 0x0, "", HFILL}},
4591 {&hf_afs4int_afsNameString_t_principalName_size,
4592 {"Principal Name Size",
4593 "afs4int.principalName_size", FT_UINT32, BASE_HEX,
4594 NULL, 0x0, "", HFILL}},
4595 {&hf_afs4int_afsNameString_t_principalName_size2,
4596 {"Principal Name Size2",
4597 "afs4int.principalName_size2", FT_UINT32, BASE_HEX,
4598 NULL, 0x0, "", HFILL}},
4599 {&hf_afs4int_afsTaggedPath_tp_length,
4600 {"Tagged Path Length",
4601 "afs4int.afsTaggedPath_length", FT_UINT32, BASE_HEX, NULL, 0x0,
4603 {&hf_afs4int_fstype,
4604 {"Filetype", "afs4int.fstype", FT_UINT32, BASE_HEX, NULL,
4606 {&hf_afs4int_gettime_secondsp,
4607 {"GetTime secondsp", "afs4int.gettime_secondsp", FT_UINT32,
4610 {&hf_afs4int_afsNameString_t_principalName_string,
4611 {"Principal Name", "afs4int.NameString_principal", FT_STRING,
4614 {&hf_afs4int_fetchdata_pipe_t_size,
4615 {"FetchData Pipe_t size", "afs4int.fetchdata_pipe_t_size", FT_STRING,
4619 static gint *ett[] = {
4621 &ett_afs4int_afsReturnDesc,
4622 &ett_afs4int_afsFid,
4623 &ett_afs4int_afsNetAddr,
4624 &ett_afs4int_fetchstatus,
4625 &ett_afs4int_afsflags,
4626 &ett_afs4int_volsync,
4627 &ett_afs4int_minvvp,
4628 &ett_afs4int_afsfidtaggedname,
4629 &ett_afs4int_afstaggedname,
4630 &ett_afs4int_afstoken,
4631 &ett_afs4int_afsstorestatus,
4632 &ett_afs4int_afsRecordLock,
4633 &ett_afs4int_afsAcl,
4634 &ett_afs4int_afsNameString_t,
4635 &ett_afs4int_afsConnParams,
4636 &ett_afs4int_afsErrorStatus,
4637 &ett_afs4int_afsTaggedPath,
4638 &ett_afs4int_afsNetData,
4639 &ett_afs4int_afsBulkStat,
4640 &ett_afs4int_afsuuid,
4641 &ett_afs4int_offsetp,
4642 &ett_afs4int_returntokenidp,
4643 &ett_afs4int_afsbundled_stat,
4645 proto_afs4int = proto_register_protocol ("DFS Calls", "DCE_DFS", "dce_dfs");
4646 proto_register_field_array (proto_afs4int, hf, array_length (hf));
4647 proto_register_subtree_array (ett, array_length (ett));
4651 proto_reg_handoff_afs4int (void)
4654 * Register the protocol as dcerpc
4656 dcerpc_init_uuid (proto_afs4int, ett_afs4int, &uuid_afs4int, ver_afs4int,
4657 afs4int_dissectors, hf_afs4int_opnum);