2016-01-20 17:05:21 +00:00
|
|
|
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
|
|
|
|
|
|
|
|
File: octvc1_common.c
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
|
|
|
|
Copyright (c) 2015 Octasic Inc. All rights reserved.
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
Description: Contain the wireshark module dissector related functions
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
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.,
|
|
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
|
|
|
|
Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27)
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
$Octasic_Revision: $
|
|
|
|
|
|
|
|
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
|
|
|
|
|
|
|
|
/***************************** INCLUDE FILES *******************************/
|
|
|
|
|
|
|
|
#include <config.h>
|
|
|
|
#include <epan/packet.h>
|
|
|
|
#include "../../../include/oct_ws_macro.h"
|
|
|
|
#include "../include/module.h"
|
|
|
|
#include "../include/octvc1_common.h"
|
|
|
|
|
|
|
|
|
|
|
|
#include <octvc1_cursor.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_OBJECT_CURSOR_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_OBJECT_CURSOR_ENUM_DONE, "cOCTVC1_OBJECT_CURSOR_ENUM_DONE" },
|
|
|
|
{ cOCTVC1_OBJECT_CURSOR_ENUM_SPECIFIC, "cOCTVC1_OBJECT_CURSOR_ENUM_SPECIFIC" },
|
|
|
|
{ cOCTVC1_OBJECT_CURSOR_ENUM_FIRST, "cOCTVC1_OBJECT_CURSOR_ENUM_FIRST" },
|
|
|
|
{ cOCTVC1_OBJECT_CURSOR_ENUM_NEXT, "cOCTVC1_OBJECT_CURSOR_ENUM_NEXT" },
|
|
|
|
{ cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_FIRST, "cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_FIRST" },
|
|
|
|
{ cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_NEXT, "cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_NEXT" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON Registered
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_CURSOR_HANDLE_GET[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_GET;
|
|
|
|
|
|
|
|
void register_tOCTVC1_CURSOR_HANDLE_GET(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET[0],
|
|
|
|
{ "hObject", "octvc1.cursor.handle_get.hobject",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"hObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET[1],
|
|
|
|
{ "ulGetMode", "octvc1.cursor.handle_get.ulgetmode",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0,
|
|
|
|
"ulGetMode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_CURSOR_HANDLE_GET.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_GET_HANDLE;
|
|
|
|
|
|
|
|
void register_tOCTVC1_CURSOR_HANDLE_GET_HANDLE(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[0],
|
|
|
|
{ "hObject", "octvc1.cursor.handle_get_handle.hobject",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"hObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[1],
|
|
|
|
{ "ulGetMode", "octvc1.cursor.handle_get_handle.ulgetmode",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0,
|
|
|
|
"ulGetMode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[2],
|
|
|
|
{ "hSubObject", "octvc1.cursor.handle_get_handle.hsubobject",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"hSubObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_CURSOR_HANDLE_GET_HANDLE.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT;
|
|
|
|
|
|
|
|
void register_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[0],
|
|
|
|
{ "hObject", "octvc1.cursor.handle_get_handle_object.hobject",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"hObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[1],
|
|
|
|
{ "ulGetMode", "octvc1.cursor.handle_get_handle_object.ulgetmode",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0,
|
|
|
|
"ulGetMode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[2],
|
|
|
|
{ "hHandleObject", "octvc1.cursor.handle_get_handle_object.hhandleobject",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"hHandleObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID;
|
|
|
|
|
|
|
|
void register_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[0],
|
|
|
|
{ "hObject", "octvc1.cursor.handle_get_sub_object_id.hobject",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"hObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[1],
|
|
|
|
{ "ulGetMode", "octvc1.cursor.handle_get_sub_object_id.ulgetmode",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0,
|
|
|
|
"ulGetMode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[2],
|
|
|
|
{ "ulSubObjectId", "octvc1.cursor.handle_get_sub_object_id.ulsubobjectid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulSubObjectId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET;
|
|
|
|
|
|
|
|
void register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[0],
|
|
|
|
{ "hObject", "octvc1.cursor.handle_object_get.hobject",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"hObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[1],
|
|
|
|
{ "ulGetMode", "octvc1.cursor.handle_object_get.ulgetmode",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0,
|
|
|
|
"ulGetMode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT;
|
|
|
|
|
|
|
|
void register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[0],
|
|
|
|
{ "hObject", "octvc1.cursor.handle_object_get_handle_object.hobject",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"hObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[1],
|
|
|
|
{ "ulGetMode", "octvc1.cursor.handle_object_get_handle_object.ulgetmode",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0,
|
|
|
|
"ulGetMode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[2],
|
|
|
|
{ "hHandleObjectGet", "octvc1.cursor.handle_object_get_handle_object.hhandleobjectget",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"hHandleObjectGet",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID;
|
|
|
|
|
|
|
|
void register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0],
|
|
|
|
{ "hObject", "octvc1.cursor.handle_object_get_sub_object_id.hobject",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"hObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1],
|
|
|
|
{ "ulGetMode", "octvc1.cursor.handle_object_get_sub_object_id.ulgetmode",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0,
|
|
|
|
"ulGetMode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2],
|
|
|
|
{ "ulSubObjectId", "octvc1.cursor.handle_object_get_sub_object_id.ulsubobjectid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulSubObjectId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_CURSOR_INDEX_GET[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_INDEX_GET;
|
|
|
|
|
|
|
|
void register_tOCTVC1_CURSOR_INDEX_GET(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_INDEX_GET[0],
|
|
|
|
{ "ulIndex", "octvc1.cursor.index_get.ulindex",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulIndex",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_INDEX_GET[1],
|
|
|
|
{ "ulGetMode", "octvc1.cursor.index_get.ulgetmode",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0,
|
|
|
|
"ulGetMode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_CURSOR_INDEX_GET.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
int ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_INDEX_GET_SUB_INDEX;
|
|
|
|
|
|
|
|
void register_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[0],
|
|
|
|
{ "ulParentIndex", "octvc1.cursor.index_get_sub_index.ulparentindex",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulParentIndex",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[1],
|
|
|
|
{ "ulGetMode", "octvc1.cursor.index_get_sub_index.ulgetmode",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0,
|
|
|
|
"ulGetMode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[2],
|
|
|
|
{ "ulSubIndex", "octvc1.cursor.index_get_sub_index.ulsubindex",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulSubIndex",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_CURSOR_INDEX_GET_SUB_INDEX.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:05:21 +00:00
|
|
|
/****************************************************************************
|
|
|
|
COMMON dissectors
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_GET)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_CURSOR_HANDLE_GET (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_CURSOR_HANDLE_GET));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_CURSOR_HANDLE_GET);
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET, hObject), "hObject:tOCTVC1_HANDLE");
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET, ulGetMode);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_CURSOR_HANDLE_GET_HANDLE (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE);
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE, hObject), "hObject:tOCTVC1_HANDLE");
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE, ulGetMode);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE, hSubObject), "hSubObject:tOCTVC1_HANDLE");
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT);
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, hObject), "hObject:tOCTVC1_HANDLE");
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, ulGetMode);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, hHandleObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, hHandleObject);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID);
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, hObject), "hObject:tOCTVC1_HANDLE");
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, ulGetMode);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, ulSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, ulSubObjectId);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_CURSOR_HANDLE_OBJECT_GET (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET, hObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET, hObject);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET, ulGetMode);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, hObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, hObject);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, ulGetMode);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, hHandleObjectGet), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, hHandleObjectGet);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, hObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, hObject);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulGetMode);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulSubObjectId);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_CURSOR_INDEX_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_INDEX_GET)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_CURSOR_INDEX_GET (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_CURSOR_INDEX_GET));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_CURSOR_INDEX_GET);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET, ulIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET, ulIndex);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET, ulGetMode);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulParentIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulParentIndex);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulGetMode);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulSubIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulSubIndex);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:05:21 +00:00
|
|
|
#include <octvc1_buffer.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_BUFFER_FORMAT_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_BUFFER_FORMAT_ENUM_UNKNOWN, "cOCTVC1_BUFFER_FORMAT_ENUM_UNKNOWN" },
|
|
|
|
{ cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_PCAP_TRACE, "cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_PCAP_TRACE" },
|
|
|
|
{ cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_FILE_SYS, "cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_FILE_SYS" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
#include <octvc1_eth.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_ETH_PORT_ID_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_ETH_PORT_ID_ENUM_0, "cOCTVC1_ETH_PORT_ID_ENUM_0" },
|
|
|
|
{ cOCTVC1_ETH_PORT_ID_ENUM_1, "cOCTVC1_ETH_PORT_ID_ENUM_1" },
|
|
|
|
{ cOCTVC1_ETH_PORT_ID_ENUM_2, "cOCTVC1_ETH_PORT_ID_ENUM_2" },
|
|
|
|
{ cOCTVC1_ETH_PORT_ID_ENUM_3, "cOCTVC1_ETH_PORT_ID_ENUM_3" },
|
|
|
|
{ cOCTVC1_ETH_PORT_ID_ENUM_INVALID, "cOCTVC1_ETH_PORT_ID_ENUM_INVALID" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
#include <octvc1_handle.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON Registered
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_HANDLE[1];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_HANDLE;
|
|
|
|
|
|
|
|
void register_tOCTVC1_HANDLE(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_HANDLE[0],
|
|
|
|
{ "aulHandle", "octvc1.handle.toctvc1_handle.aulhandle",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"aulHandle",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_HANDLE.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_OBJECT32_NAME[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_OBJECT32_NAME;
|
|
|
|
|
|
|
|
void register_tOCTVC1_OBJECT32_NAME(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_OBJECT32_NAME[0],
|
|
|
|
{ "ulObject32", "octvc1.handle.toctvc1_object32_name.ulobject32",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulObject32",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_OBJECT32_NAME[1],
|
|
|
|
{ "szDisplayName", "octvc1.handle.toctvc1_object32_name.szdisplayname",
|
|
|
|
FT_STRING, BASE_NONE, NULL, 0x0,
|
|
|
|
"szDisplayName",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_OBJECT32_NAME.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON dissectors
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_HANDLE)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_HANDLE (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_HANDLE));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_HANDLE);
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_HANDLE, aulHandle), "aulHandle");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<3; i++ )
|
|
|
|
{
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_HANDLE[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_HANDLE, aulHandle), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_HANDLE[0], tvb, offset,
|
|
|
|
4, temp_data, "[%d]: 0x%08x", i, temp_data );
|
|
|
|
}
|
|
|
|
offset+=4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_OBJECT32_NAME(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_OBJECT32_NAME)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_OBJECT32_NAME (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_OBJECT32_NAME));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_OBJECT32_NAME);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_OBJECT32_NAME[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_OBJECT32_NAME, ulObject32), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_OBJECT32_NAME[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_OBJECT32_NAME, ulObject32);
|
|
|
|
|
|
|
|
ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_OBJECT32_NAME[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_OBJECT32_NAME, szDisplayName), FALSE);
|
|
|
|
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_OBJECT32_NAME, szDisplayName);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:05:21 +00:00
|
|
|
#include <octvc1_ip.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_IP_VERSION_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_IP_VERSION_ENUM_4, "cOCTVC1_IP_VERSION_ENUM_4" },
|
|
|
|
{ cOCTVC1_IP_VERSION_ENUM_6, "cOCTVC1_IP_VERSION_ENUM_6" },
|
|
|
|
{ cOCTVC1_IP_VERSION_ENUM_INVALID, "cOCTVC1_IP_VERSION_ENUM_INVALID" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
#include <octvc1_udp.h>
|
|
|
|
|
|
|
|
#include <octvc1_vlan.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_VLAN_PROTOCOL_ID_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_VLAN_PROTOCOL_ID_ENUM_8100, "cOCTVC1_VLAN_PROTOCOL_ID_ENUM_8100" },
|
|
|
|
{ cOCTVC1_VLAN_PROTOCOL_ID_ENUM_88A8, "cOCTVC1_VLAN_PROTOCOL_ID_ENUM_88A8" },
|
|
|
|
{ cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9100, "cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9100" },
|
|
|
|
{ cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9200, "cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9200" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON Registered
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_VLAN_TAG[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_VLAN_TAG;
|
|
|
|
|
|
|
|
void register_tOCTVC1_VLAN_TAG(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_VLAN_TAG[0],
|
|
|
|
{ "ulPriority", "octvc1.vlan.tag.ulpriority",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulPriority",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_VLAN_TAG[1],
|
|
|
|
{ "ulVlanId", "octvc1.vlan.tag.ulvlanid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulVlanId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_VLAN_TAG[2],
|
|
|
|
{ "ulProtocolId", "octvc1.vlan.tag.ulprotocolid",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_VLAN_PROTOCOL_ID_ENUM), 0x0,
|
|
|
|
"ulProtocolId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_VLAN_TAG.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_VLAN_HEADER_INFO[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_VLAN_HEADER_INFO;
|
|
|
|
|
|
|
|
void register_tOCTVC1_VLAN_HEADER_INFO(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_VLAN_HEADER_INFO[0],
|
|
|
|
{ "ulNumVlanTag", "octvc1.vlan.header_info.ulnumvlantag",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulNumVlanTag",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_VLAN_HEADER_INFO[1],
|
|
|
|
{ "aVlanTag", "octvc1.vlan.header_info.avlantag",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"aVlanTag",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_VLAN_HEADER_INFO.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON dissectors
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_VLAN_TAG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_VLAN_TAG)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_VLAN_TAG (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_VLAN_TAG));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_VLAN_TAG);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_VLAN_TAG[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulPriority), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_VLAN_TAG[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 7 ) )
|
|
|
|
{
|
|
|
|
proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR);
|
|
|
|
proto_item_append_text(ti," [Out of range - (0..7)]" );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulPriority);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_VLAN_TAG[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulVlanId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_VLAN_TAG[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 4095 ) )
|
|
|
|
{
|
|
|
|
proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR);
|
|
|
|
proto_item_append_text(ti," [Out of range - (0..4095)]" );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulVlanId);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_VLAN_TAG[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulProtocolId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_VLAN_TAG[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulProtocolId);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_VLAN_HEADER_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_VLAN_HEADER_INFO)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_VLAN_HEADER_INFO (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_VLAN_HEADER_INFO));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_VLAN_HEADER_INFO);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_VLAN_HEADER_INFO[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_VLAN_HEADER_INFO, ulNumVlanTag), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_VLAN_HEADER_INFO[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > cOCTVC1_VLAN_MAX_TAG ) )
|
|
|
|
{
|
|
|
|
proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR);
|
|
|
|
proto_item_append_text(ti," [Out of range - (0..cOCTVC1_VLAN_MAX_TAG)]" );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_VLAN_HEADER_INFO, ulNumVlanTag);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_VLAN_HEADER_INFO, aVlanTag), "aVlanTag:tOCTVC1_VLAN_TAG");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<4; i++ )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
ti = proto_tree_add_text(sub_tree, tvb, offset,
|
|
|
|
sizeof(tOCTVC1_VLAN_TAG), "[%d]:", i);
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_VLAN_TAG( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#include <octvc1_mac.h>
|
|
|
|
|
|
|
|
#include <octvc1_list.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON Registered
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_LIST_HANDLE_GET[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_GET;
|
|
|
|
|
|
|
|
void register_tOCTVC1_LIST_HANDLE_GET(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_GET[0],
|
|
|
|
{ "ulNumHandle", "octvc1.list.handle_get.ulnumhandle",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulNumHandle",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_GET[1],
|
|
|
|
{ "aHandle", "octvc1.list.handle_get.ahandle",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"aHandle",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_LIST_HANDLE_GET.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID;
|
|
|
|
|
|
|
|
void register_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[0],
|
|
|
|
{ "hParent", "octvc1.list.handle_get_sub_object_id.hparent",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"hParent",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[1],
|
|
|
|
{ "ulNumSubObjectId", "octvc1.list.handle_get_sub_object_id.ulnumsubobjectid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulNumSubObjectId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[2],
|
|
|
|
{ "aSubObjectId", "octvc1.list.handle_get_sub_object_id.asubobjectid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"aSubObjectId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_OBJECT_GET;
|
|
|
|
|
|
|
|
void register_tOCTVC1_LIST_HANDLE_OBJECT_GET(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[0],
|
|
|
|
{ "ulNumHandleObject", "octvc1.list.handle_object_get.ulnumhandleobject",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulNumHandleObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[1],
|
|
|
|
{ "aHandleObject", "octvc1.list.handle_object_get.ahandleobject",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"aHandleObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_LIST_HANDLE_OBJECT_GET.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
int ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_NAME_OBJECT32_GET;
|
2016-01-20 17:05:21 +00:00
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
void register_tOCTVC1_LIST_NAME_OBJECT32_GET(void)
|
2016-01-20 17:05:21 +00:00
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
&ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[0],
|
|
|
|
{ "ulNumObject", "octvc1.list.name_object32_get.ulnumobject",
|
2016-01-20 17:05:21 +00:00
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
2016-01-20 17:06:10 +00:00
|
|
|
"ulNumObject",HFILL }
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
},
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
&ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[1],
|
|
|
|
{ "aNameObject32", "octvc1.list.name_object32_get.anameobject32",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"aNameObject32",HFILL }
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
&ws_htOCTVC1_LIST_NAME_OBJECT32_GET.ett
|
2016-01-20 17:05:21 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
int ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME;
|
2016-01-20 17:05:21 +00:00
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
void register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME(void)
|
2016-01-20 17:05:21 +00:00
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[0],
|
|
|
|
{ "hParent", "octvc1.list.handle_object_get_sub_object_id_name.hparent",
|
2016-01-20 17:05:21 +00:00
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
2016-01-20 17:06:10 +00:00
|
|
|
"hParent",HFILL }
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
},
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[1],
|
|
|
|
{ "ulNumObject", "octvc1.list.handle_object_get_sub_object_id_name.ulnumobject",
|
2016-01-20 17:05:21 +00:00
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
2016-01-20 17:06:10 +00:00
|
|
|
"ulNumObject",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[2],
|
|
|
|
{ "aNameObject32", "octvc1.list.handle_object_get_sub_object_id_name.anameobject32",
|
|
|
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
|
|
|
"aNameObject32",HFILL }
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
&ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME.ett
|
2016-01-20 17:05:21 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
int ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID;
|
2016-01-20 17:05:21 +00:00
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
void register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID(void)
|
2016-01-20 17:05:21 +00:00
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
static hf_register_info hf[] =
|
2016-01-20 17:05:21 +00:00
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0],
|
|
|
|
{ "hParent", "octvc1.list.handle_object_get_sub_object_id.hparent",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"hParent",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1],
|
|
|
|
{ "ulNumSubObjectId", "octvc1.list.handle_object_get_sub_object_id.ulnumsubobjectid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulNumSubObjectId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2],
|
|
|
|
{ "aSubObjectId", "octvc1.list.handle_object_get_sub_object_id.asubobjectid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"aSubObjectId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_LIST_INDEX_GET[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_INDEX_GET;
|
|
|
|
|
|
|
|
void register_tOCTVC1_LIST_INDEX_GET(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_INDEX_GET[0],
|
|
|
|
{ "ulNumIndex", "octvc1.list.index_get.ulnumindex",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulNumIndex",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_INDEX_GET[1],
|
|
|
|
{ "aIndex", "octvc1.list.index_get.aindex",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"aIndex",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_LIST_INDEX_GET.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_INDEX_GET_SUB_INDEX;
|
|
|
|
|
|
|
|
void register_tOCTVC1_LIST_INDEX_GET_SUB_INDEX(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[0],
|
|
|
|
{ "ulParentIndex", "octvc1.list.index_get_sub_index.ulparentindex",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulParentIndex",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[1],
|
|
|
|
{ "ulNumIndex", "octvc1.list.index_get_sub_index.ulnumindex",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulNumIndex",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[2],
|
|
|
|
{ "aIndex", "octvc1.list.index_get_sub_index.aindex",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"aIndex",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_LIST_INDEX_GET_SUB_INDEX.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON dissectors
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_LIST_HANDLE_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_GET)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
2016-01-20 17:05:21 +00:00
|
|
|
"tOCTVC1_LIST_HANDLE_GET (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_LIST_HANDLE_GET));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_LIST_HANDLE_GET);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_GET[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET, ulNumHandle), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_GET[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET, ulNumHandle);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET, aHandle), "aHandle:tOCTVC1_HANDLE");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<100; i++ )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
ti = proto_tree_add_text(sub_tree, tvb, offset,
|
|
|
|
sizeof(tOCTVC1_HANDLE), "[%d]:", i);
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID);
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, hParent), "hParent:tOCTVC1_HANDLE");
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, ulNumSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, ulNumSubObjectId);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, aSubObjectId), "aSubObjectId");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<100; i++ )
|
|
|
|
{
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, aSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[2], tvb, offset,
|
|
|
|
4, temp_data, "[%d]: 0x%08x", i, temp_data );
|
|
|
|
}
|
|
|
|
offset+=4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_LIST_HANDLE_OBJECT_GET (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET, ulNumHandleObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET, ulNumHandleObject);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET, aHandleObject), "aHandleObject");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<100; i++ )
|
|
|
|
{
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET, aHandleObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[1], tvb, offset,
|
|
|
|
4, temp_data, "[%d]: 0x%08x", i, temp_data );
|
|
|
|
}
|
|
|
|
offset+=4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
unsigned int dissect_tOCTVC1_LIST_NAME_OBJECT32_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_LIST_NAME_OBJECT32_GET)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_LIST_NAME_OBJECT32_GET (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_LIST_NAME_OBJECT32_GET));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_LIST_NAME_OBJECT32_GET);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_NAME_OBJECT32_GET, ulNumObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_NAME_OBJECT32_GET, ulNumObject);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_NAME_OBJECT32_GET, aNameObject32), "aNameObject32:tOCTVC1_OBJECT32_NAME");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<25; i++ )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
ti = proto_tree_add_text(sub_tree, tvb, offset,
|
|
|
|
sizeof(tOCTVC1_OBJECT32_NAME), "[%d]:", i);
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_OBJECT32_NAME( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, hParent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, hParent);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, ulNumObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, ulNumObject);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, aNameObject32), "aNameObject32:tOCTVC1_OBJECT32_NAME");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<25; i++ )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
proto_tree* sub_tree2;
|
|
|
|
ti = proto_tree_add_text(sub_tree, tvb, offset,
|
|
|
|
sizeof(tOCTVC1_OBJECT32_NAME), "[%d]:", i);
|
|
|
|
sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
offset = dissect_tOCTVC1_OBJECT32_NAME( tvb, pinfo, sub_tree2, offset, pExtValue );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2016-01-20 17:05:21 +00:00
|
|
|
unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, hParent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, hParent);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulNumSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulNumSubObjectId);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, aSubObjectId), "aSubObjectId");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<100; i++ )
|
|
|
|
{
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, aSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], tvb, offset,
|
|
|
|
4, temp_data, "[%d]: 0x%08x", i, temp_data );
|
|
|
|
}
|
|
|
|
offset+=4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_LIST_INDEX_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_LIST_INDEX_GET)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_LIST_INDEX_GET (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_LIST_INDEX_GET));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_LIST_INDEX_GET);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_INDEX_GET[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET, ulNumIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_INDEX_GET[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET, ulNumIndex);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET, aIndex), "aIndex");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<100; i++ )
|
|
|
|
{
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_INDEX_GET[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET, aIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_INDEX_GET[1], tvb, offset,
|
|
|
|
4, temp_data, "[%d]: 0x%08x", i, temp_data );
|
|
|
|
}
|
|
|
|
offset+=4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_LIST_INDEX_GET_SUB_INDEX(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_LIST_INDEX_GET_SUB_INDEX)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_LIST_INDEX_GET_SUB_INDEX (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_LIST_INDEX_GET_SUB_INDEX));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_LIST_INDEX_GET_SUB_INDEX);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, ulParentIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, ulParentIndex);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, ulNumIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, ulNumIndex);
|
|
|
|
|
|
|
|
ti = proto_tree_add_text(field_tree, tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, aIndex), "aIndex");
|
|
|
|
{
|
|
|
|
int i, ofs=offset;
|
|
|
|
proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type);
|
|
|
|
for( i=0; i<100; i++ )
|
|
|
|
{
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, aIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[2], tvb, offset,
|
|
|
|
4, temp_data, "[%d]: 0x%08x", i, temp_data );
|
|
|
|
}
|
|
|
|
offset+=4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:05:21 +00:00
|
|
|
#include <octvc1_msg.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_MSG_FLAGS_MASK[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_MSG_FLAGS_MASK_RETRANSMIT, "cOCTVC1_MSG_FLAGS_MASK_RETRANSMIT" },
|
|
|
|
{ cOCTVC1_MSG_FLAGS_MASK_NO_RESPONSE, "cOCTVC1_MSG_FLAGS_MASK_NO_RESPONSE" },
|
|
|
|
{ cOCTVC1_MSG_FLAGS_MASK_LONG_PROCESSING, "cOCTVC1_MSG_FLAGS_MASK_LONG_PROCESSING" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON Registered
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_MSG_HEADER[6];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_MSG_HEADER;
|
|
|
|
|
|
|
|
void register_tOCTVC1_MSG_HEADER(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_MSG_HEADER[0],
|
|
|
|
{ "ulLength", "octvc1.msg.header.ullength",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulLength",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_MSG_HEADER[1],
|
|
|
|
{ "ulTransactionId", "octvc1.msg.header.ultransactionid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulTransactionId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_MSG_HEADER[2],
|
|
|
|
{ "ul_Type_R_CmdId", "octvc1.msg.header.ul_type_r_cmdid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ul_Type_R_CmdId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_MSG_HEADER[3],
|
|
|
|
{ "ulSessionId", "octvc1.msg.header.ulsessionid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulSessionId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_MSG_HEADER[4],
|
|
|
|
{ "ulReturnCode", "octvc1.msg.header.ulreturncode",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulReturnCode",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_MSG_HEADER[5],
|
|
|
|
{ "ulUserInfo", "octvc1.msg.header.uluserinfo",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulUserInfo",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_MSG_HEADER.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_EVENT_HEADER[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_EVENT_HEADER;
|
|
|
|
|
|
|
|
void register_tOCTVC1_EVENT_HEADER(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_EVENT_HEADER[0],
|
|
|
|
{ "ulLength", "octvc1.msg.toctvc1_event_header.ullength",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulLength",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_EVENT_HEADER[1],
|
|
|
|
{ "ulEventId", "octvc1.msg.toctvc1_event_header.uleventid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulEventId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_EVENT_HEADER[2],
|
|
|
|
{ "ulUserEventId", "octvc1.msg.toctvc1_event_header.ulusereventid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulUserEventId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_EVENT_HEADER.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON dissectors
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_MSG_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_MSG_HEADER)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_MSG_HEADER (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_MSG_HEADER));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_MSG_HEADER);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulLength);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulTransactionId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulTransactionId);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ul_Type_R_CmdId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ul_Type_R_CmdId);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[3], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulSessionId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[3], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulSessionId);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[4], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulReturnCode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[4], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulReturnCode);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[5], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulUserInfo), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[5], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulUserInfo);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_EVENT_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_EVENT_HEADER)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_EVENT_HEADER (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_EVENT_HEADER));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_EVENT_HEADER);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_EVENT_HEADER[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_EVENT_HEADER[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulLength);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_EVENT_HEADER[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulEventId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_EVENT_HEADER[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulEventId);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_EVENT_HEADER[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulUserEventId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_EVENT_HEADER[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulUserEventId);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#include <octvc1_log.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_LOG_TYPE_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_LOG_TYPE_ENUM_LOG, "cOCTVC1_LOG_TYPE_ENUM_LOG" },
|
|
|
|
{ cOCTVC1_LOG_TYPE_ENUM_TRACE, "cOCTVC1_LOG_TYPE_ENUM_TRACE" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_LOG_LEVEL_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_LOG_LEVEL_ENUM_EMERGENCY, "cOCTVC1_LOG_LEVEL_ENUM_EMERGENCY" },
|
|
|
|
{ cOCTVC1_LOG_LEVEL_ENUM_ALERT, "cOCTVC1_LOG_LEVEL_ENUM_ALERT" },
|
|
|
|
{ cOCTVC1_LOG_LEVEL_ENUM_CRITICAL, "cOCTVC1_LOG_LEVEL_ENUM_CRITICAL" },
|
|
|
|
{ cOCTVC1_LOG_LEVEL_ENUM_ERROR, "cOCTVC1_LOG_LEVEL_ENUM_ERROR" },
|
|
|
|
{ cOCTVC1_LOG_LEVEL_ENUM_WARNING, "cOCTVC1_LOG_LEVEL_ENUM_WARNING" },
|
|
|
|
{ cOCTVC1_LOG_LEVEL_ENUM_NOTICE, "cOCTVC1_LOG_LEVEL_ENUM_NOTICE" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
const value_string vals_tOCTVC1_LOG_PAYLOAD_TYPE_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_DATA, "cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_DATA" },
|
|
|
|
{ cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_STRING, "cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_STRING" },
|
|
|
|
{ cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_RC, "cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_RC" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:05:21 +00:00
|
|
|
const value_string vals_tOCTVC1_LOG_TRACE_MASK[] =
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_SYSTEM, "cOCTVC1_LOG_TRACE_MASK_SYSTEM" },
|
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_IPC_MESSAGE, "cOCTVC1_LOG_TRACE_MASK_IPC_MESSAGE" },
|
2016-01-20 17:05:21 +00:00
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_USER_0, "cOCTVC1_LOG_TRACE_MASK_USER_0" },
|
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_USER_1, "cOCTVC1_LOG_TRACE_MASK_USER_1" },
|
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_USER_2, "cOCTVC1_LOG_TRACE_MASK_USER_2" },
|
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_USER_3, "cOCTVC1_LOG_TRACE_MASK_USER_3" },
|
2016-01-20 17:06:10 +00:00
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_USER_4, "cOCTVC1_LOG_TRACE_MASK_USER_4" },
|
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_USER_5, "cOCTVC1_LOG_TRACE_MASK_USER_5" },
|
2016-01-20 17:05:21 +00:00
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_NONE, "cOCTVC1_LOG_TRACE_MASK_NONE" },
|
|
|
|
{ cOCTVC1_LOG_TRACE_MASK_ALL, "cOCTVC1_LOG_TRACE_MASK_ALL" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON Registered
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_LOG_HEADER[4];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_LOG_HEADER;
|
|
|
|
|
|
|
|
void register_tOCTVC1_LOG_HEADER(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LOG_HEADER[0],
|
|
|
|
{ "ulId", "octvc1.log.header.ulid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LOG_HEADER[1],
|
|
|
|
{ "ulTime", "octvc1.log.header.ultime",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulTime",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LOG_HEADER[2],
|
|
|
|
{ "hProcess", "octvc1.log.header.hprocess",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"hProcess",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_LOG_HEADER[3],
|
|
|
|
{ "ul_Type_Info_Length", "octvc1.log.header.ul_type_info_length",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ul_Type_Info_Length",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_LOG_HEADER.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON dissectors
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_LOG_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_LOG_HEADER)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_LOG_HEADER (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_LOG_HEADER));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_LOG_HEADER);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LOG_HEADER[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ulId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LOG_HEADER[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ulId);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LOG_HEADER[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ulTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LOG_HEADER[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ulTime);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LOG_HEADER[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, hProcess), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LOG_HEADER[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, hProcess);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LOG_HEADER[3], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ul_Type_Info_Length), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LOG_HEADER[3], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ul_Type_Info_Length);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#include <octvc1_file.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_FILE_TYPE_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_FILE_TYPE_ENUM_NONE, "cOCTVC1_FILE_TYPE_ENUM_NONE" },
|
|
|
|
{ cOCTVC1_FILE_TYPE_ENUM_TEXT, "cOCTVC1_FILE_TYPE_ENUM_TEXT" },
|
|
|
|
{ cOCTVC1_FILE_TYPE_ENUM_BIN, "cOCTVC1_FILE_TYPE_ENUM_BIN" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_FILE_FORMAT_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_FILE_FORMAT_ENUM_NONE, "cOCTVC1_FILE_FORMAT_ENUM_NONE" },
|
|
|
|
{ cOCTVC1_FILE_FORMAT_ENUM_LOG, "cOCTVC1_FILE_FORMAT_ENUM_LOG" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON Registered
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_FILE_HEADER[4];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_FILE_HEADER;
|
|
|
|
|
|
|
|
void register_tOCTVC1_FILE_HEADER(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_FILE_HEADER[0],
|
|
|
|
{ "ulMagic", "octvc1.file.header.ulmagic",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulMagic",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_FILE_HEADER[1],
|
|
|
|
{ "ul_Type_Ver", "octvc1.file.header.ul_type_ver",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ul_Type_Ver",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_FILE_HEADER[2],
|
2016-01-20 17:06:10 +00:00
|
|
|
{ "ulTimeStamp", "octvc1.file.header.ultimestamp",
|
2016-01-20 17:05:21 +00:00
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
2016-01-20 17:06:10 +00:00
|
|
|
"ulTimeStamp",HFILL }
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_FILE_HEADER[3],
|
2016-01-20 17:06:10 +00:00
|
|
|
{ "ul_Align_HdrSize", "octvc1.file.header.ul_align_hdrsize",
|
2016-01-20 17:05:21 +00:00
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
2016-01-20 17:06:10 +00:00
|
|
|
"ul_Align_HdrSize",HFILL }
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_FILE_HEADER.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON dissectors
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_FILE_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_FILE_HEADER)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_FILE_HEADER (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_FILE_HEADER));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_FILE_HEADER);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
2016-01-20 17:06:10 +00:00
|
|
|
if( temp_data == cOCTVC1_FILE_ENDIAN_MAGIC_WORD)
|
2016-01-20 17:05:21 +00:00
|
|
|
{ ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[0], tvb, offset,
|
2016-01-20 17:06:10 +00:00
|
|
|
mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulMagic),temp_data, "cOCTVC1_FILE_ENDIAN_MAGIC_WORD (0x%08x)",temp_data);
|
2016-01-20 17:05:21 +00:00
|
|
|
}else {
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulMagic), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulMagic);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ul_Type_Ver), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ul_Type_Ver);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[2], tvb, offset,
|
2016-01-20 17:06:10 +00:00
|
|
|
mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulTimeStamp), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
2016-01-20 17:05:21 +00:00
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
2016-01-20 17:06:10 +00:00
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulTimeStamp);
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[3], tvb, offset,
|
2016-01-20 17:06:10 +00:00
|
|
|
mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ul_Align_HdrSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
2016-01-20 17:05:21 +00:00
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[3], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
2016-01-20 17:06:10 +00:00
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ul_Align_HdrSize);
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
#include <octvc1_module.h>
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
/****************************************************************************
|
2016-01-20 17:06:10 +00:00
|
|
|
MODULE API ENUMERATION STRING VALUES
|
2016-01-20 17:05:21 +00:00
|
|
|
****************************************************************************/
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
const value_string vals_tOCTVC1_MODULE_ID_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_GENERIC, "cOCTVC1_MODULE_ID_ENUM_GENERIC" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_MAIN, "cOCTVC1_MODULE_ID_ENUM_MAIN" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_PKT_API, "cOCTVC1_MODULE_ID_ENUM_PKT_API" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_CTRL, "cOCTVC1_MODULE_ID_ENUM_CTRL" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_LICENSING, "cOCTVC1_MODULE_ID_ENUM_LICENSING" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_TEST, "cOCTVC1_MODULE_ID_ENUM_TEST" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_HW, "cOCTVC1_MODULE_ID_ENUM_HW" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_IRSC, "cOCTVC1_MODULE_ID_ENUM_IRSC" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_SDR, "cOCTVC1_MODULE_ID_ENUM_SDR" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_GSM, "cOCTVC1_MODULE_ID_ENUM_GSM" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_LTE, "cOCTVC1_MODULE_ID_ENUM_LTE" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_UMTS, "cOCTVC1_MODULE_ID_ENUM_UMTS" },
|
|
|
|
{ cOCTVC1_MODULE_ID_ENUM_RUS, "cOCTVC1_MODULE_ID_ENUM_RUS" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
2016-01-20 17:05:21 +00:00
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
#include <octvc1_radio.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_RADIO_STANDARD_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_ENUM_GSM, "cOCTVC1_RADIO_STANDARD_ENUM_GSM" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_ENUM_UMTS, "cOCTVC1_RADIO_STANDARD_ENUM_UMTS" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_ENUM_LTE, "cOCTVC1_RADIO_STANDARD_ENUM_LTE" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_ENUM_INVALID" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_450, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_450" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_480, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_480" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_750, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_750" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_850, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_850" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_E_900, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_E_900" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_P_900, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_P_900" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_R_900, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_R_900" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_DCS_1800, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_DCS_1800" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_PCS_1900, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_PCS_1900" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_LAST, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_LAST" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_INVALID" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_1, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_1" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_2, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_2" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_3, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_3" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_4, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_4" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_5, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_5" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_8, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_8" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_2, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_2" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_4, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_4" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_5, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_5" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_LAST, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_LAST" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_INVALID" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_1, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_1" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_2, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_2" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_3, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_3" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_4, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_4" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_5, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_5" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_6, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_6" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_7, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_7" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_8, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_8" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_9, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_9" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_10, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_10" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_11, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_11" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_12, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_12" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_13, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_13" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_14, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_14" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_15, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_15" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_16, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_16" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_17, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_17" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_18, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_18" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_19, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_19" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_20, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_20" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_21, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_21" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_22, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_22" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_23, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_23" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_24, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_24" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_25, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_25" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_26, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_26" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_27, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_27" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_28, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_28" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_29, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_29" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_30, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_30" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_31, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_31" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_32, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_32" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_33, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_33" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_34, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_34" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_35, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_35" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_36, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_36" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_37, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_37" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_38, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_38" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_39, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_39" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_40, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_40" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_41, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_41" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_42, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_42" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_43, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_43" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_44, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_44" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_LAST, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_LAST" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_INVALID" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_INVALID, "cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_INVALID" },
|
|
|
|
{ cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_TEXT, "cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_TEXT" },
|
|
|
|
{ cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_BIN, "cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_BIN" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_RADIO_ID_DIRECTION_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_RADIO_ID_DIRECTION_ENUM_INVALID, "cOCTVC1_RADIO_ID_DIRECTION_ENUM_INVALID" },
|
|
|
|
{ cOCTVC1_RADIO_ID_DIRECTION_ENUM_DOWNLINK, "cOCTVC1_RADIO_ID_DIRECTION_ENUM_DOWNLINK" },
|
|
|
|
{ cOCTVC1_RADIO_ID_DIRECTION_ENUM_UPLINK, "cOCTVC1_RADIO_ID_DIRECTION_ENUM_UPLINK" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_1P4MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_1P4MHZ" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_3MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_3MHZ" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_5MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_5MHZ" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_10MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_10MHZ" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_15MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_15MHZ" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_20MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_20MHZ" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_LAST, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_LAST" },
|
|
|
|
{ cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_INVALID" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_MGC, "cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_MGC" },
|
|
|
|
{ cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_FAST_ATK, "cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_FAST_ATK" },
|
|
|
|
{ cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_SLOW_ATK, "cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_SLOW_ATK" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
#include <octvc1_api.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON Registered
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_API_SESSION_INFO[4];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_API_SESSION_INFO;
|
|
|
|
|
|
|
|
void register_tOCTVC1_API_SESSION_INFO(void)
|
2016-01-20 17:05:21 +00:00
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
&ahf_tOCTVC1_API_SESSION_INFO[0],
|
|
|
|
{ "ulActiveFlag", "octvc1.api.session_info.ulactiveflag",
|
|
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0x0,
|
|
|
|
"ulActiveFlag",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_API_SESSION_INFO[1],
|
|
|
|
{ "ulSessionId", "octvc1.api.session_info.ulsessionid",
|
2016-01-20 17:05:21 +00:00
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
2016-01-20 17:06:10 +00:00
|
|
|
"ulSessionId",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_API_SESSION_INFO[2],
|
|
|
|
{ "ulTransportSessionIndex", "octvc1.api.session_info.ultransportsessionindex",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulTransportSessionIndex",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_API_SESSION_INFO[3],
|
|
|
|
{ "ulTransportSessionId", "octvc1.api.session_info.ultransportsessionid",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulTransportSessionId",HFILL }
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
&ws_htOCTVC1_API_SESSION_INFO.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_API_SESSION_EVT_INFO[2];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_API_SESSION_EVT_INFO;
|
|
|
|
|
|
|
|
void register_tOCTVC1_API_SESSION_EVT_INFO(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_API_SESSION_EVT_INFO[0],
|
|
|
|
{ "ulEvtActiveFlag", "octvc1.api.session_evt_info.ulevtactiveflag",
|
|
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0x0,
|
|
|
|
"ulEvtActiveFlag",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_API_SESSION_EVT_INFO[1],
|
|
|
|
{ "lEvtEnablerCnt", "octvc1.api.session_evt_info.levtenablercnt",
|
|
|
|
FT_INT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"lEvtEnablerCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_API_SESSION_EVT_INFO.ett
|
2016-01-20 17:05:21 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON dissectors
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
2016-01-20 17:06:10 +00:00
|
|
|
unsigned int dissect_tOCTVC1_API_SESSION_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
2016-01-20 17:05:21 +00:00
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
2016-01-20 17:06:10 +00:00
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_API_SESSION_INFO)))
|
2016-01-20 17:05:21 +00:00
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
2016-01-20 17:06:10 +00:00
|
|
|
"tOCTVC1_API_SESSION_INFO (%d byte%s) - Malformated packet...expected(%ld)",
|
2016-01-20 17:05:21 +00:00
|
|
|
bytes, plurality(bytes, "", "s"),
|
2016-01-20 17:06:10 +00:00
|
|
|
sizeof(tOCTVC1_API_SESSION_INFO));
|
2016-01-20 17:05:21 +00:00
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
2016-01-20 17:06:10 +00:00
|
|
|
bytes = sizeof(tOCTVC1_API_SESSION_INFO);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
2016-01-20 17:05:21 +00:00
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_API_SESSION_INFO[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulActiveFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_API_SESSION_INFO[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulActiveFlag), temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulActiveFlag);
|
|
|
|
|
2016-01-20 17:05:21 +00:00
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_API_SESSION_INFO[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulSessionId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
2016-01-20 17:05:21 +00:00
|
|
|
}else
|
|
|
|
{
|
2016-01-20 17:06:10 +00:00
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_API_SESSION_INFO[1], tvb, offset,
|
|
|
|
4, temp_data);
|
2016-01-20 17:05:21 +00:00
|
|
|
}
|
2016-01-20 17:06:10 +00:00
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulSessionId);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_API_SESSION_INFO[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulTransportSessionIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_API_SESSION_INFO[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulTransportSessionIndex);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_API_SESSION_INFO[3], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulTransportSessionId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_API_SESSION_INFO[3], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulTransportSessionId);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_API_SESSION_EVT_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_API_SESSION_EVT_INFO)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_API_SESSION_EVT_INFO (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_API_SESSION_EVT_INFO));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_API_SESSION_EVT_INFO);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_API_SESSION_EVT_INFO[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, ulEvtActiveFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_API_SESSION_EVT_INFO[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, ulEvtActiveFlag), temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, ulEvtActiveFlag);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_API_SESSION_EVT_INFO[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, lEvtEnablerCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_API_SESSION_EVT_INFO[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, lEvtEnablerCnt);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#include <octvc1_process.h>
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE API ENUMERATION STRING VALUES
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_PROCESS_TYPE_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_PROCESS_TYPE_ENUM_INVALID, "cOCTVC1_PROCESS_TYPE_ENUM_INVALID" },
|
|
|
|
{ cOCTVC1_PROCESS_TYPE_ENUM_CONTROL, "cOCTVC1_PROCESS_TYPE_ENUM_CONTROL" },
|
|
|
|
{ cOCTVC1_PROCESS_TYPE_ENUM_GSM_SCHED, "cOCTVC1_PROCESS_TYPE_ENUM_GSM_SCHED" },
|
|
|
|
{ cOCTVC1_PROCESS_TYPE_ENUM_GSM_DL, "cOCTVC1_PROCESS_TYPE_ENUM_GSM_DL" },
|
|
|
|
{ cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULIM, "cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULIM" },
|
|
|
|
{ cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULOM, "cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULOM" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_PROCESS_STATE_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_PROCESS_STATE_ENUM_INVALID, "cOCTVC1_PROCESS_STATE_ENUM_INVALID" },
|
|
|
|
{ cOCTVC1_PROCESS_STATE_ENUM_RESET, "cOCTVC1_PROCESS_STATE_ENUM_RESET" },
|
|
|
|
{ cOCTVC1_PROCESS_STATE_ENUM_CREATE, "cOCTVC1_PROCESS_STATE_ENUM_CREATE" },
|
|
|
|
{ cOCTVC1_PROCESS_STATE_ENUM_WAITING, "cOCTVC1_PROCESS_STATE_ENUM_WAITING" },
|
|
|
|
{ cOCTVC1_PROCESS_STATE_ENUM_READY, "cOCTVC1_PROCESS_STATE_ENUM_READY" },
|
|
|
|
{ cOCTVC1_PROCESS_STATE_ENUM_RUNNING, "cOCTVC1_PROCESS_STATE_ENUM_RUNNING" },
|
|
|
|
{ cOCTVC1_PROCESS_STATE_ENUM_ERROR, "cOCTVC1_PROCESS_STATE_ENUM_ERROR" },
|
|
|
|
{ cOCTVC1_PROCESS_STATE_ENUM_HALT, "cOCTVC1_PROCESS_STATE_ENUM_HALT" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
const value_string vals_tOCTVC1_PROCESS_TASK_STATE_ENUM[] =
|
|
|
|
{
|
|
|
|
{ cOCTVC1_PROCESS_TASK_STATE_ENUM_INVALID, "cOCTVC1_PROCESS_TASK_STATE_ENUM_INVALID" },
|
|
|
|
{ cOCTVC1_PROCESS_TASK_STATE_ENUM_ERROR, "cOCTVC1_PROCESS_TASK_STATE_ENUM_ERROR" },
|
|
|
|
{ cOCTVC1_PROCESS_TASK_STATE_ENUM_IDLE, "cOCTVC1_PROCESS_TASK_STATE_ENUM_IDLE" },
|
|
|
|
{ cOCTVC1_PROCESS_TASK_STATE_ENUM_PENDING, "cOCTVC1_PROCESS_TASK_STATE_ENUM_PENDING" },
|
|
|
|
{ cOCTVC1_PROCESS_TASK_STATE_ENUM_RUNNING, "cOCTVC1_PROCESS_TASK_STATE_ENUM_RUNNING" },
|
|
|
|
{ cOCTVC1_PROCESS_TASK_STATE_ENUM_WAIT_TIMER, "cOCTVC1_PROCESS_TASK_STATE_ENUM_WAIT_TIMER" },
|
|
|
|
{ 0, NULL }
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON Registered
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_PROCESS_ERROR[6];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_PROCESS_ERROR;
|
|
|
|
|
|
|
|
void register_tOCTVC1_PROCESS_ERROR(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_ERROR[0],
|
|
|
|
{ "ulInputOverflowCnt", "octvc1.process.error.ulinputoverflowcnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulInputOverflowCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_ERROR[1],
|
|
|
|
{ "ulInputUnderflowCnt", "octvc1.process.error.ulinputunderflowcnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulInputUnderflowCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_ERROR[2],
|
|
|
|
{ "ulOutputOverflowCnt", "octvc1.process.error.uloutputoverflowcnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulOutputOverflowCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_ERROR[3],
|
|
|
|
{ "ulOutputUnderflowCnt", "octvc1.process.error.uloutputunderflowcnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulOutputUnderflowCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_ERROR[4],
|
|
|
|
{ "ulIpcMsgMissCnt", "octvc1.process.error.ulipcmsgmisscnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulIpcMsgMissCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_ERROR[5],
|
|
|
|
{ "ulLastErrorRc", "octvc1.process.error.ullasterrorrc",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulLastErrorRc",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_PROCESS_ERROR.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_PROCESS_TASK_STATS[10];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_PROCESS_TASK_STATS;
|
|
|
|
|
|
|
|
void register_tOCTVC1_PROCESS_TASK_STATS(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[0],
|
|
|
|
{ "ulUserData", "octvc1.process.task_stats.uluserdata",
|
|
|
|
FT_UINT32,BASE_HEX, NULL, 0x0,
|
|
|
|
"ulUserData",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[1],
|
|
|
|
{ "ulMaxExecTimeUs", "octvc1.process.task_stats.ulmaxexectimeus",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulMaxExecTimeUs",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[2],
|
|
|
|
{ "ulAvgExecTimeUs", "octvc1.process.task_stats.ulavgexectimeus",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulAvgExecTimeUs",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[3],
|
|
|
|
{ "ulLastExecTimeUs", "octvc1.process.task_stats.ullastexectimeus",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulLastExecTimeUs",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[4],
|
|
|
|
{ "ulMaxExecCacheMissCnt", "octvc1.process.task_stats.ulmaxexeccachemisscnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulMaxExecCacheMissCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[5],
|
|
|
|
{ "ulLastExecCacheMissCnt", "octvc1.process.task_stats.ullastexeccachemisscnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulLastExecCacheMissCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[6],
|
|
|
|
{ "ulExecCnt", "octvc1.process.task_stats.ulexeccnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulExecCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[7],
|
|
|
|
{ "ulDoneCnt", "octvc1.process.task_stats.uldonecnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulDoneCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[8],
|
|
|
|
{ "ulErrorCnt", "octvc1.process.task_stats.ulerrorcnt",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulErrorCnt",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_TASK_STATS[9],
|
|
|
|
{ "State", "octvc1.process.task_stats.state",
|
|
|
|
FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_PROCESS_TASK_STATE_ENUM), 0x0,
|
|
|
|
"State",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_PROCESS_TASK_STATS.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[3];
|
|
|
|
tWS_ENTITY_HANDLE ws_htOCTVC1_PROCESS_CPU_USAGE_STATS;
|
|
|
|
|
|
|
|
void register_tOCTVC1_PROCESS_CPU_USAGE_STATS(void)
|
|
|
|
{
|
|
|
|
static hf_register_info hf[] =
|
|
|
|
{
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[0],
|
|
|
|
{ "ulProcessCpuUsagePercent", "octvc1.process.cpu_usage_stats.ulprocesscpuusagepercent",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulProcessCpuUsagePercent",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[1],
|
|
|
|
{ "ulProcessCpuUsageMinPercent", "octvc1.process.cpu_usage_stats.ulprocesscpuusageminpercent",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulProcessCpuUsageMinPercent",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
&ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[2],
|
|
|
|
{ "ulProcessCpuUsageMaxPercent", "octvc1.process.cpu_usage_stats.ulprocesscpuusagemaxpercent",
|
|
|
|
FT_UINT32,BASE_DEC, NULL, 0x0,
|
|
|
|
"ulProcessCpuUsageMaxPercent",HFILL }
|
|
|
|
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
static gint* ett[] =
|
|
|
|
{
|
|
|
|
&ws_htOCTVC1_PROCESS_CPU_USAGE_STATS.ett
|
|
|
|
};
|
|
|
|
|
|
|
|
proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) );
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/****************************************************************************
|
|
|
|
COMMON dissectors
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_PROCESS_ERROR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_PROCESS_ERROR)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_PROCESS_ERROR (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_PROCESS_ERROR));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_PROCESS_ERROR);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulInputOverflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulInputOverflowCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulInputUnderflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulInputUnderflowCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulOutputOverflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulOutputOverflowCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[3], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulOutputUnderflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[3], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulOutputUnderflowCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[4], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulIpcMsgMissCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[4], tvb, offset,
|
|
|
|
4, temp_data);
|
2016-01-20 17:05:21 +00:00
|
|
|
}
|
2016-01-20 17:06:10 +00:00
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulIpcMsgMissCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[5], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulLastErrorRc), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[5], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulLastErrorRc);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_PROCESS_TASK_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_PROCESS_TASK_STATS)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_PROCESS_TASK_STATS (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_PROCESS_TASK_STATS));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_PROCESS_TASK_STATS);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulUserData), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulUserData);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulMaxExecTimeUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulMaxExecTimeUs);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulAvgExecTimeUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulAvgExecTimeUs);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[3], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulLastExecTimeUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[3], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulLastExecTimeUs);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[4], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulMaxExecCacheMissCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[4], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulMaxExecCacheMissCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[5], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulLastExecCacheMissCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[5], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulLastExecCacheMissCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[6], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulExecCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[6], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulExecCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[7], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulDoneCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[7], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulDoneCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[8], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[8], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulErrorCnt);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[9], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, State), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[9], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, State);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int dissect_tOCTVC1_PROCESS_CPU_USAGE_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue )
|
|
|
|
{
|
|
|
|
proto_tree *field_tree = tree;
|
|
|
|
unsigned int offset_0 = offset;
|
|
|
|
gint bytes = tvb_length_remaining(tvb, offset);
|
|
|
|
if (bytes < (gint)(sizeof(tOCTVC1_PROCESS_CPU_USAGE_STATS)))
|
|
|
|
{
|
|
|
|
proto_tree_add_text(tree, tvb, offset, bytes,
|
|
|
|
"tOCTVC1_PROCESS_CPU_USAGE_STATS (%d byte%s) - Malformated packet...expected(%ld)",
|
|
|
|
bytes, plurality(bytes, "", "s"),
|
|
|
|
sizeof(tOCTVC1_PROCESS_CPU_USAGE_STATS));
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int temp_data = 0;
|
|
|
|
proto_item *ti;
|
|
|
|
bytes = sizeof(tOCTVC1_PROCESS_CPU_USAGE_STATS);
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[0], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsagePercent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[0], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsagePercent);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[1], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsageMinPercent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[1], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsageMinPercent);
|
|
|
|
|
|
|
|
temp_data = tvb_get_ntohl( tvb, offset );
|
|
|
|
if( pExtValue && (pExtValue->lValue == temp_data ) )
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[2], tvb, offset,
|
|
|
|
mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsageMaxPercent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
|
|
|
|
}else
|
|
|
|
{
|
|
|
|
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[2], tvb, offset,
|
|
|
|
4, temp_data);
|
|
|
|
}
|
|
|
|
offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsageMaxPercent);
|
|
|
|
|
2016-01-20 17:05:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
};
|
|
|
|
/****************************************************************************
|
|
|
|
MODULE REGISTERED EXPORTED FUNCTION
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
void ws_register_OCTVC1_common(void)
|
|
|
|
{
|
|
|
|
register_tOCTVC1_CURSOR_HANDLE_GET();
|
|
|
|
register_tOCTVC1_CURSOR_HANDLE_GET_HANDLE();
|
|
|
|
register_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT();
|
|
|
|
register_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID();
|
|
|
|
register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET();
|
|
|
|
register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT();
|
|
|
|
register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID();
|
|
|
|
register_tOCTVC1_CURSOR_INDEX_GET();
|
2016-01-20 17:06:10 +00:00
|
|
|
register_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX();
|
|
|
|
register_tOCTVC1_HANDLE();
|
|
|
|
register_tOCTVC1_OBJECT32_NAME();
|
2016-01-20 17:05:21 +00:00
|
|
|
register_tOCTVC1_VLAN_TAG();
|
|
|
|
register_tOCTVC1_VLAN_HEADER_INFO();
|
|
|
|
register_tOCTVC1_LIST_HANDLE_GET();
|
|
|
|
register_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID();
|
|
|
|
register_tOCTVC1_LIST_HANDLE_OBJECT_GET();
|
2016-01-20 17:06:10 +00:00
|
|
|
register_tOCTVC1_LIST_NAME_OBJECT32_GET();
|
|
|
|
register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME();
|
2016-01-20 17:05:21 +00:00
|
|
|
register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID();
|
|
|
|
register_tOCTVC1_LIST_INDEX_GET();
|
2016-01-20 17:06:10 +00:00
|
|
|
register_tOCTVC1_LIST_INDEX_GET_SUB_INDEX();
|
2016-01-20 17:05:21 +00:00
|
|
|
register_tOCTVC1_MSG_HEADER();
|
|
|
|
register_tOCTVC1_EVENT_HEADER();
|
|
|
|
register_tOCTVC1_LOG_HEADER();
|
|
|
|
register_tOCTVC1_FILE_HEADER();
|
2016-01-20 17:06:10 +00:00
|
|
|
register_tOCTVC1_API_SESSION_INFO();
|
|
|
|
register_tOCTVC1_API_SESSION_EVT_INFO();
|
|
|
|
register_tOCTVC1_PROCESS_ERROR();
|
|
|
|
register_tOCTVC1_PROCESS_TASK_STATS();
|
|
|
|
register_tOCTVC1_PROCESS_CPU_USAGE_STATS();
|
2016-01-20 17:05:21 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|