/* packet-tango.c * * Routines for IDL dissection * * Autogenerated from idl2wrs * Copyright 2001 Frank Singleton */ /* * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1999 - 2012 Gerald Combs */ /* * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "config.h" #include #include #include #include #include #include #include #ifdef _MSC_VER /* disable warning: "unreference local variable" */ #pragma warning(disable:4101) #endif #if defined(__GNUC__) #pragma GCC diagnostic ignored "-Wunused-function" #pragma GCC diagnostic ignored "-Wunused-variable" #endif void proto_register_giop_tango(void); void proto_reg_handoff_giop_tango(void); /* Initialise the protocol and subtree pointers */ static int proto_tango = -1; static gint ett_tango = -1; /* Initialise the initial Alignment */ static guint32 boundary = GIOP_HEADER_SIZE; /* initial value */ static int hf_operationrequest = -1;/* Request_Operation field */ /* Operation filters */ static int hf_Tango_Device_command_inout_command = -1; static int hf_Tango_Device_get_attribute_config_return_loop = -1; static int hf_Tango_Device_get_attribute_config_names_loop = -1; static int hf_Tango_Device_get_attribute_config_names = -1; static int hf_Tango_Device_set_attribute_config_new_conf_loop = -1; static int hf_Tango_Device_read_attributes_return_loop = -1; static int hf_Tango_Device_read_attributes_names_loop = -1; static int hf_Tango_Device_read_attributes_names = -1; static int hf_Tango_Device_write_attributes_values_loop = -1; static int hf_Tango_Device_black_box_return_loop = -1; static int hf_Tango_Device_black_box_return = -1; static int hf_Tango_Device_black_box_n = -1; static int hf_Tango_Device_command_list_query_return_loop = -1; static int hf_Tango_Device_command_query_command = -1; static int hf_Tango_Device_2_command_inout_2_command = -1; static int hf_Tango_Device_2_command_inout_2_source = -1; static int hf_Tango_Device_2_read_attributes_2_return_loop = -1; static int hf_Tango_Device_2_read_attributes_2_names_loop = -1; static int hf_Tango_Device_2_read_attributes_2_names = -1; static int hf_Tango_Device_2_read_attributes_2_source = -1; static int hf_Tango_Device_2_get_attribute_config_2_return_loop = -1; static int hf_Tango_Device_2_get_attribute_config_2_names_loop = -1; static int hf_Tango_Device_2_get_attribute_config_2_names = -1; static int hf_Tango_Device_2_command_list_query_2_return_loop = -1; static int hf_Tango_Device_2_command_query_2_command = -1; static int hf_Tango_Device_2_command_inout_history_2_return_loop = -1; static int hf_Tango_Device_2_command_inout_history_2_command = -1; static int hf_Tango_Device_2_command_inout_history_2_n = -1; static int hf_Tango_Device_2_read_attribute_history_2_return_loop = -1; static int hf_Tango_Device_2_read_attribute_history_2_name = -1; static int hf_Tango_Device_2_read_attribute_history_2_n = -1; static int hf_Tango_Device_3_read_attributes_3_return_loop = -1; static int hf_Tango_Device_3_read_attributes_3_names_loop = -1; static int hf_Tango_Device_3_read_attributes_3_names = -1; static int hf_Tango_Device_3_read_attributes_3_source = -1; static int hf_Tango_Device_3_write_attributes_3_values_loop = -1; static int hf_Tango_Device_3_read_attribute_history_3_return_loop = -1; static int hf_Tango_Device_3_read_attribute_history_3_name = -1; static int hf_Tango_Device_3_read_attribute_history_3_n = -1; static int hf_Tango_Device_3_get_attribute_config_3_return_loop = -1; static int hf_Tango_Device_3_get_attribute_config_3_names_loop = -1; static int hf_Tango_Device_3_get_attribute_config_3_names = -1; static int hf_Tango_Device_3_set_attribute_config_3_new_conf_loop = -1; /* Attribute filters */ static int hf_get_Tango_Device_name_name = -1; static int hf_get_Tango_Device_description_description = -1; static int hf_get_Tango_Device_state_state = -1; static int hf_get_Tango_Device_status_status = -1; static int hf_get_Tango_Device_adm_name_adm_name = -1; /* Struct filters */ static int hf_Tango_DevVarLongStringArray_lvalue_loop = -1; static int hf_Tango_DevVarLongStringArray_lvalue = -1; static int hf_Tango_DevVarLongStringArray_svalue_loop = -1; static int hf_Tango_DevVarLongStringArray_svalue = -1; static int hf_Tango_DevVarDoubleStringArray_dvalue_loop = -1; static int hf_Tango_DevVarDoubleStringArray_dvalue = -1; static int hf_Tango_DevVarDoubleStringArray_svalue_loop = -1; static int hf_Tango_DevVarDoubleStringArray_svalue = -1; static int hf_Tango_TimeVal_tv_sec = -1; static int hf_Tango_TimeVal_tv_usec = -1; static int hf_Tango_TimeVal_tv_nsec = -1; static int hf_Tango_DevCmdInfo_cmd_name = -1; static int hf_Tango_DevCmdInfo_cmd_tag = -1; static int hf_Tango_DevCmdInfo_in_type = -1; static int hf_Tango_DevCmdInfo_out_type = -1; static int hf_Tango_DevCmdInfo_in_type_desc = -1; static int hf_Tango_DevCmdInfo_out_type_desc = -1; static int hf_Tango_DevCmdInfo_2_cmd_name = -1; static int hf_Tango_DevCmdInfo_2_level = -1; static int hf_Tango_DevCmdInfo_2_cmd_tag = -1; static int hf_Tango_DevCmdInfo_2_in_type = -1; static int hf_Tango_DevCmdInfo_2_out_type = -1; static int hf_Tango_DevCmdInfo_2_in_type_desc = -1; static int hf_Tango_DevCmdInfo_2_out_type_desc = -1; static int hf_Tango_DevError_reason = -1; static int hf_Tango_DevError_severity = -1; static int hf_Tango_DevError_desc = -1; static int hf_Tango_DevError_origin = -1; static int hf_Tango_NamedDevError_name = -1; static int hf_Tango_NamedDevError_index_in_call = -1; static int hf_Tango_NamedDevError_err_list_loop = -1; static int hf_Tango_AttributeConfig_name = -1; static int hf_Tango_AttributeConfig_writable = -1; static int hf_Tango_AttributeConfig_data_format = -1; static int hf_Tango_AttributeConfig_data_type = -1; static int hf_Tango_AttributeConfig_max_dim_x = -1; static int hf_Tango_AttributeConfig_max_dim_y = -1; static int hf_Tango_AttributeConfig_description = -1; static int hf_Tango_AttributeConfig_label = -1; static int hf_Tango_AttributeConfig_unit = -1; static int hf_Tango_AttributeConfig_standard_unit = -1; static int hf_Tango_AttributeConfig_display_unit = -1; static int hf_Tango_AttributeConfig_format = -1; static int hf_Tango_AttributeConfig_min_value = -1; static int hf_Tango_AttributeConfig_max_value = -1; static int hf_Tango_AttributeConfig_min_alarm = -1; static int hf_Tango_AttributeConfig_max_alarm = -1; static int hf_Tango_AttributeConfig_writable_attr_name = -1; static int hf_Tango_AttributeConfig_extensions_loop = -1; static int hf_Tango_AttributeConfig_extensions = -1; static int hf_Tango_AttributeConfig_2_name = -1; static int hf_Tango_AttributeConfig_2_writable = -1; static int hf_Tango_AttributeConfig_2_data_format = -1; static int hf_Tango_AttributeConfig_2_data_type = -1; static int hf_Tango_AttributeConfig_2_max_dim_x = -1; static int hf_Tango_AttributeConfig_2_max_dim_y = -1; static int hf_Tango_AttributeConfig_2_description = -1; static int hf_Tango_AttributeConfig_2_label = -1; static int hf_Tango_AttributeConfig_2_unit = -1; static int hf_Tango_AttributeConfig_2_standard_unit = -1; static int hf_Tango_AttributeConfig_2_display_unit = -1; static int hf_Tango_AttributeConfig_2_format = -1; static int hf_Tango_AttributeConfig_2_min_value = -1; static int hf_Tango_AttributeConfig_2_max_value = -1; static int hf_Tango_AttributeConfig_2_min_alarm = -1; static int hf_Tango_AttributeConfig_2_max_alarm = -1; static int hf_Tango_AttributeConfig_2_writable_attr_name = -1; static int hf_Tango_AttributeConfig_2_level = -1; static int hf_Tango_AttributeConfig_2_extensions_loop = -1; static int hf_Tango_AttributeConfig_2_extensions = -1; static int hf_Tango_AttributeValue_quality = -1; static int hf_Tango_AttributeValue_name = -1; static int hf_Tango_AttributeValue_dim_x = -1; static int hf_Tango_AttributeValue_dim_y = -1; static int hf_Tango_AttributeDim_dim_x = -1; static int hf_Tango_AttributeDim_dim_y = -1; static int hf_Tango_AttributeValue_3_quality = -1; static int hf_Tango_AttributeValue_3_name = -1; static int hf_Tango_AttributeValue_3_err_list_loop = -1; static int hf_Tango_ChangeEventProp_rel_change = -1; static int hf_Tango_ChangeEventProp_abs_change = -1; static int hf_Tango_ChangeEventProp_extensions_loop = -1; static int hf_Tango_ChangeEventProp_extensions = -1; static int hf_Tango_PeriodicEventProp_period = -1; static int hf_Tango_PeriodicEventProp_extensions_loop = -1; static int hf_Tango_PeriodicEventProp_extensions = -1; static int hf_Tango_ArchiveEventProp_rel_change = -1; static int hf_Tango_ArchiveEventProp_abs_change = -1; static int hf_Tango_ArchiveEventProp_period = -1; static int hf_Tango_ArchiveEventProp_extensions_loop = -1; static int hf_Tango_ArchiveEventProp_extensions = -1; static int hf_Tango_AttributeAlarm_min_alarm = -1; static int hf_Tango_AttributeAlarm_max_alarm = -1; static int hf_Tango_AttributeAlarm_min_warning = -1; static int hf_Tango_AttributeAlarm_max_warning = -1; static int hf_Tango_AttributeAlarm_delta_t = -1; static int hf_Tango_AttributeAlarm_delta_val = -1; static int hf_Tango_AttributeAlarm_extensions_loop = -1; static int hf_Tango_AttributeAlarm_extensions = -1; static int hf_Tango_AttributeConfig_3_name = -1; static int hf_Tango_AttributeConfig_3_writable = -1; static int hf_Tango_AttributeConfig_3_data_format = -1; static int hf_Tango_AttributeConfig_3_data_type = -1; static int hf_Tango_AttributeConfig_3_max_dim_x = -1; static int hf_Tango_AttributeConfig_3_max_dim_y = -1; static int hf_Tango_AttributeConfig_3_description = -1; static int hf_Tango_AttributeConfig_3_label = -1; static int hf_Tango_AttributeConfig_3_unit = -1; static int hf_Tango_AttributeConfig_3_standard_unit = -1; static int hf_Tango_AttributeConfig_3_display_unit = -1; static int hf_Tango_AttributeConfig_3_format = -1; static int hf_Tango_AttributeConfig_3_min_value = -1; static int hf_Tango_AttributeConfig_3_max_value = -1; static int hf_Tango_AttributeConfig_3_writable_attr_name = -1; static int hf_Tango_AttributeConfig_3_level = -1; static int hf_Tango_AttributeConfig_3_extensions_loop = -1; static int hf_Tango_AttributeConfig_3_extensions = -1; static int hf_Tango_AttributeConfig_3_sys_extensions_loop = -1; static int hf_Tango_AttributeConfig_3_sys_extensions = -1; static int hf_Tango_DevInfo_dev_class = -1; static int hf_Tango_DevInfo_server_id = -1; static int hf_Tango_DevInfo_server_host = -1; static int hf_Tango_DevInfo_server_version = -1; static int hf_Tango_DevInfo_doc_url = -1; static int hf_Tango_DevInfo_3_dev_class = -1; static int hf_Tango_DevInfo_3_server_id = -1; static int hf_Tango_DevInfo_3_server_host = -1; static int hf_Tango_DevInfo_3_server_version = -1; static int hf_Tango_DevInfo_3_doc_url = -1; static int hf_Tango_DevInfo_3_dev_type = -1; static int hf_Tango_DevCmdHistory_cmd_failed = -1; static int hf_Tango_DevCmdHistory_errors_loop = -1; static int hf_Tango_DevAttrHistory_attr_failed = -1; static int hf_Tango_DevAttrHistory_errors_loop = -1; static int hf_Tango_DevAttrHistory_3_attr_failed = -1; /* User exception filters */ static int hf_Tango_DevFailed_errors_loop = -1; static int hf_Tango_MultiDevFailed_errors_loop = -1; /* Expert info filters */ static expert_field ei_tango_unknown_giop_msg = EI_INIT; static expert_field ei_tango_unknown_exception = EI_INIT; static expert_field ei_tango_unknown_reply_status = EI_INIT; static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, int *offset); /* Struct prototype declaration Start */ /* Struct = IDL:Tango/DevVarLongStringArray:1.0 */ static void decode_Tango_DevVarLongStringArray_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/DevVarDoubleStringArray:1.0 */ static void decode_Tango_DevVarDoubleStringArray_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/TimeVal:1.0 */ static void decode_Tango_TimeVal_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/DevCmdInfo:1.0 */ static void decode_Tango_DevCmdInfo_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/DevCmdInfo_2:1.0 */ static void decode_Tango_DevCmdInfo_2_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/DevError:1.0 */ static void decode_Tango_DevError_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/NamedDevError:1.0 */ static void decode_Tango_NamedDevError_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/AttributeConfig:1.0 */ static void decode_Tango_AttributeConfig_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/AttributeConfig_2:1.0 */ static void decode_Tango_AttributeConfig_2_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/AttributeValue:1.0 */ static void decode_Tango_AttributeValue_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/AttributeDim:1.0 */ static void decode_Tango_AttributeDim_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/AttributeValue_3:1.0 */ static void decode_Tango_AttributeValue_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/ChangeEventProp:1.0 */ static void decode_Tango_ChangeEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/PeriodicEventProp:1.0 */ static void decode_Tango_PeriodicEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/ArchiveEventProp:1.0 */ static void decode_Tango_ArchiveEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/EventProperties:1.0 */ static void decode_Tango_EventProperties_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/AttributeAlarm:1.0 */ static void decode_Tango_AttributeAlarm_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/AttributeConfig_3:1.0 */ static void decode_Tango_AttributeConfig_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/DevInfo:1.0 */ static void decode_Tango_DevInfo_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/DevInfo_3:1.0 */ static void decode_Tango_DevInfo_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/DevCmdHistory:1.0 */ static void decode_Tango_DevCmdHistory_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/DevAttrHistory:1.0 */ static void decode_Tango_DevAttrHistory_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct = IDL:Tango/DevAttrHistory_3:1.0 */ static void decode_Tango_DevAttrHistory_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_); /* Struct prototype declaration End */ /* * IDL Attributes Start */ static const char get_Tango_Device_name_at[] = "_get_name" ; static const char get_Tango_Device_description_at[] = "_get_description" ; static const char get_Tango_Device_state_at[] = "_get_state" ; static const char get_Tango_Device_status_at[] = "_get_status" ; static const char get_Tango_Device_adm_name_at[] = "_get_adm_name" ; /* * IDL Attributes End */ /* * IDL Enums Start */ /* * Enum = IDL:Tango/AttrQuality:1.0 */ static const value_string Tango_AttrQuality[] = { { 0, "ATTR_VALID" }, { 1, "ATTR_INVALID" }, { 2, "ATTR_ALARM" }, { 3, "ATTR_CHANGING" }, { 4, "ATTR_WARNING" }, { 0, NULL }, }; /* * Enum = IDL:Tango/AttrWriteType:1.0 */ static const value_string Tango_AttrWriteType[] = { { 0, "READ" }, { 1, "READ_WITH_WRITE" }, { 2, "WRITE" }, { 3, "READ_WRITE" }, { 0, NULL }, }; /* * Enum = IDL:Tango/AttrDataFormat:1.0 */ static const value_string Tango_AttrDataFormat[] = { { 0, "SCALAR" }, { 1, "SPECTRUM" }, { 2, "IMAGE" }, { 0, NULL }, }; /* * Enum = IDL:Tango/DevSource:1.0 */ static const value_string Tango_DevSource[] = { { 0, "DEV" }, { 1, "CACHE" }, { 2, "CACHE_DEV" }, { 0, NULL }, }; /* * Enum = IDL:Tango/ErrSeverity:1.0 */ static const value_string Tango_ErrSeverity[] = { { 0, "WARN" }, { 1, "ERR" }, { 2, "PANIC" }, { 0, NULL }, }; /* * Enum = IDL:Tango/DevState:1.0 */ static const value_string Tango_DevState[] = { { 0, "ON" }, { 1, "OFF" }, { 2, "CLOSE" }, { 3, "OPEN" }, { 4, "INSERT" }, { 5, "EXTRACT" }, { 6, "MOVING" }, { 7, "STANDBY" }, { 8, "FAULT" }, { 9, "INIT" }, { 10, "RUNNING" }, { 11, "ALARM" }, { 12, "DISABLE" }, { 13, "UNKNOWN" }, { 0, NULL }, }; /* * Enum = IDL:Tango/DispLevel:1.0 */ static const value_string Tango_DispLevel[] = { { 0, "OPERATOR" }, { 1, "EXPERT" }, { 0, NULL }, }; /* * IDL Enums End */ /* Begin Exception Helper Functions */ /* Exception = IDL:Tango/DevFailed:1.0 */ static void decode_ex_Tango_DevFailed(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_item *item = NULL; /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_DevFailed_errors; guint32 i_Tango_DevFailed_errors; /* Operation specific Variable declarations End */ u_octet4_loop_Tango_DevFailed_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_DevFailed_errors_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_DevFailed_errors); for (i_Tango_DevFailed_errors=0; i_Tango_DevFailed_errors < u_octet4_loop_Tango_DevFailed_errors; i_Tango_DevFailed_errors++) { /* Begin struct "Tango_DevError" */ decode_Tango_DevError_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevError" */ } } /* Exception = IDL:Tango/MultiDevFailed:1.0 */ static void decode_ex_Tango_MultiDevFailed(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_item *item = NULL; /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_MultiDevFailed_errors; guint32 i_Tango_MultiDevFailed_errors; /* Operation specific Variable declarations End */ u_octet4_loop_Tango_MultiDevFailed_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_MultiDevFailed_errors_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_MultiDevFailed_errors); for (i_Tango_MultiDevFailed_errors=0; i_Tango_MultiDevFailed_errors < u_octet4_loop_Tango_MultiDevFailed_errors; i_Tango_MultiDevFailed_errors++) { /* Begin struct "Tango_NamedDevError" */ decode_Tango_NamedDevError_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_NamedDevError" */ } } /* End Exception Helper Functions */ /* * Main delegator for exception handling * */ static gboolean decode_user_exception(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *ptree _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_tree *tree _U_; if (!header->exception_id) return FALSE; if (strcmp(header->exception_id, "IDL:Tango/DevFailed:1.0") == 0) { tree = start_dissecting(tvb, pinfo, ptree, offset); decode_ex_Tango_DevFailed(tvb, pinfo, tree, offset, header, operation, stream_is_big_endian); /* IDL:Tango/DevFailed:1.0 */ return TRUE; } if (strcmp(header->exception_id, "IDL:Tango/MultiDevFailed:1.0") == 0) { tree = start_dissecting(tvb, pinfo, ptree, offset); decode_ex_Tango_MultiDevFailed(tvb, pinfo, tree, offset, header, operation, stream_is_big_endian); /* IDL:Tango/MultiDevFailed:1.0 */ return TRUE; } return FALSE; /* user exception not found */ } /* Begin Attribute Helper Functions */ /* Attribute = IDL:Tango/Device/name:1.0 */ static void decode_get_Tango_Device_name_at(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_item* item _U_; giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_get_Tango_Device_name_name); } /* Attribute = IDL:Tango/Device/description:1.0 */ static void decode_get_Tango_Device_description_at(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_item* item _U_; giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_get_Tango_Device_description_description); } /* Attribute = IDL:Tango/Device/state:1.0 */ static void decode_get_Tango_Device_state_at(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_item* item _U_; /* Operation specific Variable declarations Begin */ guint32 u_octet4; /* Operation specific Variable declarations End */ u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_get_Tango_Device_state_state, tvb, *offset-4, 4, u_octet4); } /* Attribute = IDL:Tango/Device/status:1.0 */ static void decode_get_Tango_Device_status_at(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_item* item _U_; giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_get_Tango_Device_status_status); } /* Attribute = IDL:Tango/Device/adm_name:1.0 */ static void decode_get_Tango_Device_adm_name_at(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_item* item _U_; giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_get_Tango_Device_adm_name_adm_name); } /* End Attribute Helper Functions */ /* * IDL:Tango/Device/command_inout:1.0 */ static void decode_Tango_Device_command_inout(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { switch(header->message_type) { case Request: giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_command_inout_command); get_CDR_any(tvb, pinfo, tree, item, offset, stream_is_big_endian, boundary, header); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: get_CDR_any(tvb, pinfo, tree, item, offset, stream_is_big_endian, boundary, header); break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device/get_attribute_config:1.0 */ static void decode_Tango_Device_get_attribute_config(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_get_attribute_config_names; guint32 i_Tango_Device_get_attribute_config_names; guint32 u_octet4_loop_Tango_Device_get_attribute_config_return; guint32 i_Tango_Device_get_attribute_config_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_get_attribute_config_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_get_attribute_config_names_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_get_attribute_config_names); for (i_Tango_Device_get_attribute_config_names=0; i_Tango_Device_get_attribute_config_names < u_octet4_loop_Tango_Device_get_attribute_config_names; i_Tango_Device_get_attribute_config_names++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_get_attribute_config_names); } break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_get_attribute_config_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_get_attribute_config_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_get_attribute_config_return); for (i_Tango_Device_get_attribute_config_return=0; i_Tango_Device_get_attribute_config_return < u_octet4_loop_Tango_Device_get_attribute_config_return; i_Tango_Device_get_attribute_config_return++) { /* Begin struct "Tango_AttributeConfig" */ decode_Tango_AttributeConfig_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeConfig" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device/set_attribute_config:1.0 */ static void decode_Tango_Device_set_attribute_config(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_set_attribute_config_new_conf; guint32 i_Tango_Device_set_attribute_config_new_conf; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_set_attribute_config_new_conf = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_set_attribute_config_new_conf_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_set_attribute_config_new_conf); for (i_Tango_Device_set_attribute_config_new_conf=0; i_Tango_Device_set_attribute_config_new_conf < u_octet4_loop_Tango_Device_set_attribute_config_new_conf; i_Tango_Device_set_attribute_config_new_conf++) { /* Begin struct "Tango_AttributeConfig" */ decode_Tango_AttributeConfig_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeConfig" */ } break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: /* Function returns void */ break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device/read_attributes:1.0 */ static void decode_Tango_Device_read_attributes(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_read_attributes_names; guint32 i_Tango_Device_read_attributes_names; guint32 u_octet4_loop_Tango_Device_read_attributes_return; guint32 i_Tango_Device_read_attributes_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_read_attributes_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_read_attributes_names_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_read_attributes_names); for (i_Tango_Device_read_attributes_names=0; i_Tango_Device_read_attributes_names < u_octet4_loop_Tango_Device_read_attributes_names; i_Tango_Device_read_attributes_names++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_read_attributes_names); } break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_read_attributes_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_read_attributes_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_read_attributes_return); for (i_Tango_Device_read_attributes_return=0; i_Tango_Device_read_attributes_return < u_octet4_loop_Tango_Device_read_attributes_return; i_Tango_Device_read_attributes_return++) { /* Begin struct "Tango_AttributeValue" */ decode_Tango_AttributeValue_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeValue" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device/write_attributes:1.0 */ static void decode_Tango_Device_write_attributes(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_write_attributes_values; guint32 i_Tango_Device_write_attributes_values; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_write_attributes_values = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_write_attributes_values_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_write_attributes_values); for (i_Tango_Device_write_attributes_values=0; i_Tango_Device_write_attributes_values < u_octet4_loop_Tango_Device_write_attributes_values; i_Tango_Device_write_attributes_values++) { /* Begin struct "Tango_AttributeValue" */ decode_Tango_AttributeValue_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeValue" */ } break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: /* Function returns void */ break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device/ping:1.0 */ static void decode_Tango_Device_ping(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { switch(header->message_type) { case Request: break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: /* Function returns void */ break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device/black_box:1.0 */ static void decode_Tango_Device_black_box(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_black_box_return; guint32 i_Tango_Device_black_box_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: proto_tree_add_int(tree, hf_Tango_Device_black_box_n, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_black_box_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_black_box_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_black_box_return); for (i_Tango_Device_black_box_return=0; i_Tango_Device_black_box_return < u_octet4_loop_Tango_Device_black_box_return; i_Tango_Device_black_box_return++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_black_box_return); } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device/info:1.0 */ static void decode_Tango_Device_info(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { switch(header->message_type) { case Request: break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: /* Begin struct "Tango_DevInfo" */ decode_Tango_DevInfo_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevInfo" */ break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device/command_list_query:1.0 */ static void decode_Tango_Device_command_list_query(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_command_list_query_return; guint32 i_Tango_Device_command_list_query_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_command_list_query_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_command_list_query_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_command_list_query_return); for (i_Tango_Device_command_list_query_return=0; i_Tango_Device_command_list_query_return < u_octet4_loop_Tango_Device_command_list_query_return; i_Tango_Device_command_list_query_return++) { /* Begin struct "Tango_DevCmdInfo" */ decode_Tango_DevCmdInfo_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevCmdInfo" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device/command_query:1.0 */ static void decode_Tango_Device_command_query(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { switch(header->message_type) { case Request: giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_command_query_command); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: /* Begin struct "Tango_DevCmdInfo" */ decode_Tango_DevCmdInfo_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevCmdInfo" */ break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_2/command_inout_2:1.0 */ static void decode_Tango_Device_2_command_inout_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_2_command_inout_2_command); get_CDR_any(tvb, pinfo, tree, item, offset, stream_is_big_endian, boundary, header); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_2_command_inout_2_source, tvb, *offset-4, 4, u_octet4); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: get_CDR_any(tvb, pinfo, tree, item, offset, stream_is_big_endian, boundary, header); break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_2/read_attributes_2:1.0 */ static void decode_Tango_Device_2_read_attributes_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_2_read_attributes_2_names; guint32 i_Tango_Device_2_read_attributes_2_names; guint32 u_octet4; guint32 u_octet4_loop_Tango_Device_2_read_attributes_2_return; guint32 i_Tango_Device_2_read_attributes_2_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_2_read_attributes_2_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_2_read_attributes_2_names_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_2_read_attributes_2_names); for (i_Tango_Device_2_read_attributes_2_names=0; i_Tango_Device_2_read_attributes_2_names < u_octet4_loop_Tango_Device_2_read_attributes_2_names; i_Tango_Device_2_read_attributes_2_names++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_2_read_attributes_2_names); } u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_2_read_attributes_2_source, tvb, *offset-4, 4, u_octet4); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_2_read_attributes_2_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_2_read_attributes_2_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_2_read_attributes_2_return); for (i_Tango_Device_2_read_attributes_2_return=0; i_Tango_Device_2_read_attributes_2_return < u_octet4_loop_Tango_Device_2_read_attributes_2_return; i_Tango_Device_2_read_attributes_2_return++) { /* Begin struct "Tango_AttributeValue" */ decode_Tango_AttributeValue_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeValue" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_2/get_attribute_config_2:1.0 */ static void decode_Tango_Device_2_get_attribute_config_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_2_get_attribute_config_2_names; guint32 i_Tango_Device_2_get_attribute_config_2_names; guint32 u_octet4_loop_Tango_Device_2_get_attribute_config_2_return; guint32 i_Tango_Device_2_get_attribute_config_2_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_2_get_attribute_config_2_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_2_get_attribute_config_2_names_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_2_get_attribute_config_2_names); for (i_Tango_Device_2_get_attribute_config_2_names=0; i_Tango_Device_2_get_attribute_config_2_names < u_octet4_loop_Tango_Device_2_get_attribute_config_2_names; i_Tango_Device_2_get_attribute_config_2_names++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_2_get_attribute_config_2_names); } break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_2_get_attribute_config_2_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_2_get_attribute_config_2_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_2_get_attribute_config_2_return); for (i_Tango_Device_2_get_attribute_config_2_return=0; i_Tango_Device_2_get_attribute_config_2_return < u_octet4_loop_Tango_Device_2_get_attribute_config_2_return; i_Tango_Device_2_get_attribute_config_2_return++) { /* Begin struct "Tango_AttributeConfig_2" */ decode_Tango_AttributeConfig_2_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeConfig_2" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_2/command_list_query_2:1.0 */ static void decode_Tango_Device_2_command_list_query_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_2_command_list_query_2_return; guint32 i_Tango_Device_2_command_list_query_2_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_2_command_list_query_2_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_2_command_list_query_2_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_2_command_list_query_2_return); for (i_Tango_Device_2_command_list_query_2_return=0; i_Tango_Device_2_command_list_query_2_return < u_octet4_loop_Tango_Device_2_command_list_query_2_return; i_Tango_Device_2_command_list_query_2_return++) { /* Begin struct "Tango_DevCmdInfo_2" */ decode_Tango_DevCmdInfo_2_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevCmdInfo_2" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_2/command_query_2:1.0 */ static void decode_Tango_Device_2_command_query_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { switch(header->message_type) { case Request: giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_2_command_query_2_command); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: /* Begin struct "Tango_DevCmdInfo_2" */ decode_Tango_DevCmdInfo_2_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevCmdInfo_2" */ break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_2/command_inout_history_2:1.0 */ static void decode_Tango_Device_2_command_inout_history_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_2_command_inout_history_2_return; guint32 i_Tango_Device_2_command_inout_history_2_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_2_command_inout_history_2_command); proto_tree_add_int(tree, hf_Tango_Device_2_command_inout_history_2_n, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_2_command_inout_history_2_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_2_command_inout_history_2_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_2_command_inout_history_2_return); for (i_Tango_Device_2_command_inout_history_2_return=0; i_Tango_Device_2_command_inout_history_2_return < u_octet4_loop_Tango_Device_2_command_inout_history_2_return; i_Tango_Device_2_command_inout_history_2_return++) { /* Begin struct "Tango_DevCmdHistory" */ decode_Tango_DevCmdHistory_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevCmdHistory" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_2/read_attribute_history_2:1.0 */ static void decode_Tango_Device_2_read_attribute_history_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_2_read_attribute_history_2_return; guint32 i_Tango_Device_2_read_attribute_history_2_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_2_read_attribute_history_2_name); proto_tree_add_int(tree, hf_Tango_Device_2_read_attribute_history_2_n, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_2_read_attribute_history_2_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_2_read_attribute_history_2_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_2_read_attribute_history_2_return); for (i_Tango_Device_2_read_attribute_history_2_return=0; i_Tango_Device_2_read_attribute_history_2_return < u_octet4_loop_Tango_Device_2_read_attribute_history_2_return; i_Tango_Device_2_read_attribute_history_2_return++) { /* Begin struct "Tango_DevAttrHistory" */ decode_Tango_DevAttrHistory_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevAttrHistory" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_3/read_attributes_3:1.0 */ static void decode_Tango_Device_3_read_attributes_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_3_read_attributes_3_names; guint32 i_Tango_Device_3_read_attributes_3_names; guint32 u_octet4; guint32 u_octet4_loop_Tango_Device_3_read_attributes_3_return; guint32 i_Tango_Device_3_read_attributes_3_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_3_read_attributes_3_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_3_read_attributes_3_names_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_3_read_attributes_3_names); for (i_Tango_Device_3_read_attributes_3_names=0; i_Tango_Device_3_read_attributes_3_names < u_octet4_loop_Tango_Device_3_read_attributes_3_names; i_Tango_Device_3_read_attributes_3_names++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_3_read_attributes_3_names); } u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_3_read_attributes_3_source, tvb, *offset-4, 4, u_octet4); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_3_read_attributes_3_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_3_read_attributes_3_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_3_read_attributes_3_return); for (i_Tango_Device_3_read_attributes_3_return=0; i_Tango_Device_3_read_attributes_3_return < u_octet4_loop_Tango_Device_3_read_attributes_3_return; i_Tango_Device_3_read_attributes_3_return++) { /* Begin struct "Tango_AttributeValue_3" */ decode_Tango_AttributeValue_3_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeValue_3" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_3/write_attributes_3:1.0 */ static void decode_Tango_Device_3_write_attributes_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_3_write_attributes_3_values; guint32 i_Tango_Device_3_write_attributes_3_values; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_3_write_attributes_3_values = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_3_write_attributes_3_values_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_3_write_attributes_3_values); for (i_Tango_Device_3_write_attributes_3_values=0; i_Tango_Device_3_write_attributes_3_values < u_octet4_loop_Tango_Device_3_write_attributes_3_values; i_Tango_Device_3_write_attributes_3_values++) { /* Begin struct "Tango_AttributeValue" */ decode_Tango_AttributeValue_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeValue" */ } break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: /* Function returns void */ break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_3/read_attribute_history_3:1.0 */ static void decode_Tango_Device_3_read_attribute_history_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_3_read_attribute_history_3_return; guint32 i_Tango_Device_3_read_attribute_history_3_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_3_read_attribute_history_3_name); proto_tree_add_int(tree, hf_Tango_Device_3_read_attribute_history_3_n, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_3_read_attribute_history_3_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_3_read_attribute_history_3_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_3_read_attribute_history_3_return); for (i_Tango_Device_3_read_attribute_history_3_return=0; i_Tango_Device_3_read_attribute_history_3_return < u_octet4_loop_Tango_Device_3_read_attribute_history_3_return; i_Tango_Device_3_read_attribute_history_3_return++) { /* Begin struct "Tango_DevAttrHistory_3" */ decode_Tango_DevAttrHistory_3_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevAttrHistory_3" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_3/info_3:1.0 */ static void decode_Tango_Device_3_info_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { switch(header->message_type) { case Request: break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: /* Begin struct "Tango_DevInfo_3" */ decode_Tango_DevInfo_3_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevInfo_3" */ break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_3/get_attribute_config_3:1.0 */ static void decode_Tango_Device_3_get_attribute_config_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_3_get_attribute_config_3_names; guint32 i_Tango_Device_3_get_attribute_config_3_names; guint32 u_octet4_loop_Tango_Device_3_get_attribute_config_3_return; guint32 i_Tango_Device_3_get_attribute_config_3_return; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_3_get_attribute_config_3_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_3_get_attribute_config_3_names_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_3_get_attribute_config_3_names); for (i_Tango_Device_3_get_attribute_config_3_names=0; i_Tango_Device_3_get_attribute_config_3_names < u_octet4_loop_Tango_Device_3_get_attribute_config_3_names; i_Tango_Device_3_get_attribute_config_3_names++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_Device_3_get_attribute_config_3_names); } break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: u_octet4_loop_Tango_Device_3_get_attribute_config_3_return = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_3_get_attribute_config_3_return_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_3_get_attribute_config_3_return); for (i_Tango_Device_3_get_attribute_config_3_return=0; i_Tango_Device_3_get_attribute_config_3_return < u_octet4_loop_Tango_Device_3_get_attribute_config_3_return; i_Tango_Device_3_get_attribute_config_3_return++) { /* Begin struct "Tango_AttributeConfig_3" */ decode_Tango_AttributeConfig_3_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeConfig_3" */ } break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* * IDL:Tango/Device_3/set_attribute_config_3:1.0 */ static void decode_Tango_Device_3_set_attribute_config_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_Device_3_set_attribute_config_3_new_conf; guint32 i_Tango_Device_3_set_attribute_config_3_new_conf; /* Operation specific Variable declarations End */ switch(header->message_type) { case Request: u_octet4_loop_Tango_Device_3_set_attribute_config_3_new_conf = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_Device_3_set_attribute_config_3_new_conf_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_Device_3_set_attribute_config_3_new_conf); for (i_Tango_Device_3_set_attribute_config_3_new_conf=0; i_Tango_Device_3_set_attribute_config_3_new_conf < u_octet4_loop_Tango_Device_3_set_attribute_config_3_new_conf; i_Tango_Device_3_set_attribute_config_3_new_conf++) { /* Begin struct "Tango_AttributeConfig_3" */ decode_Tango_AttributeConfig_3_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeConfig_3" */ } break; case Reply: switch(header->rep_status) { case NO_EXCEPTION: /* Function returns void */ break; case USER_EXCEPTION: break; default: /* Unknown Exception */ expert_add_info_format(pinfo, item, &ei_tango_unknown_exception, "Unknown exception %d", header->rep_status); break; } /* switch(header->rep_status) */ break; default: /* Unknown GIOP Message */ expert_add_info_format(pinfo, item, &ei_tango_unknown_giop_msg, "Unknown GIOP message %d", header->message_type); break; } /* switch(header->message_type) */ } /* Struct = IDL:Tango/DevVarLongStringArray:1.0 */ static void decode_Tango_DevVarLongStringArray_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_DevVarLongStringArray_lvalue; guint32 i_Tango_DevVarLongStringArray_lvalue; guint32 u_octet4_loop_Tango_DevVarLongStringArray_svalue; guint32 i_Tango_DevVarLongStringArray_svalue; /* Operation specific Variable declarations End */ u_octet4_loop_Tango_DevVarLongStringArray_lvalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_DevVarLongStringArray_lvalue_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_DevVarLongStringArray_lvalue); for (i_Tango_DevVarLongStringArray_lvalue=0; i_Tango_DevVarLongStringArray_lvalue < u_octet4_loop_Tango_DevVarLongStringArray_lvalue; i_Tango_DevVarLongStringArray_lvalue++) { proto_tree_add_int(tree, hf_Tango_DevVarLongStringArray_lvalue, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); } u_octet4_loop_Tango_DevVarLongStringArray_svalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_DevVarLongStringArray_svalue_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_DevVarLongStringArray_svalue); for (i_Tango_DevVarLongStringArray_svalue=0; i_Tango_DevVarLongStringArray_svalue < u_octet4_loop_Tango_DevVarLongStringArray_svalue; i_Tango_DevVarLongStringArray_svalue++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevVarLongStringArray_svalue); } } /* Struct = IDL:Tango/DevVarDoubleStringArray:1.0 */ static void decode_Tango_DevVarDoubleStringArray_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_DevVarDoubleStringArray_dvalue; guint32 i_Tango_DevVarDoubleStringArray_dvalue; guint32 u_octet4_loop_Tango_DevVarDoubleStringArray_svalue; guint32 i_Tango_DevVarDoubleStringArray_svalue; /* Operation specific Variable declarations End */ u_octet4_loop_Tango_DevVarDoubleStringArray_dvalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_DevVarDoubleStringArray_dvalue_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_DevVarDoubleStringArray_dvalue); for (i_Tango_DevVarDoubleStringArray_dvalue=0; i_Tango_DevVarDoubleStringArray_dvalue < u_octet4_loop_Tango_DevVarDoubleStringArray_dvalue; i_Tango_DevVarDoubleStringArray_dvalue++) { proto_tree_add_double(tree, hf_Tango_DevVarDoubleStringArray_dvalue, tvb, *offset-8, 8, get_CDR_double(tvb,offset,stream_is_big_endian, boundary)); } u_octet4_loop_Tango_DevVarDoubleStringArray_svalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_DevVarDoubleStringArray_svalue_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_DevVarDoubleStringArray_svalue); for (i_Tango_DevVarDoubleStringArray_svalue=0; i_Tango_DevVarDoubleStringArray_svalue < u_octet4_loop_Tango_DevVarDoubleStringArray_svalue; i_Tango_DevVarDoubleStringArray_svalue++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevVarDoubleStringArray_svalue); } } /* Struct = IDL:Tango/TimeVal:1.0 */ static void decode_Tango_TimeVal_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_tree_add_int(tree, hf_Tango_TimeVal_tv_sec, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_TimeVal_tv_usec, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_TimeVal_tv_nsec, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); } /* Struct = IDL:Tango/DevCmdInfo:1.0 */ static void decode_Tango_DevCmdInfo_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevCmdInfo_cmd_name); proto_tree_add_int(tree, hf_Tango_DevCmdInfo_cmd_tag, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_DevCmdInfo_in_type, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_DevCmdInfo_out_type, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevCmdInfo_in_type_desc); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevCmdInfo_out_type_desc); } /* Struct = IDL:Tango/DevCmdInfo_2:1.0 */ static void decode_Tango_DevCmdInfo_2_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevCmdInfo_2_cmd_name); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_DevCmdInfo_2_level, tvb, *offset-4, 4, u_octet4); proto_tree_add_int(tree, hf_Tango_DevCmdInfo_2_cmd_tag, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_DevCmdInfo_2_in_type, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_DevCmdInfo_2_out_type, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevCmdInfo_2_in_type_desc); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevCmdInfo_2_out_type_desc); } /* Struct = IDL:Tango/DevError:1.0 */ static void decode_Tango_DevError_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevError_reason); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_DevError_severity, tvb, *offset-4, 4, u_octet4); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevError_desc); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevError_origin); } /* Struct = IDL:Tango/NamedDevError:1.0 */ static void decode_Tango_NamedDevError_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_NamedDevError_err_list; guint32 i_Tango_NamedDevError_err_list; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_NamedDevError_name); proto_tree_add_int(tree, hf_Tango_NamedDevError_index_in_call, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); u_octet4_loop_Tango_NamedDevError_err_list = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_NamedDevError_err_list_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_NamedDevError_err_list); for (i_Tango_NamedDevError_err_list=0; i_Tango_NamedDevError_err_list < u_octet4_loop_Tango_NamedDevError_err_list; i_Tango_NamedDevError_err_list++) { /* Begin struct "Tango_DevError" */ decode_Tango_DevError_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevError" */ } } /* Struct = IDL:Tango/AttributeConfig:1.0 */ static void decode_Tango_AttributeConfig_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4; guint32 u_octet4_loop_Tango_AttributeConfig_extensions; guint32 i_Tango_AttributeConfig_extensions; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_name); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_writable, tvb, *offset-4, 4, u_octet4); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_data_format, tvb, *offset-4, 4, u_octet4); proto_tree_add_int(tree, hf_Tango_AttributeConfig_data_type, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_AttributeConfig_max_dim_x, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_AttributeConfig_max_dim_y, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_description); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_label); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_unit); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_standard_unit); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_display_unit); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_format); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_min_value); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_max_value); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_min_alarm); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_max_alarm); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_writable_attr_name); u_octet4_loop_Tango_AttributeConfig_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_extensions_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_AttributeConfig_extensions); for (i_Tango_AttributeConfig_extensions=0; i_Tango_AttributeConfig_extensions < u_octet4_loop_Tango_AttributeConfig_extensions; i_Tango_AttributeConfig_extensions++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_extensions); } } /* Struct = IDL:Tango/AttributeConfig_2:1.0 */ static void decode_Tango_AttributeConfig_2_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4; guint32 u_octet4_loop_Tango_AttributeConfig_2_extensions; guint32 i_Tango_AttributeConfig_2_extensions; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_name); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_2_writable, tvb, *offset-4, 4, u_octet4); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_2_data_format, tvb, *offset-4, 4, u_octet4); proto_tree_add_int(tree, hf_Tango_AttributeConfig_2_data_type, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_AttributeConfig_2_max_dim_x, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_AttributeConfig_2_max_dim_y, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_description); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_label); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_unit); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_standard_unit); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_display_unit); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_format); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_min_value); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_max_value); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_min_alarm); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_max_alarm); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_writable_attr_name); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_2_level, tvb, *offset-4, 4, u_octet4); u_octet4_loop_Tango_AttributeConfig_2_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_2_extensions_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_AttributeConfig_2_extensions); for (i_Tango_AttributeConfig_2_extensions=0; i_Tango_AttributeConfig_2_extensions < u_octet4_loop_Tango_AttributeConfig_2_extensions; i_Tango_AttributeConfig_2_extensions++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_2_extensions); } } /* Struct = IDL:Tango/AttributeValue:1.0 */ static void decode_Tango_AttributeValue_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4; /* Operation specific Variable declarations End */ get_CDR_any(tvb, pinfo, tree, item, offset, stream_is_big_endian, boundary, header); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeValue_quality, tvb, *offset-4, 4, u_octet4); /* Begin struct "Tango_TimeVal" */ decode_Tango_TimeVal_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_TimeVal" */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeValue_name); proto_tree_add_int(tree, hf_Tango_AttributeValue_dim_x, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_AttributeValue_dim_y, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); } /* Struct = IDL:Tango/AttributeDim:1.0 */ static void decode_Tango_AttributeDim_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_tree_add_int(tree, hf_Tango_AttributeDim_dim_x, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_AttributeDim_dim_y, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); } /* Struct = IDL:Tango/AttributeValue_3:1.0 */ static void decode_Tango_AttributeValue_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4; guint32 u_octet4_loop_Tango_AttributeValue_3_err_list; guint32 i_Tango_AttributeValue_3_err_list; /* Operation specific Variable declarations End */ get_CDR_any(tvb, pinfo, tree, item, offset, stream_is_big_endian, boundary, header); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeValue_3_quality, tvb, *offset-4, 4, u_octet4); /* Begin struct "Tango_TimeVal" */ decode_Tango_TimeVal_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_TimeVal" */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeValue_3_name); /* Begin struct "Tango_AttributeDim" */ decode_Tango_AttributeDim_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeDim" */ /* Begin struct "Tango_AttributeDim" */ decode_Tango_AttributeDim_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeDim" */ u_octet4_loop_Tango_AttributeValue_3_err_list = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeValue_3_err_list_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_AttributeValue_3_err_list); for (i_Tango_AttributeValue_3_err_list=0; i_Tango_AttributeValue_3_err_list < u_octet4_loop_Tango_AttributeValue_3_err_list; i_Tango_AttributeValue_3_err_list++) { /* Begin struct "Tango_DevError" */ decode_Tango_DevError_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevError" */ } } /* Struct = IDL:Tango/ChangeEventProp:1.0 */ static void decode_Tango_ChangeEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_ChangeEventProp_extensions; guint32 i_Tango_ChangeEventProp_extensions; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_ChangeEventProp_rel_change); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_ChangeEventProp_abs_change); u_octet4_loop_Tango_ChangeEventProp_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_ChangeEventProp_extensions_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_ChangeEventProp_extensions); for (i_Tango_ChangeEventProp_extensions=0; i_Tango_ChangeEventProp_extensions < u_octet4_loop_Tango_ChangeEventProp_extensions; i_Tango_ChangeEventProp_extensions++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_ChangeEventProp_extensions); } } /* Struct = IDL:Tango/PeriodicEventProp:1.0 */ static void decode_Tango_PeriodicEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_PeriodicEventProp_extensions; guint32 i_Tango_PeriodicEventProp_extensions; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_PeriodicEventProp_period); u_octet4_loop_Tango_PeriodicEventProp_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_PeriodicEventProp_extensions_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_PeriodicEventProp_extensions); for (i_Tango_PeriodicEventProp_extensions=0; i_Tango_PeriodicEventProp_extensions < u_octet4_loop_Tango_PeriodicEventProp_extensions; i_Tango_PeriodicEventProp_extensions++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_PeriodicEventProp_extensions); } } /* Struct = IDL:Tango/ArchiveEventProp:1.0 */ static void decode_Tango_ArchiveEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_ArchiveEventProp_extensions; guint32 i_Tango_ArchiveEventProp_extensions; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_ArchiveEventProp_rel_change); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_ArchiveEventProp_abs_change); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_ArchiveEventProp_period); u_octet4_loop_Tango_ArchiveEventProp_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_ArchiveEventProp_extensions_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_ArchiveEventProp_extensions); for (i_Tango_ArchiveEventProp_extensions=0; i_Tango_ArchiveEventProp_extensions < u_octet4_loop_Tango_ArchiveEventProp_extensions; i_Tango_ArchiveEventProp_extensions++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_ArchiveEventProp_extensions); } } /* Struct = IDL:Tango/EventProperties:1.0 */ static void decode_Tango_EventProperties_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Begin struct "Tango_ChangeEventProp" */ decode_Tango_ChangeEventProp_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_ChangeEventProp" */ /* Begin struct "Tango_PeriodicEventProp" */ decode_Tango_PeriodicEventProp_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_PeriodicEventProp" */ /* Begin struct "Tango_ArchiveEventProp" */ decode_Tango_ArchiveEventProp_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_ArchiveEventProp" */ } /* Struct = IDL:Tango/AttributeAlarm:1.0 */ static void decode_Tango_AttributeAlarm_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_AttributeAlarm_extensions; guint32 i_Tango_AttributeAlarm_extensions; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeAlarm_min_alarm); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeAlarm_max_alarm); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeAlarm_min_warning); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeAlarm_max_warning); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeAlarm_delta_t); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeAlarm_delta_val); u_octet4_loop_Tango_AttributeAlarm_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeAlarm_extensions_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_AttributeAlarm_extensions); for (i_Tango_AttributeAlarm_extensions=0; i_Tango_AttributeAlarm_extensions < u_octet4_loop_Tango_AttributeAlarm_extensions; i_Tango_AttributeAlarm_extensions++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeAlarm_extensions); } } /* Struct = IDL:Tango/AttributeConfig_3:1.0 */ static void decode_Tango_AttributeConfig_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4; guint32 u_octet4_loop_Tango_AttributeConfig_3_extensions; guint32 i_Tango_AttributeConfig_3_extensions; guint32 u_octet4_loop_Tango_AttributeConfig_3_sys_extensions; guint32 i_Tango_AttributeConfig_3_sys_extensions; /* Operation specific Variable declarations End */ giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_name); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_3_writable, tvb, *offset-4, 4, u_octet4); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_3_data_format, tvb, *offset-4, 4, u_octet4); proto_tree_add_int(tree, hf_Tango_AttributeConfig_3_data_type, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_AttributeConfig_3_max_dim_x, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); proto_tree_add_int(tree, hf_Tango_AttributeConfig_3_max_dim_y, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_description); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_label); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_unit); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_standard_unit); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_display_unit); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_format); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_min_value); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_max_value); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_writable_attr_name); u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_3_level, tvb, *offset-4, 4, u_octet4); /* Begin struct "Tango_AttributeAlarm" */ decode_Tango_AttributeAlarm_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeAlarm" */ /* Begin struct "Tango_EventProperties" */ decode_Tango_EventProperties_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_EventProperties" */ u_octet4_loop_Tango_AttributeConfig_3_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_3_extensions_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_AttributeConfig_3_extensions); for (i_Tango_AttributeConfig_3_extensions=0; i_Tango_AttributeConfig_3_extensions < u_octet4_loop_Tango_AttributeConfig_3_extensions; i_Tango_AttributeConfig_3_extensions++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_extensions); } u_octet4_loop_Tango_AttributeConfig_3_sys_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_AttributeConfig_3_sys_extensions_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_AttributeConfig_3_sys_extensions); for (i_Tango_AttributeConfig_3_sys_extensions=0; i_Tango_AttributeConfig_3_sys_extensions < u_octet4_loop_Tango_AttributeConfig_3_sys_extensions; i_Tango_AttributeConfig_3_sys_extensions++) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_AttributeConfig_3_sys_extensions); } } /* Struct = IDL:Tango/DevInfo:1.0 */ static void decode_Tango_DevInfo_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevInfo_dev_class); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevInfo_server_id); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevInfo_server_host); proto_tree_add_int(tree, hf_Tango_DevInfo_server_version, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevInfo_doc_url); } /* Struct = IDL:Tango/DevInfo_3:1.0 */ static void decode_Tango_DevInfo_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevInfo_3_dev_class); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevInfo_3_server_id); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevInfo_3_server_host); proto_tree_add_int(tree, hf_Tango_DevInfo_3_server_version, tvb, *offset-4, 4, get_CDR_long(tvb,offset,stream_is_big_endian, boundary)); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevInfo_3_doc_url); giop_add_CDR_string(tree, tvb, offset, stream_is_big_endian, boundary, hf_Tango_DevInfo_3_dev_type); } /* Struct = IDL:Tango/DevCmdHistory:1.0 */ static void decode_Tango_DevCmdHistory_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_DevCmdHistory_errors; guint32 i_Tango_DevCmdHistory_errors; /* Operation specific Variable declarations End */ /* Begin struct "Tango_TimeVal" */ decode_Tango_TimeVal_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_TimeVal" */ proto_tree_add_boolean(tree, hf_Tango_DevCmdHistory_cmd_failed, tvb, *offset-1, 1, get_CDR_boolean(tvb,offset)); get_CDR_any(tvb, pinfo, tree, item, offset, stream_is_big_endian, boundary, header); u_octet4_loop_Tango_DevCmdHistory_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_DevCmdHistory_errors_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_DevCmdHistory_errors); for (i_Tango_DevCmdHistory_errors=0; i_Tango_DevCmdHistory_errors < u_octet4_loop_Tango_DevCmdHistory_errors; i_Tango_DevCmdHistory_errors++) { /* Begin struct "Tango_DevError" */ decode_Tango_DevError_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevError" */ } } /* Struct = IDL:Tango/DevAttrHistory:1.0 */ static void decode_Tango_DevAttrHistory_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { /* Operation specific Variable declarations Begin */ guint32 u_octet4_loop_Tango_DevAttrHistory_errors; guint32 i_Tango_DevAttrHistory_errors; /* Operation specific Variable declarations End */ proto_tree_add_boolean(tree, hf_Tango_DevAttrHistory_attr_failed, tvb, *offset-1, 1, get_CDR_boolean(tvb,offset)); /* Begin struct "Tango_AttributeValue" */ decode_Tango_AttributeValue_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeValue" */ u_octet4_loop_Tango_DevAttrHistory_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary); proto_tree_add_uint(tree, hf_Tango_DevAttrHistory_errors_loop, tvb,*offset-4, 4, u_octet4_loop_Tango_DevAttrHistory_errors); for (i_Tango_DevAttrHistory_errors=0; i_Tango_DevAttrHistory_errors < u_octet4_loop_Tango_DevAttrHistory_errors; i_Tango_DevAttrHistory_errors++) { /* Begin struct "Tango_DevError" */ decode_Tango_DevError_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_DevError" */ } } /* Struct = IDL:Tango/DevAttrHistory_3:1.0 */ static void decode_Tango_DevAttrHistory_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, proto_item *item _U_, int *offset _U_, MessageHeader *header _U_, const gchar *operation _U_, gboolean stream_is_big_endian _U_) { proto_tree_add_boolean(tree, hf_Tango_DevAttrHistory_3_attr_failed, tvb, *offset-1, 1, get_CDR_boolean(tvb,offset)); /* Begin struct "Tango_AttributeValue_3" */ decode_Tango_AttributeValue_3_st(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); /* End struct "Tango_AttributeValue_3" */ } /* * Called once we accept the packet as being for us; it sets the * Protocol and Info columns and creates the top-level protocol * tree item. */ static proto_tree * start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, int *offset) { proto_item *ti = NULL; proto_tree *tree = NULL; /* init later, inside if(tree) */ col_set_str(pinfo->cinfo, COL_PROTOCOL, "TANGO"); /* * Do not clear COL_INFO, as nothing is being written there by * this dissector yet. So leave it as is from the GIOP dissector. * TODO: add something useful to COL_INFO * col_clear(pinfo->cinfo, COL_INFO); */ if (ptree) { ti = proto_tree_add_item(ptree, proto_tango, tvb, *offset, tvb_reported_length_remaining(tvb, *offset), ENC_NA); tree = proto_item_add_subtree(ti, ett_tango); } return tree; } static proto_item* process_RequestOperation(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, MessageHeader *header, const gchar *operation) { proto_item *pi; if(header->message_type == Reply) { /* fill-up info column */ col_append_fstr(pinfo->cinfo, COL_INFO, " op = %s",operation); } /* fill-up the field */ pi=proto_tree_add_string(ptree, hf_operationrequest, tvb, 0, 0, operation); PROTO_ITEM_SET_GENERATED(pi); return pi; } static gboolean dissect_tango(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, int *offset, MessageHeader *header, const gchar *operation, gchar *idlname) { proto_item *item _U_; proto_tree *tree _U_; gboolean stream_is_big_endian = is_big_endian(header); /* get endianess */ /* If we have a USER Exception, then decode it and return */ if ((header->message_type == Reply) && (header->rep_status == USER_EXCEPTION)) { return decode_user_exception(tvb, pinfo, ptree, offset, header, operation, stream_is_big_endian); } switch(header->message_type) { case Request: case Reply: if (strcmp(operation, "command_inout") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_command_inout(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "get_attribute_config") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_get_attribute_config(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "set_attribute_config") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_set_attribute_config(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "read_attributes") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_read_attributes(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "write_attributes") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_write_attributes(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "ping") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_ping(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "black_box") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_black_box(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "info") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_info(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "command_list_query") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_command_list_query(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "command_query") == 0 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_command_query(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "command_inout_2") == 0 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_2_command_inout_2(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "read_attributes_2") == 0 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_2_read_attributes_2(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "get_attribute_config_2") == 0 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_2_get_attribute_config_2(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "command_list_query_2") == 0 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_2_command_list_query_2(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "command_query_2") == 0 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_2_command_query_2(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "command_inout_history_2") == 0 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_2_command_inout_history_2(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "read_attribute_history_2") == 0 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_2_read_attribute_history_2(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "read_attributes_3") == 0 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_3_read_attributes_3(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "write_attributes_3") == 0 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_3_write_attributes_3(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "read_attribute_history_3") == 0 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_3_read_attribute_history_3(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "info_3") == 0 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_3_info_3(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "get_attribute_config_3") == 0 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_3_get_attribute_config_3(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, "set_attribute_config_3") == 0 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) { item = process_RequestOperation(tvb, pinfo, ptree, header, operation); /* fill-up Request_Operation field & info column */ tree = start_dissecting(tvb, pinfo, ptree, offset); decode_Tango_Device_3_set_attribute_config_3(tvb, pinfo, tree, item, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, get_Tango_Device_name_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) { tree = start_dissecting(tvb, pinfo, ptree, offset); decode_get_Tango_Device_name_at(tvb, pinfo, tree, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, get_Tango_Device_description_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) { tree = start_dissecting(tvb, pinfo, ptree, offset); decode_get_Tango_Device_description_at(tvb, pinfo, tree, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, get_Tango_Device_state_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) { tree = start_dissecting(tvb, pinfo, ptree, offset); decode_get_Tango_Device_state_at(tvb, pinfo, tree, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, get_Tango_Device_status_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) { tree = start_dissecting(tvb, pinfo, ptree, offset); decode_get_Tango_Device_status_at(tvb, pinfo, tree, offset, header, operation, stream_is_big_endian); return TRUE; } if (strcmp(operation, get_Tango_Device_adm_name_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) { tree = start_dissecting(tvb, pinfo, ptree, offset); decode_get_Tango_Device_adm_name_at(tvb, pinfo, tree, offset, header, operation, stream_is_big_endian); return TRUE; } break; case CancelRequest: case LocateRequest: case LocateReply: case CloseConnection: case MessageError: case Fragment: return FALSE; /* not handled yet */ default: return FALSE; /* not handled yet */ } /* switch */ return FALSE; } /* End of main dissector */ /* Register the protocol with Wireshark */ void proto_register_giop_tango(void) { /* setup list of header fields */ static hf_register_info hf[] = { /* field that indicates the currently ongoing request/reply exchange */ {&hf_operationrequest, {"Request_Operation","giop-tango.Request_Operation",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, /* Operation filters */ {&hf_Tango_Device_command_inout_command, {"command","giop-tango.Device.command_inout.command",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_get_attribute_config_return_loop, {"Seq length of AttributeConfigList","giop-tango.Device.get_attribute_config.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_get_attribute_config_names_loop, {"Seq length of names","giop-tango.Device.get_attribute_config.names.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_get_attribute_config_names, {"names","giop-tango.Device.get_attribute_config.names",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_set_attribute_config_new_conf_loop, {"Seq length of new_conf","giop-tango.Device.set_attribute_config.new_conf.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_read_attributes_return_loop, {"Seq length of AttributeValueList","giop-tango.Device.read_attributes.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_read_attributes_names_loop, {"Seq length of names","giop-tango.Device.read_attributes.names.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_read_attributes_names, {"names","giop-tango.Device.read_attributes.names",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_write_attributes_values_loop, {"Seq length of values","giop-tango.Device.write_attributes.values.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_black_box_return_loop, {"Seq length of DevVarStringArray","giop-tango.Device.black_box.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_black_box_return, {"DevVarStringArray","giop-tango.Device.black_box.return",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_black_box_n, {"n","giop-tango.Device.black_box.n",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_command_list_query_return_loop, {"Seq length of DevCmdInfoList","giop-tango.Device.command_list_query.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_command_query_command, {"command","giop-tango.Device.command_query.command",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_command_inout_2_command, {"command","giop-tango.Device.command_inout_2.command",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_command_inout_2_source, {"source","giop-tango.Device.command_inout_2.source",FT_UINT32,BASE_DEC,VALS(Tango_DevSource),0x0,NULL,HFILL}}, {&hf_Tango_Device_2_read_attributes_2_return_loop, {"Seq length of AttributeValueList","giop-tango.Device.read_attributes_2.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_read_attributes_2_names_loop, {"Seq length of names","giop-tango.Device.read_attributes_2.names.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_read_attributes_2_names, {"names","giop-tango.Device.read_attributes_2.names",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_read_attributes_2_source, {"source","giop-tango.Device.read_attributes_2.source",FT_UINT32,BASE_DEC,VALS(Tango_DevSource),0x0,NULL,HFILL}}, {&hf_Tango_Device_2_get_attribute_config_2_return_loop, {"Seq length of AttributeConfigList_2","giop-tango.Device.get_attribute_config_2.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_get_attribute_config_2_names_loop, {"Seq length of names","giop-tango.Device.get_attribute_config_2.names.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_get_attribute_config_2_names, {"names","giop-tango.Device.get_attribute_config_2.names",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_command_list_query_2_return_loop, {"Seq length of DevCmdInfoList_2","giop-tango.Device.command_list_query_2.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_command_query_2_command, {"command","giop-tango.Device.command_query_2.command",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_command_inout_history_2_return_loop, {"Seq length of DevCmdHistoryList","giop-tango.Device.command_inout_history_2.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_command_inout_history_2_command, {"command","giop-tango.Device.command_inout_history_2.command",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_command_inout_history_2_n, {"n","giop-tango.Device.command_inout_history_2.n",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_read_attribute_history_2_return_loop, {"Seq length of DevAttrHistoryList","giop-tango.Device.read_attribute_history_2.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_read_attribute_history_2_name, {"name","giop-tango.Device.read_attribute_history_2.name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_2_read_attribute_history_2_n, {"n","giop-tango.Device.read_attribute_history_2.n",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_read_attributes_3_return_loop, {"Seq length of AttributeValueList_3","giop-tango.Device.read_attributes_3.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_read_attributes_3_names_loop, {"Seq length of names","giop-tango.Device.read_attributes_3.names.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_read_attributes_3_names, {"names","giop-tango.Device.read_attributes_3.names",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_read_attributes_3_source, {"source","giop-tango.Device.read_attributes_3.source",FT_UINT32,BASE_DEC,VALS(Tango_DevSource),0x0,NULL,HFILL}}, {&hf_Tango_Device_3_write_attributes_3_values_loop, {"Seq length of values","giop-tango.Device.write_attributes_3.values.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_read_attribute_history_3_return_loop, {"Seq length of DevAttrHistoryList_3","giop-tango.Device.read_attribute_history_3.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_read_attribute_history_3_name, {"name","giop-tango.Device.read_attribute_history_3.name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_read_attribute_history_3_n, {"n","giop-tango.Device.read_attribute_history_3.n",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_get_attribute_config_3_return_loop, {"Seq length of AttributeConfigList_3","giop-tango.Device.get_attribute_config_3.return.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_get_attribute_config_3_names_loop, {"Seq length of names","giop-tango.Device.get_attribute_config_3.names.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_get_attribute_config_3_names, {"names","giop-tango.Device.get_attribute_config_3.names",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_Device_3_set_attribute_config_3_new_conf_loop, {"Seq length of new_conf","giop-tango.Device.set_attribute_config_3.new_conf.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, /* Attribute filters */ {&hf_get_Tango_Device_name_name, {"name","giop-tango.Device.name.get",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_get_Tango_Device_description_description, {"description","giop-tango.Device.description.get",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_get_Tango_Device_state_state, {"state","giop-tango.Device.state.get",FT_UINT32,BASE_DEC,VALS(Tango_DevState),0x0,NULL,HFILL}}, {&hf_get_Tango_Device_status_status, {"status","giop-tango.Device.status.get",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_get_Tango_Device_adm_name_adm_name, {"adm_name","giop-tango.Device.adm_name.get",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, /* Struct filters */ {&hf_Tango_DevVarLongStringArray_lvalue_loop, {"Seq length of DevVarLongStringArray_lvalue","giop-tango.DevVarLongStringArray.lvalue.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevVarLongStringArray_lvalue, {"DevVarLongStringArray_lvalue","giop-tango.DevVarLongStringArray.lvalue",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevVarLongStringArray_svalue_loop, {"Seq length of DevVarLongStringArray_svalue","giop-tango.DevVarLongStringArray.svalue.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevVarLongStringArray_svalue, {"DevVarLongStringArray_svalue","giop-tango.DevVarLongStringArray.svalue",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevVarDoubleStringArray_dvalue_loop, {"Seq length of DevVarDoubleStringArray_dvalue","giop-tango.DevVarDoubleStringArray.dvalue.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevVarDoubleStringArray_dvalue, {"DevVarDoubleStringArray_dvalue","giop-tango.DevVarDoubleStringArray.dvalue",FT_DOUBLE,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevVarDoubleStringArray_svalue_loop, {"Seq length of DevVarDoubleStringArray_svalue","giop-tango.DevVarDoubleStringArray.svalue.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevVarDoubleStringArray_svalue, {"DevVarDoubleStringArray_svalue","giop-tango.DevVarDoubleStringArray.svalue",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_TimeVal_tv_sec, {"TimeVal_tv_sec","giop-tango.TimeVal.tv_sec",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_TimeVal_tv_usec, {"TimeVal_tv_usec","giop-tango.TimeVal.tv_usec",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_TimeVal_tv_nsec, {"TimeVal_tv_nsec","giop-tango.TimeVal.tv_nsec",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_cmd_name, {"DevCmdInfo_cmd_name","giop-tango.DevCmdInfo.cmd_name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_cmd_tag, {"DevCmdInfo_cmd_tag","giop-tango.DevCmdInfo.cmd_tag",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_in_type, {"DevCmdInfo_in_type","giop-tango.DevCmdInfo.in_type",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_out_type, {"DevCmdInfo_out_type","giop-tango.DevCmdInfo.out_type",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_in_type_desc, {"DevCmdInfo_in_type_desc","giop-tango.DevCmdInfo.in_type_desc",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_out_type_desc, {"DevCmdInfo_out_type_desc","giop-tango.DevCmdInfo.out_type_desc",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_2_cmd_name, {"DevCmdInfo_2_cmd_name","giop-tango.DevCmdInfo_2.cmd_name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_2_level, {"DevCmdInfo_2_level","giop-tango.DevCmdInfo_2.level",FT_UINT32,BASE_DEC,VALS(Tango_DispLevel),0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_2_cmd_tag, {"DevCmdInfo_2_cmd_tag","giop-tango.DevCmdInfo_2.cmd_tag",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_2_in_type, {"DevCmdInfo_2_in_type","giop-tango.DevCmdInfo_2.in_type",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_2_out_type, {"DevCmdInfo_2_out_type","giop-tango.DevCmdInfo_2.out_type",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_2_in_type_desc, {"DevCmdInfo_2_in_type_desc","giop-tango.DevCmdInfo_2.in_type_desc",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdInfo_2_out_type_desc, {"DevCmdInfo_2_out_type_desc","giop-tango.DevCmdInfo_2.out_type_desc",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevError_reason, {"DevError_reason","giop-tango.DevError.reason",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevError_severity, {"DevError_severity","giop-tango.DevError.severity",FT_UINT32,BASE_DEC,VALS(Tango_ErrSeverity),0x0,NULL,HFILL}}, {&hf_Tango_DevError_desc, {"DevError_desc","giop-tango.DevError.desc",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevError_origin, {"DevError_origin","giop-tango.DevError.origin",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_NamedDevError_name, {"NamedDevError_name","giop-tango.NamedDevError.name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_NamedDevError_index_in_call, {"NamedDevError_index_in_call","giop-tango.NamedDevError.index_in_call",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_NamedDevError_err_list_loop, {"Seq length of NamedDevError_err_list","giop-tango.NamedDevError.err_list.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_name, {"AttributeConfig_name","giop-tango.AttributeConfig.name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_writable, {"AttributeConfig_writable","giop-tango.AttributeConfig.writable",FT_UINT32,BASE_DEC,VALS(Tango_AttrWriteType),0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_data_format, {"AttributeConfig_data_format","giop-tango.AttributeConfig.data_format",FT_UINT32,BASE_DEC,VALS(Tango_AttrDataFormat),0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_data_type, {"AttributeConfig_data_type","giop-tango.AttributeConfig.data_type",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_max_dim_x, {"AttributeConfig_max_dim_x","giop-tango.AttributeConfig.max_dim_x",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_max_dim_y, {"AttributeConfig_max_dim_y","giop-tango.AttributeConfig.max_dim_y",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_description, {"AttributeConfig_description","giop-tango.AttributeConfig.description",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_label, {"AttributeConfig_label","giop-tango.AttributeConfig.label",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_unit, {"AttributeConfig_unit","giop-tango.AttributeConfig.unit",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_standard_unit, {"AttributeConfig_standard_unit","giop-tango.AttributeConfig.standard_unit",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_display_unit, {"AttributeConfig_display_unit","giop-tango.AttributeConfig.display_unit",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_format, {"AttributeConfig_format","giop-tango.AttributeConfig.format",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_min_value, {"AttributeConfig_min_value","giop-tango.AttributeConfig.min_value",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_max_value, {"AttributeConfig_max_value","giop-tango.AttributeConfig.max_value",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_min_alarm, {"AttributeConfig_min_alarm","giop-tango.AttributeConfig.min_alarm",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_max_alarm, {"AttributeConfig_max_alarm","giop-tango.AttributeConfig.max_alarm",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_writable_attr_name, {"AttributeConfig_writable_attr_name","giop-tango.AttributeConfig.writable_attr_name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_extensions_loop, {"Seq length of AttributeConfig_extensions","giop-tango.AttributeConfig.extensions.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_extensions, {"AttributeConfig_extensions","giop-tango.AttributeConfig.extensions",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_name, {"AttributeConfig_2_name","giop-tango.AttributeConfig_2.name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_writable, {"AttributeConfig_2_writable","giop-tango.AttributeConfig_2.writable",FT_UINT32,BASE_DEC,VALS(Tango_AttrWriteType),0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_data_format, {"AttributeConfig_2_data_format","giop-tango.AttributeConfig_2.data_format",FT_UINT32,BASE_DEC,VALS(Tango_AttrDataFormat),0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_data_type, {"AttributeConfig_2_data_type","giop-tango.AttributeConfig_2.data_type",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_max_dim_x, {"AttributeConfig_2_max_dim_x","giop-tango.AttributeConfig_2.max_dim_x",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_max_dim_y, {"AttributeConfig_2_max_dim_y","giop-tango.AttributeConfig_2.max_dim_y",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_description, {"AttributeConfig_2_description","giop-tango.AttributeConfig_2.description",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_label, {"AttributeConfig_2_label","giop-tango.AttributeConfig_2.label",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_unit, {"AttributeConfig_2_unit","giop-tango.AttributeConfig_2.unit",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_standard_unit, {"AttributeConfig_2_standard_unit","giop-tango.AttributeConfig_2.standard_unit",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_display_unit, {"AttributeConfig_2_display_unit","giop-tango.AttributeConfig_2.display_unit",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_format, {"AttributeConfig_2_format","giop-tango.AttributeConfig_2.format",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_min_value, {"AttributeConfig_2_min_value","giop-tango.AttributeConfig_2.min_value",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_max_value, {"AttributeConfig_2_max_value","giop-tango.AttributeConfig_2.max_value",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_min_alarm, {"AttributeConfig_2_min_alarm","giop-tango.AttributeConfig_2.min_alarm",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_max_alarm, {"AttributeConfig_2_max_alarm","giop-tango.AttributeConfig_2.max_alarm",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_writable_attr_name, {"AttributeConfig_2_writable_attr_name","giop-tango.AttributeConfig_2.writable_attr_name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_level, {"AttributeConfig_2_level","giop-tango.AttributeConfig_2.level",FT_UINT32,BASE_DEC,VALS(Tango_DispLevel),0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_extensions_loop, {"Seq length of AttributeConfig_2_extensions","giop-tango.AttributeConfig_2.extensions.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_2_extensions, {"AttributeConfig_2_extensions","giop-tango.AttributeConfig_2.extensions",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeValue_quality, {"AttributeValue_quality","giop-tango.AttributeValue.quality",FT_UINT32,BASE_DEC,VALS(Tango_AttrQuality),0x0,NULL,HFILL}}, {&hf_Tango_AttributeValue_name, {"AttributeValue_name","giop-tango.AttributeValue.name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeValue_dim_x, {"AttributeValue_dim_x","giop-tango.AttributeValue.dim_x",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeValue_dim_y, {"AttributeValue_dim_y","giop-tango.AttributeValue.dim_y",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeDim_dim_x, {"AttributeDim_dim_x","giop-tango.AttributeDim.dim_x",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeDim_dim_y, {"AttributeDim_dim_y","giop-tango.AttributeDim.dim_y",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeValue_3_quality, {"AttributeValue_3_quality","giop-tango.AttributeValue_3.quality",FT_UINT32,BASE_DEC,VALS(Tango_AttrQuality),0x0,NULL,HFILL}}, {&hf_Tango_AttributeValue_3_name, {"AttributeValue_3_name","giop-tango.AttributeValue_3.name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeValue_3_err_list_loop, {"Seq length of AttributeValue_3_err_list","giop-tango.AttributeValue_3.err_list.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_ChangeEventProp_rel_change, {"ChangeEventProp_rel_change","giop-tango.ChangeEventProp.rel_change",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_ChangeEventProp_abs_change, {"ChangeEventProp_abs_change","giop-tango.ChangeEventProp.abs_change",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_ChangeEventProp_extensions_loop, {"Seq length of ChangeEventProp_extensions","giop-tango.ChangeEventProp.extensions.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_ChangeEventProp_extensions, {"ChangeEventProp_extensions","giop-tango.ChangeEventProp.extensions",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_PeriodicEventProp_period, {"PeriodicEventProp_period","giop-tango.PeriodicEventProp.period",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_PeriodicEventProp_extensions_loop, {"Seq length of PeriodicEventProp_extensions","giop-tango.PeriodicEventProp.extensions.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_PeriodicEventProp_extensions, {"PeriodicEventProp_extensions","giop-tango.PeriodicEventProp.extensions",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_ArchiveEventProp_rel_change, {"ArchiveEventProp_rel_change","giop-tango.ArchiveEventProp.rel_change",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_ArchiveEventProp_abs_change, {"ArchiveEventProp_abs_change","giop-tango.ArchiveEventProp.abs_change",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_ArchiveEventProp_period, {"ArchiveEventProp_period","giop-tango.ArchiveEventProp.period",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_ArchiveEventProp_extensions_loop, {"Seq length of ArchiveEventProp_extensions","giop-tango.ArchiveEventProp.extensions.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_ArchiveEventProp_extensions, {"ArchiveEventProp_extensions","giop-tango.ArchiveEventProp.extensions",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeAlarm_min_alarm, {"AttributeAlarm_min_alarm","giop-tango.AttributeAlarm.min_alarm",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeAlarm_max_alarm, {"AttributeAlarm_max_alarm","giop-tango.AttributeAlarm.max_alarm",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeAlarm_min_warning, {"AttributeAlarm_min_warning","giop-tango.AttributeAlarm.min_warning",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeAlarm_max_warning, {"AttributeAlarm_max_warning","giop-tango.AttributeAlarm.max_warning",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeAlarm_delta_t, {"AttributeAlarm_delta_t","giop-tango.AttributeAlarm.delta_t",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeAlarm_delta_val, {"AttributeAlarm_delta_val","giop-tango.AttributeAlarm.delta_val",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeAlarm_extensions_loop, {"Seq length of AttributeAlarm_extensions","giop-tango.AttributeAlarm.extensions.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeAlarm_extensions, {"AttributeAlarm_extensions","giop-tango.AttributeAlarm.extensions",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_name, {"AttributeConfig_3_name","giop-tango.AttributeConfig_3.name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_writable, {"AttributeConfig_3_writable","giop-tango.AttributeConfig_3.writable",FT_UINT32,BASE_DEC,VALS(Tango_AttrWriteType),0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_data_format, {"AttributeConfig_3_data_format","giop-tango.AttributeConfig_3.data_format",FT_UINT32,BASE_DEC,VALS(Tango_AttrDataFormat),0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_data_type, {"AttributeConfig_3_data_type","giop-tango.AttributeConfig_3.data_type",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_max_dim_x, {"AttributeConfig_3_max_dim_x","giop-tango.AttributeConfig_3.max_dim_x",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_max_dim_y, {"AttributeConfig_3_max_dim_y","giop-tango.AttributeConfig_3.max_dim_y",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_description, {"AttributeConfig_3_description","giop-tango.AttributeConfig_3.description",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_label, {"AttributeConfig_3_label","giop-tango.AttributeConfig_3.label",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_unit, {"AttributeConfig_3_unit","giop-tango.AttributeConfig_3.unit",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_standard_unit, {"AttributeConfig_3_standard_unit","giop-tango.AttributeConfig_3.standard_unit",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_display_unit, {"AttributeConfig_3_display_unit","giop-tango.AttributeConfig_3.display_unit",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_format, {"AttributeConfig_3_format","giop-tango.AttributeConfig_3.format",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_min_value, {"AttributeConfig_3_min_value","giop-tango.AttributeConfig_3.min_value",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_max_value, {"AttributeConfig_3_max_value","giop-tango.AttributeConfig_3.max_value",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_writable_attr_name, {"AttributeConfig_3_writable_attr_name","giop-tango.AttributeConfig_3.writable_attr_name",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_level, {"AttributeConfig_3_level","giop-tango.AttributeConfig_3.level",FT_UINT32,BASE_DEC,VALS(Tango_DispLevel),0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_extensions_loop, {"Seq length of AttributeConfig_3_extensions","giop-tango.AttributeConfig_3.extensions.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_extensions, {"AttributeConfig_3_extensions","giop-tango.AttributeConfig_3.extensions",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_sys_extensions_loop, {"Seq length of AttributeConfig_3_sys_extensions","giop-tango.AttributeConfig_3.sys_extensions.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_AttributeConfig_3_sys_extensions, {"AttributeConfig_3_sys_extensions","giop-tango.AttributeConfig_3.sys_extensions",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_dev_class, {"DevInfo_dev_class","giop-tango.DevInfo.dev_class",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_server_id, {"DevInfo_server_id","giop-tango.DevInfo.server_id",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_server_host, {"DevInfo_server_host","giop-tango.DevInfo.server_host",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_server_version, {"DevInfo_server_version","giop-tango.DevInfo.server_version",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_doc_url, {"DevInfo_doc_url","giop-tango.DevInfo.doc_url",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_3_dev_class, {"DevInfo_3_dev_class","giop-tango.DevInfo_3.dev_class",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_3_server_id, {"DevInfo_3_server_id","giop-tango.DevInfo_3.server_id",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_3_server_host, {"DevInfo_3_server_host","giop-tango.DevInfo_3.server_host",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_3_server_version, {"DevInfo_3_server_version","giop-tango.DevInfo_3.server_version",FT_INT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_3_doc_url, {"DevInfo_3_doc_url","giop-tango.DevInfo_3.doc_url",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevInfo_3_dev_type, {"DevInfo_3_dev_type","giop-tango.DevInfo_3.dev_type",FT_STRING,BASE_NONE,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevCmdHistory_cmd_failed, {"DevCmdHistory_cmd_failed","giop-tango.DevCmdHistory.cmd_failed",FT_BOOLEAN,8,NULL,0x01,NULL,HFILL}}, {&hf_Tango_DevCmdHistory_errors_loop, {"Seq length of DevCmdHistory_errors","giop-tango.DevCmdHistory.errors.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevAttrHistory_attr_failed, {"DevAttrHistory_attr_failed","giop-tango.DevAttrHistory.attr_failed",FT_BOOLEAN,8,NULL,0x01,NULL,HFILL}}, {&hf_Tango_DevAttrHistory_errors_loop, {"Seq length of DevAttrHistory_errors","giop-tango.DevAttrHistory.errors.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_DevAttrHistory_3_attr_failed, {"DevAttrHistory_3_attr_failed","giop-tango.DevAttrHistory_3.attr_failed",FT_BOOLEAN,8,NULL,0x01,NULL,HFILL}}, /* User exception filters */ {&hf_Tango_DevFailed_errors_loop, {"Seq length of DevFailed_errors","giop-tango.DevFaile.DevFailed_errors.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, {&hf_Tango_MultiDevFailed_errors_loop, {"Seq length of MultiDevFailed_errors","giop-tango.MultiDevFaile.MultiDevFailed_errors.size",FT_UINT32,BASE_DEC,NULL,0x0,NULL,HFILL}}, /* Union filters */ }; static ei_register_info ei[] = { { &ei_tango_unknown_giop_msg, { "giop-tango.unknown_giop_msg", PI_PROTOCOL, PI_WARN, "Unknown GIOP message", EXPFILL }}, { &ei_tango_unknown_exception, { "giop-tango.unknown_exception", PI_PROTOCOL, PI_WARN, "Unknown exception", EXPFILL }}, { &ei_tango_unknown_reply_status, { "giop-tango.unknown_reply_status", PI_PROTOCOL, PI_WARN, "Unknown reply status", EXPFILL }}, }; /* setup protocol subtree array */ static gint *ett[] = { &ett_tango, }; expert_module_t* expert_tango; /* Register the protocol name and description */ proto_tango = proto_register_protocol("Tango Dissector Using GIOP API" , "TANGO", "giop-tango" ); proto_register_field_array(proto_tango, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); expert_tango = expert_register_protocol(proto_tango); expert_register_field_array(expert_tango, ei, array_length(ei)); } /* register me as handler for these interfaces */ void proto_reg_handoff_giop_tango(void) { /* Register for Explicit Dissection */ register_giop_user_module(dissect_tango, "TANGO", "Tango/Device", proto_tango ); /* explicit dissector */ /* Register for Explicit Dissection */ register_giop_user_module(dissect_tango, "TANGO", "Tango/Device_2", proto_tango ); /* explicit dissector */ /* Register for Explicit Dissection */ register_giop_user_module(dissect_tango, "TANGO", "Tango/Device_3", proto_tango ); /* explicit dissector */ /* Register for Heuristic Dissection */ register_giop_user(dissect_tango, "TANGO" ,proto_tango); /* heuristic dissector */ } /* * Editor modelines * * Local Variables: * c-basic-offset: 4 * tab-width: 8 * indent-tabs-mode: nil * End: * * ex: set shiftwidth=4 tabstop=8 expandtab: * :indentSize=4:tabSize=8:noTabs=true: */