5 * Routines for IDL dissection
7 * Autogenerated from idl2wrs
8 * Copyright 2001 Frank Singleton <frank.singleton@ericsson.com>
13 * Wireshark - Network traffic analyzer
15 * Copyright 1999 - 2006 Gerald Combs
20 * This program is free software; you can redistribute it and/or
21 * modify it under the terms of the GNU General Public License
22 * as published by the Free Software Foundation; either version 2
23 * of the License, or (at your option) any later version.
25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 * GNU General Public License for more details.
30 * You should have received a copy of the GNU General Public License
31 * along with this program; if not, write to the Free Software
32 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
46 #include <epan/packet.h>
47 #include <epan/proto.h>
48 #include <epan/dissectors/packet-giop.h>
51 G_MODULE_EXPORT const gchar version[] = "0.0.1";
55 /* disable warning: "unreference local variable" */
56 #pragma warning(disable:4101)
60 static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, int *offset);
64 /* Struct prototype declaration Start */
67 /* Struct = IDL:Tango/DevVarLongStringArray:1.0 */
69 static void decode_Tango_DevVarLongStringArray_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
72 /* Struct = IDL:Tango/DevVarDoubleStringArray:1.0 */
74 static void decode_Tango_DevVarDoubleStringArray_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
77 /* Struct = IDL:Tango/TimeVal:1.0 */
79 static void decode_Tango_TimeVal_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
82 /* Struct = IDL:Tango/DevCmdInfo:1.0 */
84 static void decode_Tango_DevCmdInfo_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
87 /* Struct = IDL:Tango/DevCmdInfo_2:1.0 */
89 static void decode_Tango_DevCmdInfo_2_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
92 /* Struct = IDL:Tango/DevError:1.0 */
94 static void decode_Tango_DevError_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
97 /* Struct = IDL:Tango/NamedDevError:1.0 */
99 static void decode_Tango_NamedDevError_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
102 /* Struct = IDL:Tango/AttributeConfig:1.0 */
104 static void decode_Tango_AttributeConfig_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
107 /* Struct = IDL:Tango/AttributeConfig_2:1.0 */
109 static void decode_Tango_AttributeConfig_2_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
112 /* Struct = IDL:Tango/AttributeValue:1.0 */
114 static void decode_Tango_AttributeValue_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
117 /* Struct = IDL:Tango/AttributeDim:1.0 */
119 static void decode_Tango_AttributeDim_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
122 /* Struct = IDL:Tango/AttributeValue_3:1.0 */
124 static void decode_Tango_AttributeValue_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
127 /* Struct = IDL:Tango/ChangeEventProp:1.0 */
129 static void decode_Tango_ChangeEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
132 /* Struct = IDL:Tango/PeriodicEventProp:1.0 */
134 static void decode_Tango_PeriodicEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
137 /* Struct = IDL:Tango/ArchiveEventProp:1.0 */
139 static void decode_Tango_ArchiveEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
142 /* Struct = IDL:Tango/EventProperties:1.0 */
144 static void decode_Tango_EventProperties_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
147 /* Struct = IDL:Tango/AttributeAlarm:1.0 */
149 static void decode_Tango_AttributeAlarm_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
152 /* Struct = IDL:Tango/AttributeConfig_3:1.0 */
154 static void decode_Tango_AttributeConfig_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
157 /* Struct = IDL:Tango/DevInfo:1.0 */
159 static void decode_Tango_DevInfo_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
162 /* Struct = IDL:Tango/DevInfo_3:1.0 */
164 static void decode_Tango_DevInfo_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
167 /* Struct = IDL:Tango/DevCmdHistory:1.0 */
169 static void decode_Tango_DevCmdHistory_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
172 /* Struct = IDL:Tango/DevAttrHistory:1.0 */
174 static void decode_Tango_DevAttrHistory_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
177 /* Struct = IDL:Tango/DevAttrHistory_3:1.0 */
179 static void decode_Tango_DevAttrHistory_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_);
182 /* Struct prototype declaration End */
185 /* Union prototype declaration Start */
188 /* Union prototype declaration End */
192 /* Initialise the protocol and subtree pointers */
194 static int proto_tango = -1;
196 static gint ett_tango = -1;
199 /* Initialise the initial Alignment */
201 static guint32 boundary = GIOP_HEADER_SIZE; /* initial value */
205 /* Initialise the Registered fields */
207 /* TODO - Use registered fields */
210 * IDL Operations Start
213 static const char Tango_Device_command_inout_op[] = "command_inout" ;
214 static const char Tango_Device_get_attribute_config_op[] = "get_attribute_config" ;
215 static const char Tango_Device_set_attribute_config_op[] = "set_attribute_config" ;
216 static const char Tango_Device_read_attributes_op[] = "read_attributes" ;
217 static const char Tango_Device_write_attributes_op[] = "write_attributes" ;
218 static const char Tango_Device_ping_op[] = "ping" ;
219 static const char Tango_Device_black_box_op[] = "black_box" ;
220 static const char Tango_Device_info_op[] = "info" ;
221 static const char Tango_Device_command_list_query_op[] = "command_list_query" ;
222 static const char Tango_Device_command_query_op[] = "command_query" ;
223 static const char Tango_Device_2_command_inout_2_op[] = "command_inout_2" ;
224 static const char Tango_Device_2_read_attributes_2_op[] = "read_attributes_2" ;
225 static const char Tango_Device_2_get_attribute_config_2_op[] = "get_attribute_config_2" ;
226 static const char Tango_Device_2_command_list_query_2_op[] = "command_list_query_2" ;
227 static const char Tango_Device_2_command_query_2_op[] = "command_query_2" ;
228 static const char Tango_Device_2_command_inout_history_2_op[] = "command_inout_history_2" ;
229 static const char Tango_Device_2_read_attribute_history_2_op[] = "read_attribute_history_2" ;
230 static const char Tango_Device_3_read_attributes_3_op[] = "read_attributes_3" ;
231 static const char Tango_Device_3_write_attributes_3_op[] = "write_attributes_3" ;
232 static const char Tango_Device_3_read_attribute_history_3_op[] = "read_attribute_history_3" ;
233 static const char Tango_Device_3_info_3_op[] = "info_3" ;
234 static const char Tango_Device_3_get_attribute_config_3_op[] = "get_attribute_config_3" ;
235 static const char Tango_Device_3_set_attribute_config_3_op[] = "set_attribute_config_3" ;
241 /* Begin Exception (containing members) String Declare */
244 static const char user_exception_Tango_DevFailed[] = "IDL:Tango/DevFailed:1.0" ;
245 static const char user_exception_Tango_MultiDevFailed[] = "IDL:Tango/MultiDevFailed:1.0" ;
247 /* End Exception (containing members) String Declare */
250 * IDL Attributes Start
253 static const char get_Tango_Device_name_at[] = "_get_name" ;
254 static const char get_Tango_Device_description_at[] = "_get_description" ;
255 static const char get_Tango_Device_state_at[] = "_get_state" ;
256 static const char get_Tango_Device_status_at[] = "_get_status" ;
257 static const char get_Tango_Device_adm_name_at[] = "_get_adm_name" ;
268 * Enum = IDL:Tango/AttrQuality:1.0
271 static const value_string Tango_AttrQuality[] = {
274 { 1, "ATTR_INVALID" },
276 { 3, "ATTR_CHANGING" },
277 { 4, "ATTR_WARNING" },
282 * Enum = IDL:Tango/AttrWriteType:1.0
285 static const value_string Tango_AttrWriteType[] = {
288 { 1, "READ_WITH_WRITE" },
295 * Enum = IDL:Tango/AttrDataFormat:1.0
298 static const value_string Tango_AttrDataFormat[] = {
307 * Enum = IDL:Tango/DevSource:1.0
310 static const value_string Tango_DevSource[] = {
319 * Enum = IDL:Tango/ErrSeverity:1.0
322 static const value_string Tango_ErrSeverity[] = {
331 * Enum = IDL:Tango/DevState:1.0
334 static const value_string Tango_DevState[] = {
354 * Enum = IDL:Tango/DispLevel:1.0
357 static const value_string Tango_DispLevel[] = {
368 /* Begin Exception Helper Functions */
371 /* Exception = IDL:Tango/DevFailed:1.0 */
373 static void decode_ex_Tango_DevFailed(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
375 gboolean stream_is_big_endian; /* big endianess */
378 /* Operation specific Variable declarations Begin */
380 guint32 u_octet4_loop_DevFailed_errors;
381 guint32 i_DevFailed_errors;
383 /* Operation specific Variable declarations End */
385 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
387 u_octet4_loop_DevFailed_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
389 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevFailed_errors = %u",u_octet4_loop_DevFailed_errors);
392 for (i_DevFailed_errors=0; i_DevFailed_errors < u_octet4_loop_DevFailed_errors; i_DevFailed_errors++) {
394 /* Begin struct "Tango_DevError" */
398 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
400 /* End struct "Tango_DevError" */
406 /* Exception = IDL:Tango/MultiDevFailed:1.0 */
408 static void decode_ex_Tango_MultiDevFailed(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
410 gboolean stream_is_big_endian; /* big endianess */
413 /* Operation specific Variable declarations Begin */
415 guint32 u_octet4_loop_MultiDevFailed_errors;
416 guint32 i_MultiDevFailed_errors;
418 /* Operation specific Variable declarations End */
420 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
422 u_octet4_loop_MultiDevFailed_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
424 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of MultiDevFailed_errors = %u",u_octet4_loop_MultiDevFailed_errors);
427 for (i_MultiDevFailed_errors=0; i_MultiDevFailed_errors < u_octet4_loop_MultiDevFailed_errors; i_MultiDevFailed_errors++) {
429 /* Begin struct "Tango_NamedDevError" */
433 decode_Tango_NamedDevError_st(tvb, pinfo, tree, offset, header, operation);
435 /* End struct "Tango_NamedDevError" */
442 /* End Exception Helper Functions */
445 * Main delegator for exception handling
449 static gboolean decode_user_exception(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *ptree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_ ) {
451 gboolean be _U_; /* big endianess */
452 proto_tree *tree _U_;
454 if (!header->exception_id)
457 if (strcmp(header->exception_id, user_exception_Tango_DevFailed) == 0) {
458 tree = start_dissecting(tvb, pinfo, ptree, offset);
459 decode_ex_Tango_DevFailed(tvb, pinfo, tree, offset, header, operation); /* IDL:Tango/DevFailed:1.0 */
463 if (strcmp(header->exception_id, user_exception_Tango_MultiDevFailed) == 0) {
464 tree = start_dissecting(tvb, pinfo, ptree, offset);
465 decode_ex_Tango_MultiDevFailed(tvb, pinfo, tree, offset, header, operation); /* IDL:Tango/MultiDevFailed:1.0 */
471 return FALSE; /* user exception not found */
475 /* Begin Attribute Helper Functions */
478 /* Attribute = IDL:Tango/Device/name:1.0 */
480 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_, gchar *operation _U_) {
482 gboolean stream_is_big_endian; /* big endianess */
485 /* Operation specific Variable declarations Begin */
490 /* Operation specific Variable declarations End */
492 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
494 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
496 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"name (%u) = %s",
497 u_octet4, (u_octet4 > 0) ? seq : "");
500 g_free(seq); /* free buffer */
506 /* Attribute = IDL:Tango/Device/description:1.0 */
508 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_, gchar *operation _U_) {
510 gboolean stream_is_big_endian; /* big endianess */
513 /* Operation specific Variable declarations Begin */
518 /* Operation specific Variable declarations End */
520 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
522 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
524 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"description (%u) = %s",
525 u_octet4, (u_octet4 > 0) ? seq : "");
528 g_free(seq); /* free buffer */
534 /* Attribute = IDL:Tango/Device/state:1.0 */
536 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_, gchar *operation _U_) {
538 gboolean stream_is_big_endian; /* big endianess */
541 /* Operation specific Variable declarations Begin */
545 /* Operation specific Variable declarations End */
547 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
550 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
552 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_DevState,"Unknown Enum Value"));
558 /* Attribute = IDL:Tango/Device/status:1.0 */
560 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_, gchar *operation _U_) {
562 gboolean stream_is_big_endian; /* big endianess */
565 /* Operation specific Variable declarations Begin */
570 /* Operation specific Variable declarations End */
572 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
574 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
576 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"status (%u) = %s",
577 u_octet4, (u_octet4 > 0) ? seq : "");
580 g_free(seq); /* free buffer */
586 /* Attribute = IDL:Tango/Device/adm_name:1.0 */
588 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_, gchar *operation _U_) {
590 gboolean stream_is_big_endian; /* big endianess */
593 /* Operation specific Variable declarations Begin */
598 /* Operation specific Variable declarations End */
600 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
602 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
604 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"adm_name (%u) = %s",
605 u_octet4, (u_octet4 > 0) ? seq : "");
608 g_free(seq); /* free buffer */
614 /* End Attribute Helper Functions */
617 * IDL:Tango/Device/command_inout:1.0
620 static void decode_Tango_Device_command_inout(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
622 gboolean stream_is_big_endian; /* big endianess */
625 /* Operation specific Variable declarations Begin */
630 /* Operation specific Variable declarations End */
632 stream_is_big_endian = is_big_endian(header);
634 switch(header->message_type) {
638 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
640 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
641 u_octet4, (u_octet4 > 0) ? seq : "");
644 g_free(seq); /* free buffer */
647 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
653 switch(header->rep_status) {
657 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
667 /* Unknown Exception */
669 g_warning("Unknown Exception ");
674 } /* switch(header->message_type) */
680 /* Unknown GIOP Message */
682 g_warning("Unknown GIOP Message");
686 } /* switch(header->message_type) */
691 * IDL:Tango/Device/get_attribute_config:1.0
694 static void decode_Tango_Device_get_attribute_config(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
696 gboolean stream_is_big_endian; /* big endianess */
699 /* Operation specific Variable declarations Begin */
701 guint32 u_octet4_loop_names;
705 guint32 u_octet4_loop_AttributeConfigList;
706 guint32 i_AttributeConfigList;
708 /* Operation specific Variable declarations End */
710 stream_is_big_endian = is_big_endian(header);
712 switch(header->message_type) {
716 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
718 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
721 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
723 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
725 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
726 u_octet4, (u_octet4 > 0) ? seq : "");
729 g_free(seq); /* free buffer */
738 switch(header->rep_status) {
742 u_octet4_loop_AttributeConfigList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
744 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfigList = %u",u_octet4_loop_AttributeConfigList);
747 for (i_AttributeConfigList=0; i_AttributeConfigList < u_octet4_loop_AttributeConfigList; i_AttributeConfigList++) {
749 /* Begin struct "Tango_AttributeConfig" */
753 decode_Tango_AttributeConfig_st(tvb, pinfo, tree, offset, header, operation);
755 /* End struct "Tango_AttributeConfig" */
767 /* Unknown Exception */
769 g_warning("Unknown Exception ");
774 } /* switch(header->message_type) */
780 /* Unknown GIOP Message */
782 g_warning("Unknown GIOP Message");
786 } /* switch(header->message_type) */
791 * IDL:Tango/Device/set_attribute_config:1.0
794 static void decode_Tango_Device_set_attribute_config(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
796 gboolean stream_is_big_endian; /* big endianess */
799 /* Operation specific Variable declarations Begin */
801 guint32 u_octet4_loop_new_conf;
804 /* Operation specific Variable declarations End */
806 stream_is_big_endian = is_big_endian(header);
808 switch(header->message_type) {
812 u_octet4_loop_new_conf = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
814 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of new_conf = %u",u_octet4_loop_new_conf);
817 for (i_new_conf=0; i_new_conf < u_octet4_loop_new_conf; i_new_conf++) {
819 /* Begin struct "Tango_AttributeConfig" */
823 decode_Tango_AttributeConfig_st(tvb, pinfo, tree, offset, header, operation);
825 /* End struct "Tango_AttributeConfig" */
833 switch(header->rep_status) {
837 /* Function returns void */
847 /* Unknown Exception */
849 g_warning("Unknown Exception ");
854 } /* switch(header->message_type) */
860 /* Unknown GIOP Message */
862 g_warning("Unknown GIOP Message");
866 } /* switch(header->message_type) */
871 * IDL:Tango/Device/read_attributes:1.0
874 static void decode_Tango_Device_read_attributes(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
876 gboolean stream_is_big_endian; /* big endianess */
879 /* Operation specific Variable declarations Begin */
881 guint32 u_octet4_loop_names;
885 guint32 u_octet4_loop_AttributeValueList;
886 guint32 i_AttributeValueList;
888 /* Operation specific Variable declarations End */
890 stream_is_big_endian = is_big_endian(header);
892 switch(header->message_type) {
896 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
898 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
901 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
903 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
905 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
906 u_octet4, (u_octet4 > 0) ? seq : "");
909 g_free(seq); /* free buffer */
918 switch(header->rep_status) {
922 u_octet4_loop_AttributeValueList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
924 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeValueList = %u",u_octet4_loop_AttributeValueList);
927 for (i_AttributeValueList=0; i_AttributeValueList < u_octet4_loop_AttributeValueList; i_AttributeValueList++) {
929 /* Begin struct "Tango_AttributeValue" */
933 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
935 /* End struct "Tango_AttributeValue" */
947 /* Unknown Exception */
949 g_warning("Unknown Exception ");
954 } /* switch(header->message_type) */
960 /* Unknown GIOP Message */
962 g_warning("Unknown GIOP Message");
966 } /* switch(header->message_type) */
971 * IDL:Tango/Device/write_attributes:1.0
974 static void decode_Tango_Device_write_attributes(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
976 gboolean stream_is_big_endian; /* big endianess */
979 /* Operation specific Variable declarations Begin */
981 guint32 u_octet4_loop_values;
984 /* Operation specific Variable declarations End */
986 stream_is_big_endian = is_big_endian(header);
988 switch(header->message_type) {
992 u_octet4_loop_values = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
994 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of values = %u",u_octet4_loop_values);
997 for (i_values=0; i_values < u_octet4_loop_values; i_values++) {
999 /* Begin struct "Tango_AttributeValue" */
1003 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
1005 /* End struct "Tango_AttributeValue" */
1013 switch(header->rep_status) {
1017 /* Function returns void */
1021 case USER_EXCEPTION:
1027 /* Unknown Exception */
1029 g_warning("Unknown Exception ");
1034 } /* switch(header->message_type) */
1040 /* Unknown GIOP Message */
1042 g_warning("Unknown GIOP Message");
1046 } /* switch(header->message_type) */
1051 * IDL:Tango/Device/ping:1.0
1054 static void decode_Tango_Device_ping(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1056 gboolean stream_is_big_endian; /* big endianess */
1059 /* Operation specific Variable declarations Begin */
1062 /* Operation specific Variable declarations End */
1064 stream_is_big_endian = is_big_endian(header);
1066 switch(header->message_type) {
1074 switch(header->rep_status) {
1078 /* Function returns void */
1082 case USER_EXCEPTION:
1088 /* Unknown Exception */
1090 g_warning("Unknown Exception ");
1095 } /* switch(header->message_type) */
1101 /* Unknown GIOP Message */
1103 g_warning("Unknown GIOP Message");
1107 } /* switch(header->message_type) */
1112 * IDL:Tango/Device/black_box:1.0
1115 static void decode_Tango_Device_black_box(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1117 gboolean stream_is_big_endian; /* big endianess */
1120 /* Operation specific Variable declarations Begin */
1123 guint32 u_octet4_loop_DevVarStringArray;
1124 guint32 i_DevVarStringArray;
1128 /* Operation specific Variable declarations End */
1130 stream_is_big_endian = is_big_endian(header);
1132 switch(header->message_type) {
1136 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
1138 proto_tree_add_text(tree,tvb,*offset-4,4,"n = %i",s_octet4);
1145 switch(header->rep_status) {
1149 u_octet4_loop_DevVarStringArray = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1151 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarStringArray = %u",u_octet4_loop_DevVarStringArray);
1154 for (i_DevVarStringArray=0; i_DevVarStringArray < u_octet4_loop_DevVarStringArray; i_DevVarStringArray++) {
1156 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1158 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevVarStringArray (%u) = %s",
1159 u_octet4, (u_octet4 > 0) ? seq : "");
1162 g_free(seq); /* free buffer */
1169 case USER_EXCEPTION:
1175 /* Unknown Exception */
1177 g_warning("Unknown Exception ");
1182 } /* switch(header->message_type) */
1188 /* Unknown GIOP Message */
1190 g_warning("Unknown GIOP Message");
1194 } /* switch(header->message_type) */
1199 * IDL:Tango/Device/info:1.0
1202 static void decode_Tango_Device_info(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1204 gboolean stream_is_big_endian; /* big endianess */
1207 /* Operation specific Variable declarations Begin */
1210 /* Operation specific Variable declarations End */
1212 stream_is_big_endian = is_big_endian(header);
1214 switch(header->message_type) {
1222 switch(header->rep_status) {
1226 /* Begin struct "Tango_DevInfo" */
1230 decode_Tango_DevInfo_st(tvb, pinfo, tree, offset, header, operation);
1232 /* End struct "Tango_DevInfo" */
1236 case USER_EXCEPTION:
1242 /* Unknown Exception */
1244 g_warning("Unknown Exception ");
1249 } /* switch(header->message_type) */
1255 /* Unknown GIOP Message */
1257 g_warning("Unknown GIOP Message");
1261 } /* switch(header->message_type) */
1266 * IDL:Tango/Device/command_list_query:1.0
1269 static void decode_Tango_Device_command_list_query(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1271 gboolean stream_is_big_endian; /* big endianess */
1274 /* Operation specific Variable declarations Begin */
1276 guint32 u_octet4_loop_DevCmdInfoList;
1277 guint32 i_DevCmdInfoList;
1279 /* Operation specific Variable declarations End */
1281 stream_is_big_endian = is_big_endian(header);
1283 switch(header->message_type) {
1291 switch(header->rep_status) {
1295 u_octet4_loop_DevCmdInfoList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1297 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevCmdInfoList = %u",u_octet4_loop_DevCmdInfoList);
1300 for (i_DevCmdInfoList=0; i_DevCmdInfoList < u_octet4_loop_DevCmdInfoList; i_DevCmdInfoList++) {
1302 /* Begin struct "Tango_DevCmdInfo" */
1306 decode_Tango_DevCmdInfo_st(tvb, pinfo, tree, offset, header, operation);
1308 /* End struct "Tango_DevCmdInfo" */
1314 case USER_EXCEPTION:
1320 /* Unknown Exception */
1322 g_warning("Unknown Exception ");
1327 } /* switch(header->message_type) */
1333 /* Unknown GIOP Message */
1335 g_warning("Unknown GIOP Message");
1339 } /* switch(header->message_type) */
1344 * IDL:Tango/Device/command_query:1.0
1347 static void decode_Tango_Device_command_query(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1349 gboolean stream_is_big_endian; /* big endianess */
1352 /* Operation specific Variable declarations Begin */
1357 /* Operation specific Variable declarations End */
1359 stream_is_big_endian = is_big_endian(header);
1361 switch(header->message_type) {
1365 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1367 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
1368 u_octet4, (u_octet4 > 0) ? seq : "");
1371 g_free(seq); /* free buffer */
1378 switch(header->rep_status) {
1382 /* Begin struct "Tango_DevCmdInfo" */
1386 decode_Tango_DevCmdInfo_st(tvb, pinfo, tree, offset, header, operation);
1388 /* End struct "Tango_DevCmdInfo" */
1392 case USER_EXCEPTION:
1398 /* Unknown Exception */
1400 g_warning("Unknown Exception ");
1405 } /* switch(header->message_type) */
1411 /* Unknown GIOP Message */
1413 g_warning("Unknown GIOP Message");
1417 } /* switch(header->message_type) */
1422 * IDL:Tango/Device_2/command_inout_2:1.0
1425 static void decode_Tango_Device_2_command_inout_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1427 gboolean stream_is_big_endian; /* big endianess */
1430 /* Operation specific Variable declarations Begin */
1435 /* Operation specific Variable declarations End */
1437 stream_is_big_endian = is_big_endian(header);
1439 switch(header->message_type) {
1443 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1445 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
1446 u_octet4, (u_octet4 > 0) ? seq : "");
1449 g_free(seq); /* free buffer */
1452 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
1455 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
1457 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_DevSource,"Unknown Enum Value"));
1464 switch(header->rep_status) {
1468 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
1472 case USER_EXCEPTION:
1478 /* Unknown Exception */
1480 g_warning("Unknown Exception ");
1485 } /* switch(header->message_type) */
1491 /* Unknown GIOP Message */
1493 g_warning("Unknown GIOP Message");
1497 } /* switch(header->message_type) */
1502 * IDL:Tango/Device_2/read_attributes_2:1.0
1505 static void decode_Tango_Device_2_read_attributes_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1507 gboolean stream_is_big_endian; /* big endianess */
1510 /* Operation specific Variable declarations Begin */
1512 guint32 u_octet4_loop_names;
1516 guint32 u_octet4_loop_AttributeValueList;
1517 guint32 i_AttributeValueList;
1519 /* Operation specific Variable declarations End */
1521 stream_is_big_endian = is_big_endian(header);
1523 switch(header->message_type) {
1527 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1529 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
1532 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
1534 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1536 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
1537 u_octet4, (u_octet4 > 0) ? seq : "");
1540 g_free(seq); /* free buffer */
1546 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
1548 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_DevSource,"Unknown Enum Value"));
1555 switch(header->rep_status) {
1559 u_octet4_loop_AttributeValueList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1561 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeValueList = %u",u_octet4_loop_AttributeValueList);
1564 for (i_AttributeValueList=0; i_AttributeValueList < u_octet4_loop_AttributeValueList; i_AttributeValueList++) {
1566 /* Begin struct "Tango_AttributeValue" */
1570 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
1572 /* End struct "Tango_AttributeValue" */
1578 case USER_EXCEPTION:
1584 /* Unknown Exception */
1586 g_warning("Unknown Exception ");
1591 } /* switch(header->message_type) */
1597 /* Unknown GIOP Message */
1599 g_warning("Unknown GIOP Message");
1603 } /* switch(header->message_type) */
1608 * IDL:Tango/Device_2/get_attribute_config_2:1.0
1611 static void decode_Tango_Device_2_get_attribute_config_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1613 gboolean stream_is_big_endian; /* big endianess */
1616 /* Operation specific Variable declarations Begin */
1618 guint32 u_octet4_loop_names;
1622 guint32 u_octet4_loop_AttributeConfigList_2;
1623 guint32 i_AttributeConfigList_2;
1625 /* Operation specific Variable declarations End */
1627 stream_is_big_endian = is_big_endian(header);
1629 switch(header->message_type) {
1633 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1635 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
1638 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
1640 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1642 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
1643 u_octet4, (u_octet4 > 0) ? seq : "");
1646 g_free(seq); /* free buffer */
1655 switch(header->rep_status) {
1659 u_octet4_loop_AttributeConfigList_2 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1661 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfigList_2 = %u",u_octet4_loop_AttributeConfigList_2);
1664 for (i_AttributeConfigList_2=0; i_AttributeConfigList_2 < u_octet4_loop_AttributeConfigList_2; i_AttributeConfigList_2++) {
1666 /* Begin struct "Tango_AttributeConfig_2" */
1670 decode_Tango_AttributeConfig_2_st(tvb, pinfo, tree, offset, header, operation);
1672 /* End struct "Tango_AttributeConfig_2" */
1678 case USER_EXCEPTION:
1684 /* Unknown Exception */
1686 g_warning("Unknown Exception ");
1691 } /* switch(header->message_type) */
1697 /* Unknown GIOP Message */
1699 g_warning("Unknown GIOP Message");
1703 } /* switch(header->message_type) */
1708 * IDL:Tango/Device_2/command_list_query_2:1.0
1711 static void decode_Tango_Device_2_command_list_query_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1713 gboolean stream_is_big_endian; /* big endianess */
1716 /* Operation specific Variable declarations Begin */
1718 guint32 u_octet4_loop_DevCmdInfoList_2;
1719 guint32 i_DevCmdInfoList_2;
1721 /* Operation specific Variable declarations End */
1723 stream_is_big_endian = is_big_endian(header);
1725 switch(header->message_type) {
1733 switch(header->rep_status) {
1737 u_octet4_loop_DevCmdInfoList_2 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1739 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevCmdInfoList_2 = %u",u_octet4_loop_DevCmdInfoList_2);
1742 for (i_DevCmdInfoList_2=0; i_DevCmdInfoList_2 < u_octet4_loop_DevCmdInfoList_2; i_DevCmdInfoList_2++) {
1744 /* Begin struct "Tango_DevCmdInfo_2" */
1748 decode_Tango_DevCmdInfo_2_st(tvb, pinfo, tree, offset, header, operation);
1750 /* End struct "Tango_DevCmdInfo_2" */
1756 case USER_EXCEPTION:
1762 /* Unknown Exception */
1764 g_warning("Unknown Exception ");
1769 } /* switch(header->message_type) */
1775 /* Unknown GIOP Message */
1777 g_warning("Unknown GIOP Message");
1781 } /* switch(header->message_type) */
1786 * IDL:Tango/Device_2/command_query_2:1.0
1789 static void decode_Tango_Device_2_command_query_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1791 gboolean stream_is_big_endian; /* big endianess */
1794 /* Operation specific Variable declarations Begin */
1799 /* Operation specific Variable declarations End */
1801 stream_is_big_endian = is_big_endian(header);
1803 switch(header->message_type) {
1807 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1809 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
1810 u_octet4, (u_octet4 > 0) ? seq : "");
1813 g_free(seq); /* free buffer */
1820 switch(header->rep_status) {
1824 /* Begin struct "Tango_DevCmdInfo_2" */
1828 decode_Tango_DevCmdInfo_2_st(tvb, pinfo, tree, offset, header, operation);
1830 /* End struct "Tango_DevCmdInfo_2" */
1834 case USER_EXCEPTION:
1840 /* Unknown Exception */
1842 g_warning("Unknown Exception ");
1847 } /* switch(header->message_type) */
1853 /* Unknown GIOP Message */
1855 g_warning("Unknown GIOP Message");
1859 } /* switch(header->message_type) */
1864 * IDL:Tango/Device_2/command_inout_history_2:1.0
1867 static void decode_Tango_Device_2_command_inout_history_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1869 gboolean stream_is_big_endian; /* big endianess */
1872 /* Operation specific Variable declarations Begin */
1877 guint32 u_octet4_loop_DevCmdHistoryList;
1878 guint32 i_DevCmdHistoryList;
1880 /* Operation specific Variable declarations End */
1882 stream_is_big_endian = is_big_endian(header);
1884 switch(header->message_type) {
1888 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1890 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
1891 u_octet4, (u_octet4 > 0) ? seq : "");
1894 g_free(seq); /* free buffer */
1897 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
1899 proto_tree_add_text(tree,tvb,*offset-4,4,"n = %i",s_octet4);
1906 switch(header->rep_status) {
1910 u_octet4_loop_DevCmdHistoryList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1912 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevCmdHistoryList = %u",u_octet4_loop_DevCmdHistoryList);
1915 for (i_DevCmdHistoryList=0; i_DevCmdHistoryList < u_octet4_loop_DevCmdHistoryList; i_DevCmdHistoryList++) {
1917 /* Begin struct "Tango_DevCmdHistory" */
1921 decode_Tango_DevCmdHistory_st(tvb, pinfo, tree, offset, header, operation);
1923 /* End struct "Tango_DevCmdHistory" */
1929 case USER_EXCEPTION:
1935 /* Unknown Exception */
1937 g_warning("Unknown Exception ");
1942 } /* switch(header->message_type) */
1948 /* Unknown GIOP Message */
1950 g_warning("Unknown GIOP Message");
1954 } /* switch(header->message_type) */
1959 * IDL:Tango/Device_2/read_attribute_history_2:1.0
1962 static void decode_Tango_Device_2_read_attribute_history_2(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
1964 gboolean stream_is_big_endian; /* big endianess */
1967 /* Operation specific Variable declarations Begin */
1972 guint32 u_octet4_loop_DevAttrHistoryList;
1973 guint32 i_DevAttrHistoryList;
1975 /* Operation specific Variable declarations End */
1977 stream_is_big_endian = is_big_endian(header);
1979 switch(header->message_type) {
1983 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1985 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"name (%u) = %s",
1986 u_octet4, (u_octet4 > 0) ? seq : "");
1989 g_free(seq); /* free buffer */
1992 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
1994 proto_tree_add_text(tree,tvb,*offset-4,4,"n = %i",s_octet4);
2001 switch(header->rep_status) {
2005 u_octet4_loop_DevAttrHistoryList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2007 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevAttrHistoryList = %u",u_octet4_loop_DevAttrHistoryList);
2010 for (i_DevAttrHistoryList=0; i_DevAttrHistoryList < u_octet4_loop_DevAttrHistoryList; i_DevAttrHistoryList++) {
2012 /* Begin struct "Tango_DevAttrHistory" */
2016 decode_Tango_DevAttrHistory_st(tvb, pinfo, tree, offset, header, operation);
2018 /* End struct "Tango_DevAttrHistory" */
2024 case USER_EXCEPTION:
2030 /* Unknown Exception */
2032 g_warning("Unknown Exception ");
2037 } /* switch(header->message_type) */
2043 /* Unknown GIOP Message */
2045 g_warning("Unknown GIOP Message");
2049 } /* switch(header->message_type) */
2054 * IDL:Tango/Device_3/read_attributes_3:1.0
2057 static void decode_Tango_Device_3_read_attributes_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
2059 gboolean stream_is_big_endian; /* big endianess */
2062 /* Operation specific Variable declarations Begin */
2064 guint32 u_octet4_loop_names;
2068 guint32 u_octet4_loop_AttributeValueList_3;
2069 guint32 i_AttributeValueList_3;
2071 /* Operation specific Variable declarations End */
2073 stream_is_big_endian = is_big_endian(header);
2075 switch(header->message_type) {
2079 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2081 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
2084 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
2086 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2088 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
2089 u_octet4, (u_octet4 > 0) ? seq : "");
2092 g_free(seq); /* free buffer */
2098 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2100 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_DevSource,"Unknown Enum Value"));
2107 switch(header->rep_status) {
2111 u_octet4_loop_AttributeValueList_3 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2113 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeValueList_3 = %u",u_octet4_loop_AttributeValueList_3);
2116 for (i_AttributeValueList_3=0; i_AttributeValueList_3 < u_octet4_loop_AttributeValueList_3; i_AttributeValueList_3++) {
2118 /* Begin struct "Tango_AttributeValue_3" */
2122 decode_Tango_AttributeValue_3_st(tvb, pinfo, tree, offset, header, operation);
2124 /* End struct "Tango_AttributeValue_3" */
2130 case USER_EXCEPTION:
2136 /* Unknown Exception */
2138 g_warning("Unknown Exception ");
2143 } /* switch(header->message_type) */
2149 /* Unknown GIOP Message */
2151 g_warning("Unknown GIOP Message");
2155 } /* switch(header->message_type) */
2160 * IDL:Tango/Device_3/write_attributes_3:1.0
2163 static void decode_Tango_Device_3_write_attributes_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
2165 gboolean stream_is_big_endian; /* big endianess */
2168 /* Operation specific Variable declarations Begin */
2170 guint32 u_octet4_loop_values;
2173 /* Operation specific Variable declarations End */
2175 stream_is_big_endian = is_big_endian(header);
2177 switch(header->message_type) {
2181 u_octet4_loop_values = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2183 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of values = %u",u_octet4_loop_values);
2186 for (i_values=0; i_values < u_octet4_loop_values; i_values++) {
2188 /* Begin struct "Tango_AttributeValue" */
2192 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
2194 /* End struct "Tango_AttributeValue" */
2202 switch(header->rep_status) {
2206 /* Function returns void */
2210 case USER_EXCEPTION:
2216 /* Unknown Exception */
2218 g_warning("Unknown Exception ");
2223 } /* switch(header->message_type) */
2229 /* Unknown GIOP Message */
2231 g_warning("Unknown GIOP Message");
2235 } /* switch(header->message_type) */
2240 * IDL:Tango/Device_3/read_attribute_history_3:1.0
2243 static void decode_Tango_Device_3_read_attribute_history_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
2245 gboolean stream_is_big_endian; /* big endianess */
2248 /* Operation specific Variable declarations Begin */
2253 guint32 u_octet4_loop_DevAttrHistoryList_3;
2254 guint32 i_DevAttrHistoryList_3;
2256 /* Operation specific Variable declarations End */
2258 stream_is_big_endian = is_big_endian(header);
2260 switch(header->message_type) {
2264 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2266 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"name (%u) = %s",
2267 u_octet4, (u_octet4 > 0) ? seq : "");
2270 g_free(seq); /* free buffer */
2273 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2275 proto_tree_add_text(tree,tvb,*offset-4,4,"n = %i",s_octet4);
2282 switch(header->rep_status) {
2286 u_octet4_loop_DevAttrHistoryList_3 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2288 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevAttrHistoryList_3 = %u",u_octet4_loop_DevAttrHistoryList_3);
2291 for (i_DevAttrHistoryList_3=0; i_DevAttrHistoryList_3 < u_octet4_loop_DevAttrHistoryList_3; i_DevAttrHistoryList_3++) {
2293 /* Begin struct "Tango_DevAttrHistory_3" */
2297 decode_Tango_DevAttrHistory_3_st(tvb, pinfo, tree, offset, header, operation);
2299 /* End struct "Tango_DevAttrHistory_3" */
2305 case USER_EXCEPTION:
2311 /* Unknown Exception */
2313 g_warning("Unknown Exception ");
2318 } /* switch(header->message_type) */
2324 /* Unknown GIOP Message */
2326 g_warning("Unknown GIOP Message");
2330 } /* switch(header->message_type) */
2335 * IDL:Tango/Device_3/info_3:1.0
2338 static void decode_Tango_Device_3_info_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
2340 gboolean stream_is_big_endian; /* big endianess */
2343 /* Operation specific Variable declarations Begin */
2346 /* Operation specific Variable declarations End */
2348 stream_is_big_endian = is_big_endian(header);
2350 switch(header->message_type) {
2358 switch(header->rep_status) {
2362 /* Begin struct "Tango_DevInfo_3" */
2366 decode_Tango_DevInfo_3_st(tvb, pinfo, tree, offset, header, operation);
2368 /* End struct "Tango_DevInfo_3" */
2372 case USER_EXCEPTION:
2378 /* Unknown Exception */
2380 g_warning("Unknown Exception ");
2385 } /* switch(header->message_type) */
2391 /* Unknown GIOP Message */
2393 g_warning("Unknown GIOP Message");
2397 } /* switch(header->message_type) */
2402 * IDL:Tango/Device_3/get_attribute_config_3:1.0
2405 static void decode_Tango_Device_3_get_attribute_config_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
2407 gboolean stream_is_big_endian; /* big endianess */
2410 /* Operation specific Variable declarations Begin */
2412 guint32 u_octet4_loop_names;
2416 guint32 u_octet4_loop_AttributeConfigList_3;
2417 guint32 i_AttributeConfigList_3;
2419 /* Operation specific Variable declarations End */
2421 stream_is_big_endian = is_big_endian(header);
2423 switch(header->message_type) {
2427 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2429 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
2432 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
2434 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2436 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
2437 u_octet4, (u_octet4 > 0) ? seq : "");
2440 g_free(seq); /* free buffer */
2449 switch(header->rep_status) {
2453 u_octet4_loop_AttributeConfigList_3 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2455 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfigList_3 = %u",u_octet4_loop_AttributeConfigList_3);
2458 for (i_AttributeConfigList_3=0; i_AttributeConfigList_3 < u_octet4_loop_AttributeConfigList_3; i_AttributeConfigList_3++) {
2460 /* Begin struct "Tango_AttributeConfig_3" */
2464 decode_Tango_AttributeConfig_3_st(tvb, pinfo, tree, offset, header, operation);
2466 /* End struct "Tango_AttributeConfig_3" */
2472 case USER_EXCEPTION:
2478 /* Unknown Exception */
2480 g_warning("Unknown Exception ");
2485 } /* switch(header->message_type) */
2491 /* Unknown GIOP Message */
2493 g_warning("Unknown GIOP Message");
2497 } /* switch(header->message_type) */
2502 * IDL:Tango/Device_3/set_attribute_config_3:1.0
2505 static void decode_Tango_Device_3_set_attribute_config_3(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header, gchar *operation _U_) {
2507 gboolean stream_is_big_endian; /* big endianess */
2510 /* Operation specific Variable declarations Begin */
2512 guint32 u_octet4_loop_new_conf;
2515 /* Operation specific Variable declarations End */
2517 stream_is_big_endian = is_big_endian(header);
2519 switch(header->message_type) {
2523 u_octet4_loop_new_conf = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2525 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of new_conf = %u",u_octet4_loop_new_conf);
2528 for (i_new_conf=0; i_new_conf < u_octet4_loop_new_conf; i_new_conf++) {
2530 /* Begin struct "Tango_AttributeConfig_3" */
2534 decode_Tango_AttributeConfig_3_st(tvb, pinfo, tree, offset, header, operation);
2536 /* End struct "Tango_AttributeConfig_3" */
2544 switch(header->rep_status) {
2548 /* Function returns void */
2552 case USER_EXCEPTION:
2558 /* Unknown Exception */
2560 g_warning("Unknown Exception ");
2565 } /* switch(header->message_type) */
2571 /* Unknown GIOP Message */
2573 g_warning("Unknown GIOP Message");
2577 } /* switch(header->message_type) */
2581 /* Struct = IDL:Tango/DevVarLongStringArray:1.0 */
2583 static void decode_Tango_DevVarLongStringArray_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
2585 gboolean stream_is_big_endian; /* big endianess */
2588 /* Operation specific Variable declarations Begin */
2590 guint32 u_octet4_loop_DevVarLongStringArray_lvalue;
2591 guint32 i_DevVarLongStringArray_lvalue;
2593 guint32 u_octet4_loop_DevVarLongStringArray_svalue;
2594 guint32 i_DevVarLongStringArray_svalue;
2598 /* Operation specific Variable declarations End */
2600 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2602 u_octet4_loop_DevVarLongStringArray_lvalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2604 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarLongStringArray_lvalue = %u",u_octet4_loop_DevVarLongStringArray_lvalue);
2607 for (i_DevVarLongStringArray_lvalue=0; i_DevVarLongStringArray_lvalue < u_octet4_loop_DevVarLongStringArray_lvalue; i_DevVarLongStringArray_lvalue++) {
2609 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2611 proto_tree_add_text(tree,tvb,*offset-4,4,"DevVarLongStringArray_lvalue = %i",s_octet4);
2616 u_octet4_loop_DevVarLongStringArray_svalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2618 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarLongStringArray_svalue = %u",u_octet4_loop_DevVarLongStringArray_svalue);
2621 for (i_DevVarLongStringArray_svalue=0; i_DevVarLongStringArray_svalue < u_octet4_loop_DevVarLongStringArray_svalue; i_DevVarLongStringArray_svalue++) {
2623 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2625 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevVarLongStringArray_svalue (%u) = %s",
2626 u_octet4, (u_octet4 > 0) ? seq : "");
2629 g_free(seq); /* free buffer */
2636 /* Struct = IDL:Tango/DevVarDoubleStringArray:1.0 */
2638 static void decode_Tango_DevVarDoubleStringArray_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
2640 gboolean stream_is_big_endian; /* big endianess */
2643 /* Operation specific Variable declarations Begin */
2645 guint32 u_octet4_loop_DevVarDoubleStringArray_dvalue;
2646 guint32 i_DevVarDoubleStringArray_dvalue;
2648 guint32 u_octet4_loop_DevVarDoubleStringArray_svalue;
2649 guint32 i_DevVarDoubleStringArray_svalue;
2653 /* Operation specific Variable declarations End */
2655 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2657 u_octet4_loop_DevVarDoubleStringArray_dvalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2659 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarDoubleStringArray_dvalue = %u",u_octet4_loop_DevVarDoubleStringArray_dvalue);
2662 for (i_DevVarDoubleStringArray_dvalue=0; i_DevVarDoubleStringArray_dvalue < u_octet4_loop_DevVarDoubleStringArray_dvalue; i_DevVarDoubleStringArray_dvalue++) {
2664 my_double = get_CDR_double(tvb,offset,stream_is_big_endian, boundary);
2666 proto_tree_add_text(tree,tvb,*offset-8,8,"DevVarDoubleStringArray_dvalue = %.15e",my_double);
2671 u_octet4_loop_DevVarDoubleStringArray_svalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2673 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarDoubleStringArray_svalue = %u",u_octet4_loop_DevVarDoubleStringArray_svalue);
2676 for (i_DevVarDoubleStringArray_svalue=0; i_DevVarDoubleStringArray_svalue < u_octet4_loop_DevVarDoubleStringArray_svalue; i_DevVarDoubleStringArray_svalue++) {
2678 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2680 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevVarDoubleStringArray_svalue (%u) = %s",
2681 u_octet4, (u_octet4 > 0) ? seq : "");
2684 g_free(seq); /* free buffer */
2691 /* Struct = IDL:Tango/TimeVal:1.0 */
2693 static void decode_Tango_TimeVal_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
2695 gboolean stream_is_big_endian; /* big endianess */
2698 /* Operation specific Variable declarations Begin */
2702 /* Operation specific Variable declarations End */
2704 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2706 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2708 proto_tree_add_text(tree,tvb,*offset-4,4,"TimeVal_tv_sec = %i",s_octet4);
2711 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2713 proto_tree_add_text(tree,tvb,*offset-4,4,"TimeVal_tv_usec = %i",s_octet4);
2716 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2718 proto_tree_add_text(tree,tvb,*offset-4,4,"TimeVal_tv_nsec = %i",s_octet4);
2723 /* Struct = IDL:Tango/DevCmdInfo:1.0 */
2725 static void decode_Tango_DevCmdInfo_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
2727 gboolean stream_is_big_endian; /* big endianess */
2730 /* Operation specific Variable declarations Begin */
2736 /* Operation specific Variable declarations End */
2738 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2740 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2742 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_cmd_name (%u) = %s",
2743 u_octet4, (u_octet4 > 0) ? seq : "");
2746 g_free(seq); /* free buffer */
2749 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2751 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_cmd_tag = %i",s_octet4);
2754 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2756 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_in_type = %i",s_octet4);
2759 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2761 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_out_type = %i",s_octet4);
2764 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2766 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_in_type_desc (%u) = %s",
2767 u_octet4, (u_octet4 > 0) ? seq : "");
2770 g_free(seq); /* free buffer */
2773 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2775 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_out_type_desc (%u) = %s",
2776 u_octet4, (u_octet4 > 0) ? seq : "");
2779 g_free(seq); /* free buffer */
2784 /* Struct = IDL:Tango/DevCmdInfo_2:1.0 */
2786 static void decode_Tango_DevCmdInfo_2_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
2788 gboolean stream_is_big_endian; /* big endianess */
2791 /* Operation specific Variable declarations Begin */
2797 /* Operation specific Variable declarations End */
2799 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2801 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2803 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_2_cmd_name (%u) = %s",
2804 u_octet4, (u_octet4 > 0) ? seq : "");
2807 g_free(seq); /* free buffer */
2811 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2813 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_DispLevel,"Unknown Enum Value"));
2816 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2818 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_2_cmd_tag = %i",s_octet4);
2821 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2823 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_2_in_type = %i",s_octet4);
2826 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2828 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_2_out_type = %i",s_octet4);
2831 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2833 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_2_in_type_desc (%u) = %s",
2834 u_octet4, (u_octet4 > 0) ? seq : "");
2837 g_free(seq); /* free buffer */
2840 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2842 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_2_out_type_desc (%u) = %s",
2843 u_octet4, (u_octet4 > 0) ? seq : "");
2846 g_free(seq); /* free buffer */
2851 /* Struct = IDL:Tango/DevError:1.0 */
2853 static void decode_Tango_DevError_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
2855 gboolean stream_is_big_endian; /* big endianess */
2858 /* Operation specific Variable declarations Begin */
2863 /* Operation specific Variable declarations End */
2865 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2867 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2869 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevError_reason (%u) = %s",
2870 u_octet4, (u_octet4 > 0) ? seq : "");
2873 g_free(seq); /* free buffer */
2877 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2879 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_ErrSeverity,"Unknown Enum Value"));
2882 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2884 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevError_desc (%u) = %s",
2885 u_octet4, (u_octet4 > 0) ? seq : "");
2888 g_free(seq); /* free buffer */
2891 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2893 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevError_origin (%u) = %s",
2894 u_octet4, (u_octet4 > 0) ? seq : "");
2897 g_free(seq); /* free buffer */
2902 /* Struct = IDL:Tango/NamedDevError:1.0 */
2904 static void decode_Tango_NamedDevError_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
2906 gboolean stream_is_big_endian; /* big endianess */
2909 /* Operation specific Variable declarations Begin */
2914 guint32 u_octet4_loop_NamedDevError_err_list;
2915 guint32 i_NamedDevError_err_list;
2917 /* Operation specific Variable declarations End */
2919 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2921 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2923 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"NamedDevError_name (%u) = %s",
2924 u_octet4, (u_octet4 > 0) ? seq : "");
2927 g_free(seq); /* free buffer */
2930 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2932 proto_tree_add_text(tree,tvb,*offset-4,4,"NamedDevError_index_in_call = %i",s_octet4);
2935 u_octet4_loop_NamedDevError_err_list = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2937 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of NamedDevError_err_list = %u",u_octet4_loop_NamedDevError_err_list);
2940 for (i_NamedDevError_err_list=0; i_NamedDevError_err_list < u_octet4_loop_NamedDevError_err_list; i_NamedDevError_err_list++) {
2942 /* Begin struct "Tango_DevError" */
2946 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
2948 /* End struct "Tango_DevError" */
2954 /* Struct = IDL:Tango/AttributeConfig:1.0 */
2956 static void decode_Tango_AttributeConfig_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
2958 gboolean stream_is_big_endian; /* big endianess */
2961 /* Operation specific Variable declarations Begin */
2966 guint32 u_octet4_loop_AttributeConfig_extensions;
2967 guint32 i_AttributeConfig_extensions;
2969 /* Operation specific Variable declarations End */
2971 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2973 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2975 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_name (%u) = %s",
2976 u_octet4, (u_octet4 > 0) ? seq : "");
2979 g_free(seq); /* free buffer */
2983 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2985 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_AttrWriteType,"Unknown Enum Value"));
2989 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2991 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_AttrDataFormat,"Unknown Enum Value"));
2994 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2996 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_data_type = %i",s_octet4);
2999 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3001 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_max_dim_x = %i",s_octet4);
3004 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3006 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_max_dim_y = %i",s_octet4);
3009 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3011 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_description (%u) = %s",
3012 u_octet4, (u_octet4 > 0) ? seq : "");
3015 g_free(seq); /* free buffer */
3018 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3020 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_label (%u) = %s",
3021 u_octet4, (u_octet4 > 0) ? seq : "");
3024 g_free(seq); /* free buffer */
3027 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3029 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_unit (%u) = %s",
3030 u_octet4, (u_octet4 > 0) ? seq : "");
3033 g_free(seq); /* free buffer */
3036 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3038 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_standard_unit (%u) = %s",
3039 u_octet4, (u_octet4 > 0) ? seq : "");
3042 g_free(seq); /* free buffer */
3045 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3047 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_display_unit (%u) = %s",
3048 u_octet4, (u_octet4 > 0) ? seq : "");
3051 g_free(seq); /* free buffer */
3054 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3056 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_format (%u) = %s",
3057 u_octet4, (u_octet4 > 0) ? seq : "");
3060 g_free(seq); /* free buffer */
3063 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3065 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_min_value (%u) = %s",
3066 u_octet4, (u_octet4 > 0) ? seq : "");
3069 g_free(seq); /* free buffer */
3072 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3074 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_max_value (%u) = %s",
3075 u_octet4, (u_octet4 > 0) ? seq : "");
3078 g_free(seq); /* free buffer */
3081 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3083 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_min_alarm (%u) = %s",
3084 u_octet4, (u_octet4 > 0) ? seq : "");
3087 g_free(seq); /* free buffer */
3090 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3092 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_max_alarm (%u) = %s",
3093 u_octet4, (u_octet4 > 0) ? seq : "");
3096 g_free(seq); /* free buffer */
3099 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3101 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_writable_attr_name (%u) = %s",
3102 u_octet4, (u_octet4 > 0) ? seq : "");
3105 g_free(seq); /* free buffer */
3108 u_octet4_loop_AttributeConfig_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3110 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfig_extensions = %u",u_octet4_loop_AttributeConfig_extensions);
3113 for (i_AttributeConfig_extensions=0; i_AttributeConfig_extensions < u_octet4_loop_AttributeConfig_extensions; i_AttributeConfig_extensions++) {
3115 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3117 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_extensions (%u) = %s",
3118 u_octet4, (u_octet4 > 0) ? seq : "");
3121 g_free(seq); /* free buffer */
3128 /* Struct = IDL:Tango/AttributeConfig_2:1.0 */
3130 static void decode_Tango_AttributeConfig_2_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3132 gboolean stream_is_big_endian; /* big endianess */
3135 /* Operation specific Variable declarations Begin */
3140 guint32 u_octet4_loop_AttributeConfig_2_extensions;
3141 guint32 i_AttributeConfig_2_extensions;
3143 /* Operation specific Variable declarations End */
3145 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3147 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3149 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_name (%u) = %s",
3150 u_octet4, (u_octet4 > 0) ? seq : "");
3153 g_free(seq); /* free buffer */
3157 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3159 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_AttrWriteType,"Unknown Enum Value"));
3163 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3165 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_AttrDataFormat,"Unknown Enum Value"));
3168 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3170 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_2_data_type = %i",s_octet4);
3173 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3175 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_2_max_dim_x = %i",s_octet4);
3178 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3180 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_2_max_dim_y = %i",s_octet4);
3183 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3185 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_description (%u) = %s",
3186 u_octet4, (u_octet4 > 0) ? seq : "");
3189 g_free(seq); /* free buffer */
3192 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3194 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_label (%u) = %s",
3195 u_octet4, (u_octet4 > 0) ? seq : "");
3198 g_free(seq); /* free buffer */
3201 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3203 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_unit (%u) = %s",
3204 u_octet4, (u_octet4 > 0) ? seq : "");
3207 g_free(seq); /* free buffer */
3210 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3212 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_standard_unit (%u) = %s",
3213 u_octet4, (u_octet4 > 0) ? seq : "");
3216 g_free(seq); /* free buffer */
3219 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3221 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_display_unit (%u) = %s",
3222 u_octet4, (u_octet4 > 0) ? seq : "");
3225 g_free(seq); /* free buffer */
3228 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3230 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_format (%u) = %s",
3231 u_octet4, (u_octet4 > 0) ? seq : "");
3234 g_free(seq); /* free buffer */
3237 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3239 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_min_value (%u) = %s",
3240 u_octet4, (u_octet4 > 0) ? seq : "");
3243 g_free(seq); /* free buffer */
3246 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3248 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_max_value (%u) = %s",
3249 u_octet4, (u_octet4 > 0) ? seq : "");
3252 g_free(seq); /* free buffer */
3255 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3257 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_min_alarm (%u) = %s",
3258 u_octet4, (u_octet4 > 0) ? seq : "");
3261 g_free(seq); /* free buffer */
3264 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3266 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_max_alarm (%u) = %s",
3267 u_octet4, (u_octet4 > 0) ? seq : "");
3270 g_free(seq); /* free buffer */
3273 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3275 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_writable_attr_name (%u) = %s",
3276 u_octet4, (u_octet4 > 0) ? seq : "");
3279 g_free(seq); /* free buffer */
3283 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3285 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_DispLevel,"Unknown Enum Value"));
3288 u_octet4_loop_AttributeConfig_2_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3290 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfig_2_extensions = %u",u_octet4_loop_AttributeConfig_2_extensions);
3293 for (i_AttributeConfig_2_extensions=0; i_AttributeConfig_2_extensions < u_octet4_loop_AttributeConfig_2_extensions; i_AttributeConfig_2_extensions++) {
3295 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3297 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_extensions (%u) = %s",
3298 u_octet4, (u_octet4 > 0) ? seq : "");
3301 g_free(seq); /* free buffer */
3308 /* Struct = IDL:Tango/AttributeValue:1.0 */
3310 static void decode_Tango_AttributeValue_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3312 gboolean stream_is_big_endian; /* big endianess */
3315 /* Operation specific Variable declarations Begin */
3321 /* Operation specific Variable declarations End */
3323 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3325 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
3328 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3330 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_AttrQuality,"Unknown Enum Value"));
3333 /* Begin struct "Tango_TimeVal" */
3337 decode_Tango_TimeVal_st(tvb, pinfo, tree, offset, header, operation);
3339 /* End struct "Tango_TimeVal" */
3341 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3343 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeValue_name (%u) = %s",
3344 u_octet4, (u_octet4 > 0) ? seq : "");
3347 g_free(seq); /* free buffer */
3350 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3352 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeValue_dim_x = %i",s_octet4);
3355 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3357 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeValue_dim_y = %i",s_octet4);
3362 /* Struct = IDL:Tango/AttributeDim:1.0 */
3364 static void decode_Tango_AttributeDim_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3366 gboolean stream_is_big_endian; /* big endianess */
3369 /* Operation specific Variable declarations Begin */
3373 /* Operation specific Variable declarations End */
3375 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3377 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3379 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeDim_dim_x = %i",s_octet4);
3382 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3384 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeDim_dim_y = %i",s_octet4);
3389 /* Struct = IDL:Tango/AttributeValue_3:1.0 */
3391 static void decode_Tango_AttributeValue_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3393 gboolean stream_is_big_endian; /* big endianess */
3396 /* Operation specific Variable declarations Begin */
3400 guint32 u_octet4_loop_AttributeValue_3_err_list;
3401 guint32 i_AttributeValue_3_err_list;
3403 /* Operation specific Variable declarations End */
3405 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3407 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
3410 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3412 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_AttrQuality,"Unknown Enum Value"));
3415 /* Begin struct "Tango_TimeVal" */
3419 decode_Tango_TimeVal_st(tvb, pinfo, tree, offset, header, operation);
3421 /* End struct "Tango_TimeVal" */
3423 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3425 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeValue_3_name (%u) = %s",
3426 u_octet4, (u_octet4 > 0) ? seq : "");
3429 g_free(seq); /* free buffer */
3432 /* Begin struct "Tango_AttributeDim" */
3436 decode_Tango_AttributeDim_st(tvb, pinfo, tree, offset, header, operation);
3438 /* End struct "Tango_AttributeDim" */
3440 /* Begin struct "Tango_AttributeDim" */
3444 decode_Tango_AttributeDim_st(tvb, pinfo, tree, offset, header, operation);
3446 /* End struct "Tango_AttributeDim" */
3448 u_octet4_loop_AttributeValue_3_err_list = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3450 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeValue_3_err_list = %u",u_octet4_loop_AttributeValue_3_err_list);
3453 for (i_AttributeValue_3_err_list=0; i_AttributeValue_3_err_list < u_octet4_loop_AttributeValue_3_err_list; i_AttributeValue_3_err_list++) {
3455 /* Begin struct "Tango_DevError" */
3459 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
3461 /* End struct "Tango_DevError" */
3467 /* Struct = IDL:Tango/ChangeEventProp:1.0 */
3469 static void decode_Tango_ChangeEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3471 gboolean stream_is_big_endian; /* big endianess */
3474 /* Operation specific Variable declarations Begin */
3478 guint32 u_octet4_loop_ChangeEventProp_extensions;
3479 guint32 i_ChangeEventProp_extensions;
3481 /* Operation specific Variable declarations End */
3483 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3485 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3487 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ChangeEventProp_rel_change (%u) = %s",
3488 u_octet4, (u_octet4 > 0) ? seq : "");
3491 g_free(seq); /* free buffer */
3494 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3496 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ChangeEventProp_abs_change (%u) = %s",
3497 u_octet4, (u_octet4 > 0) ? seq : "");
3500 g_free(seq); /* free buffer */
3503 u_octet4_loop_ChangeEventProp_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3505 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of ChangeEventProp_extensions = %u",u_octet4_loop_ChangeEventProp_extensions);
3508 for (i_ChangeEventProp_extensions=0; i_ChangeEventProp_extensions < u_octet4_loop_ChangeEventProp_extensions; i_ChangeEventProp_extensions++) {
3510 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3512 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ChangeEventProp_extensions (%u) = %s",
3513 u_octet4, (u_octet4 > 0) ? seq : "");
3516 g_free(seq); /* free buffer */
3523 /* Struct = IDL:Tango/PeriodicEventProp:1.0 */
3525 static void decode_Tango_PeriodicEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3527 gboolean stream_is_big_endian; /* big endianess */
3530 /* Operation specific Variable declarations Begin */
3534 guint32 u_octet4_loop_PeriodicEventProp_extensions;
3535 guint32 i_PeriodicEventProp_extensions;
3537 /* Operation specific Variable declarations End */
3539 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3541 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3543 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"PeriodicEventProp_period (%u) = %s",
3544 u_octet4, (u_octet4 > 0) ? seq : "");
3547 g_free(seq); /* free buffer */
3550 u_octet4_loop_PeriodicEventProp_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3552 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of PeriodicEventProp_extensions = %u",u_octet4_loop_PeriodicEventProp_extensions);
3555 for (i_PeriodicEventProp_extensions=0; i_PeriodicEventProp_extensions < u_octet4_loop_PeriodicEventProp_extensions; i_PeriodicEventProp_extensions++) {
3557 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3559 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"PeriodicEventProp_extensions (%u) = %s",
3560 u_octet4, (u_octet4 > 0) ? seq : "");
3563 g_free(seq); /* free buffer */
3570 /* Struct = IDL:Tango/ArchiveEventProp:1.0 */
3572 static void decode_Tango_ArchiveEventProp_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3574 gboolean stream_is_big_endian; /* big endianess */
3577 /* Operation specific Variable declarations Begin */
3581 guint32 u_octet4_loop_ArchiveEventProp_extensions;
3582 guint32 i_ArchiveEventProp_extensions;
3584 /* Operation specific Variable declarations End */
3586 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3588 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3590 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ArchiveEventProp_rel_change (%u) = %s",
3591 u_octet4, (u_octet4 > 0) ? seq : "");
3594 g_free(seq); /* free buffer */
3597 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3599 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ArchiveEventProp_abs_change (%u) = %s",
3600 u_octet4, (u_octet4 > 0) ? seq : "");
3603 g_free(seq); /* free buffer */
3606 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3608 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ArchiveEventProp_period (%u) = %s",
3609 u_octet4, (u_octet4 > 0) ? seq : "");
3612 g_free(seq); /* free buffer */
3615 u_octet4_loop_ArchiveEventProp_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3617 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of ArchiveEventProp_extensions = %u",u_octet4_loop_ArchiveEventProp_extensions);
3620 for (i_ArchiveEventProp_extensions=0; i_ArchiveEventProp_extensions < u_octet4_loop_ArchiveEventProp_extensions; i_ArchiveEventProp_extensions++) {
3622 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3624 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ArchiveEventProp_extensions (%u) = %s",
3625 u_octet4, (u_octet4 > 0) ? seq : "");
3628 g_free(seq); /* free buffer */
3635 /* Struct = IDL:Tango/EventProperties:1.0 */
3637 static void decode_Tango_EventProperties_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3639 gboolean stream_is_big_endian; /* big endianess */
3642 /* Operation specific Variable declarations Begin */
3645 /* Operation specific Variable declarations End */
3647 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3649 /* Begin struct "Tango_ChangeEventProp" */
3653 decode_Tango_ChangeEventProp_st(tvb, pinfo, tree, offset, header, operation);
3655 /* End struct "Tango_ChangeEventProp" */
3657 /* Begin struct "Tango_PeriodicEventProp" */
3661 decode_Tango_PeriodicEventProp_st(tvb, pinfo, tree, offset, header, operation);
3663 /* End struct "Tango_PeriodicEventProp" */
3665 /* Begin struct "Tango_ArchiveEventProp" */
3669 decode_Tango_ArchiveEventProp_st(tvb, pinfo, tree, offset, header, operation);
3671 /* End struct "Tango_ArchiveEventProp" */
3675 /* Struct = IDL:Tango/AttributeAlarm:1.0 */
3677 static void decode_Tango_AttributeAlarm_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3679 gboolean stream_is_big_endian; /* big endianess */
3682 /* Operation specific Variable declarations Begin */
3686 guint32 u_octet4_loop_AttributeAlarm_extensions;
3687 guint32 i_AttributeAlarm_extensions;
3689 /* Operation specific Variable declarations End */
3691 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3693 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3695 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_min_alarm (%u) = %s",
3696 u_octet4, (u_octet4 > 0) ? seq : "");
3699 g_free(seq); /* free buffer */
3702 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3704 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_max_alarm (%u) = %s",
3705 u_octet4, (u_octet4 > 0) ? seq : "");
3708 g_free(seq); /* free buffer */
3711 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3713 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_min_warning (%u) = %s",
3714 u_octet4, (u_octet4 > 0) ? seq : "");
3717 g_free(seq); /* free buffer */
3720 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3722 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_max_warning (%u) = %s",
3723 u_octet4, (u_octet4 > 0) ? seq : "");
3726 g_free(seq); /* free buffer */
3729 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3731 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_delta_t (%u) = %s",
3732 u_octet4, (u_octet4 > 0) ? seq : "");
3735 g_free(seq); /* free buffer */
3738 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3740 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_delta_val (%u) = %s",
3741 u_octet4, (u_octet4 > 0) ? seq : "");
3744 g_free(seq); /* free buffer */
3747 u_octet4_loop_AttributeAlarm_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3749 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeAlarm_extensions = %u",u_octet4_loop_AttributeAlarm_extensions);
3752 for (i_AttributeAlarm_extensions=0; i_AttributeAlarm_extensions < u_octet4_loop_AttributeAlarm_extensions; i_AttributeAlarm_extensions++) {
3754 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3756 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_extensions (%u) = %s",
3757 u_octet4, (u_octet4 > 0) ? seq : "");
3760 g_free(seq); /* free buffer */
3767 /* Struct = IDL:Tango/AttributeConfig_3:1.0 */
3769 static void decode_Tango_AttributeConfig_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3771 gboolean stream_is_big_endian; /* big endianess */
3774 /* Operation specific Variable declarations Begin */
3779 guint32 u_octet4_loop_AttributeConfig_3_extensions;
3780 guint32 i_AttributeConfig_3_extensions;
3781 guint32 u_octet4_loop_AttributeConfig_3_sys_extensions;
3782 guint32 i_AttributeConfig_3_sys_extensions;
3784 /* Operation specific Variable declarations End */
3786 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3788 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3790 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_name (%u) = %s",
3791 u_octet4, (u_octet4 > 0) ? seq : "");
3794 g_free(seq); /* free buffer */
3798 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3800 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_AttrWriteType,"Unknown Enum Value"));
3804 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3806 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_AttrDataFormat,"Unknown Enum Value"));
3809 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3811 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_3_data_type = %i",s_octet4);
3814 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3816 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_3_max_dim_x = %i",s_octet4);
3819 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3821 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_3_max_dim_y = %i",s_octet4);
3824 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3826 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_description (%u) = %s",
3827 u_octet4, (u_octet4 > 0) ? seq : "");
3830 g_free(seq); /* free buffer */
3833 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3835 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_label (%u) = %s",
3836 u_octet4, (u_octet4 > 0) ? seq : "");
3839 g_free(seq); /* free buffer */
3842 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3844 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_unit (%u) = %s",
3845 u_octet4, (u_octet4 > 0) ? seq : "");
3848 g_free(seq); /* free buffer */
3851 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3853 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_standard_unit (%u) = %s",
3854 u_octet4, (u_octet4 > 0) ? seq : "");
3857 g_free(seq); /* free buffer */
3860 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3862 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_display_unit (%u) = %s",
3863 u_octet4, (u_octet4 > 0) ? seq : "");
3866 g_free(seq); /* free buffer */
3869 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3871 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_format (%u) = %s",
3872 u_octet4, (u_octet4 > 0) ? seq : "");
3875 g_free(seq); /* free buffer */
3878 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3880 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_min_value (%u) = %s",
3881 u_octet4, (u_octet4 > 0) ? seq : "");
3884 g_free(seq); /* free buffer */
3887 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3889 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_max_value (%u) = %s",
3890 u_octet4, (u_octet4 > 0) ? seq : "");
3893 g_free(seq); /* free buffer */
3896 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3898 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_writable_attr_name (%u) = %s",
3899 u_octet4, (u_octet4 > 0) ? seq : "");
3902 g_free(seq); /* free buffer */
3906 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3908 proto_tree_add_text(tree,tvb,*offset-4,4,"Enum value = %u (%s)",u_octet4,val_to_str(u_octet4,Tango_DispLevel,"Unknown Enum Value"));
3911 /* Begin struct "Tango_AttributeAlarm" */
3915 decode_Tango_AttributeAlarm_st(tvb, pinfo, tree, offset, header, operation);
3917 /* End struct "Tango_AttributeAlarm" */
3919 /* Begin struct "Tango_EventProperties" */
3923 decode_Tango_EventProperties_st(tvb, pinfo, tree, offset, header, operation);
3925 /* End struct "Tango_EventProperties" */
3927 u_octet4_loop_AttributeConfig_3_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3929 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfig_3_extensions = %u",u_octet4_loop_AttributeConfig_3_extensions);
3932 for (i_AttributeConfig_3_extensions=0; i_AttributeConfig_3_extensions < u_octet4_loop_AttributeConfig_3_extensions; i_AttributeConfig_3_extensions++) {
3934 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3936 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_extensions (%u) = %s",
3937 u_octet4, (u_octet4 > 0) ? seq : "");
3940 g_free(seq); /* free buffer */
3945 u_octet4_loop_AttributeConfig_3_sys_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3947 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfig_3_sys_extensions = %u",u_octet4_loop_AttributeConfig_3_sys_extensions);
3950 for (i_AttributeConfig_3_sys_extensions=0; i_AttributeConfig_3_sys_extensions < u_octet4_loop_AttributeConfig_3_sys_extensions; i_AttributeConfig_3_sys_extensions++) {
3952 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3954 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_sys_extensions (%u) = %s",
3955 u_octet4, (u_octet4 > 0) ? seq : "");
3958 g_free(seq); /* free buffer */
3965 /* Struct = IDL:Tango/DevInfo:1.0 */
3967 static void decode_Tango_DevInfo_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
3969 gboolean stream_is_big_endian; /* big endianess */
3972 /* Operation specific Variable declarations Begin */
3978 /* Operation specific Variable declarations End */
3980 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3982 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3984 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_dev_class (%u) = %s",
3985 u_octet4, (u_octet4 > 0) ? seq : "");
3988 g_free(seq); /* free buffer */
3991 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3993 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_server_id (%u) = %s",
3994 u_octet4, (u_octet4 > 0) ? seq : "");
3997 g_free(seq); /* free buffer */
4000 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4002 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_server_host (%u) = %s",
4003 u_octet4, (u_octet4 > 0) ? seq : "");
4006 g_free(seq); /* free buffer */
4009 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
4011 proto_tree_add_text(tree,tvb,*offset-4,4,"DevInfo_server_version = %i",s_octet4);
4014 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4016 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_doc_url (%u) = %s",
4017 u_octet4, (u_octet4 > 0) ? seq : "");
4020 g_free(seq); /* free buffer */
4025 /* Struct = IDL:Tango/DevInfo_3:1.0 */
4027 static void decode_Tango_DevInfo_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
4029 gboolean stream_is_big_endian; /* big endianess */
4032 /* Operation specific Variable declarations Begin */
4038 /* Operation specific Variable declarations End */
4040 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
4042 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4044 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_dev_class (%u) = %s",
4045 u_octet4, (u_octet4 > 0) ? seq : "");
4048 g_free(seq); /* free buffer */
4051 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4053 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_server_id (%u) = %s",
4054 u_octet4, (u_octet4 > 0) ? seq : "");
4057 g_free(seq); /* free buffer */
4060 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4062 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_server_host (%u) = %s",
4063 u_octet4, (u_octet4 > 0) ? seq : "");
4066 g_free(seq); /* free buffer */
4069 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
4071 proto_tree_add_text(tree,tvb,*offset-4,4,"DevInfo_3_server_version = %i",s_octet4);
4074 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4076 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_doc_url (%u) = %s",
4077 u_octet4, (u_octet4 > 0) ? seq : "");
4080 g_free(seq); /* free buffer */
4083 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4085 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_dev_type (%u) = %s",
4086 u_octet4, (u_octet4 > 0) ? seq : "");
4089 g_free(seq); /* free buffer */
4094 /* Struct = IDL:Tango/DevCmdHistory:1.0 */
4096 static void decode_Tango_DevCmdHistory_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
4098 gboolean stream_is_big_endian; /* big endianess */
4101 /* Operation specific Variable declarations Begin */
4104 guint32 u_octet4_loop_DevCmdHistory_errors;
4105 guint32 i_DevCmdHistory_errors;
4107 /* Operation specific Variable declarations End */
4109 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
4111 /* Begin struct "Tango_TimeVal" */
4115 decode_Tango_TimeVal_st(tvb, pinfo, tree, offset, header, operation);
4117 /* End struct "Tango_TimeVal" */
4119 u_octet1 = get_CDR_boolean(tvb,offset);
4121 proto_tree_add_text(tree,tvb,*offset-1,1,"DevCmdHistory_cmd_failed = %u",u_octet1);
4124 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
4126 u_octet4_loop_DevCmdHistory_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
4128 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevCmdHistory_errors = %u",u_octet4_loop_DevCmdHistory_errors);
4131 for (i_DevCmdHistory_errors=0; i_DevCmdHistory_errors < u_octet4_loop_DevCmdHistory_errors; i_DevCmdHistory_errors++) {
4133 /* Begin struct "Tango_DevError" */
4137 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
4139 /* End struct "Tango_DevError" */
4145 /* Struct = IDL:Tango/DevAttrHistory:1.0 */
4147 static void decode_Tango_DevAttrHistory_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
4149 gboolean stream_is_big_endian; /* big endianess */
4152 /* Operation specific Variable declarations Begin */
4155 guint32 u_octet4_loop_DevAttrHistory_errors;
4156 guint32 i_DevAttrHistory_errors;
4158 /* Operation specific Variable declarations End */
4160 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
4162 u_octet1 = get_CDR_boolean(tvb,offset);
4164 proto_tree_add_text(tree,tvb,*offset-1,1,"DevAttrHistory_attr_failed = %u",u_octet1);
4167 /* Begin struct "Tango_AttributeValue" */
4171 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
4173 /* End struct "Tango_AttributeValue" */
4175 u_octet4_loop_DevAttrHistory_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
4177 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevAttrHistory_errors = %u",u_octet4_loop_DevAttrHistory_errors);
4180 for (i_DevAttrHistory_errors=0; i_DevAttrHistory_errors < u_octet4_loop_DevAttrHistory_errors; i_DevAttrHistory_errors++) {
4182 /* Begin struct "Tango_DevError" */
4186 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
4188 /* End struct "Tango_DevError" */
4194 /* Struct = IDL:Tango/DevAttrHistory_3:1.0 */
4196 static void decode_Tango_DevAttrHistory_3_st(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, int *offset _U_, MessageHeader *header _U_, gchar *operation _U_) {
4198 gboolean stream_is_big_endian; /* big endianess */
4201 /* Operation specific Variable declarations Begin */
4205 /* Operation specific Variable declarations End */
4207 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
4209 u_octet1 = get_CDR_boolean(tvb,offset);
4211 proto_tree_add_text(tree,tvb,*offset-1,1,"DevAttrHistory_3_attr_failed = %u",u_octet1);
4214 /* Begin struct "Tango_AttributeValue_3" */
4218 decode_Tango_AttributeValue_3_st(tvb, pinfo, tree, offset, header, operation);
4220 /* End struct "Tango_AttributeValue_3" */
4225 * Called once we accept the packet as being for us; it sets the
4226 * Protocol and Info columns and creates the top-level protocol
4229 static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, int *offset) {
4231 proto_item *ti = NULL;
4232 proto_tree *tree = NULL; /* init later, inside if(tree) */
4234 col_set_str(pinfo->cinfo, COL_PROTOCOL, "TANGO");
4237 * Do not clear COL_INFO, as nothing is being written there by
4238 * this dissector yet. So leave it as is from the GIOP dissector.
4239 * TODO: add something useful to COL_INFO
4240 * if (check_col(pinfo->cinfo, COL_INFO))
4241 * col_clear(pinfo->cinfo, COL_INFO);
4245 ti = proto_tree_add_item(ptree, proto_tango, tvb, *offset, -1, FALSE);
4246 tree = proto_item_add_subtree(ti, ett_tango);
4251 static gboolean dissect_tango(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, int *offset, MessageHeader *header, gchar *operation, gchar *idlname) {
4253 gboolean be; /* big endianess */
4254 proto_tree *tree _U_;
4256 be = is_big_endian(header); /* get endianess - TODO use passed in stream_is_big_endian instead ? */
4258 /* If we have a USER Exception, then decode it and return */
4260 if ((header->message_type == Reply) && (header->rep_status == USER_EXCEPTION)) {
4262 return decode_user_exception(tvb, pinfo, ptree, offset, header, operation);
4266 switch(header->message_type) {
4271 if (strcmp(operation, Tango_Device_command_inout_op) == 0
4272 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4273 tree = start_dissecting(tvb, pinfo, ptree, offset);
4274 decode_Tango_Device_command_inout(tvb, pinfo, tree, offset, header, operation);
4278 if (strcmp(operation, Tango_Device_get_attribute_config_op) == 0
4279 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4280 tree = start_dissecting(tvb, pinfo, ptree, offset);
4281 decode_Tango_Device_get_attribute_config(tvb, pinfo, tree, offset, header, operation);
4285 if (strcmp(operation, Tango_Device_set_attribute_config_op) == 0
4286 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4287 tree = start_dissecting(tvb, pinfo, ptree, offset);
4288 decode_Tango_Device_set_attribute_config(tvb, pinfo, tree, offset, header, operation);
4292 if (strcmp(operation, Tango_Device_read_attributes_op) == 0
4293 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4294 tree = start_dissecting(tvb, pinfo, ptree, offset);
4295 decode_Tango_Device_read_attributes(tvb, pinfo, tree, offset, header, operation);
4299 if (strcmp(operation, Tango_Device_write_attributes_op) == 0
4300 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4301 tree = start_dissecting(tvb, pinfo, ptree, offset);
4302 decode_Tango_Device_write_attributes(tvb, pinfo, tree, offset, header, operation);
4306 if (strcmp(operation, Tango_Device_ping_op) == 0
4307 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4308 tree = start_dissecting(tvb, pinfo, ptree, offset);
4309 decode_Tango_Device_ping(tvb, pinfo, tree, offset, header, operation);
4313 if (strcmp(operation, Tango_Device_black_box_op) == 0
4314 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4315 tree = start_dissecting(tvb, pinfo, ptree, offset);
4316 decode_Tango_Device_black_box(tvb, pinfo, tree, offset, header, operation);
4320 if (strcmp(operation, Tango_Device_info_op) == 0
4321 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4322 tree = start_dissecting(tvb, pinfo, ptree, offset);
4323 decode_Tango_Device_info(tvb, pinfo, tree, offset, header, operation);
4327 if (strcmp(operation, Tango_Device_command_list_query_op) == 0
4328 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4329 tree = start_dissecting(tvb, pinfo, ptree, offset);
4330 decode_Tango_Device_command_list_query(tvb, pinfo, tree, offset, header, operation);
4334 if (strcmp(operation, Tango_Device_command_query_op) == 0
4335 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4336 tree = start_dissecting(tvb, pinfo, ptree, offset);
4337 decode_Tango_Device_command_query(tvb, pinfo, tree, offset, header, operation);
4341 if (strcmp(operation, Tango_Device_2_command_inout_2_op) == 0
4342 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4343 tree = start_dissecting(tvb, pinfo, ptree, offset);
4344 decode_Tango_Device_2_command_inout_2(tvb, pinfo, tree, offset, header, operation);
4348 if (strcmp(operation, Tango_Device_2_read_attributes_2_op) == 0
4349 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4350 tree = start_dissecting(tvb, pinfo, ptree, offset);
4351 decode_Tango_Device_2_read_attributes_2(tvb, pinfo, tree, offset, header, operation);
4355 if (strcmp(operation, Tango_Device_2_get_attribute_config_2_op) == 0
4356 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4357 tree = start_dissecting(tvb, pinfo, ptree, offset);
4358 decode_Tango_Device_2_get_attribute_config_2(tvb, pinfo, tree, offset, header, operation);
4362 if (strcmp(operation, Tango_Device_2_command_list_query_2_op) == 0
4363 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4364 tree = start_dissecting(tvb, pinfo, ptree, offset);
4365 decode_Tango_Device_2_command_list_query_2(tvb, pinfo, tree, offset, header, operation);
4369 if (strcmp(operation, Tango_Device_2_command_query_2_op) == 0
4370 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4371 tree = start_dissecting(tvb, pinfo, ptree, offset);
4372 decode_Tango_Device_2_command_query_2(tvb, pinfo, tree, offset, header, operation);
4376 if (strcmp(operation, Tango_Device_2_command_inout_history_2_op) == 0
4377 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4378 tree = start_dissecting(tvb, pinfo, ptree, offset);
4379 decode_Tango_Device_2_command_inout_history_2(tvb, pinfo, tree, offset, header, operation);
4383 if (strcmp(operation, Tango_Device_2_read_attribute_history_2_op) == 0
4384 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4385 tree = start_dissecting(tvb, pinfo, ptree, offset);
4386 decode_Tango_Device_2_read_attribute_history_2(tvb, pinfo, tree, offset, header, operation);
4390 if (strcmp(operation, Tango_Device_3_read_attributes_3_op) == 0
4391 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4392 tree = start_dissecting(tvb, pinfo, ptree, offset);
4393 decode_Tango_Device_3_read_attributes_3(tvb, pinfo, tree, offset, header, operation);
4397 if (strcmp(operation, Tango_Device_3_write_attributes_3_op) == 0
4398 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4399 tree = start_dissecting(tvb, pinfo, ptree, offset);
4400 decode_Tango_Device_3_write_attributes_3(tvb, pinfo, tree, offset, header, operation);
4404 if (strcmp(operation, Tango_Device_3_read_attribute_history_3_op) == 0
4405 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4406 tree = start_dissecting(tvb, pinfo, ptree, offset);
4407 decode_Tango_Device_3_read_attribute_history_3(tvb, pinfo, tree, offset, header, operation);
4411 if (strcmp(operation, Tango_Device_3_info_3_op) == 0
4412 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4413 tree = start_dissecting(tvb, pinfo, ptree, offset);
4414 decode_Tango_Device_3_info_3(tvb, pinfo, tree, offset, header, operation);
4418 if (strcmp(operation, Tango_Device_3_get_attribute_config_3_op) == 0
4419 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4420 tree = start_dissecting(tvb, pinfo, ptree, offset);
4421 decode_Tango_Device_3_get_attribute_config_3(tvb, pinfo, tree, offset, header, operation);
4425 if (strcmp(operation, Tango_Device_3_set_attribute_config_3_op) == 0
4426 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4427 tree = start_dissecting(tvb, pinfo, ptree, offset);
4428 decode_Tango_Device_3_set_attribute_config_3(tvb, pinfo, tree, offset, header, operation);
4432 if (strcmp(operation, get_Tango_Device_name_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4433 tree = start_dissecting(tvb, pinfo, ptree, offset);
4434 decode_get_Tango_Device_name_at(tvb, pinfo, tree, offset, header, operation);
4438 if (strcmp(operation, get_Tango_Device_description_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4439 tree = start_dissecting(tvb, pinfo, ptree, offset);
4440 decode_get_Tango_Device_description_at(tvb, pinfo, tree, offset, header, operation);
4444 if (strcmp(operation, get_Tango_Device_state_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4445 tree = start_dissecting(tvb, pinfo, ptree, offset);
4446 decode_get_Tango_Device_state_at(tvb, pinfo, tree, offset, header, operation);
4450 if (strcmp(operation, get_Tango_Device_status_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4451 tree = start_dissecting(tvb, pinfo, ptree, offset);
4452 decode_get_Tango_Device_status_at(tvb, pinfo, tree, offset, header, operation);
4456 if (strcmp(operation, get_Tango_Device_adm_name_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4457 tree = start_dissecting(tvb, pinfo, ptree, offset);
4458 decode_get_Tango_Device_adm_name_at(tvb, pinfo, tree, offset, header, operation);
4468 case CloseConnection:
4471 return FALSE; /* not handled yet */
4474 return FALSE; /* not handled yet */
4481 } /* End of main dissector */
4485 /* Register the protocol with Wireshark */
4487 void proto_register_giop_tango(void) {
4489 /* setup list of header fields */
4492 static hf_register_info hf[] = {
4499 /* setup protocol subtree array */
4501 static gint *ett[] = {
4505 /* Register the protocol name and description */
4507 proto_tango = proto_register_protocol("Tango Dissector Using GIOP API" , "TANGO", "giop-tango" );
4510 proto_register_field_array(proto_tango, hf, array_length(hf));
4512 proto_register_subtree_array(ett,array_length(ett));
4517 /* register me as handler for these interfaces */
4519 void proto_register_handoff_giop_tango(void) {
4523 /* Register for Explicit Dissection */
4525 register_giop_user_module(dissect_tango, "TANGO", "Tango/Device", proto_tango ); /* explicit dissector */
4528 /* Register for Explicit Dissection */
4530 register_giop_user_module(dissect_tango, "TANGO", "Tango/Device_2", proto_tango ); /* explicit dissector */
4533 /* Register for Explicit Dissection */
4535 register_giop_user_module(dissect_tango, "TANGO", "Tango/Device_3", proto_tango ); /* explicit dissector */
4538 /* Register for Heuristic Dissection */
4540 register_giop_user(dissect_tango, "TANGO" ,proto_tango); /* heuristic dissector */
4546 #ifndef ENABLE_STATIC
4548 G_MODULE_EXPORT void
4549 plugin_register(void)
4551 if (proto_tango == -1) {
4552 proto_register_giop_tango();
4556 G_MODULE_EXPORT void
4557 plugin_reg_handoff(void){
4558 proto_register_handoff_giop_tango();