aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-02-04 02:17:29 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-02-04 02:17:29 +0000
commit1461455adc9f28fa2011e3c788c9b7d1756ac7cb (patch)
tree0505f8fd5169917b1cb16b230935fa4f09d94a91
parentdd71ad695f08b20a36787b871834cbc21f26904a (diff)
update BUTC and fill in all (bar one) dissectors
svn path=/trunk/; revision=13277
-rw-r--r--epan/dissectors/packet-dcerpc-butc.c2911
-rw-r--r--epan/dissectors/packet-dcerpc-butc.h78
2 files changed, 2917 insertions, 72 deletions
diff --git a/epan/dissectors/packet-dcerpc-butc.c b/epan/dissectors/packet-dcerpc-butc.c
index a6478f1f25..c609dd812e 100644
--- a/epan/dissectors/packet-dcerpc-butc.c
+++ b/epan/dissectors/packet-dcerpc-butc.c
@@ -1,11 +1,12 @@
+/* DO NOT EDIT
+ * This dissector is autogenerated
+ */
+
/* packet-dcerpc-butc.c
- * Routines for butc dissection
- * Copyright 2002, Jaime Fournier <Jaime.Fournier@hush.com>
- * This information is based off the released idl files from opengroup.
- * ftp://ftp.opengroup.org/pub/dce122/dce/src/file.tar.gz bubasics/butc.idl
+ * Routines for BUTC packet disassembly
*
* $Id$
- *
+ *
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
* Copyright 1998 Gerald Combs
@@ -29,93 +30,2859 @@
#include "config.h"
#endif
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
+#include <glib.h>
#include <string.h>
-#include <glib.h>
#include <epan/packet.h>
#include "packet-dcerpc.h"
+#include "packet-dcerpc-nt.h"
+#include "packet-windows-common.h"
+#include "packet-dcerpc-butc.h"
static int proto_butc = -1;
+
+
+/* INCLUDED FILE : ETH_HF */
static int hf_butc_opnum = -1;
+static int hf_butc_rc = -1;
+static int hf_butc_afsNetAddr_type = -1;
+static int hf_butc_afsNetAddr_data = -1;
+static int hf_butc_tc_dumpDesc_vid = -1;
+static int hf_butc_tc_dumpDesc_name = -1;
+static int hf_butc_tc_dumpDesc_partition = -1;
+static int hf_butc_tc_dumpDesc_date = -1;
+static int hf_butc_tc_dumpDesc_cloneDate = -1;
+static int hf_butc_tc_dumpDesc_hostAddr = -1;
+static int hf_butc_tc_dumpDesc_spare1 = -1;
+static int hf_butc_tc_dumpDesc_spare2 = -1;
+static int hf_butc_tc_dumpDesc_spare3 = -1;
+static int hf_butc_tc_dumpDesc_spare4 = -1;
+static int hf_butc_tc_restoreDesc_frag = -1;
+static int hf_butc_tc_restoreDesc_tapeName = -1;
+static int hf_butc_tc_restoreDesc_position = -1;
+static int hf_butc_tc_restoreDesc_origVid = -1;
+static int hf_butc_tc_restoreDesc_vid = -1;
+static int hf_butc_tc_restoreDesc_partition = -1;
+static int hf_butc_tc_restoreDesc_flags = -1;
+static int hf_butc_tc_restoreDesc_hostAddr = -1;
+static int hf_butc_tc_restoreDesc_realDumpId = -1;
+static int hf_butc_tc_restoreDesc_spare2 = -1;
+static int hf_butc_tc_restoreDesc_spare3 = -1;
+static int hf_butc_tc_restoreDesc_spare4 = -1;
+static int hf_butc_tc_restoreDesc_oldName = -1;
+static int hf_butc_tc_restoreDesc_newName = -1;
+static int hf_butc_tc_dumpStat_dumpID = -1;
+static int hf_butc_tc_dumpStat_bytesDumped = -1;
+static int hf_butc_tc_dumpStat_volumeBeingDumped = -1;
+static int hf_butc_tc_dumpStat_numVolErrs = -1;
+static int hf_butc_tc_dumpStat_flags = -1;
+static int hf_butc_tc_dumpStat_spare1 = -1;
+static int hf_butc_tc_dumpStat_spare2 = -1;
+static int hf_butc_tc_dumpStat_spare3 = -1;
+static int hf_butc_tc_dumpStat_spare4 = -1;
+static int hf_butc_tc_tapeLabel_size = -1;
+static int hf_butc_tc_tapeLabel_size_ext = -1;
+static int hf_butc_tc_tapeLabel_spare1 = -1;
+static int hf_butc_tc_tapeLabel_spare2 = -1;
+static int hf_butc_tc_tapeLabel_spare3 = -1;
+static int hf_butc_tc_tapeLabel_spare4 = -1;
+static int hf_butc_tc_tapeLabel_nameLen = -1;
+static int hf_butc_tc_tapeLabel_name = -1;
+static int hf_butc_tc_tapeSet_id = -1;
+static int hf_butc_tc_tapeSet_tapeServer = -1;
+static int hf_butc_tc_tapeSet_format = -1;
+static int hf_butc_tc_tapeSet_maxTapes = -1;
+static int hf_butc_tc_tapeSet_a = -1;
+static int hf_butc_tc_tapeSet_b = -1;
+static int hf_butc_tc_tapeSet_expDate = -1;
+static int hf_butc_tc_tapeSet_expType = -1;
+static int hf_butc_tc_tapeSet_spare1 = -1;
+static int hf_butc_tc_tapeSet_spare2 = -1;
+static int hf_butc_tc_tapeSet_spare3 = -1;
+static int hf_butc_tc_tapeSet_spare4 = -1;
+static int hf_butc_tc_tcInfo_tcVersion = -1;
+static int hf_butc_tc_tcInfo_spare1 = -1;
+static int hf_butc_tc_tcInfo_spare2 = -1;
+static int hf_butc_tc_tcInfo_spare3 = -1;
+static int hf_butc_tc_tcInfo_spare4 = -1;
+static int hf_butc_tc_restoreArray_tc_restoreArray_len = -1;
+static int hf_butc_tc_restoreArray_tc_restoreArray_val = -1;
+static int hf_butc_tc_dumpArray_tc_dumpArray_len = -1;
+static int hf_butc_tc_dumpArray_tc_dumpArray = -1;
+static int hf_butc_tc_dumpInterface_dumpPath = -1;
+static int hf_butc_tc_dumpInterface_volumeSetName = -1;
+static int hf_butc_tc_dumpInterface_dumpName = -1;
+static int hf_butc_tc_dumpInterface_tapeSet = -1;
+static int hf_butc_tc_dumpInterface_parentDumpId = -1;
+static int hf_butc_tc_dumpInterface_dumpLevel = -1;
+static int hf_butc_tc_dumpInterface_spare1 = -1;
+static int hf_butc_tc_dumpInterface_spare2 = -1;
+static int hf_butc_tc_dumpInterface_spare3 = -1;
+static int hf_butc_tc_dumpInterface_spare4 = -1;
+static int hf_butc_tc_statusInfoSwitchVol_nKBytes = -1;
+static int hf_butc_tc_statusInfoSwitchVol_volumeName = -1;
+static int hf_butc_tc_statusInfoSwitchVol_volsFailed = -1;
+static int hf_butc_tc_statusInfoSwitchVol_spare1 = -1;
+static int hf_butc_tc_statusInfoSwitchLabel_tapeLabel = -1;
+static int hf_butc_tc_statusInfoSwitchLabel_spare1 = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_NONE_none = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_DUMP_vol = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_RESTORE_vol = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_LABELTAPE_label = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_READLABEL_label = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1 = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_STATUS_spare2 = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_SAVEDB_spare3 = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4 = -1;
+static int hf_butc_tc_statusInfoSwitch_TCOP_SPARE_spare5 = -1;
+static int hf_butc_tciStatusS_taskName = -1;
+static int hf_butc_tciStatusS_flags = -1;
+static int hf_butc_tciStatusS_lastPolled = -1;
+static int hf_butc_tciStatusS_info = -1;
+static int hf_butc_tciStatusS_taskId = -1;
+static int hf_butc_tciStatusS_spare2 = -1;
+static int hf_butc_tciStatusS_spare3 = -1;
+static int hf_butc_tciStatusS_spare4 = -1;
+static int hf_butc_BUTC_PerformDump_tcdiPtr = -1;
+static int hf_butc_BUTC_PerformDump_dumps = -1;
+static int hf_butc_BUTC_PerformDump_dumpID = -1;
+static int hf_butc_BUTC_PerformRestore_dumpSetName = -1;
+static int hf_butc_BUTC_PerformRestore_restores = -1;
+static int hf_butc_BUTC_PerformRestore_dumpID = -1;
+static int hf_butc_BUTC_AbortDump_dumpID = -1;
+static int hf_butc_BUTC_LabelTape_label = -1;
+static int hf_butc_BUTC_LabelTape_taskId = -1;
+static int hf_butc_BUTC_ReadLabel_taskId = -1;
+static int hf_butc_BUTC_ScanDumps_addDbFlag = -1;
+static int hf_butc_BUTC_ScanDumps_taskId = -1;
+static int hf_butc_BUTC_TCInfo_tciptr = -1;
+static int hf_butc_BUTC_SaveDb_taskId = -1;
+static int hf_butc_BUTC_RestoreDb_taskId = -1;
+static int hf_butc_BUTC_EndStatus_taskId = -1;
+static int hf_butc_BUTC_GetStatus_taskId = -1;
+static int hf_butc_BUTC_GetStatus_statusPtr = -1;
+static int hf_butc_BUTC_RequestAbort_taskId = -1;
+static int hf_butc_BUTC_ScanStatus_taskId = -1;
+static int hf_butc_BUTC_ScanStatus_statusPtr = -1;
+static int hf_butc_BUTC_ScanStatus_flags = -1;
+/* END OF INCLUDED FILE : ETH_HF */
+
+
+
+/* INCLUDED FILE : ETH_ETT */
static gint ett_butc = -1;
+static gint ett_butc_afsNetAddr = -1;
+static gint ett_butc_tc_dumpDesc = -1;
+static gint ett_butc_tc_restoreDesc = -1;
+static gint ett_butc_tc_dumpStat = -1;
+static gint ett_butc_tc_tapeLabel = -1;
+static gint ett_butc_tc_tapeSet = -1;
+static gint ett_butc_tc_tcInfo = -1;
+static gint ett_butc_tc_restoreArray = -1;
+static gint ett_butc_tc_dumpArray = -1;
+static gint ett_butc_tc_dumpInterface = -1;
+static gint ett_butc_tc_statusInfoSwitchVol = -1;
+static gint ett_butc_tc_statusInfoSwitchLabel = -1;
+static gint ett_butc_tc_statusInfoSwitch = -1;
+static gint ett_butc_tciStatusS = -1;
+/* END OF INCLUDED FILE : ETH_ETT */
+
-static e_uuid_t uuid_butc = { 0x1d193c08, 0x000b, 0x11ca, { 0xba, 0x1d, 0x02, 0x60, 0x8c, 0x2e, 0xa9, 0x6e } };
-static guint16 ver_butc = 4;
-
-
-#define TC_DEFAULT_STACK_SIZE (150*1024) /* stack size for tc threads */
-#define TC_MAXGENNAMELEN 512 /* length of generic name */
-#define TC_MAXDUMPPATH 256 /* dump path names*/
-#define TC_MAXNAMELEN 128 /* name length */
-#define TC_MAXFORMATLEN 100 /*size of the format statement */
-#define TC_MAXHOSTLEN 128 /*for server/machine names */
-#define TC_MAXTAPELEN 256 /*max tape name allowed */
-#define TC_STAT_DONE 1 /* all done */
-#define TC_STAT_OPRWAIT 2 /* waiting for user interaction */
-#define TC_STAT_DUMP 4 /* true if dump, false if restore */
-#define TC_STAT_ABORTED 8 /* the operation was aborted */
-#define TC_STAT_ERROR 16 /* error ocuured in the operation */
-#define TSK_STAT_FIRST 0x1 /* get id of first task */
-#define TSK_STAT_END 0x2 /* no more tasks */
-#define TSK_STAT_NOTFOUND 0x4 /* couldn't find task id requested */
-
-#define TCOP_NONE 0
-#define TCOP_READLABEL 1
-#define TCOP_LABELTAPE 2
-#define TCOP_DUMP 3
-#define TCOP_RESTORE 4
-#define TCOP_SCANTAPE 5
-#define TCOP_SAVEDB 6
-#define TCOP_RESTOREDB 7
-#define TCOP_STATUS 8
-#define TCOP_SPARE 9
-
-
-static dcerpc_sub_dissector butc_dissectors[] = {
- { 0, "PerformDump", NULL, NULL},
- { 1, "PerformRestore", NULL, NULL},
- { 2, "AbortDump", NULL, NULL},
- { 3, "LabelTape", NULL, NULL},
- { 4, "ReadLabel", NULL, NULL},
- { 5, "ScanDumps", NULL, NULL},
- { 6, "TCInfo", NULL, NULL},
- { 7, "SaveDb", NULL, NULL},
- { 8, "RestoreDb", NULL, NULL},
- { 9, "EndStatus", NULL, NULL},
- { 10, "GetStatus", NULL, NULL},
- { 11, "RequestAbort", NULL, NULL},
- { 12, "ScanStatus", NULL, NULL},
- { 13, "GetServerInterfaces", NULL, NULL},
- { 0, NULL, NULL, NULL }
+static int
+butc_dissect_NameString_t(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ offset=dissect_ndr_vstring(tvb, offset, pinfo, tree, drep, 1, hf_index, FALSE, NULL);
+ return offset;
+}
+
+
+
+/* INCLUDED FILE : ETH_CODE */
+static e_uuid_t uuid_dcerpc_butc = {
+ 0x1d193c08, 0x000b, 0x11ca,
+ { 0xba, 0x1d, 0x02, 0x60, 0x8c, 0x2e, 0xa9, 0x6e}
};
+static guint16 ver_butc = 4;
+
+
+static int
+butc_dissect_uint16(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ offset=dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hf_index, NULL);
+ return offset;
+}
+
+static int
+butc_dissect_afsNetAddr_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint16(tvb, offset, pinfo, tree, drep, hf_butc_afsNetAddr_type, param);
+ return offset;
+}
+
+
+static int
+butc_dissect_uint8(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ offset=dissect_ndr_uint8(tvb, offset, pinfo, tree, drep, hf_index, NULL);
+ return offset;
+}
+
+static int
+butc_dissect_afsNetAddr_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint8(tvb, offset, pinfo, tree, drep, hf_butc_afsNetAddr_data, param);
+ return offset;
+}
+
+static int
+fixedarray_butc_dissect_afsNetAddr_data(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ int count=14;
+ while(count--){
+ offset=butc_dissect_afsNetAddr_data(tvb, offset, pinfo, tree, drep);
+ }
+
+ return offset;
+}
+
+
+int
+butc_dissect_afsNetAddr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_2_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_afsNetAddr);
+ }
+
+ offset=butc_dissect_afsNetAddr_type(tvb, offset, pinfo, tree, drep);
+
+ offset=fixedarray_butc_dissect_afsNetAddr_data(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+
+static int
+butc_dissect_udlong(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+
+ offset=dissect_ndr_duint32(tvb, offset, pinfo, tree, drep, hf_index, NULL);
+
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_vid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_udlong(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_vid, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_name, param);
+ return offset;
+}
+
+
+static int
+butc_dissect_int32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ offset=dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, NULL);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_partition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_partition, param);
+ return offset;
+}
+
+
+static int
+butc_dissect_time_t(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+
+ offset=dissect_ndr_time_t(tvb, offset, pinfo, tree, drep, hf_index, NULL);
+
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_date(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_time_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_date, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_cloneDate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_time_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_cloneDate, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_hostAddr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_afsNetAddr(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_hostAddr, param);
+ return offset;
+}
+
+
+static int
+butc_dissect_uint32(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ offset=dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf_index, NULL);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_spare1, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_spare2, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_spare3, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpDesc_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpDesc_spare4, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_dumpDesc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_dumpDesc);
+ }
+
+ offset=butc_dissect_tc_dumpDesc_vid(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpDesc_name(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpDesc_partition(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpDesc_date(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpDesc_cloneDate(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpDesc_hostAddr(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpDesc_spare1(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpDesc_spare2(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpDesc_spare3(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpDesc_spare4(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_restoreDesc_frag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_frag, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_tapeName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_tapeName, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_position(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_position, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_origVid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_udlong(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_origVid, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_vid(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_udlong(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_vid, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_partition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_partition, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_flags, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_hostAddr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_afsNetAddr(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_hostAddr, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_realDumpId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_realDumpId, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_spare2, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_spare3, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_spare4, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_oldName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_oldName, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreDesc_newName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreDesc_newName, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_restoreDesc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_restoreDesc);
+ }
+
+ offset=butc_dissect_tc_restoreDesc_frag(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_tapeName(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_position(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_origVid(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_vid(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_partition(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_flags(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_hostAddr(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_realDumpId(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_spare2(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_spare3(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_spare4(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_oldName(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_restoreDesc_newName(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_dumpStat_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_dumpID, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpStat_bytesDumped(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_bytesDumped, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpStat_volumeBeingDumped(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_udlong(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_volumeBeingDumped, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpStat_numVolErrs(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_numVolErrs, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpStat_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_flags, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpStat_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_spare1, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpStat_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_spare2, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpStat_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_spare3, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpStat_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpStat_spare4, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_dumpStat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_dumpStat);
+ }
+
+ offset=butc_dissect_tc_dumpStat_dumpID(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpStat_bytesDumped(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpStat_volumeBeingDumped(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpStat_numVolErrs(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpStat_flags(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpStat_spare1(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpStat_spare2(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpStat_spare3(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpStat_spare4(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_tapeLabel_size(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_size, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeLabel_size_ext(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_size_ext, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeLabel_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_spare1, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeLabel_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_spare2, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeLabel_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_spare3, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeLabel_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_spare4, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeLabel_nameLen(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_nameLen, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeLabel_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeLabel_name, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_tapeLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_tapeLabel);
+ }
+
+ offset=butc_dissect_tc_tapeLabel_size(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeLabel_size_ext(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeLabel_spare1(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeLabel_spare2(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeLabel_spare3(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeLabel_spare4(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeLabel_nameLen(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeLabel_name(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_tapeSet_id(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_id, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_tapeServer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_tapeServer, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_format(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_format, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_maxTapes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_maxTapes, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_a(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_a, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_b(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_b, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_expDate(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_expDate, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_expType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_expType, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_spare1, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_spare2, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_spare3, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tapeSet_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tapeSet_spare4, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_tapeSet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_tapeSet);
+ }
+
+ offset=butc_dissect_tc_tapeSet_id(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_tapeServer(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_format(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_maxTapes(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_a(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_b(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_expDate(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_expType(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_spare1(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_spare2(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_spare3(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tapeSet_spare4(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_tcInfo_tcVersion(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_tcVersion, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tcInfo_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_spare1, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tcInfo_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_spare2, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tcInfo_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_spare3, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_tcInfo_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_tcInfo_spare4, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_tcInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_tcInfo);
+ }
+
+ offset=butc_dissect_tc_tcInfo_tcVersion(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tcInfo_spare1(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tcInfo_spare2(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tcInfo_spare3(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_tcInfo_spare4(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_restoreArray_tc_restoreArray_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreArray_tc_restoreArray_len, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_restoreArray_tc_restoreArray_val(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_restoreDesc(tvb, offset, pinfo, tree, drep, hf_butc_tc_restoreArray_tc_restoreArray_val, param);
+ return offset;
+}
+
+static int
+ptr_butc_dissect_tc_restoreArray_tc_restoreArray_val(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_tc_restoreArray_tc_restoreArray_val, NDR_POINTER_PTR, "tc_restoreArray_val", -1);
+ return offset;
+}
+
+static int
+ucarray_ptr_butc_dissect_tc_restoreArray_tc_restoreArray_val(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, ptr_butc_dissect_tc_restoreArray_tc_restoreArray_val);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_restoreArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_restoreArray);
+ }
+
+ offset=butc_dissect_tc_restoreArray_tc_restoreArray_len(tvb, offset, pinfo, tree, drep);
+
+ offset=ucarray_ptr_butc_dissect_tc_restoreArray_tc_restoreArray_val(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_dumpArray_tc_dumpArray_len(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpArray_tc_dumpArray_len, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpArray_tc_dumpArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_dumpDesc(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpArray_tc_dumpArray, param);
+ return offset;
+}
+
+static int
+ptr_butc_dissect_tc_dumpArray_tc_dumpArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_tc_dumpArray_tc_dumpArray, NDR_POINTER_PTR, "tc_dumpArray", -1);
+ return offset;
+}
+
+static int
+ucarray_ptr_butc_dissect_tc_dumpArray_tc_dumpArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_ucarray(tvb, offset, pinfo, tree, drep, ptr_butc_dissect_tc_dumpArray_tc_dumpArray);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_dumpArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_dumpArray);
+ }
+
+ offset=butc_dissect_tc_dumpArray_tc_dumpArray_len(tvb, offset, pinfo, tree, drep);
+
+ offset=ucarray_ptr_butc_dissect_tc_dumpArray_tc_dumpArray(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_dumpInterface_dumpPath(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_dumpPath, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpInterface_volumeSetName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_volumeSetName, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpInterface_dumpName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_dumpName, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpInterface_tapeSet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_tapeSet(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_tapeSet, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpInterface_parentDumpId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_parentDumpId, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpInterface_dumpLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_dumpLevel, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpInterface_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_spare1, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpInterface_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_spare2, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpInterface_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_spare3, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_dumpInterface_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_dumpInterface_spare4, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_dumpInterface(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_dumpInterface);
+ }
+
+ offset=butc_dissect_tc_dumpInterface_dumpPath(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpInterface_volumeSetName(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpInterface_dumpName(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpInterface_tapeSet(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpInterface_parentDumpId(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpInterface_dumpLevel(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpInterface_spare1(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpInterface_spare2(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpInterface_spare3(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_dumpInterface_spare4(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_statusInfoSwitchVol_nKBytes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchVol_nKBytes, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_statusInfoSwitchVol_volumeName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchVol_volumeName, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_statusInfoSwitchVol_volsFailed(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchVol_volsFailed, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_statusInfoSwitchVol_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchVol_spare1, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_statusInfoSwitchVol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_statusInfoSwitchVol);
+ }
+
+ offset=butc_dissect_tc_statusInfoSwitchVol_nKBytes(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_statusInfoSwitchVol_volumeName(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_statusInfoSwitchVol_volsFailed(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_statusInfoSwitchVol_spare1(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tc_statusInfoSwitchLabel_tapeLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_tapeLabel(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchLabel_tapeLabel, param);
+ return offset;
+}
+
+static int
+butc_dissect_tc_statusInfoSwitchLabel_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitchLabel_spare1, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tc_statusInfoSwitchLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tc_statusInfoSwitchLabel);
+ }
+
+ offset=butc_dissect_tc_statusInfoSwitchLabel_tapeLabel(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tc_statusInfoSwitchLabel_spare1(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_NONE_none(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_NONE_none, param);
+ return offset;
+}
+
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_DUMP_vol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_statusInfoSwitchVol(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_DUMP_vol, param);
+ return offset;
+}
+
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_RESTORE_vol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_statusInfoSwitchVol(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_RESTORE_vol, param);
+ return offset;
+}
+
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_LABELTAPE_label(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_statusInfoSwitchLabel(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_LABELTAPE_label, param);
+ return offset;
+}
+
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_READLABEL_label(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_statusInfoSwitchLabel(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_READLABEL_label, param);
+ return offset;
+}
+
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1, param);
+ return offset;
+}
+
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_STATUS_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_STATUS_spare2, param);
+ return offset;
+}
+
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_SAVEDB_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_SAVEDB_spare3, param);
+ return offset;
+}
+
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4, param);
+ return offset;
+}
+
+static int
+butc_dissect_union_tc_statusInfoSwitch_TCOP_SPARE_spare5(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tc_statusInfoSwitch_TCOP_SPARE_spare5, param);
+ return offset;
+}
+
+
+static int
+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_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+ guint32 level;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_text(parent_tree, tvb, offset, -1, "tc_statusInfoSwitch");
+ tree=proto_item_add_subtree(item, ett_butc_tc_statusInfoSwitch);
+ }
+
+ offset=dissect_ndr_uint32(tvb, offset, pinfo, tree,
+ drep, hf_index, &level);
+
+ switch(level){
+ case TCOP_NONE:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_NONE_none(tvb, offset, pinfo, tree, drep);
+ break;
+
+ case TCOP_DUMP:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_DUMP_vol(tvb, offset, pinfo, tree, drep);
+ break;
+
+ case TCOP_RESTORE:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_RESTORE_vol(tvb, offset, pinfo, tree, drep);
+ break;
+
+ case TCOP_LABELTAPE:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_LABELTAPE_label(tvb, offset, pinfo, tree, drep);
+ break;
+
+ case TCOP_READLABEL:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_READLABEL_label(tvb, offset, pinfo, tree, drep);
+ break;
+
+ case TCOP_SCANTAPE:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1(tvb, offset, pinfo, tree, drep);
+ break;
+
+ case TCOP_STATUS:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_STATUS_spare2(tvb, offset, pinfo, tree, drep);
+ break;
+
+ case TCOP_SAVEDB:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_SAVEDB_spare3(tvb, offset, pinfo, tree, drep);
+ break;
+
+ case TCOP_RESTOREDB:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4(tvb, offset, pinfo, tree, drep);
+ break;
+
+ case TCOP_SPARE:
+ ALIGN_TO_4_BYTES;
+ offset=butc_dissect_union_tc_statusInfoSwitch_TCOP_SPARE_spare5(tvb, offset, pinfo, tree, drep);
+ break;
+
+ }
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_tciStatusS_taskName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_taskName, param);
+ return offset;
+}
+
+static int
+butc_dissect_tciStatusS_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_flags, param);
+ return offset;
+}
+
+static int
+butc_dissect_tciStatusS_lastPolled(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_time_t(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_lastPolled, param);
+ return offset;
+}
+
+static int
+butc_dissect_tciStatusS_info(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_union_tc_statusInfoSwitch(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_info, param);
+ return offset;
+}
+
+static int
+butc_dissect_tciStatusS_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_taskId, param);
+ return offset;
+}
+
+static int
+butc_dissect_tciStatusS_spare2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_spare2, param);
+ return offset;
+}
+
+static int
+butc_dissect_tciStatusS_spare3(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_spare3, param);
+ return offset;
+}
+
+static int
+butc_dissect_tciStatusS_spare4(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_tciStatusS_spare4, param);
+ return offset;
+}
+
+
+int
+butc_dissect_tciStatusS(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *parent_tree, guint8 *drep, int hf_index, guint32 param _U_)
+{
+ proto_item *item=NULL;
+ proto_tree *tree=NULL;
+ int old_offset;
+
+ ALIGN_TO_4_BYTES;
+
+ old_offset=offset;
+ if(parent_tree){
+ item=proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, TRUE);
+ tree=proto_item_add_subtree(item, ett_butc_tciStatusS);
+ }
+
+ offset=butc_dissect_tciStatusS_taskName(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tciStatusS_flags(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tciStatusS_lastPolled(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tciStatusS_info(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tciStatusS_taskId(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tciStatusS_spare2(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tciStatusS_spare3(tvb, offset, pinfo, tree, drep);
+
+ offset=butc_dissect_tciStatusS_spare4(tvb, offset, pinfo, tree, drep);
+
+ proto_item_set_len(item, offset-old_offset);
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_PerformDump_tcdiPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_dumpInterface(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformDump_tcdiPtr, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_PerformDump_tcdiPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformDump_tcdiPtr, NDR_POINTER_REF, "tcdiPtr", -1);
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_PerformDump_dumps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_dumpArray(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformDump_dumps, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_PerformDump_dumps(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformDump_dumps, NDR_POINTER_REF, "dumps", -1);
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_PerformDump_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformDump_dumpID, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_PerformDump_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformDump_dumpID, NDR_POINTER_REF, "dumpID", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_PerformDump_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_PerformDump_tcdiPtr(tvb, offset, pinfo, tree, drep);
+
+ offset=ref_butc_dissect_BUTC_PerformDump_dumps(tvb, offset, pinfo, tree, drep);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_PerformDump_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_PerformDump_dumpID(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_PerformRestore_dumpSetName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_NameString_t(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformRestore_dumpSetName, param);
+ return offset;
+}
+
+static int
+ptr_butc_dissect_BUTC_PerformRestore_dumpSetName(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformRestore_dumpSetName, NDR_POINTER_PTR, "dumpSetName", -1);
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_PerformRestore_restores(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_restoreArray(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformRestore_restores, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_PerformRestore_restores(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformRestore_restores, NDR_POINTER_REF, "restores", -1);
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_PerformRestore_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_PerformRestore_dumpID, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_PerformRestore_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_PerformRestore_dumpID, NDR_POINTER_REF, "dumpID", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_PerformRestore_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ptr_butc_dissect_BUTC_PerformRestore_dumpSetName(tvb, offset, pinfo, tree, drep);
+
+ offset=ref_butc_dissect_BUTC_PerformRestore_restores(tvb, offset, pinfo, tree, drep);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_PerformRestore_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_PerformRestore_dumpID(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_AbortDump_dumpID(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_AbortDump_dumpID, param);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_AbortDump_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=butc_dissect_BUTC_AbortDump_dumpID(tvb, offset, pinfo, tree, drep);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_AbortDump_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_LabelTape_label(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_tapeLabel(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_LabelTape_label, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_LabelTape_label(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_LabelTape_label, NDR_POINTER_REF, "label", -1);
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_LabelTape_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_LabelTape_taskId, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_LabelTape_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_LabelTape_taskId, NDR_POINTER_REF, "taskId", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_LabelTape_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_LabelTape_label(tvb, offset, pinfo, tree, drep);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_LabelTape_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_LabelTape_taskId(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_ReadLabel_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ReadLabel_taskId, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_ReadLabel_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ReadLabel_taskId, NDR_POINTER_REF, "taskId", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_ReadLabel_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_ReadLabel_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_ReadLabel_taskId(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_ScanDumps_addDbFlag(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_int32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanDumps_addDbFlag, param);
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_ScanDumps_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanDumps_taskId, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_ScanDumps_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ScanDumps_taskId, NDR_POINTER_REF, "taskId", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_ScanDumps_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=butc_dissect_BUTC_ScanDumps_addDbFlag(tvb, offset, pinfo, tree, drep);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_ScanDumps_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_ScanDumps_taskId(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_TCInfo_tciptr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tc_tcInfo(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_TCInfo_tciptr, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_TCInfo_tciptr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_TCInfo_tciptr, NDR_POINTER_REF, "tciptr", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_TCInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_TCInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_TCInfo_tciptr(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_SaveDb_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_SaveDb_taskId, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_SaveDb_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_SaveDb_taskId, NDR_POINTER_REF, "taskId", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_SaveDb_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_SaveDb_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_SaveDb_taskId(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_RestoreDb_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_RestoreDb_taskId, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_RestoreDb_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_RestoreDb_taskId, NDR_POINTER_REF, "taskId", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_RestoreDb_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_RestoreDb_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_RestoreDb_taskId(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_EndStatus_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_EndStatus_taskId, param);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_EndStatus_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=butc_dissect_BUTC_EndStatus_taskId(tvb, offset, pinfo, tree, drep);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_EndStatus_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_GetStatus_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_GetStatus_taskId, param);
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_GetStatus_statusPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tciStatusS(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_GetStatus_statusPtr, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_GetStatus_statusPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_GetStatus_statusPtr, NDR_POINTER_REF, "statusPtr", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_GetStatus_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=butc_dissect_BUTC_GetStatus_taskId(tvb, offset, pinfo, tree, drep);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_GetStatus_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_GetStatus_statusPtr(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_RequestAbort_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_RequestAbort_taskId, param);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_RequestAbort_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=butc_dissect_BUTC_RequestAbort_taskId(tvb, offset, pinfo, tree, drep);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_RequestAbort_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+static int
+butc_dissect_BUTC_ScanStatus_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanStatus_taskId, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_ScanStatus_taskId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ScanStatus_taskId, NDR_POINTER_REF, "taskId", -1);
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_ScanStatus_statusPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_tciStatusS(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanStatus_statusPtr, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_ScanStatus_statusPtr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ScanStatus_statusPtr, NDR_POINTER_REF, "statusPtr", -1);
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_ScanStatus_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ guint32 param=0;
+ offset=butc_dissect_uint32(tvb, offset, pinfo, tree, drep, hf_butc_BUTC_ScanStatus_flags, param);
+ return offset;
+}
+
+static int
+ref_butc_dissect_BUTC_ScanStatus_flags(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep)
+{
+ offset=dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, butc_dissect_BUTC_ScanStatus_flags, NDR_POINTER_REF, "flags", -1);
+ return offset;
+}
+
+
+static int
+butc_dissect_BUTC_ScanStatus_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_ScanStatus_taskId(tvb, offset, pinfo, tree, drep);
+
+ offset=ref_butc_dissect_BUTC_ScanStatus_flags(tvb, offset, pinfo, tree, drep);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_ScanStatus_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=ref_butc_dissect_BUTC_ScanStatus_taskId(tvb, offset, pinfo, tree, drep);
+
+ offset=ref_butc_dissect_BUTC_ScanStatus_statusPtr(tvb, offset, pinfo, tree, drep);
+
+ offset=ref_butc_dissect_BUTC_ScanStatus_flags(tvb, offset, pinfo, tree, drep);
+
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_GetServerInterfaces_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+
+ return offset;
+}
+
+static int
+butc_dissect_BUTC_GetServerInterfaces_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)
+{
+ offset=dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf_butc_rc, NULL);
+
+
+ return offset;
+}
+/* END OF INCLUDED FILE : ETH_CODE */
+
+
+
void
-proto_register_butc (void)
+proto_register_butc(void)
{
- static hf_register_info hf[] = {
- { &hf_butc_opnum,
- { "Operation", "butc.opnum", FT_UINT16, BASE_DEC, NULL, 0x0, "Operation", HFILL }},
- };
+ static hf_register_info hf[] = {
+
+
+
+/* INCLUDED FILE : ETH_HFARR */
+ { &hf_butc_opnum,
+ { "Operation", "butc.opnum", FT_UINT16, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_rc,
+ { "Return code", "butc.rc", FT_UINT32, BASE_HEX,
+ VALS(NT_errors), 0,
+ "", HFILL }},
+
+ { &hf_butc_afsNetAddr_type,
+ { "type", "butc.afsNetAddr.type", FT_UINT16, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_afsNetAddr_data,
+ { "data", "butc.afsNetAddr.data", FT_UINT8, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_vid,
+ { "vid", "butc.tc_dumpDesc.vid", FT_UINT64, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_name,
+ { "name", "butc.tc_dumpDesc.name", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_partition,
+ { "partition", "butc.tc_dumpDesc.partition", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_date,
+ { "date", "butc.tc_dumpDesc.date", FT_ABSOLUTE_TIME, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_cloneDate,
+ { "cloneDate", "butc.tc_dumpDesc.cloneDate", FT_ABSOLUTE_TIME, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_hostAddr,
+ { "hostAddr", "butc.tc_dumpDesc.hostAddr", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_spare1,
+ { "spare1", "butc.tc_dumpDesc.spare1", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_spare2,
+ { "spare2", "butc.tc_dumpDesc.spare2", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_spare3,
+ { "spare3", "butc.tc_dumpDesc.spare3", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpDesc_spare4,
+ { "spare4", "butc.tc_dumpDesc.spare4", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_frag,
+ { "frag", "butc.tc_restoreDesc.frag", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_tapeName,
+ { "tapeName", "butc.tc_restoreDesc.tapeName", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_position,
+ { "position", "butc.tc_restoreDesc.position", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_origVid,
+ { "origVid", "butc.tc_restoreDesc.origVid", FT_UINT64, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_vid,
+ { "vid", "butc.tc_restoreDesc.vid", FT_UINT64, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_partition,
+ { "partition", "butc.tc_restoreDesc.partition", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_flags,
+ { "flags", "butc.tc_restoreDesc.flags", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_hostAddr,
+ { "hostAddr", "butc.tc_restoreDesc.hostAddr", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_realDumpId,
+ { "realDumpId", "butc.tc_restoreDesc.realDumpId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_spare2,
+ { "spare2", "butc.tc_restoreDesc.spare2", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_spare3,
+ { "spare3", "butc.tc_restoreDesc.spare3", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_spare4,
+ { "spare4", "butc.tc_restoreDesc.spare4", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_oldName,
+ { "oldName", "butc.tc_restoreDesc.oldName", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreDesc_newName,
+ { "newName", "butc.tc_restoreDesc.newName", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpStat_dumpID,
+ { "dumpID", "butc.tc_dumpStat.dumpID", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpStat_bytesDumped,
+ { "bytesDumped", "butc.tc_dumpStat.bytesDumped", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpStat_volumeBeingDumped,
+ { "volumeBeingDumped", "butc.tc_dumpStat.volumeBeingDumped", FT_UINT64, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpStat_numVolErrs,
+ { "numVolErrs", "butc.tc_dumpStat.numVolErrs", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpStat_flags,
+ { "flags", "butc.tc_dumpStat.flags", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpStat_spare1,
+ { "spare1", "butc.tc_dumpStat.spare1", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpStat_spare2,
+ { "spare2", "butc.tc_dumpStat.spare2", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpStat_spare3,
+ { "spare3", "butc.tc_dumpStat.spare3", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpStat_spare4,
+ { "spare4", "butc.tc_dumpStat.spare4", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeLabel_size,
+ { "size", "butc.tc_tapeLabel.size", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeLabel_size_ext,
+ { "size_ext", "butc.tc_tapeLabel.size_ext", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeLabel_spare1,
+ { "spare1", "butc.tc_tapeLabel.spare1", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeLabel_spare2,
+ { "spare2", "butc.tc_tapeLabel.spare2", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeLabel_spare3,
+ { "spare3", "butc.tc_tapeLabel.spare3", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeLabel_spare4,
+ { "spare4", "butc.tc_tapeLabel.spare4", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeLabel_nameLen,
+ { "nameLen", "butc.tc_tapeLabel.nameLen", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeLabel_name,
+ { "name", "butc.tc_tapeLabel.name", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_id,
+ { "id", "butc.tc_tapeSet.id", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_tapeServer,
+ { "tapeServer", "butc.tc_tapeSet.tapeServer", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_format,
+ { "format", "butc.tc_tapeSet.format", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_maxTapes,
+ { "maxTapes", "butc.tc_tapeSet.maxTapes", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_a,
+ { "a", "butc.tc_tapeSet.a", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_b,
+ { "b", "butc.tc_tapeSet.b", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_expDate,
+ { "expDate", "butc.tc_tapeSet.expDate", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_expType,
+ { "expType", "butc.tc_tapeSet.expType", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_spare1,
+ { "spare1", "butc.tc_tapeSet.spare1", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_spare2,
+ { "spare2", "butc.tc_tapeSet.spare2", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_spare3,
+ { "spare3", "butc.tc_tapeSet.spare3", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tapeSet_spare4,
+ { "spare4", "butc.tc_tapeSet.spare4", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tcInfo_tcVersion,
+ { "tcVersion", "butc.tc_tcInfo.tcVersion", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tcInfo_spare1,
+ { "spare1", "butc.tc_tcInfo.spare1", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tcInfo_spare2,
+ { "spare2", "butc.tc_tcInfo.spare2", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tcInfo_spare3,
+ { "spare3", "butc.tc_tcInfo.spare3", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_tcInfo_spare4,
+ { "spare4", "butc.tc_tcInfo.spare4", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreArray_tc_restoreArray_len,
+ { "tc_restoreArray_len", "butc.tc_restoreArray.tc_restoreArray_len", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_restoreArray_tc_restoreArray_val,
+ { "tc_restoreArray_val", "butc.tc_restoreArray.tc_restoreArray_val", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpArray_tc_dumpArray_len,
+ { "tc_dumpArray_len", "butc.tc_dumpArray.tc_dumpArray_len", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpArray_tc_dumpArray,
+ { "tc_dumpArray", "butc.tc_dumpArray.tc_dumpArray", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_dumpPath,
+ { "dumpPath", "butc.tc_dumpInterface.dumpPath", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_volumeSetName,
+ { "volumeSetName", "butc.tc_dumpInterface.volumeSetName", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_dumpName,
+ { "dumpName", "butc.tc_dumpInterface.dumpName", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_tapeSet,
+ { "tapeSet", "butc.tc_dumpInterface.tapeSet", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_parentDumpId,
+ { "parentDumpId", "butc.tc_dumpInterface.parentDumpId", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_dumpLevel,
+ { "dumpLevel", "butc.tc_dumpInterface.dumpLevel", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_spare1,
+ { "spare1", "butc.tc_dumpInterface.spare1", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_spare2,
+ { "spare2", "butc.tc_dumpInterface.spare2", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_spare3,
+ { "spare3", "butc.tc_dumpInterface.spare3", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_dumpInterface_spare4,
+ { "spare4", "butc.tc_dumpInterface.spare4", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitchVol_nKBytes,
+ { "nKBytes", "butc.tc_statusInfoSwitchVol.nKBytes", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitchVol_volumeName,
+ { "volumeName", "butc.tc_statusInfoSwitchVol.volumeName", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitchVol_volsFailed,
+ { "volsFailed", "butc.tc_statusInfoSwitchVol.volsFailed", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitchVol_spare1,
+ { "spare1", "butc.tc_statusInfoSwitchVol.spare1", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitchLabel_tapeLabel,
+ { "tapeLabel", "butc.tc_statusInfoSwitchLabel.tapeLabel", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitchLabel_spare1,
+ { "spare1", "butc.tc_statusInfoSwitchLabel.spare1", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_NONE_none,
+ { "none", "butc.tc_statusInfoSwitch.none", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_DUMP_vol,
+ { "vol", "butc.tc_statusInfoSwitch.vol", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_RESTORE_vol,
+ { "vol", "butc.tc_statusInfoSwitch.vol", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_LABELTAPE_label,
+ { "label", "butc.tc_statusInfoSwitch.label", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_READLABEL_label,
+ { "label", "butc.tc_statusInfoSwitch.label", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_SCANTAPE_spare1,
+ { "spare1", "butc.tc_statusInfoSwitch.spare1", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_STATUS_spare2,
+ { "spare2", "butc.tc_statusInfoSwitch.spare2", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_SAVEDB_spare3,
+ { "spare3", "butc.tc_statusInfoSwitch.spare3", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_RESTOREDB_spare4,
+ { "spare4", "butc.tc_statusInfoSwitch.spare4", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tc_statusInfoSwitch_TCOP_SPARE_spare5,
+ { "spare5", "butc.tc_statusInfoSwitch.spare5", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tciStatusS_taskName,
+ { "taskName", "butc.tciStatusS.taskName", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tciStatusS_flags,
+ { "flags", "butc.tciStatusS.flags", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tciStatusS_lastPolled,
+ { "lastPolled", "butc.tciStatusS.lastPolled", FT_ABSOLUTE_TIME, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tciStatusS_info,
+ { "info", "butc.tciStatusS.info", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tciStatusS_taskId,
+ { "taskId", "butc.tciStatusS.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tciStatusS_spare2,
+ { "spare2", "butc.tciStatusS.spare2", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tciStatusS_spare3,
+ { "spare3", "butc.tciStatusS.spare3", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_tciStatusS_spare4,
+ { "spare4", "butc.tciStatusS.spare4", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_PerformDump_tcdiPtr,
+ { "tcdiPtr", "butc.BUTC_PerformDump.tcdiPtr", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_PerformDump_dumps,
+ { "dumps", "butc.BUTC_PerformDump.dumps", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_PerformDump_dumpID,
+ { "dumpID", "butc.BUTC_PerformDump.dumpID", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_PerformRestore_dumpSetName,
+ { "dumpSetName", "butc.BUTC_PerformRestore.dumpSetName", FT_STRING, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_PerformRestore_restores,
+ { "restores", "butc.BUTC_PerformRestore.restores", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_PerformRestore_dumpID,
+ { "dumpID", "butc.BUTC_PerformRestore.dumpID", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_AbortDump_dumpID,
+ { "dumpID", "butc.BUTC_AbortDump.dumpID", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_LabelTape_label,
+ { "label", "butc.BUTC_LabelTape.label", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_LabelTape_taskId,
+ { "taskId", "butc.BUTC_LabelTape.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_ReadLabel_taskId,
+ { "taskId", "butc.BUTC_ReadLabel.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_ScanDumps_addDbFlag,
+ { "addDbFlag", "butc.BUTC_ScanDumps.addDbFlag", FT_INT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_ScanDumps_taskId,
+ { "taskId", "butc.BUTC_ScanDumps.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_TCInfo_tciptr,
+ { "tciptr", "butc.BUTC_TCInfo.tciptr", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_SaveDb_taskId,
+ { "taskId", "butc.BUTC_SaveDb.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_RestoreDb_taskId,
+ { "taskId", "butc.BUTC_RestoreDb.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_EndStatus_taskId,
+ { "taskId", "butc.BUTC_EndStatus.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_GetStatus_taskId,
+ { "taskId", "butc.BUTC_GetStatus.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_GetStatus_statusPtr,
+ { "statusPtr", "butc.BUTC_GetStatus.statusPtr", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_RequestAbort_taskId,
+ { "taskId", "butc.BUTC_RequestAbort.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_ScanStatus_taskId,
+ { "taskId", "butc.BUTC_ScanStatus.taskId", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_ScanStatus_statusPtr,
+ { "statusPtr", "butc.BUTC_ScanStatus.statusPtr", FT_NONE, BASE_NONE,
+ NULL, 0,
+ "", HFILL }},
+
+ { &hf_butc_BUTC_ScanStatus_flags,
+ { "flags", "butc.BUTC_ScanStatus.flags", FT_UINT32, BASE_DEC,
+ NULL, 0,
+ "", HFILL }},
+
+/* END OF INCLUDED FILE : ETH_HFARR */
+
- static gint *ett[] = {
- &ett_butc,
};
- proto_butc = proto_register_protocol ("DCE/RPC BUTC", "BUTC", "butc");
- proto_register_field_array (proto_butc, hf, array_length (hf));
- proto_register_subtree_array (ett, array_length (ett));
+
+ static gint *ett[] = {
+
+
+/* INCLUDED FILE : ETH_ETTARR */
+ &ett_butc,
+ &ett_butc_afsNetAddr,
+ &ett_butc_tc_dumpDesc,
+ &ett_butc_tc_restoreDesc,
+ &ett_butc_tc_dumpStat,
+ &ett_butc_tc_tapeLabel,
+ &ett_butc_tc_tapeSet,
+ &ett_butc_tc_tcInfo,
+ &ett_butc_tc_restoreArray,
+ &ett_butc_tc_dumpArray,
+ &ett_butc_tc_dumpInterface,
+ &ett_butc_tc_statusInfoSwitchVol,
+ &ett_butc_tc_statusInfoSwitchLabel,
+ &ett_butc_tc_statusInfoSwitch,
+ &ett_butc_tciStatusS,
+/* END OF INCLUDED FILE : ETH_ETTARR */
+
+
+ };
+
+ proto_butc = proto_register_protocol(
+ "DCE/RPC BUTC",
+ "BUTC", "butc");
+ proto_register_field_array(proto_butc, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
}
+static dcerpc_sub_dissector function_dissectors[] = {
+
+
+/* INCLUDED FILE : ETH_FT */
+ { 0, "BUTC_PerformDump",
+ butc_dissect_BUTC_PerformDump_request,
+ butc_dissect_BUTC_PerformDump_response },
+ { 1, "BUTC_PerformRestore",
+ butc_dissect_BUTC_PerformRestore_request,
+ butc_dissect_BUTC_PerformRestore_response },
+ { 2, "BUTC_AbortDump",
+ butc_dissect_BUTC_AbortDump_request,
+ butc_dissect_BUTC_AbortDump_response },
+ { 3, "BUTC_LabelTape",
+ butc_dissect_BUTC_LabelTape_request,
+ butc_dissect_BUTC_LabelTape_response },
+ { 4, "BUTC_ReadLabel",
+ butc_dissect_BUTC_ReadLabel_request,
+ butc_dissect_BUTC_ReadLabel_response },
+ { 5, "BUTC_ScanDumps",
+ butc_dissect_BUTC_ScanDumps_request,
+ butc_dissect_BUTC_ScanDumps_response },
+ { 6, "BUTC_TCInfo",
+ butc_dissect_BUTC_TCInfo_request,
+ butc_dissect_BUTC_TCInfo_response },
+ { 7, "BUTC_SaveDb",
+ butc_dissect_BUTC_SaveDb_request,
+ butc_dissect_BUTC_SaveDb_response },
+ { 8, "BUTC_RestoreDb",
+ butc_dissect_BUTC_RestoreDb_request,
+ butc_dissect_BUTC_RestoreDb_response },
+ { 9, "BUTC_EndStatus",
+ butc_dissect_BUTC_EndStatus_request,
+ butc_dissect_BUTC_EndStatus_response },
+ { 10, "BUTC_GetStatus",
+ butc_dissect_BUTC_GetStatus_request,
+ butc_dissect_BUTC_GetStatus_response },
+ { 11, "BUTC_RequestAbort",
+ butc_dissect_BUTC_RequestAbort_request,
+ butc_dissect_BUTC_RequestAbort_response },
+ { 12, "BUTC_ScanStatus",
+ butc_dissect_BUTC_ScanStatus_request,
+ butc_dissect_BUTC_ScanStatus_response },
+ { 13, "BUTC_GetServerInterfaces",
+ butc_dissect_BUTC_GetServerInterfaces_request,
+ butc_dissect_BUTC_GetServerInterfaces_response },
+/* END OF INCLUDED FILE : ETH_FT */
+
+
+ { 0, NULL, NULL, NULL },
+};
+
void
-proto_reg_handoff_butc (void)
+proto_reg_handoff_butc(void)
{
- /* Register the protocol as dcerpc */
- dcerpc_init_uuid (proto_butc, ett_butc, &uuid_butc, ver_butc, butc_dissectors, hf_butc_opnum);
+
+
+/* INCLUDED FILE : ETH_HANDOFF */
+ dcerpc_init_uuid(proto_butc, ett_butc,
+ &uuid_dcerpc_butc, ver_butc,
+ function_dissectors, hf_butc_opnum);
+/* END OF INCLUDED FILE : ETH_HANDOFF */
+
+
}
diff --git a/epan/dissectors/packet-dcerpc-butc.h b/epan/dissectors/packet-dcerpc-butc.h
new file mode 100644
index 0000000000..74121c1d33
--- /dev/null
+++ b/epan/dissectors/packet-dcerpc-butc.h
@@ -0,0 +1,78 @@
+/* DO NOT EDIT
+ * This dissector is autogenerated
+ */
+/* packet-dcerpc-butc.h
+ * Routines for BUTC packet disassembly
+ *
+ * $Id: packet-dcerpc-butc.h 11410 2004-07-18 18:06:47Z gram $
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __PACKET_DCERPC_BUTC_H
+#define __PACKET_DCERPC_BUTC_H
+
+
+
+/* INCLUDED FILE : ETH_HDR */
+#define TC_DEFAULT_STACK_SIZE 153600
+#define TC_MAXGENNAMELEN 512
+#define TC_MAXDUMPPATH 256
+#define TC_MAXNAMELEN 128
+#define TC_MAXFORMATLEN 100
+#define TC_MAXHOSTLEN 128
+#define TC_MAXTAPELEN 256
+#define TC_STAT_DONE 1
+#define TC_STAT_OPRWAIT 2
+#define TC_STAT_DUMP 4
+#define TC_STAT_ABORTED 8
+#define TC_STAT_ERROR 16
+#define TSK_STAT_FIRST 0x1
+#define TSK_STAT_END 0x2
+#define TSK_STAT_NOTFOUND 0x4
+#define TCOP_NONE 0
+#define TCOP_READLABEL 1
+#define TCOP_LABELTAPE 2
+#define TCOP_DUMP 3
+#define TCOP_RESTORE 4
+#define TCOP_SCANTAPE 5
+#define TCOP_SAVEDB 6
+#define TCOP_RESTOREDB 7
+#define TCOP_STATUS 8
+#define TCOP_SPARE 9
+int butc_dissect_afsNetAddr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_dumpDesc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_restoreDesc(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_dumpStat(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_tapeLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+#define TC_RESTORE_CREATE 1
+#define TC_RESTORE_INCR 2
+int butc_dissect_tc_tapeSet(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_tcInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_restoreArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_dumpArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_dumpInterface(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_statusInfoSwitchVol(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tc_statusInfoSwitchLabel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+int butc_dissect_tciStatusS(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, guint8 *drep, int hf_index, guint32 param);
+/* END OF INCLUDED FILE : ETH_HDR */
+
+
+
+#endif /* packet-dcerpc-butc.h */