octsdr-2g-wireshark/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_common.c

2262 lines
70 KiB
C

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
File: octvc1_common.c
Copyright (c) 2014 Octasic Inc. All rights reserved.
Description: Contain the wireshark module dissector related functions
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation; either version 3 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 Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09)
$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) );
};
/****************************************************************************
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;
};
#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 }
};
#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) );
};
int ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[3];
tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID;
void register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID(void)
{
static hf_register_info hf[] =
{
{
&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) );
};
/****************************************************************************
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,
"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;
};
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;
};
#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 }
};
const value_string vals_tOCTVC1_LOG_TRACE_MASK[] =
{
{ cOCTVC1_LOG_TRACE_MASK_FNC_IN, "cOCTVC1_LOG_TRACE_MASK_FNC_IN" },
{ cOCTVC1_LOG_TRACE_MASK_FNC_OUT, "cOCTVC1_LOG_TRACE_MASK_FNC_OUT" },
{ cOCTVC1_LOG_TRACE_MASK_INFO, "cOCTVC1_LOG_TRACE_MASK_INFO" },
{ cOCTVC1_LOG_TRACE_MASK_DEBUG, "cOCTVC1_LOG_TRACE_MASK_DEBUG" },
{ 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" },
{ 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],
{ "ulReserved", "octvc1.file.header.ulreserved",
FT_UINT32,BASE_HEX, NULL, 0x0,
"ulReserved",HFILL }
},
{
&ahf_tOCTVC1_FILE_HEADER[3],
{ "ulHeaderSize", "octvc1.file.header.ulheadersize",
FT_UINT32,BASE_HEX, NULL, 0x0,
"ulHeaderSize",HFILL }
},
};
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 );
if( temp_data == cOCTVC1_FILE_MAGIC_BIG_ENDIAN)
{ ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[0], tvb, offset,
mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulMagic),temp_data, "cOCTVC1_FILE_MAGIC_BIG_ENDIAN (0x%08x)",temp_data);
}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,
mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulReserved), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
}else
{
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[2], tvb, offset,
4, temp_data);
}
offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulReserved);
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,
mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulHeaderSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data );
}else
{
ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[3], tvb, offset,
4, temp_data);
}
offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulHeaderSize);
}
return offset;
};
#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) );
};
/****************************************************************************
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;
};
/****************************************************************************
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();
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();
register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID();
register_tOCTVC1_LIST_INDEX_GET();
register_tOCTVC1_MSG_HEADER();
register_tOCTVC1_EVENT_HEADER();
register_tOCTVC1_LOG_HEADER();
register_tOCTVC1_FILE_HEADER();
register_tOCTVC1_HANDLE();
}