- Decode some more annex C fields
[obnox/wireshark/wip.git] / epan / dissectors / packet-dcerpc-butc.c
1 /* DO NOT EDIT
2  * This dissector is autogenerated
3  */
4
5 /* packet-dcerpc-butc.c
6  * Routines for BUTC packet disassembly
7  *
8  * $Id$
9  *
10  * Ethereal - Network traffic analyzer
11  * By Gerald Combs <gerald@ethereal.com>
12  * Copyright 1998 Gerald Combs
13  *
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.
18  *
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.
23  *
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.
27  */
28
29 #ifdef HAVE_CONFIG_H
30 #include "config.h"
31 #endif
32
33 #include <glib.h>
34 #include <string.h>
35
36 #include <epan/packet.h>
37 #include "packet-dcerpc.h"
38 #include "packet-dcerpc-nt.h"
39 #include "packet-windows-common.h"
40 #include "packet-dcerpc-butc.h"
41
42 static int proto_butc = -1;
43
44
45 /* INCLUDED FILE : ETH_HF */
46 static int hf_butc_opnum = -1;
47 static int hf_butc_rc = -1;
48 static int hf_butc_Restore_flags_TC_RESTORE_CREATE = -1;
49 static int hf_butc_Restore_flags_TC_RESTORE_INCR = -1;
50 static int hf_butc_afsNetAddr_type = -1;
51 static int hf_butc_afsNetAddr_data = -1;
52 static int hf_butc_tc_dumpDesc_vid = -1;
53 static int hf_butc_tc_dumpDesc_name = -1;
54 static int hf_butc_tc_dumpDesc_partition = -1;
55 static int hf_butc_tc_dumpDesc_date = -1;
56 static int hf_butc_tc_dumpDesc_cloneDate = -1;
57 static int hf_butc_tc_dumpDesc_hostAddr = -1;
58 static int hf_butc_tc_dumpDesc_spare1 = -1;
59 static int hf_butc_tc_dumpDesc_spare2 = -1;
60 static int hf_butc_tc_dumpDesc_spare3 = -1;
61 static int hf_butc_tc_dumpDesc_spare4 = -1;
62 static int hf_butc_tc_restoreDesc_frag = -1;
63 static int hf_butc_tc_restoreDesc_tapeName = -1;
64 static int hf_butc_tc_restoreDesc_position = -1;
65 static int hf_butc_tc_restoreDesc_origVid = -1;
66 static int hf_butc_tc_restoreDesc_vid = -1;
67 static int hf_butc_tc_restoreDesc_partition = -1;
68 static int hf_butc_tc_restoreDesc_flags = -1;
69 static int hf_butc_tc_restoreDesc_hostAddr = -1;
70 static int hf_butc_tc_restoreDesc_realDumpId = -1;
71 static int hf_butc_tc_restoreDesc_spare2 = -1;
72 static int hf_butc_tc_restoreDesc_spare3 = -1;
73 static int hf_butc_tc_restoreDesc_spare4 = -1;
74 static int hf_butc_tc_restoreDesc_oldName = -1;
75 static int hf_butc_tc_restoreDesc_newName = -1;
76 static int hf_butc_tc_dumpStat_dumpID = -1;
77 static int hf_butc_tc_dumpStat_bytesDumped = -1;
78 static int hf_butc_tc_dumpStat_volumeBeingDumped = -1;
79 static int hf_butc_tc_dumpStat_numVolErrs = -1;
80 static int hf_butc_tc_dumpStat_flags = -1;
81 static int hf_butc_tc_dumpStat_spare1 = -1;
82 static int hf_butc_tc_dumpStat_spare2 = -1;
83 static int hf_butc_tc_dumpStat_spare3 = -1;
84 static int hf_butc_tc_dumpStat_spare4 = -1;
85 static int hf_butc_tc_tapeLabel_size = -1;
86 static int hf_butc_tc_tapeLabel_size_ext = -1;
87 static int hf_butc_tc_tapeLabel_spare1 = -1;
88 static int hf_butc_tc_tapeLabel_spare2 = -1;
89 static int hf_butc_tc_tapeLabel_spare3 = -1;
90 static int hf_butc_tc_tapeLabel_spare4 = -1;
91 static int hf_butc_tc_tapeLabel_nameLen = -1;
92 static int hf_butc_tc_tapeLabel_name = -1;
93 static int hf_butc_tc_tapeSet_id = -1;
94 static int hf_butc_tc_tapeSet_tapeServer = -1;
95 static int hf_butc_tc_tapeSet_format = -1;
96 static int hf_butc_tc_tapeSet_maxTapes = -1;
97 static int hf_butc_tc_tapeSet_a = -1;
98 static int hf_butc_tc_tapeSet_b = -1;
99 static int hf_butc_tc_tapeSet_expDate = -1;
100 static int hf_butc_tc_tapeSet_expType = -1;
101 static int hf_butc_tc_tapeSet_spare1 = -1;
102 static int hf_butc_tc_tapeSet_spare2 = -1;
103 static int hf_butc_tc_tapeSet_spare3 = -1;
104 static int hf_butc_tc_tapeSet_spare4 = -1;
105 static int hf_butc_tc_tcInfo_tcVersion = -1;
106 static int hf_butc_tc_tcInfo_spare1 = -1;
107 static int hf_butc_tc_tcInfo_spare2 = -1;
108 static int hf_butc_tc_tcInfo_spare3 = -1;
109 static int hf_butc_tc_tcInfo_spare4 = -1;
110 static int hf_butc_tc_restoreArray_tc_restoreArray_len = -1;
111 static int hf_butc_tc_restoreArray_tc_restoreArray_val = -1;
112 static int hf_butc_tc_dumpArray_tc_dumpArray_len = -1;
113 static int hf_butc_tc_dumpArray_tc_dumpArray = -1;
114 static int hf_butc_tc_dumpInterface_dumpPath = -1;
115 static int hf_butc_tc_dumpInterface_volumeSetName = -1;
116 static int hf_butc_tc_dumpInterface_dumpName = -1;
117 static int hf_butc_tc_dumpInterface_tapeSet = -1;
118 static int hf_butc_tc_dumpInterface_parentDumpId = -1;
119 static int hf_butc_tc_dumpInterface_dumpLevel = -1;
120 static int hf_butc_tc_dumpInterface_spare1 = -1;
121 static int hf_butc_tc_dumpInterface_spare2 = -1;
122 static int hf_butc_tc_dumpInterface_spare3 = -1;
123 static int hf_butc_tc_dumpInterface_spare4 = -1;
124 static int hf_butc_tc_statusInfoSwitchVol_nKBytes = -1;
125 static int hf_butc_tc_statusInfoSwitchVol_volumeName = -1;
126 static int hf_butc_tc_statusInfoSwitchVol_volsFailed = -1;
127 static int hf_butc_tc_statusInfoSwitchVol_spare1 = -1;
128 static int hf_butc_tc_statusInfoSwitchLabel_tapeLabel = -1;
129 static int hf_butc_tc_statusInfoSwitchLabel_spare1 = -1;
130 static int hf_butc_tc_statusInfoSwitch_TCOP_NONE_none = -1;
131 static int hf_butc_tc_statusInfoSwitch_TCOP_DUMP_vol = -1;
132 static int hf_butc_tc_statusInfoSwitch_TCOP_RESTORE_vol = -1;
133 static int hf_butc_tc_statusInfoSwitch_TCOP_LABELTAPE_label = -1;
134 static int hf_butc_tc_statusInfoSwitch_TCOP_READLABEL_label = -1;
135 static int hf_butc_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1 = -1;
136 static int hf_butc_tc_statusInfoSwitch_TCOP_STATUS_spare2 = -1;
137 static int hf_butc_tc_statusInfoSwitch_TCOP_SAVEDB_spare3 = -1;
138 static int hf_butc_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4 = -1;
139 static int hf_butc_tc_statusInfoSwitch_TCOP_SPARE_spare5 = -1;
140 static int hf_butc_tciStatusS_taskName = -1;
141 static int hf_butc_tciStatusS_flags = -1;
142 static int hf_butc_tciStatusS_lastPolled = -1;
143 static int hf_butc_tciStatusS_info = -1;
144 static int hf_butc_tciStatusS_taskId = -1;
145 static int hf_butc_tciStatusS_spare2 = -1;
146 static int hf_butc_tciStatusS_spare3 = -1;
147 static int hf_butc_tciStatusS_spare4 = -1;
148 static int hf_butc_BUTC_PerformDump_tcdiPtr = -1;
149 static int hf_butc_BUTC_PerformDump_dumps = -1;
150 static int hf_butc_BUTC_PerformDump_dumpID = -1;
151 static int hf_butc_BUTC_PerformRestore_dumpSetName = -1;
152 static int hf_butc_BUTC_PerformRestore_restores = -1;
153 static int hf_butc_BUTC_PerformRestore_dumpID = -1;
154 static int hf_butc_BUTC_AbortDump_dumpID = -1;
155 static int hf_butc_BUTC_LabelTape_label = -1;
156 static int hf_butc_BUTC_LabelTape_taskId = -1;
157 static int hf_butc_BUTC_ReadLabel_taskId = -1;
158 static int hf_butc_BUTC_ScanDumps_addDbFlag = -1;
159 static int hf_butc_BUTC_ScanDumps_taskId = -1;
160 static int hf_butc_BUTC_TCInfo_tciptr = -1;
161 static int hf_butc_BUTC_SaveDb_taskId = -1;
162 static int hf_butc_BUTC_RestoreDb_taskId = -1;
163 static int hf_butc_BUTC_EndStatus_taskId = -1;
164 static int hf_butc_BUTC_GetStatus_taskId = -1;
165 static int hf_butc_BUTC_GetStatus_statusPtr = -1;
166 static int hf_butc_BUTC_RequestAbort_taskId = -1;
167 static int hf_butc_BUTC_ScanStatus_taskId = -1;
168 static int hf_butc_BUTC_ScanStatus_statusPtr = -1;
169 static int hf_butc_BUTC_ScanStatus_flags = -1;
170 /* END OF INCLUDED FILE : ETH_HF */
171
172
173
174
175
176 /* INCLUDED FILE : ETH_ETT */
177 static gint ett_butc = -1;
178 static gint ett_butc_Restore_flags = -1;
179 static gint ett_butc_afsNetAddr = -1;
180 static gint ett_butc_tc_dumpDesc = -1;
181 static gint ett_butc_tc_restoreDesc = -1;
182 static gint ett_butc_tc_dumpStat = -1;
183 static gint ett_butc_tc_tapeLabel = -1;
184 static gint ett_butc_tc_tapeSet = -1;
185 static gint ett_butc_tc_tcInfo = -1;
186 static gint ett_butc_tc_restoreArray = -1;
187 static gint ett_butc_tc_dumpArray = -1;
188 static gint ett_butc_tc_dumpInterface = -1;
189 static gint ett_butc_tc_statusInfoSwitchVol = -1;
190 static gint ett_butc_tc_statusInfoSwitchLabel = -1;
191 static gint ett_butc_tc_statusInfoSwitch = -1;
192 static gint ett_butc_tciStatusS = -1;
193 /* END OF INCLUDED FILE : ETH_ETT */
194
195
196
197 static int
198 butc_dissect_NameString_t(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
199 {
200     offset=dissect_ndr_vstring(tvb, offset, pinfo, tree, drep, 1, hf_index, FALSE, NULL);
201     return offset;
202 }
203
204
205
206 /* INCLUDED FILE : ETH_CODE */
207 static e_uuid_t uuid_dcerpc_butc = {
208     0x1d193c08, 0x000b, 0x11ca,
209     { 0xba, 0x1d, 0x02, 0x60, 0x8c, 0x2e, 0xa9, 0x6e}
210 };
211
212 static guint16 ver_butc = 4;
213
214 static const true_false_string TC_RESTORE_CREATE_tfs = {
215     "TC_RESTORE_CREATE is SET",
216     "TC_RESTORE_CREATE is NOT set"
217 };
218
219 static const true_false_string TC_RESTORE_INCR_tfs = {
220     "TC_RESTORE_INCR is SET",
221     "TC_RESTORE_INCR is NOT set"
222 };
223
224
225 int
226 butc_dissect_Restore_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
227 {
228     proto_item *item=NULL;
229     proto_tree *tree=NULL;
230     guint32 flags;
231
232     ALIGN_TO_4_BYTES;
233
234     if(parent_tree){
235         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, TRUE);
236         tree=proto_item_add_subtree(item, ett_butc_Restore_flags);
237     }
238
239     offset=dissect_ndr_uint32(tvb, offset, pinfo, NULL, drep, -1, &flags);
240
241
242     proto_tree_add_boolean(tree, hf_butc_Restore_flags_TC_RESTORE_CREATE, tvb, offset-4, 4, flags);
243     if(flags&0x00000001){
244         proto_item_append_text(item, " TC_RESTORE_CREATE");
245     }
246     flags&=(~0x00000001);
247
248     proto_tree_add_boolean(tree, hf_butc_Restore_flags_TC_RESTORE_INCR, tvb, offset-4, 4, flags);
249     if(flags&0x00000002){
250         proto_item_append_text(item, " TC_RESTORE_INCR");
251     }
252     flags&=(~0x00000002);
253
254     if(flags){
255         proto_item_append_text(item, "UNKNOWN-FLAGS");
256     }
257
258     return offset;
259 }
260
261 static int
262 butc_dissect_uint16(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
263 {
264     offset=dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_index, NULL);
265     return offset;
266 }
267
268 static int
269 butc_dissect_afsNetAddr_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
270 {
271     guint32 param=0;
272     offset=butc_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_butc_afsNetAddr_type, param);
273     return offset;
274 }
275
276
277 static int
278 butc_dissect_uint8(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
279 {
280     offset=dissect_ndr_uint8(tvb, offset, pinfo, tree, drep, hf_index, NULL);
281     return offset;
282 }
283
284 static int
285 butc_dissect_afsNetAddr_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
286 {
287     guint32 param=0;
288     offset=butc_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_butc_afsNetAddr_data, param);
289     return offset;
290 }
291
292 static int
293 fixedarray_butc_dissect_afsNetAddr_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
294 {
295     int count=14;
296     while(count--){
297         offset=butc_dissect_afsNetAddr_data(tvb, offset, pinfo, tree, drep);
298     }
299
300     return offset;
301 }
302
303
304 int
305 butc_dissect_afsNetAddr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
306 {
307     proto_item *item=NULL;
308     proto_tree *tree=NULL;
309     int old_offset;
310
311     ALIGN_TO_2_BYTES;
312
313     old_offset=offset;
314     if(parent_tree){
315         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
316         tree=proto_item_add_subtree(item, ett_butc_afsNetAddr);
317     }
318
319     offset=butc_dissect_afsNetAddr_type(tvb, offset, pinfo, tree, drep);
320
321     offset=fixedarray_butc_dissect_afsNetAddr_data(tvb, offset, pinfo, tree, drep);
322
323     proto_item_set_len(item, offset-old_offset);
324
325     return offset;
326 }
327
328 static int
329 butc_dissect_udlong(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
330 {
331
332     offset=dissect_ndr_duint32(tvb, offset, pinfo, tree, drep, hf_index, NULL);
333
334     return offset;
335 }
336
337 static int
338 butc_dissect_tc_dumpDesc_vid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
339 {
340     guint32 param=0;
341     offset=butc_dissect_udlong(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_vid, param);
342     return offset;
343 }
344
345 static int
346 butc_dissect_tc_dumpDesc_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
347 {
348     guint32 param=0;
349     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_name, param);
350     return offset;
351 }
352
353
354 static int
355 butc_dissect_int32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
356 {
357     offset=dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, NULL);
358     return offset;
359 }
360
361 static int
362 butc_dissect_tc_dumpDesc_partition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
363 {
364     guint32 param=0;
365     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_partition, param);
366     return offset;
367 }
368
369
370 static int
371 butc_dissect_time_t(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
372 {
373     
374     offset=dissect_ndr_time_t(tvb, offset, pinfo, tree, drep, hf_index, NULL);
375
376     return offset;
377 }
378
379 static int
380 butc_dissect_tc_dumpDesc_date(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
381 {
382     guint32 param=0;
383     offset=butc_dissect_time_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_date, param);
384     return offset;
385 }
386
387 static int
388 butc_dissect_tc_dumpDesc_cloneDate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
389 {
390     guint32 param=0;
391     offset=butc_dissect_time_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_cloneDate, param);
392     return offset;
393 }
394
395 static int
396 butc_dissect_tc_dumpDesc_hostAddr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
397 {
398     guint32 param=0;
399     offset=butc_dissect_afsNetAddr(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_hostAddr, param);
400     return offset;
401 }
402
403
404 static int
405 butc_dissect_uint32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
406 {
407     offset=dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, NULL);
408     return offset;
409 }
410
411 static int
412 butc_dissect_tc_dumpDesc_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
413 {
414     guint32 param=0;
415     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_spare1, param);
416     return offset;
417 }
418
419 static int
420 butc_dissect_tc_dumpDesc_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
421 {
422     guint32 param=0;
423     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_spare2, param);
424     return offset;
425 }
426
427 static int
428 butc_dissect_tc_dumpDesc_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
429 {
430     guint32 param=0;
431     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_spare3, param);
432     return offset;
433 }
434
435 static int
436 butc_dissect_tc_dumpDesc_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
437 {
438     guint32 param=0;
439     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_spare4, param);
440     return offset;
441 }
442
443
444 int
445 butc_dissect_tc_dumpDesc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
446 {
447     proto_item *item=NULL;
448     proto_tree *tree=NULL;
449     int old_offset;
450
451     ALIGN_TO_4_BYTES;
452
453     old_offset=offset;
454     if(parent_tree){
455         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
456         tree=proto_item_add_subtree(item, ett_butc_tc_dumpDesc);
457     }
458
459     offset=butc_dissect_tc_dumpDesc_vid(tvb, offset, pinfo, tree, drep);
460
461     offset=butc_dissect_tc_dumpDesc_name(tvb, offset, pinfo, tree, drep);
462
463     offset=butc_dissect_tc_dumpDesc_partition(tvb, offset, pinfo, tree, drep);
464
465     offset=butc_dissect_tc_dumpDesc_date(tvb, offset, pinfo, tree, drep);
466
467     offset=butc_dissect_tc_dumpDesc_cloneDate(tvb, offset, pinfo, tree, drep);
468
469     offset=butc_dissect_tc_dumpDesc_hostAddr(tvb, offset, pinfo, tree, drep);
470
471     offset=butc_dissect_tc_dumpDesc_spare1(tvb, offset, pinfo, tree, drep);
472
473     offset=butc_dissect_tc_dumpDesc_spare2(tvb, offset, pinfo, tree, drep);
474
475     offset=butc_dissect_tc_dumpDesc_spare3(tvb, offset, pinfo, tree, drep);
476
477     offset=butc_dissect_tc_dumpDesc_spare4(tvb, offset, pinfo, tree, drep);
478
479     proto_item_set_len(item, offset-old_offset);
480
481     return offset;
482 }
483 static int
484 butc_dissect_tc_restoreDesc_frag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
485 {
486     guint32 param=0;
487     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_frag, param);
488     return offset;
489 }
490
491 static int
492 butc_dissect_tc_restoreDesc_tapeName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
493 {
494     guint32 param=0;
495     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_tapeName, param);
496     return offset;
497 }
498
499 static int
500 butc_dissect_tc_restoreDesc_position(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
501 {
502     guint32 param=0;
503     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_position, param);
504     return offset;
505 }
506
507 static int
508 butc_dissect_tc_restoreDesc_origVid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
509 {
510     guint32 param=0;
511     offset=butc_dissect_udlong(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_origVid, param);
512     return offset;
513 }
514
515 static int
516 butc_dissect_tc_restoreDesc_vid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
517 {
518     guint32 param=0;
519     offset=butc_dissect_udlong(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_vid, param);
520     return offset;
521 }
522
523 static int
524 butc_dissect_tc_restoreDesc_partition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
525 {
526     guint32 param=0;
527     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_partition, param);
528     return offset;
529 }
530
531 static int
532 butc_dissect_tc_restoreDesc_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
533 {
534     guint32 param=0;
535     offset=butc_dissect_Restore_flags(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_flags, param);
536     return offset;
537 }
538
539 static int
540 butc_dissect_tc_restoreDesc_hostAddr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
541 {
542     guint32 param=0;
543     offset=butc_dissect_afsNetAddr(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_hostAddr, param);
544     return offset;
545 }
546
547 static int
548 butc_dissect_tc_restoreDesc_realDumpId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
549 {
550     guint32 param=0;
551     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_realDumpId, param);
552     return offset;
553 }
554
555 static int
556 butc_dissect_tc_restoreDesc_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
557 {
558     guint32 param=0;
559     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_spare2, param);
560     return offset;
561 }
562
563 static int
564 butc_dissect_tc_restoreDesc_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
565 {
566     guint32 param=0;
567     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_spare3, param);
568     return offset;
569 }
570
571 static int
572 butc_dissect_tc_restoreDesc_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
573 {
574     guint32 param=0;
575     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_spare4, param);
576     return offset;
577 }
578
579 static int
580 butc_dissect_tc_restoreDesc_oldName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
581 {
582     guint32 param=0;
583     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_oldName, param);
584     return offset;
585 }
586
587 static int
588 butc_dissect_tc_restoreDesc_newName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
589 {
590     guint32 param=0;
591     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_newName, param);
592     return offset;
593 }
594
595
596 int
597 butc_dissect_tc_restoreDesc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
598 {
599     proto_item *item=NULL;
600     proto_tree *tree=NULL;
601     int old_offset;
602
603     ALIGN_TO_4_BYTES;
604
605     old_offset=offset;
606     if(parent_tree){
607         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
608         tree=proto_item_add_subtree(item, ett_butc_tc_restoreDesc);
609     }
610
611     offset=butc_dissect_tc_restoreDesc_frag(tvb, offset, pinfo, tree, drep);
612
613     offset=butc_dissect_tc_restoreDesc_tapeName(tvb, offset, pinfo, tree, drep);
614
615     offset=butc_dissect_tc_restoreDesc_position(tvb, offset, pinfo, tree, drep);
616
617     offset=butc_dissect_tc_restoreDesc_origVid(tvb, offset, pinfo, tree, drep);
618
619     offset=butc_dissect_tc_restoreDesc_vid(tvb, offset, pinfo, tree, drep);
620
621     offset=butc_dissect_tc_restoreDesc_partition(tvb, offset, pinfo, tree, drep);
622
623     offset=butc_dissect_tc_restoreDesc_flags(tvb, offset, pinfo, tree, drep);
624
625     offset=butc_dissect_tc_restoreDesc_hostAddr(tvb, offset, pinfo, tree, drep);
626
627     offset=butc_dissect_tc_restoreDesc_realDumpId(tvb, offset, pinfo, tree, drep);
628
629     offset=butc_dissect_tc_restoreDesc_spare2(tvb, offset, pinfo, tree, drep);
630
631     offset=butc_dissect_tc_restoreDesc_spare3(tvb, offset, pinfo, tree, drep);
632
633     offset=butc_dissect_tc_restoreDesc_spare4(tvb, offset, pinfo, tree, drep);
634
635     offset=butc_dissect_tc_restoreDesc_oldName(tvb, offset, pinfo, tree, drep);
636
637     offset=butc_dissect_tc_restoreDesc_newName(tvb, offset, pinfo, tree, drep);
638
639     proto_item_set_len(item, offset-old_offset);
640
641     return offset;
642 }
643 static int
644 butc_dissect_tc_dumpStat_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
645 {
646     guint32 param=0;
647     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_dumpID, param);
648     return offset;
649 }
650
651 static int
652 butc_dissect_tc_dumpStat_bytesDumped(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
653 {
654     guint32 param=0;
655     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_bytesDumped, param);
656     return offset;
657 }
658
659 static int
660 butc_dissect_tc_dumpStat_volumeBeingDumped(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
661 {
662     guint32 param=0;
663     offset=butc_dissect_udlong(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_volumeBeingDumped, param);
664     return offset;
665 }
666
667 static int
668 butc_dissect_tc_dumpStat_numVolErrs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
669 {
670     guint32 param=0;
671     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_numVolErrs, param);
672     return offset;
673 }
674
675 static int
676 butc_dissect_tc_dumpStat_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
677 {
678     guint32 param=0;
679     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_flags, param);
680     return offset;
681 }
682
683 static int
684 butc_dissect_tc_dumpStat_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
685 {
686     guint32 param=0;
687     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_spare1, param);
688     return offset;
689 }
690
691 static int
692 butc_dissect_tc_dumpStat_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
693 {
694     guint32 param=0;
695     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_spare2, param);
696     return offset;
697 }
698
699 static int
700 butc_dissect_tc_dumpStat_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
701 {
702     guint32 param=0;
703     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_spare3, param);
704     return offset;
705 }
706
707 static int
708 butc_dissect_tc_dumpStat_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
709 {
710     guint32 param=0;
711     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_spare4, param);
712     return offset;
713 }
714
715
716 int
717 butc_dissect_tc_dumpStat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
718 {
719     proto_item *item=NULL;
720     proto_tree *tree=NULL;
721     int old_offset;
722
723     ALIGN_TO_4_BYTES;
724
725     old_offset=offset;
726     if(parent_tree){
727         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
728         tree=proto_item_add_subtree(item, ett_butc_tc_dumpStat);
729     }
730
731     offset=butc_dissect_tc_dumpStat_dumpID(tvb, offset, pinfo, tree, drep);
732
733     offset=butc_dissect_tc_dumpStat_bytesDumped(tvb, offset, pinfo, tree, drep);
734
735     offset=butc_dissect_tc_dumpStat_volumeBeingDumped(tvb, offset, pinfo, tree, drep);
736
737     offset=butc_dissect_tc_dumpStat_numVolErrs(tvb, offset, pinfo, tree, drep);
738
739     offset=butc_dissect_tc_dumpStat_flags(tvb, offset, pinfo, tree, drep);
740
741     offset=butc_dissect_tc_dumpStat_spare1(tvb, offset, pinfo, tree, drep);
742
743     offset=butc_dissect_tc_dumpStat_spare2(tvb, offset, pinfo, tree, drep);
744
745     offset=butc_dissect_tc_dumpStat_spare3(tvb, offset, pinfo, tree, drep);
746
747     offset=butc_dissect_tc_dumpStat_spare4(tvb, offset, pinfo, tree, drep);
748
749     proto_item_set_len(item, offset-old_offset);
750
751     return offset;
752 }
753 static int
754 butc_dissect_tc_tapeLabel_size(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
755 {
756     guint32 param=0;
757     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_size, param);
758     return offset;
759 }
760
761 static int
762 butc_dissect_tc_tapeLabel_size_ext(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
763 {
764     guint32 param=0;
765     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_size_ext, param);
766     return offset;
767 }
768
769 static int
770 butc_dissect_tc_tapeLabel_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
771 {
772     guint32 param=0;
773     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_spare1, param);
774     return offset;
775 }
776
777 static int
778 butc_dissect_tc_tapeLabel_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
779 {
780     guint32 param=0;
781     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_spare2, param);
782     return offset;
783 }
784
785 static int
786 butc_dissect_tc_tapeLabel_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
787 {
788     guint32 param=0;
789     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_spare3, param);
790     return offset;
791 }
792
793 static int
794 butc_dissect_tc_tapeLabel_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
795 {
796     guint32 param=0;
797     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_spare4, param);
798     return offset;
799 }
800
801 static int
802 butc_dissect_tc_tapeLabel_nameLen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
803 {
804     guint32 param=0;
805     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_nameLen, param);
806     return offset;
807 }
808
809 static int
810 butc_dissect_tc_tapeLabel_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
811 {
812     guint32 param=0;
813     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_name, param);
814     return offset;
815 }
816
817
818 int
819 butc_dissect_tc_tapeLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
820 {
821     proto_item *item=NULL;
822     proto_tree *tree=NULL;
823     int old_offset;
824
825     ALIGN_TO_4_BYTES;
826
827     old_offset=offset;
828     if(parent_tree){
829         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
830         tree=proto_item_add_subtree(item, ett_butc_tc_tapeLabel);
831     }
832
833     offset=butc_dissect_tc_tapeLabel_size(tvb, offset, pinfo, tree, drep);
834
835     offset=butc_dissect_tc_tapeLabel_size_ext(tvb, offset, pinfo, tree, drep);
836
837     offset=butc_dissect_tc_tapeLabel_spare1(tvb, offset, pinfo, tree, drep);
838
839     offset=butc_dissect_tc_tapeLabel_spare2(tvb, offset, pinfo, tree, drep);
840
841     offset=butc_dissect_tc_tapeLabel_spare3(tvb, offset, pinfo, tree, drep);
842
843     offset=butc_dissect_tc_tapeLabel_spare4(tvb, offset, pinfo, tree, drep);
844
845     offset=butc_dissect_tc_tapeLabel_nameLen(tvb, offset, pinfo, tree, drep);
846
847     offset=butc_dissect_tc_tapeLabel_name(tvb, offset, pinfo, tree, drep);
848
849     proto_item_set_len(item, offset-old_offset);
850
851     return offset;
852 }
853 static int
854 butc_dissect_tc_tapeSet_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
855 {
856     guint32 param=0;
857     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_id, param);
858     return offset;
859 }
860
861 static int
862 butc_dissect_tc_tapeSet_tapeServer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
863 {
864     guint32 param=0;
865     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_tapeServer, param);
866     return offset;
867 }
868
869 static int
870 butc_dissect_tc_tapeSet_format(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
871 {
872     guint32 param=0;
873     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_format, param);
874     return offset;
875 }
876
877 static int
878 butc_dissect_tc_tapeSet_maxTapes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
879 {
880     guint32 param=0;
881     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_maxTapes, param);
882     return offset;
883 }
884
885 static int
886 butc_dissect_tc_tapeSet_a(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
887 {
888     guint32 param=0;
889     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_a, param);
890     return offset;
891 }
892
893 static int
894 butc_dissect_tc_tapeSet_b(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
895 {
896     guint32 param=0;
897     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_b, param);
898     return offset;
899 }
900
901 static int
902 butc_dissect_tc_tapeSet_expDate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
903 {
904     guint32 param=0;
905     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_expDate, param);
906     return offset;
907 }
908
909 static int
910 butc_dissect_tc_tapeSet_expType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
911 {
912     guint32 param=0;
913     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_expType, param);
914     return offset;
915 }
916
917 static int
918 butc_dissect_tc_tapeSet_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
919 {
920     guint32 param=0;
921     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_spare1, param);
922     return offset;
923 }
924
925 static int
926 butc_dissect_tc_tapeSet_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
927 {
928     guint32 param=0;
929     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_spare2, param);
930     return offset;
931 }
932
933 static int
934 butc_dissect_tc_tapeSet_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
935 {
936     guint32 param=0;
937     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_spare3, param);
938     return offset;
939 }
940
941 static int
942 butc_dissect_tc_tapeSet_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
943 {
944     guint32 param=0;
945     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_spare4, param);
946     return offset;
947 }
948
949
950 int
951 butc_dissect_tc_tapeSet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
952 {
953     proto_item *item=NULL;
954     proto_tree *tree=NULL;
955     int old_offset;
956
957     ALIGN_TO_4_BYTES;
958
959     old_offset=offset;
960     if(parent_tree){
961         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
962         tree=proto_item_add_subtree(item, ett_butc_tc_tapeSet);
963     }
964
965     offset=butc_dissect_tc_tapeSet_id(tvb, offset, pinfo, tree, drep);
966
967     offset=butc_dissect_tc_tapeSet_tapeServer(tvb, offset, pinfo, tree, drep);
968
969     offset=butc_dissect_tc_tapeSet_format(tvb, offset, pinfo, tree, drep);
970
971     offset=butc_dissect_tc_tapeSet_maxTapes(tvb, offset, pinfo, tree, drep);
972
973     offset=butc_dissect_tc_tapeSet_a(tvb, offset, pinfo, tree, drep);
974
975     offset=butc_dissect_tc_tapeSet_b(tvb, offset, pinfo, tree, drep);
976
977     offset=butc_dissect_tc_tapeSet_expDate(tvb, offset, pinfo, tree, drep);
978
979     offset=butc_dissect_tc_tapeSet_expType(tvb, offset, pinfo, tree, drep);
980
981     offset=butc_dissect_tc_tapeSet_spare1(tvb, offset, pinfo, tree, drep);
982
983     offset=butc_dissect_tc_tapeSet_spare2(tvb, offset, pinfo, tree, drep);
984
985     offset=butc_dissect_tc_tapeSet_spare3(tvb, offset, pinfo, tree, drep);
986
987     offset=butc_dissect_tc_tapeSet_spare4(tvb, offset, pinfo, tree, drep);
988
989     proto_item_set_len(item, offset-old_offset);
990
991     return offset;
992 }
993 static int
994 butc_dissect_tc_tcInfo_tcVersion(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
995 {
996     guint32 param=0;
997     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_tcVersion, param);
998     return offset;
999 }
1000
1001 static int
1002 butc_dissect_tc_tcInfo_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1003 {
1004     guint32 param=0;
1005     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_spare1, param);
1006     return offset;
1007 }
1008
1009 static int
1010 butc_dissect_tc_tcInfo_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1011 {
1012     guint32 param=0;
1013     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_spare2, param);
1014     return offset;
1015 }
1016
1017 static int
1018 butc_dissect_tc_tcInfo_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1019 {
1020     guint32 param=0;
1021     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_spare3, param);
1022     return offset;
1023 }
1024
1025 static int
1026 butc_dissect_tc_tcInfo_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1027 {
1028     guint32 param=0;
1029     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_spare4, param);
1030     return offset;
1031 }
1032
1033
1034 int
1035 butc_dissect_tc_tcInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
1036 {
1037     proto_item *item=NULL;
1038     proto_tree *tree=NULL;
1039     int old_offset;
1040
1041     ALIGN_TO_4_BYTES;
1042
1043     old_offset=offset;
1044     if(parent_tree){
1045         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1046         tree=proto_item_add_subtree(item, ett_butc_tc_tcInfo);
1047     }
1048
1049     offset=butc_dissect_tc_tcInfo_tcVersion(tvb, offset, pinfo, tree, drep);
1050
1051     offset=butc_dissect_tc_tcInfo_spare1(tvb, offset, pinfo, tree, drep);
1052
1053     offset=butc_dissect_tc_tcInfo_spare2(tvb, offset, pinfo, tree, drep);
1054
1055     offset=butc_dissect_tc_tcInfo_spare3(tvb, offset, pinfo, tree, drep);
1056
1057     offset=butc_dissect_tc_tcInfo_spare4(tvb, offset, pinfo, tree, drep);
1058
1059     proto_item_set_len(item, offset-old_offset);
1060
1061     return offset;
1062 }
1063 static int
1064 butc_dissect_tc_restoreArray_tc_restoreArray_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1065 {
1066     guint32 param=0;
1067     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreArray_tc_restoreArray_len, param);
1068     return offset;
1069 }
1070
1071 static int
1072 butc_dissect_tc_restoreArray_tc_restoreArray_val(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1073 {
1074     guint32 param=0;
1075     offset=butc_dissect_tc_restoreDesc(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreArray_tc_restoreArray_val, param);
1076     return offset;
1077 }
1078
1079 static int
1080 ptr_butc_dissect_tc_restoreArray_tc_restoreArray_val(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1081 {
1082     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_tc_restoreArray_tc_restoreArray_val, NDR_POINTER_PTR, "tc_restoreArray_val", -1);
1083     return offset;
1084 }
1085
1086 static int
1087 ucarray_ptr_butc_dissect_tc_restoreArray_tc_restoreArray_val(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1088 {
1089     offset=dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, ptr_butc_dissect_tc_restoreArray_tc_restoreArray_val);
1090     return offset;
1091 }
1092
1093
1094 int
1095 butc_dissect_tc_restoreArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
1096 {
1097     proto_item *item=NULL;
1098     proto_tree *tree=NULL;
1099     int old_offset;
1100
1101     ALIGN_TO_4_BYTES;
1102
1103     old_offset=offset;
1104     if(parent_tree){
1105         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1106         tree=proto_item_add_subtree(item, ett_butc_tc_restoreArray);
1107     }
1108
1109     offset=butc_dissect_tc_restoreArray_tc_restoreArray_len(tvb, offset, pinfo, tree, drep);
1110
1111     offset=ucarray_ptr_butc_dissect_tc_restoreArray_tc_restoreArray_val(tvb, offset, pinfo, tree, drep);
1112
1113     proto_item_set_len(item, offset-old_offset);
1114
1115     return offset;
1116 }
1117 static int
1118 butc_dissect_tc_dumpArray_tc_dumpArray_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1119 {
1120     guint32 param=0;
1121     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpArray_tc_dumpArray_len, param);
1122     return offset;
1123 }
1124
1125 static int
1126 butc_dissect_tc_dumpArray_tc_dumpArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1127 {
1128     guint32 param=0;
1129     offset=butc_dissect_tc_dumpDesc(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpArray_tc_dumpArray, param);
1130     return offset;
1131 }
1132
1133 static int
1134 ptr_butc_dissect_tc_dumpArray_tc_dumpArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1135 {
1136     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_tc_dumpArray_tc_dumpArray, NDR_POINTER_PTR, "tc_dumpArray", -1);
1137     return offset;
1138 }
1139
1140 static int
1141 ucarray_ptr_butc_dissect_tc_dumpArray_tc_dumpArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1142 {
1143     offset=dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, ptr_butc_dissect_tc_dumpArray_tc_dumpArray);
1144     return offset;
1145 }
1146
1147
1148 int
1149 butc_dissect_tc_dumpArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
1150 {
1151     proto_item *item=NULL;
1152     proto_tree *tree=NULL;
1153     int old_offset;
1154
1155     ALIGN_TO_4_BYTES;
1156
1157     old_offset=offset;
1158     if(parent_tree){
1159         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1160         tree=proto_item_add_subtree(item, ett_butc_tc_dumpArray);
1161     }
1162
1163     offset=butc_dissect_tc_dumpArray_tc_dumpArray_len(tvb, offset, pinfo, tree, drep);
1164
1165     offset=ucarray_ptr_butc_dissect_tc_dumpArray_tc_dumpArray(tvb, offset, pinfo, tree, drep);
1166
1167     proto_item_set_len(item, offset-old_offset);
1168
1169     return offset;
1170 }
1171 static int
1172 butc_dissect_tc_dumpInterface_dumpPath(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1173 {
1174     guint32 param=0;
1175     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_dumpPath, param);
1176     return offset;
1177 }
1178
1179 static int
1180 butc_dissect_tc_dumpInterface_volumeSetName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1181 {
1182     guint32 param=0;
1183     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_volumeSetName, param);
1184     return offset;
1185 }
1186
1187 static int
1188 butc_dissect_tc_dumpInterface_dumpName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1189 {
1190     guint32 param=0;
1191     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_dumpName, param);
1192     return offset;
1193 }
1194
1195 static int
1196 butc_dissect_tc_dumpInterface_tapeSet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1197 {
1198     guint32 param=0;
1199     offset=butc_dissect_tc_tapeSet(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_tapeSet, param);
1200     return offset;
1201 }
1202
1203 static int
1204 butc_dissect_tc_dumpInterface_parentDumpId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1205 {
1206     guint32 param=0;
1207     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_parentDumpId, param);
1208     return offset;
1209 }
1210
1211 static int
1212 butc_dissect_tc_dumpInterface_dumpLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1213 {
1214     guint32 param=0;
1215     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_dumpLevel, param);
1216     return offset;
1217 }
1218
1219 static int
1220 butc_dissect_tc_dumpInterface_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1221 {
1222     guint32 param=0;
1223     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_spare1, param);
1224     return offset;
1225 }
1226
1227 static int
1228 butc_dissect_tc_dumpInterface_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1229 {
1230     guint32 param=0;
1231     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_spare2, param);
1232     return offset;
1233 }
1234
1235 static int
1236 butc_dissect_tc_dumpInterface_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1237 {
1238     guint32 param=0;
1239     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_spare3, param);
1240     return offset;
1241 }
1242
1243 static int
1244 butc_dissect_tc_dumpInterface_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1245 {
1246     guint32 param=0;
1247     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_spare4, param);
1248     return offset;
1249 }
1250
1251
1252 int
1253 butc_dissect_tc_dumpInterface(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
1254 {
1255     proto_item *item=NULL;
1256     proto_tree *tree=NULL;
1257     int old_offset;
1258
1259     ALIGN_TO_4_BYTES;
1260
1261     old_offset=offset;
1262     if(parent_tree){
1263         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1264         tree=proto_item_add_subtree(item, ett_butc_tc_dumpInterface);
1265     }
1266
1267     offset=butc_dissect_tc_dumpInterface_dumpPath(tvb, offset, pinfo, tree, drep);
1268
1269     offset=butc_dissect_tc_dumpInterface_volumeSetName(tvb, offset, pinfo, tree, drep);
1270
1271     offset=butc_dissect_tc_dumpInterface_dumpName(tvb, offset, pinfo, tree, drep);
1272
1273     offset=butc_dissect_tc_dumpInterface_tapeSet(tvb, offset, pinfo, tree, drep);
1274
1275     offset=butc_dissect_tc_dumpInterface_parentDumpId(tvb, offset, pinfo, tree, drep);
1276
1277     offset=butc_dissect_tc_dumpInterface_dumpLevel(tvb, offset, pinfo, tree, drep);
1278
1279     offset=butc_dissect_tc_dumpInterface_spare1(tvb, offset, pinfo, tree, drep);
1280
1281     offset=butc_dissect_tc_dumpInterface_spare2(tvb, offset, pinfo, tree, drep);
1282
1283     offset=butc_dissect_tc_dumpInterface_spare3(tvb, offset, pinfo, tree, drep);
1284
1285     offset=butc_dissect_tc_dumpInterface_spare4(tvb, offset, pinfo, tree, drep);
1286
1287     proto_item_set_len(item, offset-old_offset);
1288
1289     return offset;
1290 }
1291 static int
1292 butc_dissect_tc_statusInfoSwitchVol_nKBytes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1293 {
1294     guint32 param=0;
1295     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchVol_nKBytes, param);
1296     return offset;
1297 }
1298
1299 static int
1300 butc_dissect_tc_statusInfoSwitchVol_volumeName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1301 {
1302     guint32 param=0;
1303     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchVol_volumeName, param);
1304     return offset;
1305 }
1306
1307 static int
1308 butc_dissect_tc_statusInfoSwitchVol_volsFailed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1309 {
1310     guint32 param=0;
1311     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchVol_volsFailed, param);
1312     return offset;
1313 }
1314
1315 static int
1316 butc_dissect_tc_statusInfoSwitchVol_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1317 {
1318     guint32 param=0;
1319     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchVol_spare1, param);
1320     return offset;
1321 }
1322
1323
1324 int
1325 butc_dissect_tc_statusInfoSwitchVol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
1326 {
1327     proto_item *item=NULL;
1328     proto_tree *tree=NULL;
1329     int old_offset;
1330
1331     ALIGN_TO_4_BYTES;
1332
1333     old_offset=offset;
1334     if(parent_tree){
1335         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1336         tree=proto_item_add_subtree(item, ett_butc_tc_statusInfoSwitchVol);
1337     }
1338
1339     offset=butc_dissect_tc_statusInfoSwitchVol_nKBytes(tvb, offset, pinfo, tree, drep);
1340
1341     offset=butc_dissect_tc_statusInfoSwitchVol_volumeName(tvb, offset, pinfo, tree, drep);
1342
1343     offset=butc_dissect_tc_statusInfoSwitchVol_volsFailed(tvb, offset, pinfo, tree, drep);
1344
1345     offset=butc_dissect_tc_statusInfoSwitchVol_spare1(tvb, offset, pinfo, tree, drep);
1346
1347     proto_item_set_len(item, offset-old_offset);
1348
1349     return offset;
1350 }
1351 static int
1352 butc_dissect_tc_statusInfoSwitchLabel_tapeLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1353 {
1354     guint32 param=0;
1355     offset=butc_dissect_tc_tapeLabel(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchLabel_tapeLabel, param);
1356     return offset;
1357 }
1358
1359 static int
1360 butc_dissect_tc_statusInfoSwitchLabel_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1361 {
1362     guint32 param=0;
1363     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchLabel_spare1, param);
1364     return offset;
1365 }
1366
1367
1368 int
1369 butc_dissect_tc_statusInfoSwitchLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
1370 {
1371     proto_item *item=NULL;
1372     proto_tree *tree=NULL;
1373     int old_offset;
1374
1375     ALIGN_TO_4_BYTES;
1376
1377     old_offset=offset;
1378     if(parent_tree){
1379         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1380         tree=proto_item_add_subtree(item, ett_butc_tc_statusInfoSwitchLabel);
1381     }
1382
1383     offset=butc_dissect_tc_statusInfoSwitchLabel_tapeLabel(tvb, offset, pinfo, tree, drep);
1384
1385     offset=butc_dissect_tc_statusInfoSwitchLabel_spare1(tvb, offset, pinfo, tree, drep);
1386
1387     proto_item_set_len(item, offset-old_offset);
1388
1389     return offset;
1390 }
1391 static int
1392 butc_dissect_union_tc_statusInfoSwitch_TCOP_NONE_none(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1393 {
1394     guint32 param=0;
1395     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_NONE_none, param);
1396     return offset;
1397 }
1398
1399 static int
1400 butc_dissect_union_tc_statusInfoSwitch_TCOP_DUMP_vol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1401 {
1402     guint32 param=0;
1403     offset=butc_dissect_tc_statusInfoSwitchVol(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_DUMP_vol, param);
1404     return offset;
1405 }
1406
1407 static int
1408 butc_dissect_union_tc_statusInfoSwitch_TCOP_RESTORE_vol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1409 {
1410     guint32 param=0;
1411     offset=butc_dissect_tc_statusInfoSwitchVol(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_RESTORE_vol, param);
1412     return offset;
1413 }
1414
1415 static int
1416 butc_dissect_union_tc_statusInfoSwitch_TCOP_LABELTAPE_label(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1417 {
1418     guint32 param=0;
1419     offset=butc_dissect_tc_statusInfoSwitchLabel(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_LABELTAPE_label, param);
1420     return offset;
1421 }
1422
1423 static int
1424 butc_dissect_union_tc_statusInfoSwitch_TCOP_READLABEL_label(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1425 {
1426     guint32 param=0;
1427     offset=butc_dissect_tc_statusInfoSwitchLabel(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_READLABEL_label, param);
1428     return offset;
1429 }
1430
1431 static int
1432 butc_dissect_union_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1433 {
1434     guint32 param=0;
1435     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1, param);
1436     return offset;
1437 }
1438
1439 static int
1440 butc_dissect_union_tc_statusInfoSwitch_TCOP_STATUS_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1441 {
1442     guint32 param=0;
1443     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_STATUS_spare2, param);
1444     return offset;
1445 }
1446
1447 static int
1448 butc_dissect_union_tc_statusInfoSwitch_TCOP_SAVEDB_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1449 {
1450     guint32 param=0;
1451     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_SAVEDB_spare3, param);
1452     return offset;
1453 }
1454
1455 static int
1456 butc_dissect_union_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1457 {
1458     guint32 param=0;
1459     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4, param);
1460     return offset;
1461 }
1462
1463 static int
1464 butc_dissect_union_tc_statusInfoSwitch_TCOP_SPARE_spare5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1465 {
1466     guint32 param=0;
1467     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_SPARE_spare5, param);
1468     return offset;
1469 }
1470
1471
1472 static int
1473 butc_dissect_union_tc_statusInfoSwitch(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
1474 {
1475     proto_item *item=NULL;
1476     proto_tree *tree=NULL;
1477     int old_offset;
1478     guint32 level;
1479
1480     ALIGN_TO_4_BYTES;
1481
1482     old_offset=offset;
1483     if(parent_tree){
1484         item=proto_tree_add_text(parent_tree, tvb, offset, -1, "tc_statusInfoSwitch");
1485         tree=proto_item_add_subtree(item, ett_butc_tc_statusInfoSwitch);
1486     }
1487
1488     offset=dissect_ndr_uint32(tvb, offset, pinfo, tree,
1489                               drep, hf_index, &level);
1490
1491     switch(level){
1492     case TCOP_NONE:
1493         ALIGN_TO_4_BYTES;
1494         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_NONE_none(tvb, offset, pinfo, tree, drep);
1495         break;
1496
1497     case TCOP_DUMP:
1498         ALIGN_TO_4_BYTES;
1499         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_DUMP_vol(tvb, offset, pinfo, tree, drep);
1500         break;
1501
1502     case TCOP_RESTORE:
1503         ALIGN_TO_4_BYTES;
1504         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_RESTORE_vol(tvb, offset, pinfo, tree, drep);
1505         break;
1506
1507     case TCOP_LABELTAPE:
1508         ALIGN_TO_4_BYTES;
1509         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_LABELTAPE_label(tvb, offset, pinfo, tree, drep);
1510         break;
1511
1512     case TCOP_READLABEL:
1513         ALIGN_TO_4_BYTES;
1514         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_READLABEL_label(tvb, offset, pinfo, tree, drep);
1515         break;
1516
1517     case TCOP_SCANTAPE:
1518         ALIGN_TO_4_BYTES;
1519         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1(tvb, offset, pinfo, tree, drep);
1520         break;
1521
1522     case TCOP_STATUS:
1523         ALIGN_TO_4_BYTES;
1524         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_STATUS_spare2(tvb, offset, pinfo, tree, drep);
1525         break;
1526
1527     case TCOP_SAVEDB:
1528         ALIGN_TO_4_BYTES;
1529         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_SAVEDB_spare3(tvb, offset, pinfo, tree, drep);
1530         break;
1531
1532     case TCOP_RESTOREDB:
1533         ALIGN_TO_4_BYTES;
1534         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4(tvb, offset, pinfo, tree, drep);
1535         break;
1536
1537     case TCOP_SPARE:
1538         ALIGN_TO_4_BYTES;
1539         offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_SPARE_spare5(tvb, offset, pinfo, tree, drep);
1540         break;
1541
1542     }
1543
1544     proto_item_set_len(item, offset-old_offset);
1545
1546    return offset;
1547 }
1548 static int
1549 butc_dissect_tciStatusS_taskName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1550 {
1551     guint32 param=0;
1552     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_taskName, param);
1553     return offset;
1554 }
1555
1556 static int
1557 butc_dissect_tciStatusS_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1558 {
1559     guint32 param=0;
1560     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_flags, param);
1561     return offset;
1562 }
1563
1564 static int
1565 butc_dissect_tciStatusS_lastPolled(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1566 {
1567     guint32 param=0;
1568     offset=butc_dissect_time_t(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_lastPolled, param);
1569     return offset;
1570 }
1571
1572 static int
1573 butc_dissect_tciStatusS_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1574 {
1575     guint32 param=0;
1576     offset=butc_dissect_union_tc_statusInfoSwitch(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_info, param);
1577     return offset;
1578 }
1579
1580 static int
1581 butc_dissect_tciStatusS_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1582 {
1583     guint32 param=0;
1584     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_taskId, param);
1585     return offset;
1586 }
1587
1588 static int
1589 butc_dissect_tciStatusS_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1590 {
1591     guint32 param=0;
1592     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_spare2, param);
1593     return offset;
1594 }
1595
1596 static int
1597 butc_dissect_tciStatusS_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1598 {
1599     guint32 param=0;
1600     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_spare3, param);
1601     return offset;
1602 }
1603
1604 static int
1605 butc_dissect_tciStatusS_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1606 {
1607     guint32 param=0;
1608     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_spare4, param);
1609     return offset;
1610 }
1611
1612
1613 int
1614 butc_dissect_tciStatusS(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
1615 {
1616     proto_item *item=NULL;
1617     proto_tree *tree=NULL;
1618     int old_offset;
1619
1620     ALIGN_TO_4_BYTES;
1621
1622     old_offset=offset;
1623     if(parent_tree){
1624         item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
1625         tree=proto_item_add_subtree(item, ett_butc_tciStatusS);
1626     }
1627
1628     offset=butc_dissect_tciStatusS_taskName(tvb, offset, pinfo, tree, drep);
1629
1630     offset=butc_dissect_tciStatusS_flags(tvb, offset, pinfo, tree, drep);
1631
1632     offset=butc_dissect_tciStatusS_lastPolled(tvb, offset, pinfo, tree, drep);
1633
1634     offset=butc_dissect_tciStatusS_info(tvb, offset, pinfo, tree, drep);
1635
1636     offset=butc_dissect_tciStatusS_taskId(tvb, offset, pinfo, tree, drep);
1637
1638     offset=butc_dissect_tciStatusS_spare2(tvb, offset, pinfo, tree, drep);
1639
1640     offset=butc_dissect_tciStatusS_spare3(tvb, offset, pinfo, tree, drep);
1641
1642     offset=butc_dissect_tciStatusS_spare4(tvb, offset, pinfo, tree, drep);
1643
1644     proto_item_set_len(item, offset-old_offset);
1645
1646     return offset;
1647 }
1648 static int
1649 butc_dissect_BUTC_PerformDump_tcdiPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1650 {
1651     guint32 param=0;
1652     offset=butc_dissect_tc_dumpInterface(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformDump_tcdiPtr, param);
1653     return offset;
1654 }
1655
1656 static int
1657 ref_butc_dissect_BUTC_PerformDump_tcdiPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1658 {
1659     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformDump_tcdiPtr, NDR_POINTER_REF, "tcdiPtr", -1);
1660     return offset;
1661 }
1662
1663 static int
1664 butc_dissect_BUTC_PerformDump_dumps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1665 {
1666     guint32 param=0;
1667     offset=butc_dissect_tc_dumpArray(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformDump_dumps, param);
1668     return offset;
1669 }
1670
1671 static int
1672 ref_butc_dissect_BUTC_PerformDump_dumps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1673 {
1674     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformDump_dumps, NDR_POINTER_REF, "dumps", -1);
1675     return offset;
1676 }
1677
1678 static int
1679 butc_dissect_BUTC_PerformDump_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1680 {
1681     guint32 param=0;
1682     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformDump_dumpID, param);
1683     return offset;
1684 }
1685
1686 static int
1687 ref_butc_dissect_BUTC_PerformDump_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1688 {
1689     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformDump_dumpID, NDR_POINTER_REF, "dumpID", -1);
1690     return offset;
1691 }
1692
1693
1694 static int
1695 butc_dissect_BUTC_PerformDump_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1696 {
1697         offset=ref_butc_dissect_BUTC_PerformDump_tcdiPtr(tvb, offset, pinfo, tree, drep);
1698
1699         offset=ref_butc_dissect_BUTC_PerformDump_dumps(tvb, offset, pinfo, tree, drep);
1700
1701
1702    return offset;
1703 }
1704
1705 static int
1706 butc_dissect_BUTC_PerformDump_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1707 {
1708         offset=ref_butc_dissect_BUTC_PerformDump_dumpID(tvb, offset, pinfo, tree, drep);
1709
1710    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
1711
1712
1713    return offset;
1714 }
1715 static int
1716 butc_dissect_BUTC_PerformRestore_dumpSetName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1717 {
1718     guint32 param=0;
1719     offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformRestore_dumpSetName, param);
1720     return offset;
1721 }
1722
1723 static int
1724 ptr_butc_dissect_BUTC_PerformRestore_dumpSetName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1725 {
1726     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformRestore_dumpSetName, NDR_POINTER_PTR, "dumpSetName", -1);
1727     return offset;
1728 }
1729
1730 static int
1731 butc_dissect_BUTC_PerformRestore_restores(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1732 {
1733     guint32 param=0;
1734     offset=butc_dissect_tc_restoreArray(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformRestore_restores, param);
1735     return offset;
1736 }
1737
1738 static int
1739 ref_butc_dissect_BUTC_PerformRestore_restores(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1740 {
1741     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformRestore_restores, NDR_POINTER_REF, "restores", -1);
1742     return offset;
1743 }
1744
1745 static int
1746 butc_dissect_BUTC_PerformRestore_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1747 {
1748     guint32 param=0;
1749     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformRestore_dumpID, param);
1750     return offset;
1751 }
1752
1753 static int
1754 ref_butc_dissect_BUTC_PerformRestore_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1755 {
1756     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformRestore_dumpID, NDR_POINTER_REF, "dumpID", -1);
1757     return offset;
1758 }
1759
1760
1761 static int
1762 butc_dissect_BUTC_PerformRestore_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1763 {
1764         offset=ptr_butc_dissect_BUTC_PerformRestore_dumpSetName(tvb, offset, pinfo, tree, drep);
1765
1766         offset=ref_butc_dissect_BUTC_PerformRestore_restores(tvb, offset, pinfo, tree, drep);
1767
1768
1769    return offset;
1770 }
1771
1772 static int
1773 butc_dissect_BUTC_PerformRestore_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1774 {
1775         offset=ref_butc_dissect_BUTC_PerformRestore_dumpID(tvb, offset, pinfo, tree, drep);
1776
1777    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
1778
1779
1780    return offset;
1781 }
1782 static int
1783 butc_dissect_BUTC_AbortDump_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1784 {
1785     guint32 param=0;
1786     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_AbortDump_dumpID, param);
1787     return offset;
1788 }
1789
1790
1791 static int
1792 butc_dissect_BUTC_AbortDump_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1793 {
1794         offset=butc_dissect_BUTC_AbortDump_dumpID(tvb, offset, pinfo, tree, drep);
1795
1796
1797    return offset;
1798 }
1799
1800 static int
1801 butc_dissect_BUTC_AbortDump_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1802 {
1803    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
1804
1805
1806    return offset;
1807 }
1808 static int
1809 butc_dissect_BUTC_LabelTape_label(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1810 {
1811     guint32 param=0;
1812     offset=butc_dissect_tc_tapeLabel(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_LabelTape_label, param);
1813     return offset;
1814 }
1815
1816 static int
1817 ref_butc_dissect_BUTC_LabelTape_label(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1818 {
1819     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_LabelTape_label, NDR_POINTER_REF, "label", -1);
1820     return offset;
1821 }
1822
1823 static int
1824 butc_dissect_BUTC_LabelTape_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1825 {
1826     guint32 param=0;
1827     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_LabelTape_taskId, param);
1828     return offset;
1829 }
1830
1831 static int
1832 ref_butc_dissect_BUTC_LabelTape_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1833 {
1834     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_LabelTape_taskId, NDR_POINTER_REF, "taskId", -1);
1835     return offset;
1836 }
1837
1838
1839 static int
1840 butc_dissect_BUTC_LabelTape_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1841 {
1842         offset=ref_butc_dissect_BUTC_LabelTape_label(tvb, offset, pinfo, tree, drep);
1843
1844
1845    return offset;
1846 }
1847
1848 static int
1849 butc_dissect_BUTC_LabelTape_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1850 {
1851         offset=ref_butc_dissect_BUTC_LabelTape_taskId(tvb, offset, pinfo, tree, drep);
1852
1853    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
1854
1855
1856    return offset;
1857 }
1858 static int
1859 butc_dissect_BUTC_ReadLabel_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1860 {
1861     guint32 param=0;
1862     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ReadLabel_taskId, param);
1863     return offset;
1864 }
1865
1866 static int
1867 ref_butc_dissect_BUTC_ReadLabel_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1868 {
1869     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ReadLabel_taskId, NDR_POINTER_REF, "taskId", -1);
1870     return offset;
1871 }
1872
1873
1874 static int
1875 butc_dissect_BUTC_ReadLabel_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1876 {
1877
1878    return offset;
1879 }
1880
1881 static int
1882 butc_dissect_BUTC_ReadLabel_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1883 {
1884         offset=ref_butc_dissect_BUTC_ReadLabel_taskId(tvb, offset, pinfo, tree, drep);
1885
1886    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
1887
1888
1889    return offset;
1890 }
1891 static int
1892 butc_dissect_BUTC_ScanDumps_addDbFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1893 {
1894     guint32 param=0;
1895     offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanDumps_addDbFlag, param);
1896     return offset;
1897 }
1898
1899 static int
1900 butc_dissect_BUTC_ScanDumps_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1901 {
1902     guint32 param=0;
1903     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanDumps_taskId, param);
1904     return offset;
1905 }
1906
1907 static int
1908 ref_butc_dissect_BUTC_ScanDumps_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1909 {
1910     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ScanDumps_taskId, NDR_POINTER_REF, "taskId", -1);
1911     return offset;
1912 }
1913
1914
1915 static int
1916 butc_dissect_BUTC_ScanDumps_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1917 {
1918         offset=butc_dissect_BUTC_ScanDumps_addDbFlag(tvb, offset, pinfo, tree, drep);
1919
1920
1921    return offset;
1922 }
1923
1924 static int
1925 butc_dissect_BUTC_ScanDumps_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1926 {
1927         offset=ref_butc_dissect_BUTC_ScanDumps_taskId(tvb, offset, pinfo, tree, drep);
1928
1929    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
1930
1931
1932    return offset;
1933 }
1934 static int
1935 butc_dissect_BUTC_TCInfo_tciptr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1936 {
1937     guint32 param=0;
1938     offset=butc_dissect_tc_tcInfo(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_TCInfo_tciptr, param);
1939     return offset;
1940 }
1941
1942 static int
1943 ref_butc_dissect_BUTC_TCInfo_tciptr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1944 {
1945     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_TCInfo_tciptr, NDR_POINTER_REF, "tciptr", -1);
1946     return offset;
1947 }
1948
1949
1950 static int
1951 butc_dissect_BUTC_TCInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1952 {
1953
1954    return offset;
1955 }
1956
1957 static int
1958 butc_dissect_BUTC_TCInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1959 {
1960         offset=ref_butc_dissect_BUTC_TCInfo_tciptr(tvb, offset, pinfo, tree, drep);
1961
1962    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
1963
1964
1965    return offset;
1966 }
1967 static int
1968 butc_dissect_BUTC_SaveDb_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1969 {
1970     guint32 param=0;
1971     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_SaveDb_taskId, param);
1972     return offset;
1973 }
1974
1975 static int
1976 ref_butc_dissect_BUTC_SaveDb_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
1977 {
1978     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_SaveDb_taskId, NDR_POINTER_REF, "taskId", -1);
1979     return offset;
1980 }
1981
1982
1983 static int
1984 butc_dissect_BUTC_SaveDb_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1985 {
1986
1987    return offset;
1988 }
1989
1990 static int
1991 butc_dissect_BUTC_SaveDb_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
1992 {
1993         offset=ref_butc_dissect_BUTC_SaveDb_taskId(tvb, offset, pinfo, tree, drep);
1994
1995    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
1996
1997
1998    return offset;
1999 }
2000 static int
2001 butc_dissect_BUTC_RestoreDb_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2002 {
2003     guint32 param=0;
2004     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_RestoreDb_taskId, param);
2005     return offset;
2006 }
2007
2008 static int
2009 ref_butc_dissect_BUTC_RestoreDb_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2010 {
2011     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_RestoreDb_taskId, NDR_POINTER_REF, "taskId", -1);
2012     return offset;
2013 }
2014
2015
2016 static int
2017 butc_dissect_BUTC_RestoreDb_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2018 {
2019
2020    return offset;
2021 }
2022
2023 static int
2024 butc_dissect_BUTC_RestoreDb_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2025 {
2026         offset=ref_butc_dissect_BUTC_RestoreDb_taskId(tvb, offset, pinfo, tree, drep);
2027
2028    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
2029
2030
2031    return offset;
2032 }
2033 static int
2034 butc_dissect_BUTC_EndStatus_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2035 {
2036     guint32 param=0;
2037     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_EndStatus_taskId, param);
2038     return offset;
2039 }
2040
2041
2042 static int
2043 butc_dissect_BUTC_EndStatus_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2044 {
2045         offset=butc_dissect_BUTC_EndStatus_taskId(tvb, offset, pinfo, tree, drep);
2046
2047
2048    return offset;
2049 }
2050
2051 static int
2052 butc_dissect_BUTC_EndStatus_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2053 {
2054    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
2055
2056
2057    return offset;
2058 }
2059 static int
2060 butc_dissect_BUTC_GetStatus_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2061 {
2062     guint32 param=0;
2063     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_GetStatus_taskId, param);
2064     return offset;
2065 }
2066
2067 static int
2068 butc_dissect_BUTC_GetStatus_statusPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2069 {
2070     guint32 param=0;
2071     offset=butc_dissect_tciStatusS(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_GetStatus_statusPtr, param);
2072     return offset;
2073 }
2074
2075 static int
2076 ref_butc_dissect_BUTC_GetStatus_statusPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2077 {
2078     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_GetStatus_statusPtr, NDR_POINTER_REF, "statusPtr", -1);
2079     return offset;
2080 }
2081
2082
2083 static int
2084 butc_dissect_BUTC_GetStatus_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2085 {
2086         offset=butc_dissect_BUTC_GetStatus_taskId(tvb, offset, pinfo, tree, drep);
2087
2088
2089    return offset;
2090 }
2091
2092 static int
2093 butc_dissect_BUTC_GetStatus_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2094 {
2095         offset=ref_butc_dissect_BUTC_GetStatus_statusPtr(tvb, offset, pinfo, tree, drep);
2096
2097    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
2098
2099
2100    return offset;
2101 }
2102 static int
2103 butc_dissect_BUTC_RequestAbort_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2104 {
2105     guint32 param=0;
2106     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_RequestAbort_taskId, param);
2107     return offset;
2108 }
2109
2110
2111 static int
2112 butc_dissect_BUTC_RequestAbort_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2113 {
2114         offset=butc_dissect_BUTC_RequestAbort_taskId(tvb, offset, pinfo, tree, drep);
2115
2116
2117    return offset;
2118 }
2119
2120 static int
2121 butc_dissect_BUTC_RequestAbort_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2122 {
2123    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
2124
2125
2126    return offset;
2127 }
2128 static int
2129 butc_dissect_BUTC_ScanStatus_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2130 {
2131     guint32 param=0;
2132     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanStatus_taskId, param);
2133     return offset;
2134 }
2135
2136 static int
2137 ref_butc_dissect_BUTC_ScanStatus_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2138 {
2139     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ScanStatus_taskId, NDR_POINTER_REF, "taskId", -1);
2140     return offset;
2141 }
2142
2143 static int
2144 butc_dissect_BUTC_ScanStatus_statusPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2145 {
2146     guint32 param=0;
2147     offset=butc_dissect_tciStatusS(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanStatus_statusPtr, param);
2148     return offset;
2149 }
2150
2151 static int
2152 ref_butc_dissect_BUTC_ScanStatus_statusPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2153 {
2154     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ScanStatus_statusPtr, NDR_POINTER_REF, "statusPtr", -1);
2155     return offset;
2156 }
2157
2158 static int
2159 butc_dissect_BUTC_ScanStatus_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2160 {
2161     guint32 param=0;
2162     offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanStatus_flags, param);
2163     return offset;
2164 }
2165
2166 static int
2167 ref_butc_dissect_BUTC_ScanStatus_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
2168 {
2169     offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ScanStatus_flags, NDR_POINTER_REF, "flags", -1);
2170     return offset;
2171 }
2172
2173
2174 static int
2175 butc_dissect_BUTC_ScanStatus_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2176 {
2177         offset=ref_butc_dissect_BUTC_ScanStatus_taskId(tvb, offset, pinfo, tree, drep);
2178
2179         offset=ref_butc_dissect_BUTC_ScanStatus_flags(tvb, offset, pinfo, tree, drep);
2180
2181
2182    return offset;
2183 }
2184
2185 static int
2186 butc_dissect_BUTC_ScanStatus_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2187 {
2188         offset=ref_butc_dissect_BUTC_ScanStatus_taskId(tvb, offset, pinfo, tree, drep);
2189
2190         offset=ref_butc_dissect_BUTC_ScanStatus_statusPtr(tvb, offset, pinfo, tree, drep);
2191
2192         offset=ref_butc_dissect_BUTC_ScanStatus_flags(tvb, offset, pinfo, tree, drep);
2193
2194    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
2195
2196
2197    return offset;
2198 }
2199
2200 static int
2201 butc_dissect_BUTC_GetServerInterfaces_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2202 {
2203
2204    return offset;
2205 }
2206
2207 static int
2208 butc_dissect_BUTC_GetServerInterfaces_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
2209 {
2210    offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
2211
2212
2213    return offset;
2214 }
2215 /* END OF INCLUDED FILE : ETH_CODE */
2216
2217
2218
2219 void
2220 proto_register_butc(void)
2221 {
2222         static hf_register_info hf[] = {
2223
2224
2225
2226 /* INCLUDED FILE : ETH_HFARR */
2227         { &hf_butc_opnum,
2228           { "Operation", "butc.opnum", FT_UINT16, BASE_DEC,
2229           NULL, 0,
2230          "", HFILL }},
2231
2232         { &hf_butc_rc,
2233           { "Return code", "butc.rc", FT_UINT32, BASE_HEX,
2234           VALS(NT_errors), 0,
2235          "", HFILL }},
2236
2237         { &hf_butc_Restore_flags_TC_RESTORE_CREATE,
2238           { "TC_RESTORE_CREATE", "butc.Restore_flags.TC_RESTORE_CREATE", FT_BOOLEAN, 32,
2239           TFS(&TC_RESTORE_CREATE_tfs), 0x00000001,
2240          "", HFILL }},
2241
2242         { &hf_butc_Restore_flags_TC_RESTORE_INCR,
2243           { "TC_RESTORE_INCR", "butc.Restore_flags.TC_RESTORE_INCR", FT_BOOLEAN, 32,
2244           TFS(&TC_RESTORE_INCR_tfs), 0x00000002,
2245          "", HFILL }},
2246
2247         { &hf_butc_afsNetAddr_type,
2248           { "type", "butc.afsNetAddr.type", FT_UINT16, BASE_DEC,
2249           NULL, 0,
2250          "", HFILL }},
2251
2252         { &hf_butc_afsNetAddr_data,
2253           { "data", "butc.afsNetAddr.data", FT_UINT8, BASE_DEC,
2254           NULL, 0,
2255          "", HFILL }},
2256
2257         { &hf_butc_tc_dumpDesc_vid,
2258           { "vid", "butc.tc_dumpDesc.vid", FT_UINT64, BASE_DEC,
2259           NULL, 0,
2260          "", HFILL }},
2261
2262         { &hf_butc_tc_dumpDesc_name,
2263           { "name", "butc.tc_dumpDesc.name", FT_STRING, BASE_NONE,
2264           NULL, 0,
2265          "", HFILL }},
2266
2267         { &hf_butc_tc_dumpDesc_partition,
2268           { "partition", "butc.tc_dumpDesc.partition", FT_INT32, BASE_DEC,
2269           NULL, 0,
2270          "", HFILL }},
2271
2272         { &hf_butc_tc_dumpDesc_date,
2273           { "date", "butc.tc_dumpDesc.date", FT_ABSOLUTE_TIME, BASE_DEC,
2274           NULL, 0,
2275          "", HFILL }},
2276
2277         { &hf_butc_tc_dumpDesc_cloneDate,
2278           { "cloneDate", "butc.tc_dumpDesc.cloneDate", FT_ABSOLUTE_TIME, BASE_DEC,
2279           NULL, 0,
2280          "", HFILL }},
2281
2282         { &hf_butc_tc_dumpDesc_hostAddr,
2283           { "hostAddr", "butc.tc_dumpDesc.hostAddr", FT_NONE, BASE_NONE,
2284           NULL, 0,
2285          "", HFILL }},
2286
2287         { &hf_butc_tc_dumpDesc_spare1,
2288           { "spare1", "butc.tc_dumpDesc.spare1", FT_UINT32, BASE_DEC,
2289           NULL, 0,
2290          "", HFILL }},
2291
2292         { &hf_butc_tc_dumpDesc_spare2,
2293           { "spare2", "butc.tc_dumpDesc.spare2", FT_UINT32, BASE_DEC,
2294           NULL, 0,
2295          "", HFILL }},
2296
2297         { &hf_butc_tc_dumpDesc_spare3,
2298           { "spare3", "butc.tc_dumpDesc.spare3", FT_UINT32, BASE_DEC,
2299           NULL, 0,
2300          "", HFILL }},
2301
2302         { &hf_butc_tc_dumpDesc_spare4,
2303           { "spare4", "butc.tc_dumpDesc.spare4", FT_UINT32, BASE_DEC,
2304           NULL, 0,
2305          "", HFILL }},
2306
2307         { &hf_butc_tc_restoreDesc_frag,
2308           { "frag", "butc.tc_restoreDesc.frag", FT_INT32, BASE_DEC,
2309           NULL, 0,
2310          "", HFILL }},
2311
2312         { &hf_butc_tc_restoreDesc_tapeName,
2313           { "tapeName", "butc.tc_restoreDesc.tapeName", FT_STRING, BASE_NONE,
2314           NULL, 0,
2315          "", HFILL }},
2316
2317         { &hf_butc_tc_restoreDesc_position,
2318           { "position", "butc.tc_restoreDesc.position", FT_INT32, BASE_DEC,
2319           NULL, 0,
2320          "", HFILL }},
2321
2322         { &hf_butc_tc_restoreDesc_origVid,
2323           { "origVid", "butc.tc_restoreDesc.origVid", FT_UINT64, BASE_DEC,
2324           NULL, 0,
2325          "", HFILL }},
2326
2327         { &hf_butc_tc_restoreDesc_vid,
2328           { "vid", "butc.tc_restoreDesc.vid", FT_UINT64, BASE_DEC,
2329           NULL, 0,
2330          "", HFILL }},
2331
2332         { &hf_butc_tc_restoreDesc_partition,
2333           { "partition", "butc.tc_restoreDesc.partition", FT_INT32, BASE_DEC,
2334           NULL, 0,
2335          "", HFILL }},
2336
2337         { &hf_butc_tc_restoreDesc_flags,
2338           { "flags", "butc.tc_restoreDesc.flags", FT_UINT32, BASE_HEX,
2339           NULL, 0,
2340          "", HFILL }},
2341
2342         { &hf_butc_tc_restoreDesc_hostAddr,
2343           { "hostAddr", "butc.tc_restoreDesc.hostAddr", FT_NONE, BASE_NONE,
2344           NULL, 0,
2345          "", HFILL }},
2346
2347         { &hf_butc_tc_restoreDesc_realDumpId,
2348           { "realDumpId", "butc.tc_restoreDesc.realDumpId", FT_UINT32, BASE_DEC,
2349           NULL, 0,
2350          "", HFILL }},
2351
2352         { &hf_butc_tc_restoreDesc_spare2,
2353           { "spare2", "butc.tc_restoreDesc.spare2", FT_UINT32, BASE_DEC,
2354           NULL, 0,
2355          "", HFILL }},
2356
2357         { &hf_butc_tc_restoreDesc_spare3,
2358           { "spare3", "butc.tc_restoreDesc.spare3", FT_UINT32, BASE_DEC,
2359           NULL, 0,
2360          "", HFILL }},
2361
2362         { &hf_butc_tc_restoreDesc_spare4,
2363           { "spare4", "butc.tc_restoreDesc.spare4", FT_UINT32, BASE_DEC,
2364           NULL, 0,
2365          "", HFILL }},
2366
2367         { &hf_butc_tc_restoreDesc_oldName,
2368           { "oldName", "butc.tc_restoreDesc.oldName", FT_STRING, BASE_NONE,
2369           NULL, 0,
2370          "", HFILL }},
2371
2372         { &hf_butc_tc_restoreDesc_newName,
2373           { "newName", "butc.tc_restoreDesc.newName", FT_STRING, BASE_NONE,
2374           NULL, 0,
2375          "", HFILL }},
2376
2377         { &hf_butc_tc_dumpStat_dumpID,
2378           { "dumpID", "butc.tc_dumpStat.dumpID", FT_INT32, BASE_DEC,
2379           NULL, 0,
2380          "", HFILL }},
2381
2382         { &hf_butc_tc_dumpStat_bytesDumped,
2383           { "bytesDumped", "butc.tc_dumpStat.bytesDumped", FT_INT32, BASE_DEC,
2384           NULL, 0,
2385          "", HFILL }},
2386
2387         { &hf_butc_tc_dumpStat_volumeBeingDumped,
2388           { "volumeBeingDumped", "butc.tc_dumpStat.volumeBeingDumped", FT_UINT64, BASE_DEC,
2389           NULL, 0,
2390          "", HFILL }},
2391
2392         { &hf_butc_tc_dumpStat_numVolErrs,
2393           { "numVolErrs", "butc.tc_dumpStat.numVolErrs", FT_INT32, BASE_DEC,
2394           NULL, 0,
2395          "", HFILL }},
2396
2397         { &hf_butc_tc_dumpStat_flags,
2398           { "flags", "butc.tc_dumpStat.flags", FT_INT32, BASE_DEC,
2399           NULL, 0,
2400          "", HFILL }},
2401
2402         { &hf_butc_tc_dumpStat_spare1,
2403           { "spare1", "butc.tc_dumpStat.spare1", FT_UINT32, BASE_DEC,
2404           NULL, 0,
2405          "", HFILL }},
2406
2407         { &hf_butc_tc_dumpStat_spare2,
2408           { "spare2", "butc.tc_dumpStat.spare2", FT_UINT32, BASE_DEC,
2409           NULL, 0,
2410          "", HFILL }},
2411
2412         { &hf_butc_tc_dumpStat_spare3,
2413           { "spare3", "butc.tc_dumpStat.spare3", FT_UINT32, BASE_DEC,
2414           NULL, 0,
2415          "", HFILL }},
2416
2417         { &hf_butc_tc_dumpStat_spare4,
2418           { "spare4", "butc.tc_dumpStat.spare4", FT_UINT32, BASE_DEC,
2419           NULL, 0,
2420          "", HFILL }},
2421
2422         { &hf_butc_tc_tapeLabel_size,
2423           { "size", "butc.tc_tapeLabel.size", FT_UINT32, BASE_DEC,
2424           NULL, 0,
2425          "", HFILL }},
2426
2427         { &hf_butc_tc_tapeLabel_size_ext,
2428           { "size_ext", "butc.tc_tapeLabel.size_ext", FT_UINT32, BASE_DEC,
2429           NULL, 0,
2430          "", HFILL }},
2431
2432         { &hf_butc_tc_tapeLabel_spare1,
2433           { "spare1", "butc.tc_tapeLabel.spare1", FT_UINT32, BASE_DEC,
2434           NULL, 0,
2435          "", HFILL }},
2436
2437         { &hf_butc_tc_tapeLabel_spare2,
2438           { "spare2", "butc.tc_tapeLabel.spare2", FT_UINT32, BASE_DEC,
2439           NULL, 0,
2440          "", HFILL }},
2441
2442         { &hf_butc_tc_tapeLabel_spare3,
2443           { "spare3", "butc.tc_tapeLabel.spare3", FT_UINT32, BASE_DEC,
2444           NULL, 0,
2445          "", HFILL }},
2446
2447         { &hf_butc_tc_tapeLabel_spare4,
2448           { "spare4", "butc.tc_tapeLabel.spare4", FT_UINT32, BASE_DEC,
2449           NULL, 0,
2450          "", HFILL }},
2451
2452         { &hf_butc_tc_tapeLabel_nameLen,
2453           { "nameLen", "butc.tc_tapeLabel.nameLen", FT_UINT32, BASE_DEC,
2454           NULL, 0,
2455          "", HFILL }},
2456
2457         { &hf_butc_tc_tapeLabel_name,
2458           { "name", "butc.tc_tapeLabel.name", FT_STRING, BASE_NONE,
2459           NULL, 0,
2460          "", HFILL }},
2461
2462         { &hf_butc_tc_tapeSet_id,
2463           { "id", "butc.tc_tapeSet.id", FT_INT32, BASE_DEC,
2464           NULL, 0,
2465          "", HFILL }},
2466
2467         { &hf_butc_tc_tapeSet_tapeServer,
2468           { "tapeServer", "butc.tc_tapeSet.tapeServer", FT_STRING, BASE_NONE,
2469           NULL, 0,
2470          "", HFILL }},
2471
2472         { &hf_butc_tc_tapeSet_format,
2473           { "format", "butc.tc_tapeSet.format", FT_STRING, BASE_NONE,
2474           NULL, 0,
2475          "", HFILL }},
2476
2477         { &hf_butc_tc_tapeSet_maxTapes,
2478           { "maxTapes", "butc.tc_tapeSet.maxTapes", FT_INT32, BASE_DEC,
2479           NULL, 0,
2480          "", HFILL }},
2481
2482         { &hf_butc_tc_tapeSet_a,
2483           { "a", "butc.tc_tapeSet.a", FT_INT32, BASE_DEC,
2484           NULL, 0,
2485          "", HFILL }},
2486
2487         { &hf_butc_tc_tapeSet_b,
2488           { "b", "butc.tc_tapeSet.b", FT_INT32, BASE_DEC,
2489           NULL, 0,
2490          "", HFILL }},
2491
2492         { &hf_butc_tc_tapeSet_expDate,
2493           { "expDate", "butc.tc_tapeSet.expDate", FT_INT32, BASE_DEC,
2494           NULL, 0,
2495          "", HFILL }},
2496
2497         { &hf_butc_tc_tapeSet_expType,
2498           { "expType", "butc.tc_tapeSet.expType", FT_INT32, BASE_DEC,
2499           NULL, 0,
2500          "", HFILL }},
2501
2502         { &hf_butc_tc_tapeSet_spare1,
2503           { "spare1", "butc.tc_tapeSet.spare1", FT_UINT32, BASE_DEC,
2504           NULL, 0,
2505          "", HFILL }},
2506
2507         { &hf_butc_tc_tapeSet_spare2,
2508           { "spare2", "butc.tc_tapeSet.spare2", FT_UINT32, BASE_DEC,
2509           NULL, 0,
2510          "", HFILL }},
2511
2512         { &hf_butc_tc_tapeSet_spare3,
2513           { "spare3", "butc.tc_tapeSet.spare3", FT_UINT32, BASE_DEC,
2514           NULL, 0,
2515          "", HFILL }},
2516
2517         { &hf_butc_tc_tapeSet_spare4,
2518           { "spare4", "butc.tc_tapeSet.spare4", FT_UINT32, BASE_DEC,
2519           NULL, 0,
2520          "", HFILL }},
2521
2522         { &hf_butc_tc_tcInfo_tcVersion,
2523           { "tcVersion", "butc.tc_tcInfo.tcVersion", FT_INT32, BASE_DEC,
2524           NULL, 0,
2525          "", HFILL }},
2526
2527         { &hf_butc_tc_tcInfo_spare1,
2528           { "spare1", "butc.tc_tcInfo.spare1", FT_UINT32, BASE_DEC,
2529           NULL, 0,
2530          "", HFILL }},
2531
2532         { &hf_butc_tc_tcInfo_spare2,
2533           { "spare2", "butc.tc_tcInfo.spare2", FT_UINT32, BASE_DEC,
2534           NULL, 0,
2535          "", HFILL }},
2536
2537         { &hf_butc_tc_tcInfo_spare3,
2538           { "spare3", "butc.tc_tcInfo.spare3", FT_UINT32, BASE_DEC,
2539           NULL, 0,
2540          "", HFILL }},
2541
2542         { &hf_butc_tc_tcInfo_spare4,
2543           { "spare4", "butc.tc_tcInfo.spare4", FT_UINT32, BASE_DEC,
2544           NULL, 0,
2545          "", HFILL }},
2546
2547         { &hf_butc_tc_restoreArray_tc_restoreArray_len,
2548           { "tc_restoreArray_len", "butc.tc_restoreArray.tc_restoreArray_len", FT_UINT32, BASE_DEC,
2549           NULL, 0,
2550          "", HFILL }},
2551
2552         { &hf_butc_tc_restoreArray_tc_restoreArray_val,
2553           { "tc_restoreArray_val", "butc.tc_restoreArray.tc_restoreArray_val", FT_NONE, BASE_NONE,
2554           NULL, 0,
2555          "", HFILL }},
2556
2557         { &hf_butc_tc_dumpArray_tc_dumpArray_len,
2558           { "tc_dumpArray_len", "butc.tc_dumpArray.tc_dumpArray_len", FT_UINT32, BASE_DEC,
2559           NULL, 0,
2560          "", HFILL }},
2561
2562         { &hf_butc_tc_dumpArray_tc_dumpArray,
2563           { "tc_dumpArray", "butc.tc_dumpArray.tc_dumpArray", FT_NONE, BASE_NONE,
2564           NULL, 0,
2565          "", HFILL }},
2566
2567         { &hf_butc_tc_dumpInterface_dumpPath,
2568           { "dumpPath", "butc.tc_dumpInterface.dumpPath", FT_STRING, BASE_NONE,
2569           NULL, 0,
2570          "", HFILL }},
2571
2572         { &hf_butc_tc_dumpInterface_volumeSetName,
2573           { "volumeSetName", "butc.tc_dumpInterface.volumeSetName", FT_STRING, BASE_NONE,
2574           NULL, 0,
2575          "", HFILL }},
2576
2577         { &hf_butc_tc_dumpInterface_dumpName,
2578           { "dumpName", "butc.tc_dumpInterface.dumpName", FT_STRING, BASE_NONE,
2579           NULL, 0,
2580          "", HFILL }},
2581
2582         { &hf_butc_tc_dumpInterface_tapeSet,
2583           { "tapeSet", "butc.tc_dumpInterface.tapeSet", FT_NONE, BASE_NONE,
2584           NULL, 0,
2585          "", HFILL }},
2586
2587         { &hf_butc_tc_dumpInterface_parentDumpId,
2588           { "parentDumpId", "butc.tc_dumpInterface.parentDumpId", FT_INT32, BASE_DEC,
2589           NULL, 0,
2590          "", HFILL }},
2591
2592         { &hf_butc_tc_dumpInterface_dumpLevel,
2593           { "dumpLevel", "butc.tc_dumpInterface.dumpLevel", FT_INT32, BASE_DEC,
2594           NULL, 0,
2595          "", HFILL }},
2596
2597         { &hf_butc_tc_dumpInterface_spare1,
2598           { "spare1", "butc.tc_dumpInterface.spare1", FT_UINT32, BASE_DEC,
2599           NULL, 0,
2600          "", HFILL }},
2601
2602         { &hf_butc_tc_dumpInterface_spare2,
2603           { "spare2", "butc.tc_dumpInterface.spare2", FT_UINT32, BASE_DEC,
2604           NULL, 0,
2605          "", HFILL }},
2606
2607         { &hf_butc_tc_dumpInterface_spare3,
2608           { "spare3", "butc.tc_dumpInterface.spare3", FT_UINT32, BASE_DEC,
2609           NULL, 0,
2610          "", HFILL }},
2611
2612         { &hf_butc_tc_dumpInterface_spare4,
2613           { "spare4", "butc.tc_dumpInterface.spare4", FT_UINT32, BASE_DEC,
2614           NULL, 0,
2615          "", HFILL }},
2616
2617         { &hf_butc_tc_statusInfoSwitchVol_nKBytes,
2618           { "nKBytes", "butc.tc_statusInfoSwitchVol.nKBytes", FT_UINT32, BASE_DEC,
2619           NULL, 0,
2620          "", HFILL }},
2621
2622         { &hf_butc_tc_statusInfoSwitchVol_volumeName,
2623           { "volumeName", "butc.tc_statusInfoSwitchVol.volumeName", FT_STRING, BASE_NONE,
2624           NULL, 0,
2625          "", HFILL }},
2626
2627         { &hf_butc_tc_statusInfoSwitchVol_volsFailed,
2628           { "volsFailed", "butc.tc_statusInfoSwitchVol.volsFailed", FT_INT32, BASE_DEC,
2629           NULL, 0,
2630          "", HFILL }},
2631
2632         { &hf_butc_tc_statusInfoSwitchVol_spare1,
2633           { "spare1", "butc.tc_statusInfoSwitchVol.spare1", FT_UINT32, BASE_DEC,
2634           NULL, 0,
2635          "", HFILL }},
2636
2637         { &hf_butc_tc_statusInfoSwitchLabel_tapeLabel,
2638           { "tapeLabel", "butc.tc_statusInfoSwitchLabel.tapeLabel", FT_NONE, BASE_NONE,
2639           NULL, 0,
2640          "", HFILL }},
2641
2642         { &hf_butc_tc_statusInfoSwitchLabel_spare1,
2643           { "spare1", "butc.tc_statusInfoSwitchLabel.spare1", FT_UINT32, BASE_DEC,
2644           NULL, 0,
2645          "", HFILL }},
2646
2647         { &hf_butc_tc_statusInfoSwitch_TCOP_NONE_none,
2648           { "none", "butc.tc_statusInfoSwitch.none", FT_UINT32, BASE_DEC,
2649           NULL, 0,
2650          "", HFILL }},
2651
2652         { &hf_butc_tc_statusInfoSwitch_TCOP_DUMP_vol,
2653           { "vol", "butc.tc_statusInfoSwitch.vol", FT_NONE, BASE_NONE,
2654           NULL, 0,
2655          "", HFILL }},
2656
2657         { &hf_butc_tc_statusInfoSwitch_TCOP_RESTORE_vol,
2658           { "vol", "butc.tc_statusInfoSwitch.vol", FT_NONE, BASE_NONE,
2659           NULL, 0,
2660          "", HFILL }},
2661
2662         { &hf_butc_tc_statusInfoSwitch_TCOP_LABELTAPE_label,
2663           { "label", "butc.tc_statusInfoSwitch.label", FT_NONE, BASE_NONE,
2664           NULL, 0,
2665          "", HFILL }},
2666
2667         { &hf_butc_tc_statusInfoSwitch_TCOP_READLABEL_label,
2668           { "label", "butc.tc_statusInfoSwitch.label", FT_NONE, BASE_NONE,
2669           NULL, 0,
2670          "", HFILL }},
2671
2672         { &hf_butc_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1,
2673           { "spare1", "butc.tc_statusInfoSwitch.spare1", FT_UINT32, BASE_DEC,
2674           NULL, 0,
2675          "", HFILL }},
2676
2677         { &hf_butc_tc_statusInfoSwitch_TCOP_STATUS_spare2,
2678           { "spare2", "butc.tc_statusInfoSwitch.spare2", FT_UINT32, BASE_DEC,
2679           NULL, 0,
2680          "", HFILL }},
2681
2682         { &hf_butc_tc_statusInfoSwitch_TCOP_SAVEDB_spare3,
2683           { "spare3", "butc.tc_statusInfoSwitch.spare3", FT_UINT32, BASE_DEC,
2684           NULL, 0,
2685          "", HFILL }},
2686
2687         { &hf_butc_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4,
2688           { "spare4", "butc.tc_statusInfoSwitch.spare4", FT_UINT32, BASE_DEC,
2689           NULL, 0,
2690          "", HFILL }},
2691
2692         { &hf_butc_tc_statusInfoSwitch_TCOP_SPARE_spare5,
2693           { "spare5", "butc.tc_statusInfoSwitch.spare5", FT_UINT32, BASE_DEC,
2694           NULL, 0,
2695          "", HFILL }},
2696
2697         { &hf_butc_tciStatusS_taskName,
2698           { "taskName", "butc.tciStatusS.taskName", FT_STRING, BASE_NONE,
2699           NULL, 0,
2700          "", HFILL }},
2701
2702         { &hf_butc_tciStatusS_flags,
2703           { "flags", "butc.tciStatusS.flags", FT_UINT32, BASE_DEC,
2704           NULL, 0,
2705          "", HFILL }},
2706
2707         { &hf_butc_tciStatusS_lastPolled,
2708           { "lastPolled", "butc.tciStatusS.lastPolled", FT_ABSOLUTE_TIME, BASE_DEC,
2709           NULL, 0,
2710          "", HFILL }},
2711
2712         { &hf_butc_tciStatusS_info,
2713           { "info", "butc.tciStatusS.info", FT_UINT32, BASE_DEC,
2714           NULL, 0,
2715          "", HFILL }},
2716
2717         { &hf_butc_tciStatusS_taskId,
2718           { "taskId", "butc.tciStatusS.taskId", FT_UINT32, BASE_DEC,
2719           NULL, 0,
2720          "", HFILL }},
2721
2722         { &hf_butc_tciStatusS_spare2,
2723           { "spare2", "butc.tciStatusS.spare2", FT_UINT32, BASE_DEC,
2724           NULL, 0,
2725          "", HFILL }},
2726
2727         { &hf_butc_tciStatusS_spare3,
2728           { "spare3", "butc.tciStatusS.spare3", FT_UINT32, BASE_DEC,
2729           NULL, 0,
2730          "", HFILL }},
2731
2732         { &hf_butc_tciStatusS_spare4,
2733           { "spare4", "butc.tciStatusS.spare4", FT_UINT32, BASE_DEC,
2734           NULL, 0,
2735          "", HFILL }},
2736
2737         { &hf_butc_BUTC_PerformDump_tcdiPtr,
2738           { "tcdiPtr", "butc.BUTC_PerformDump.tcdiPtr", FT_NONE, BASE_NONE,
2739           NULL, 0,
2740          "", HFILL }},
2741
2742         { &hf_butc_BUTC_PerformDump_dumps,
2743           { "dumps", "butc.BUTC_PerformDump.dumps", FT_NONE, BASE_NONE,
2744           NULL, 0,
2745          "", HFILL }},
2746
2747         { &hf_butc_BUTC_PerformDump_dumpID,
2748           { "dumpID", "butc.BUTC_PerformDump.dumpID", FT_INT32, BASE_DEC,
2749           NULL, 0,
2750          "", HFILL }},
2751
2752         { &hf_butc_BUTC_PerformRestore_dumpSetName,
2753           { "dumpSetName", "butc.BUTC_PerformRestore.dumpSetName", FT_STRING, BASE_NONE,
2754           NULL, 0,
2755          "", HFILL }},
2756
2757         { &hf_butc_BUTC_PerformRestore_restores,
2758           { "restores", "butc.BUTC_PerformRestore.restores", FT_NONE, BASE_NONE,
2759           NULL, 0,
2760          "", HFILL }},
2761
2762         { &hf_butc_BUTC_PerformRestore_dumpID,
2763           { "dumpID", "butc.BUTC_PerformRestore.dumpID", FT_INT32, BASE_DEC,
2764           NULL, 0,
2765          "", HFILL }},
2766
2767         { &hf_butc_BUTC_AbortDump_dumpID,
2768           { "dumpID", "butc.BUTC_AbortDump.dumpID", FT_INT32, BASE_DEC,
2769           NULL, 0,
2770          "", HFILL }},
2771
2772         { &hf_butc_BUTC_LabelTape_label,
2773           { "label", "butc.BUTC_LabelTape.label", FT_NONE, BASE_NONE,
2774           NULL, 0,
2775          "", HFILL }},
2776
2777         { &hf_butc_BUTC_LabelTape_taskId,
2778           { "taskId", "butc.BUTC_LabelTape.taskId", FT_UINT32, BASE_DEC,
2779           NULL, 0,
2780          "", HFILL }},
2781
2782         { &hf_butc_BUTC_ReadLabel_taskId,
2783           { "taskId", "butc.BUTC_ReadLabel.taskId", FT_UINT32, BASE_DEC,
2784           NULL, 0,
2785          "", HFILL }},
2786
2787         { &hf_butc_BUTC_ScanDumps_addDbFlag,
2788           { "addDbFlag", "butc.BUTC_ScanDumps.addDbFlag", FT_INT32, BASE_DEC,
2789           NULL, 0,
2790          "", HFILL }},
2791
2792         { &hf_butc_BUTC_ScanDumps_taskId,
2793           { "taskId", "butc.BUTC_ScanDumps.taskId", FT_UINT32, BASE_DEC,
2794           NULL, 0,
2795          "", HFILL }},
2796
2797         { &hf_butc_BUTC_TCInfo_tciptr,
2798           { "tciptr", "butc.BUTC_TCInfo.tciptr", FT_NONE, BASE_NONE,
2799           NULL, 0,
2800          "", HFILL }},
2801
2802         { &hf_butc_BUTC_SaveDb_taskId,
2803           { "taskId", "butc.BUTC_SaveDb.taskId", FT_UINT32, BASE_DEC,
2804           NULL, 0,
2805          "", HFILL }},
2806
2807         { &hf_butc_BUTC_RestoreDb_taskId,
2808           { "taskId", "butc.BUTC_RestoreDb.taskId", FT_UINT32, BASE_DEC,
2809           NULL, 0,
2810          "", HFILL }},
2811
2812         { &hf_butc_BUTC_EndStatus_taskId,
2813           { "taskId", "butc.BUTC_EndStatus.taskId", FT_UINT32, BASE_DEC,
2814           NULL, 0,
2815          "", HFILL }},
2816
2817         { &hf_butc_BUTC_GetStatus_taskId,
2818           { "taskId", "butc.BUTC_GetStatus.taskId", FT_UINT32, BASE_DEC,
2819           NULL, 0,
2820          "", HFILL }},
2821
2822         { &hf_butc_BUTC_GetStatus_statusPtr,
2823           { "statusPtr", "butc.BUTC_GetStatus.statusPtr", FT_NONE, BASE_NONE,
2824           NULL, 0,
2825          "", HFILL }},
2826
2827         { &hf_butc_BUTC_RequestAbort_taskId,
2828           { "taskId", "butc.BUTC_RequestAbort.taskId", FT_UINT32, BASE_DEC,
2829           NULL, 0,
2830          "", HFILL }},
2831
2832         { &hf_butc_BUTC_ScanStatus_taskId,
2833           { "taskId", "butc.BUTC_ScanStatus.taskId", FT_UINT32, BASE_DEC,
2834           NULL, 0,
2835          "", HFILL }},
2836
2837         { &hf_butc_BUTC_ScanStatus_statusPtr,
2838           { "statusPtr", "butc.BUTC_ScanStatus.statusPtr", FT_NONE, BASE_NONE,
2839           NULL, 0,
2840          "", HFILL }},
2841
2842         { &hf_butc_BUTC_ScanStatus_flags,
2843           { "flags", "butc.BUTC_ScanStatus.flags", FT_UINT32, BASE_DEC,
2844           NULL, 0,
2845          "", HFILL }},
2846
2847 /* END OF INCLUDED FILE : ETH_HFARR */
2848
2849
2850         };
2851
2852         static gint *ett[] = {
2853
2854
2855 /* INCLUDED FILE : ETH_ETTARR */
2856         &ett_butc,
2857         &ett_butc_Restore_flags,
2858         &ett_butc_afsNetAddr,
2859         &ett_butc_tc_dumpDesc,
2860         &ett_butc_tc_restoreDesc,
2861         &ett_butc_tc_dumpStat,
2862         &ett_butc_tc_tapeLabel,
2863         &ett_butc_tc_tapeSet,
2864         &ett_butc_tc_tcInfo,
2865         &ett_butc_tc_restoreArray,
2866         &ett_butc_tc_dumpArray,
2867         &ett_butc_tc_dumpInterface,
2868         &ett_butc_tc_statusInfoSwitchVol,
2869         &ett_butc_tc_statusInfoSwitchLabel,
2870         &ett_butc_tc_statusInfoSwitch,
2871         &ett_butc_tciStatusS,
2872 /* END OF INCLUDED FILE : ETH_ETTARR */
2873
2874
2875         };
2876
2877         proto_butc = proto_register_protocol(
2878                 "DCE/RPC BUTC", 
2879                 "BUTC", "butc");
2880         proto_register_field_array(proto_butc, hf, array_length(hf));
2881         proto_register_subtree_array(ett, array_length(ett));
2882 }
2883
2884 static dcerpc_sub_dissector function_dissectors[] = {
2885
2886
2887 /* INCLUDED FILE : ETH_FT */
2888     { 0, "BUTC_PerformDump",
2889         butc_dissect_BUTC_PerformDump_request,
2890         butc_dissect_BUTC_PerformDump_response },
2891     { 1, "BUTC_PerformRestore",
2892         butc_dissect_BUTC_PerformRestore_request,
2893         butc_dissect_BUTC_PerformRestore_response },
2894     { 2, "BUTC_AbortDump",
2895         butc_dissect_BUTC_AbortDump_request,
2896         butc_dissect_BUTC_AbortDump_response },
2897     { 3, "BUTC_LabelTape",
2898         butc_dissect_BUTC_LabelTape_request,
2899         butc_dissect_BUTC_LabelTape_response },
2900     { 4, "BUTC_ReadLabel",
2901         butc_dissect_BUTC_ReadLabel_request,
2902         butc_dissect_BUTC_ReadLabel_response },
2903     { 5, "BUTC_ScanDumps",
2904         butc_dissect_BUTC_ScanDumps_request,
2905         butc_dissect_BUTC_ScanDumps_response },
2906     { 6, "BUTC_TCInfo",
2907         butc_dissect_BUTC_TCInfo_request,
2908         butc_dissect_BUTC_TCInfo_response },
2909     { 7, "BUTC_SaveDb",
2910         butc_dissect_BUTC_SaveDb_request,
2911         butc_dissect_BUTC_SaveDb_response },
2912     { 8, "BUTC_RestoreDb",
2913         butc_dissect_BUTC_RestoreDb_request,
2914         butc_dissect_BUTC_RestoreDb_response },
2915     { 9, "BUTC_EndStatus",
2916         butc_dissect_BUTC_EndStatus_request,
2917         butc_dissect_BUTC_EndStatus_response },
2918     { 10, "BUTC_GetStatus",
2919         butc_dissect_BUTC_GetStatus_request,
2920         butc_dissect_BUTC_GetStatus_response },
2921     { 11, "BUTC_RequestAbort",
2922         butc_dissect_BUTC_RequestAbort_request,
2923         butc_dissect_BUTC_RequestAbort_response },
2924     { 12, "BUTC_ScanStatus",
2925         butc_dissect_BUTC_ScanStatus_request,
2926         butc_dissect_BUTC_ScanStatus_response },
2927     { 13, "BUTC_GetServerInterfaces",
2928         butc_dissect_BUTC_GetServerInterfaces_request,
2929         butc_dissect_BUTC_GetServerInterfaces_response },
2930 /* END OF INCLUDED FILE : ETH_FT */
2931
2932
2933         { 0, NULL, NULL, NULL },
2934 };
2935
2936 void
2937 proto_reg_handoff_butc(void)
2938 {
2939
2940
2941 /* INCLUDED FILE : ETH_HANDOFF */
2942     dcerpc_init_uuid(proto_butc, ett_butc,
2943         &uuid_dcerpc_butc, ver_butc,
2944         function_dissectors, hf_butc_opnum);
2945 /* END OF INCLUDED FILE : ETH_HANDOFF */
2946
2947
2948 }