2 * Routines for IDL dissection
4 * Autogenerated from idl2wrs
5 * Copyright 2001 Frank Singleton <frank.singleton@ericsson.com>
10 * Wireshark - Network traffic analyzer
12 * Copyright 1999 - 2006 Gerald Combs
17 * This program is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU General Public License
19 * as published by the Free Software Foundation; either version 2
20 * of the License, or (at your option) any later version.
22 * This program is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU General Public License for more details.
27 * You should have received a copy of the GNU General Public License
28 * along with this program; if not, write to the Free Software
29 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
43 #include <epan/packet.h>
44 #include <epan/proto.h>
45 #include <epan/dissectors/packet-giop.h>
48 G_MODULE_EXPORT const gchar version[] = "0.0.1";
52 /* disable warning: "unreference local variable" */
53 #pragma warning(disable:4101)
57 static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, int *offset);
61 /* Struct prototype declaration Start */
64 /* Struct = IDL:Tango/DevVarLongStringArray:1.0 */
66 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_);
69 /* Struct = IDL:Tango/DevVarDoubleStringArray:1.0 */
71 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_);
74 /* Struct = IDL:Tango/TimeVal:1.0 */
76 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_);
79 /* Struct = IDL:Tango/DevCmdInfo:1.0 */
81 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_);
84 /* Struct = IDL:Tango/DevCmdInfo_2:1.0 */
86 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_);
89 /* Struct = IDL:Tango/DevError:1.0 */
91 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_);
94 /* Struct = IDL:Tango/NamedDevError:1.0 */
96 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_);
99 /* Struct = IDL:Tango/AttributeConfig:1.0 */
101 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_);
104 /* Struct = IDL:Tango/AttributeConfig_2:1.0 */
106 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_);
109 /* Struct = IDL:Tango/AttributeValue:1.0 */
111 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_);
114 /* Struct = IDL:Tango/AttributeDim:1.0 */
116 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_);
119 /* Struct = IDL:Tango/AttributeValue_3:1.0 */
121 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_);
124 /* Struct = IDL:Tango/ChangeEventProp:1.0 */
126 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_);
129 /* Struct = IDL:Tango/PeriodicEventProp:1.0 */
131 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_);
134 /* Struct = IDL:Tango/ArchiveEventProp:1.0 */
136 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_);
139 /* Struct = IDL:Tango/EventProperties:1.0 */
141 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_);
144 /* Struct = IDL:Tango/AttributeAlarm:1.0 */
146 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_);
149 /* Struct = IDL:Tango/AttributeConfig_3:1.0 */
151 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_);
154 /* Struct = IDL:Tango/DevInfo:1.0 */
156 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_);
159 /* Struct = IDL:Tango/DevInfo_3:1.0 */
161 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_);
164 /* Struct = IDL:Tango/DevCmdHistory:1.0 */
166 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_);
169 /* Struct = IDL:Tango/DevAttrHistory:1.0 */
171 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_);
174 /* Struct = IDL:Tango/DevAttrHistory_3:1.0 */
176 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_);
179 /* Struct prototype declaration End */
182 /* Union prototype declaration Start */
185 /* Union prototype declaration End */
189 /* Initialise the protocol and subtree pointers */
191 static int proto_tango = -1;
193 static gint ett_tango = -1;
196 /* Initialise the initial Alignment */
198 static guint32 boundary = GIOP_HEADER_SIZE; /* initial value */
202 /* Initialise the Registered fields */
204 /* TODO - Use registered fields */
207 * IDL Operations Start
210 static const char Tango_Device_command_inout_op[] = "command_inout" ;
211 static const char Tango_Device_get_attribute_config_op[] = "get_attribute_config" ;
212 static const char Tango_Device_set_attribute_config_op[] = "set_attribute_config" ;
213 static const char Tango_Device_read_attributes_op[] = "read_attributes" ;
214 static const char Tango_Device_write_attributes_op[] = "write_attributes" ;
215 static const char Tango_Device_ping_op[] = "ping" ;
216 static const char Tango_Device_black_box_op[] = "black_box" ;
217 static const char Tango_Device_info_op[] = "info" ;
218 static const char Tango_Device_command_list_query_op[] = "command_list_query" ;
219 static const char Tango_Device_command_query_op[] = "command_query" ;
220 static const char Tango_Device_2_command_inout_2_op[] = "command_inout_2" ;
221 static const char Tango_Device_2_read_attributes_2_op[] = "read_attributes_2" ;
222 static const char Tango_Device_2_get_attribute_config_2_op[] = "get_attribute_config_2" ;
223 static const char Tango_Device_2_command_list_query_2_op[] = "command_list_query_2" ;
224 static const char Tango_Device_2_command_query_2_op[] = "command_query_2" ;
225 static const char Tango_Device_2_command_inout_history_2_op[] = "command_inout_history_2" ;
226 static const char Tango_Device_2_read_attribute_history_2_op[] = "read_attribute_history_2" ;
227 static const char Tango_Device_3_read_attributes_3_op[] = "read_attributes_3" ;
228 static const char Tango_Device_3_write_attributes_3_op[] = "write_attributes_3" ;
229 static const char Tango_Device_3_read_attribute_history_3_op[] = "read_attribute_history_3" ;
230 static const char Tango_Device_3_info_3_op[] = "info_3" ;
231 static const char Tango_Device_3_get_attribute_config_3_op[] = "get_attribute_config_3" ;
232 static const char Tango_Device_3_set_attribute_config_3_op[] = "set_attribute_config_3" ;
238 /* Begin Exception (containing members) String Declare */
241 static const char user_exception_Tango_DevFailed[] = "IDL:Tango/DevFailed:1.0" ;
242 static const char user_exception_Tango_MultiDevFailed[] = "IDL:Tango/MultiDevFailed:1.0" ;
244 /* End Exception (containing members) String Declare */
247 * IDL Attributes Start
250 static const char get_Tango_Device_name_at[] = "_get_name" ;
251 static const char get_Tango_Device_description_at[] = "_get_description" ;
252 static const char get_Tango_Device_state_at[] = "_get_state" ;
253 static const char get_Tango_Device_status_at[] = "_get_status" ;
254 static const char get_Tango_Device_adm_name_at[] = "_get_adm_name" ;
265 * Enum = IDL:Tango/AttrQuality:1.0
268 static const value_string Tango_AttrQuality[] = {
271 { 1, "ATTR_INVALID" },
273 { 3, "ATTR_CHANGING" },
274 { 4, "ATTR_WARNING" },
279 * Enum = IDL:Tango/AttrWriteType:1.0
282 static const value_string Tango_AttrWriteType[] = {
285 { 1, "READ_WITH_WRITE" },
292 * Enum = IDL:Tango/AttrDataFormat:1.0
295 static const value_string Tango_AttrDataFormat[] = {
304 * Enum = IDL:Tango/DevSource:1.0
307 static const value_string Tango_DevSource[] = {
316 * Enum = IDL:Tango/ErrSeverity:1.0
319 static const value_string Tango_ErrSeverity[] = {
328 * Enum = IDL:Tango/DevState:1.0
331 static const value_string Tango_DevState[] = {
351 * Enum = IDL:Tango/DispLevel:1.0
354 static const value_string Tango_DispLevel[] = {
365 /* Begin Exception Helper Functions */
368 /* Exception = IDL:Tango/DevFailed:1.0 */
370 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_) {
372 gboolean stream_is_big_endian; /* big endianess */
375 /* Operation specific Variable declarations Begin */
377 guint32 u_octet4_loop_DevFailed_errors;
378 guint32 i_DevFailed_errors;
380 /* Operation specific Variable declarations End */
382 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
384 u_octet4_loop_DevFailed_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
386 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevFailed_errors = %u",u_octet4_loop_DevFailed_errors);
389 for (i_DevFailed_errors=0; i_DevFailed_errors < u_octet4_loop_DevFailed_errors; i_DevFailed_errors++) {
391 /* Begin struct "Tango_DevError" */
395 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
397 /* End struct "Tango_DevError" */
403 /* Exception = IDL:Tango/MultiDevFailed:1.0 */
405 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_) {
407 gboolean stream_is_big_endian; /* big endianess */
410 /* Operation specific Variable declarations Begin */
412 guint32 u_octet4_loop_MultiDevFailed_errors;
413 guint32 i_MultiDevFailed_errors;
415 /* Operation specific Variable declarations End */
417 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
419 u_octet4_loop_MultiDevFailed_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
421 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of MultiDevFailed_errors = %u",u_octet4_loop_MultiDevFailed_errors);
424 for (i_MultiDevFailed_errors=0; i_MultiDevFailed_errors < u_octet4_loop_MultiDevFailed_errors; i_MultiDevFailed_errors++) {
426 /* Begin struct "Tango_NamedDevError" */
430 decode_Tango_NamedDevError_st(tvb, pinfo, tree, offset, header, operation);
432 /* End struct "Tango_NamedDevError" */
439 /* End Exception Helper Functions */
442 * Main delegator for exception handling
446 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_ ) {
448 gboolean be _U_; /* big endianess */
449 proto_tree *tree _U_;
451 if (!header->exception_id)
454 if (strcmp(header->exception_id, user_exception_Tango_DevFailed) == 0) {
455 tree = start_dissecting(tvb, pinfo, ptree, offset);
456 decode_ex_Tango_DevFailed(tvb, pinfo, tree, offset, header, operation); /* IDL:Tango/DevFailed:1.0 */
460 if (strcmp(header->exception_id, user_exception_Tango_MultiDevFailed) == 0) {
461 tree = start_dissecting(tvb, pinfo, ptree, offset);
462 decode_ex_Tango_MultiDevFailed(tvb, pinfo, tree, offset, header, operation); /* IDL:Tango/MultiDevFailed:1.0 */
468 return FALSE; /* user exception not found */
472 /* Begin Attribute Helper Functions */
475 /* Attribute = IDL:Tango/Device/name:1.0 */
477 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_) {
479 gboolean stream_is_big_endian; /* big endianess */
482 /* Operation specific Variable declarations Begin */
487 /* Operation specific Variable declarations End */
489 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
491 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
493 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"name (%u) = %s",
494 u_octet4, (u_octet4 > 0) ? seq : "");
497 g_free(seq); /* free buffer */
503 /* Attribute = IDL:Tango/Device/description:1.0 */
505 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_) {
507 gboolean stream_is_big_endian; /* big endianess */
510 /* Operation specific Variable declarations Begin */
515 /* Operation specific Variable declarations End */
517 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
519 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
521 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"description (%u) = %s",
522 u_octet4, (u_octet4 > 0) ? seq : "");
525 g_free(seq); /* free buffer */
531 /* Attribute = IDL:Tango/Device/state:1.0 */
533 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_) {
535 gboolean stream_is_big_endian; /* big endianess */
538 /* Operation specific Variable declarations Begin */
542 /* Operation specific Variable declarations End */
544 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
547 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
549 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"));
555 /* Attribute = IDL:Tango/Device/status:1.0 */
557 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_) {
559 gboolean stream_is_big_endian; /* big endianess */
562 /* Operation specific Variable declarations Begin */
567 /* Operation specific Variable declarations End */
569 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
571 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
573 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"status (%u) = %s",
574 u_octet4, (u_octet4 > 0) ? seq : "");
577 g_free(seq); /* free buffer */
583 /* Attribute = IDL:Tango/Device/adm_name:1.0 */
585 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_) {
587 gboolean stream_is_big_endian; /* big endianess */
590 /* Operation specific Variable declarations Begin */
595 /* Operation specific Variable declarations End */
597 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
599 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
601 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"adm_name (%u) = %s",
602 u_octet4, (u_octet4 > 0) ? seq : "");
605 g_free(seq); /* free buffer */
611 /* End Attribute Helper Functions */
614 * IDL:Tango/Device/command_inout:1.0
617 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_) {
619 gboolean stream_is_big_endian; /* big endianess */
622 /* Operation specific Variable declarations Begin */
627 /* Operation specific Variable declarations End */
629 stream_is_big_endian = is_big_endian(header);
631 switch(header->message_type) {
635 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
637 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
638 u_octet4, (u_octet4 > 0) ? seq : "");
641 g_free(seq); /* free buffer */
644 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
650 switch(header->rep_status) {
654 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
664 /* Unknown Exception */
666 g_warning("Unknown Exception ");
671 } /* switch(header->message_type) */
677 /* Unknown GIOP Message */
679 g_warning("Unknown GIOP Message");
683 } /* switch(header->message_type) */
688 * IDL:Tango/Device/get_attribute_config:1.0
691 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_) {
693 gboolean stream_is_big_endian; /* big endianess */
696 /* Operation specific Variable declarations Begin */
698 guint32 u_octet4_loop_names;
702 guint32 u_octet4_loop_AttributeConfigList;
703 guint32 i_AttributeConfigList;
705 /* Operation specific Variable declarations End */
707 stream_is_big_endian = is_big_endian(header);
709 switch(header->message_type) {
713 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
715 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
718 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
720 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
722 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
723 u_octet4, (u_octet4 > 0) ? seq : "");
726 g_free(seq); /* free buffer */
735 switch(header->rep_status) {
739 u_octet4_loop_AttributeConfigList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
741 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfigList = %u",u_octet4_loop_AttributeConfigList);
744 for (i_AttributeConfigList=0; i_AttributeConfigList < u_octet4_loop_AttributeConfigList; i_AttributeConfigList++) {
746 /* Begin struct "Tango_AttributeConfig" */
750 decode_Tango_AttributeConfig_st(tvb, pinfo, tree, offset, header, operation);
752 /* End struct "Tango_AttributeConfig" */
764 /* Unknown Exception */
766 g_warning("Unknown Exception ");
771 } /* switch(header->message_type) */
777 /* Unknown GIOP Message */
779 g_warning("Unknown GIOP Message");
783 } /* switch(header->message_type) */
788 * IDL:Tango/Device/set_attribute_config:1.0
791 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_) {
793 gboolean stream_is_big_endian; /* big endianess */
796 /* Operation specific Variable declarations Begin */
798 guint32 u_octet4_loop_new_conf;
801 /* Operation specific Variable declarations End */
803 stream_is_big_endian = is_big_endian(header);
805 switch(header->message_type) {
809 u_octet4_loop_new_conf = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
811 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of new_conf = %u",u_octet4_loop_new_conf);
814 for (i_new_conf=0; i_new_conf < u_octet4_loop_new_conf; i_new_conf++) {
816 /* Begin struct "Tango_AttributeConfig" */
820 decode_Tango_AttributeConfig_st(tvb, pinfo, tree, offset, header, operation);
822 /* End struct "Tango_AttributeConfig" */
830 switch(header->rep_status) {
834 /* Function returns void */
844 /* Unknown Exception */
846 g_warning("Unknown Exception ");
851 } /* switch(header->message_type) */
857 /* Unknown GIOP Message */
859 g_warning("Unknown GIOP Message");
863 } /* switch(header->message_type) */
868 * IDL:Tango/Device/read_attributes:1.0
871 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_) {
873 gboolean stream_is_big_endian; /* big endianess */
876 /* Operation specific Variable declarations Begin */
878 guint32 u_octet4_loop_names;
882 guint32 u_octet4_loop_AttributeValueList;
883 guint32 i_AttributeValueList;
885 /* Operation specific Variable declarations End */
887 stream_is_big_endian = is_big_endian(header);
889 switch(header->message_type) {
893 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
895 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
898 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
900 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
902 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
903 u_octet4, (u_octet4 > 0) ? seq : "");
906 g_free(seq); /* free buffer */
915 switch(header->rep_status) {
919 u_octet4_loop_AttributeValueList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
921 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeValueList = %u",u_octet4_loop_AttributeValueList);
924 for (i_AttributeValueList=0; i_AttributeValueList < u_octet4_loop_AttributeValueList; i_AttributeValueList++) {
926 /* Begin struct "Tango_AttributeValue" */
930 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
932 /* End struct "Tango_AttributeValue" */
944 /* Unknown Exception */
946 g_warning("Unknown Exception ");
951 } /* switch(header->message_type) */
957 /* Unknown GIOP Message */
959 g_warning("Unknown GIOP Message");
963 } /* switch(header->message_type) */
968 * IDL:Tango/Device/write_attributes:1.0
971 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_) {
973 gboolean stream_is_big_endian; /* big endianess */
976 /* Operation specific Variable declarations Begin */
978 guint32 u_octet4_loop_values;
981 /* Operation specific Variable declarations End */
983 stream_is_big_endian = is_big_endian(header);
985 switch(header->message_type) {
989 u_octet4_loop_values = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
991 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of values = %u",u_octet4_loop_values);
994 for (i_values=0; i_values < u_octet4_loop_values; i_values++) {
996 /* Begin struct "Tango_AttributeValue" */
1000 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
1002 /* End struct "Tango_AttributeValue" */
1010 switch(header->rep_status) {
1014 /* Function returns void */
1018 case USER_EXCEPTION:
1024 /* Unknown Exception */
1026 g_warning("Unknown Exception ");
1031 } /* switch(header->message_type) */
1037 /* Unknown GIOP Message */
1039 g_warning("Unknown GIOP Message");
1043 } /* switch(header->message_type) */
1048 * IDL:Tango/Device/ping:1.0
1051 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_) {
1053 gboolean stream_is_big_endian; /* big endianess */
1056 /* Operation specific Variable declarations Begin */
1059 /* Operation specific Variable declarations End */
1061 stream_is_big_endian = is_big_endian(header);
1063 switch(header->message_type) {
1071 switch(header->rep_status) {
1075 /* Function returns void */
1079 case USER_EXCEPTION:
1085 /* Unknown Exception */
1087 g_warning("Unknown Exception ");
1092 } /* switch(header->message_type) */
1098 /* Unknown GIOP Message */
1100 g_warning("Unknown GIOP Message");
1104 } /* switch(header->message_type) */
1109 * IDL:Tango/Device/black_box:1.0
1112 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_) {
1114 gboolean stream_is_big_endian; /* big endianess */
1117 /* Operation specific Variable declarations Begin */
1120 guint32 u_octet4_loop_DevVarStringArray;
1121 guint32 i_DevVarStringArray;
1125 /* Operation specific Variable declarations End */
1127 stream_is_big_endian = is_big_endian(header);
1129 switch(header->message_type) {
1133 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
1135 proto_tree_add_text(tree,tvb,*offset-4,4,"n = %i",s_octet4);
1142 switch(header->rep_status) {
1146 u_octet4_loop_DevVarStringArray = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1148 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarStringArray = %u",u_octet4_loop_DevVarStringArray);
1151 for (i_DevVarStringArray=0; i_DevVarStringArray < u_octet4_loop_DevVarStringArray; i_DevVarStringArray++) {
1153 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1155 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevVarStringArray (%u) = %s",
1156 u_octet4, (u_octet4 > 0) ? seq : "");
1159 g_free(seq); /* free buffer */
1166 case USER_EXCEPTION:
1172 /* Unknown Exception */
1174 g_warning("Unknown Exception ");
1179 } /* switch(header->message_type) */
1185 /* Unknown GIOP Message */
1187 g_warning("Unknown GIOP Message");
1191 } /* switch(header->message_type) */
1196 * IDL:Tango/Device/info:1.0
1199 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_) {
1201 gboolean stream_is_big_endian; /* big endianess */
1204 /* Operation specific Variable declarations Begin */
1207 /* Operation specific Variable declarations End */
1209 stream_is_big_endian = is_big_endian(header);
1211 switch(header->message_type) {
1219 switch(header->rep_status) {
1223 /* Begin struct "Tango_DevInfo" */
1227 decode_Tango_DevInfo_st(tvb, pinfo, tree, offset, header, operation);
1229 /* End struct "Tango_DevInfo" */
1233 case USER_EXCEPTION:
1239 /* Unknown Exception */
1241 g_warning("Unknown Exception ");
1246 } /* switch(header->message_type) */
1252 /* Unknown GIOP Message */
1254 g_warning("Unknown GIOP Message");
1258 } /* switch(header->message_type) */
1263 * IDL:Tango/Device/command_list_query:1.0
1266 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_) {
1268 gboolean stream_is_big_endian; /* big endianess */
1271 /* Operation specific Variable declarations Begin */
1273 guint32 u_octet4_loop_DevCmdInfoList;
1274 guint32 i_DevCmdInfoList;
1276 /* Operation specific Variable declarations End */
1278 stream_is_big_endian = is_big_endian(header);
1280 switch(header->message_type) {
1288 switch(header->rep_status) {
1292 u_octet4_loop_DevCmdInfoList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1294 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevCmdInfoList = %u",u_octet4_loop_DevCmdInfoList);
1297 for (i_DevCmdInfoList=0; i_DevCmdInfoList < u_octet4_loop_DevCmdInfoList; i_DevCmdInfoList++) {
1299 /* Begin struct "Tango_DevCmdInfo" */
1303 decode_Tango_DevCmdInfo_st(tvb, pinfo, tree, offset, header, operation);
1305 /* End struct "Tango_DevCmdInfo" */
1311 case USER_EXCEPTION:
1317 /* Unknown Exception */
1319 g_warning("Unknown Exception ");
1324 } /* switch(header->message_type) */
1330 /* Unknown GIOP Message */
1332 g_warning("Unknown GIOP Message");
1336 } /* switch(header->message_type) */
1341 * IDL:Tango/Device/command_query:1.0
1344 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_) {
1346 gboolean stream_is_big_endian; /* big endianess */
1349 /* Operation specific Variable declarations Begin */
1354 /* Operation specific Variable declarations End */
1356 stream_is_big_endian = is_big_endian(header);
1358 switch(header->message_type) {
1362 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1364 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
1365 u_octet4, (u_octet4 > 0) ? seq : "");
1368 g_free(seq); /* free buffer */
1375 switch(header->rep_status) {
1379 /* Begin struct "Tango_DevCmdInfo" */
1383 decode_Tango_DevCmdInfo_st(tvb, pinfo, tree, offset, header, operation);
1385 /* End struct "Tango_DevCmdInfo" */
1389 case USER_EXCEPTION:
1395 /* Unknown Exception */
1397 g_warning("Unknown Exception ");
1402 } /* switch(header->message_type) */
1408 /* Unknown GIOP Message */
1410 g_warning("Unknown GIOP Message");
1414 } /* switch(header->message_type) */
1419 * IDL:Tango/Device_2/command_inout_2:1.0
1422 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_) {
1424 gboolean stream_is_big_endian; /* big endianess */
1427 /* Operation specific Variable declarations Begin */
1432 /* Operation specific Variable declarations End */
1434 stream_is_big_endian = is_big_endian(header);
1436 switch(header->message_type) {
1440 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1442 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
1443 u_octet4, (u_octet4 > 0) ? seq : "");
1446 g_free(seq); /* free buffer */
1449 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
1452 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
1454 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"));
1461 switch(header->rep_status) {
1465 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
1469 case USER_EXCEPTION:
1475 /* Unknown Exception */
1477 g_warning("Unknown Exception ");
1482 } /* switch(header->message_type) */
1488 /* Unknown GIOP Message */
1490 g_warning("Unknown GIOP Message");
1494 } /* switch(header->message_type) */
1499 * IDL:Tango/Device_2/read_attributes_2:1.0
1502 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_) {
1504 gboolean stream_is_big_endian; /* big endianess */
1507 /* Operation specific Variable declarations Begin */
1509 guint32 u_octet4_loop_names;
1513 guint32 u_octet4_loop_AttributeValueList;
1514 guint32 i_AttributeValueList;
1516 /* Operation specific Variable declarations End */
1518 stream_is_big_endian = is_big_endian(header);
1520 switch(header->message_type) {
1524 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1526 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
1529 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
1531 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1533 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
1534 u_octet4, (u_octet4 > 0) ? seq : "");
1537 g_free(seq); /* free buffer */
1543 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
1545 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"));
1552 switch(header->rep_status) {
1556 u_octet4_loop_AttributeValueList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1558 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeValueList = %u",u_octet4_loop_AttributeValueList);
1561 for (i_AttributeValueList=0; i_AttributeValueList < u_octet4_loop_AttributeValueList; i_AttributeValueList++) {
1563 /* Begin struct "Tango_AttributeValue" */
1567 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
1569 /* End struct "Tango_AttributeValue" */
1575 case USER_EXCEPTION:
1581 /* Unknown Exception */
1583 g_warning("Unknown Exception ");
1588 } /* switch(header->message_type) */
1594 /* Unknown GIOP Message */
1596 g_warning("Unknown GIOP Message");
1600 } /* switch(header->message_type) */
1605 * IDL:Tango/Device_2/get_attribute_config_2:1.0
1608 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_) {
1610 gboolean stream_is_big_endian; /* big endianess */
1613 /* Operation specific Variable declarations Begin */
1615 guint32 u_octet4_loop_names;
1619 guint32 u_octet4_loop_AttributeConfigList_2;
1620 guint32 i_AttributeConfigList_2;
1622 /* Operation specific Variable declarations End */
1624 stream_is_big_endian = is_big_endian(header);
1626 switch(header->message_type) {
1630 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1632 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
1635 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
1637 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1639 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
1640 u_octet4, (u_octet4 > 0) ? seq : "");
1643 g_free(seq); /* free buffer */
1652 switch(header->rep_status) {
1656 u_octet4_loop_AttributeConfigList_2 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1658 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfigList_2 = %u",u_octet4_loop_AttributeConfigList_2);
1661 for (i_AttributeConfigList_2=0; i_AttributeConfigList_2 < u_octet4_loop_AttributeConfigList_2; i_AttributeConfigList_2++) {
1663 /* Begin struct "Tango_AttributeConfig_2" */
1667 decode_Tango_AttributeConfig_2_st(tvb, pinfo, tree, offset, header, operation);
1669 /* End struct "Tango_AttributeConfig_2" */
1675 case USER_EXCEPTION:
1681 /* Unknown Exception */
1683 g_warning("Unknown Exception ");
1688 } /* switch(header->message_type) */
1694 /* Unknown GIOP Message */
1696 g_warning("Unknown GIOP Message");
1700 } /* switch(header->message_type) */
1705 * IDL:Tango/Device_2/command_list_query_2:1.0
1708 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_) {
1710 gboolean stream_is_big_endian; /* big endianess */
1713 /* Operation specific Variable declarations Begin */
1715 guint32 u_octet4_loop_DevCmdInfoList_2;
1716 guint32 i_DevCmdInfoList_2;
1718 /* Operation specific Variable declarations End */
1720 stream_is_big_endian = is_big_endian(header);
1722 switch(header->message_type) {
1730 switch(header->rep_status) {
1734 u_octet4_loop_DevCmdInfoList_2 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1736 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevCmdInfoList_2 = %u",u_octet4_loop_DevCmdInfoList_2);
1739 for (i_DevCmdInfoList_2=0; i_DevCmdInfoList_2 < u_octet4_loop_DevCmdInfoList_2; i_DevCmdInfoList_2++) {
1741 /* Begin struct "Tango_DevCmdInfo_2" */
1745 decode_Tango_DevCmdInfo_2_st(tvb, pinfo, tree, offset, header, operation);
1747 /* End struct "Tango_DevCmdInfo_2" */
1753 case USER_EXCEPTION:
1759 /* Unknown Exception */
1761 g_warning("Unknown Exception ");
1766 } /* switch(header->message_type) */
1772 /* Unknown GIOP Message */
1774 g_warning("Unknown GIOP Message");
1778 } /* switch(header->message_type) */
1783 * IDL:Tango/Device_2/command_query_2:1.0
1786 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_) {
1788 gboolean stream_is_big_endian; /* big endianess */
1791 /* Operation specific Variable declarations Begin */
1796 /* Operation specific Variable declarations End */
1798 stream_is_big_endian = is_big_endian(header);
1800 switch(header->message_type) {
1804 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1806 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
1807 u_octet4, (u_octet4 > 0) ? seq : "");
1810 g_free(seq); /* free buffer */
1817 switch(header->rep_status) {
1821 /* Begin struct "Tango_DevCmdInfo_2" */
1825 decode_Tango_DevCmdInfo_2_st(tvb, pinfo, tree, offset, header, operation);
1827 /* End struct "Tango_DevCmdInfo_2" */
1831 case USER_EXCEPTION:
1837 /* Unknown Exception */
1839 g_warning("Unknown Exception ");
1844 } /* switch(header->message_type) */
1850 /* Unknown GIOP Message */
1852 g_warning("Unknown GIOP Message");
1856 } /* switch(header->message_type) */
1861 * IDL:Tango/Device_2/command_inout_history_2:1.0
1864 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_) {
1866 gboolean stream_is_big_endian; /* big endianess */
1869 /* Operation specific Variable declarations Begin */
1874 guint32 u_octet4_loop_DevCmdHistoryList;
1875 guint32 i_DevCmdHistoryList;
1877 /* Operation specific Variable declarations End */
1879 stream_is_big_endian = is_big_endian(header);
1881 switch(header->message_type) {
1885 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1887 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"command (%u) = %s",
1888 u_octet4, (u_octet4 > 0) ? seq : "");
1891 g_free(seq); /* free buffer */
1894 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
1896 proto_tree_add_text(tree,tvb,*offset-4,4,"n = %i",s_octet4);
1903 switch(header->rep_status) {
1907 u_octet4_loop_DevCmdHistoryList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
1909 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevCmdHistoryList = %u",u_octet4_loop_DevCmdHistoryList);
1912 for (i_DevCmdHistoryList=0; i_DevCmdHistoryList < u_octet4_loop_DevCmdHistoryList; i_DevCmdHistoryList++) {
1914 /* Begin struct "Tango_DevCmdHistory" */
1918 decode_Tango_DevCmdHistory_st(tvb, pinfo, tree, offset, header, operation);
1920 /* End struct "Tango_DevCmdHistory" */
1926 case USER_EXCEPTION:
1932 /* Unknown Exception */
1934 g_warning("Unknown Exception ");
1939 } /* switch(header->message_type) */
1945 /* Unknown GIOP Message */
1947 g_warning("Unknown GIOP Message");
1951 } /* switch(header->message_type) */
1956 * IDL:Tango/Device_2/read_attribute_history_2:1.0
1959 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_) {
1961 gboolean stream_is_big_endian; /* big endianess */
1964 /* Operation specific Variable declarations Begin */
1969 guint32 u_octet4_loop_DevAttrHistoryList;
1970 guint32 i_DevAttrHistoryList;
1972 /* Operation specific Variable declarations End */
1974 stream_is_big_endian = is_big_endian(header);
1976 switch(header->message_type) {
1980 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
1982 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"name (%u) = %s",
1983 u_octet4, (u_octet4 > 0) ? seq : "");
1986 g_free(seq); /* free buffer */
1989 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
1991 proto_tree_add_text(tree,tvb,*offset-4,4,"n = %i",s_octet4);
1998 switch(header->rep_status) {
2002 u_octet4_loop_DevAttrHistoryList = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2004 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevAttrHistoryList = %u",u_octet4_loop_DevAttrHistoryList);
2007 for (i_DevAttrHistoryList=0; i_DevAttrHistoryList < u_octet4_loop_DevAttrHistoryList; i_DevAttrHistoryList++) {
2009 /* Begin struct "Tango_DevAttrHistory" */
2013 decode_Tango_DevAttrHistory_st(tvb, pinfo, tree, offset, header, operation);
2015 /* End struct "Tango_DevAttrHistory" */
2021 case USER_EXCEPTION:
2027 /* Unknown Exception */
2029 g_warning("Unknown Exception ");
2034 } /* switch(header->message_type) */
2040 /* Unknown GIOP Message */
2042 g_warning("Unknown GIOP Message");
2046 } /* switch(header->message_type) */
2051 * IDL:Tango/Device_3/read_attributes_3:1.0
2054 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_) {
2056 gboolean stream_is_big_endian; /* big endianess */
2059 /* Operation specific Variable declarations Begin */
2061 guint32 u_octet4_loop_names;
2065 guint32 u_octet4_loop_AttributeValueList_3;
2066 guint32 i_AttributeValueList_3;
2068 /* Operation specific Variable declarations End */
2070 stream_is_big_endian = is_big_endian(header);
2072 switch(header->message_type) {
2076 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2078 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
2081 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
2083 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2085 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
2086 u_octet4, (u_octet4 > 0) ? seq : "");
2089 g_free(seq); /* free buffer */
2095 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2097 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"));
2104 switch(header->rep_status) {
2108 u_octet4_loop_AttributeValueList_3 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2110 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeValueList_3 = %u",u_octet4_loop_AttributeValueList_3);
2113 for (i_AttributeValueList_3=0; i_AttributeValueList_3 < u_octet4_loop_AttributeValueList_3; i_AttributeValueList_3++) {
2115 /* Begin struct "Tango_AttributeValue_3" */
2119 decode_Tango_AttributeValue_3_st(tvb, pinfo, tree, offset, header, operation);
2121 /* End struct "Tango_AttributeValue_3" */
2127 case USER_EXCEPTION:
2133 /* Unknown Exception */
2135 g_warning("Unknown Exception ");
2140 } /* switch(header->message_type) */
2146 /* Unknown GIOP Message */
2148 g_warning("Unknown GIOP Message");
2152 } /* switch(header->message_type) */
2157 * IDL:Tango/Device_3/write_attributes_3:1.0
2160 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_) {
2162 gboolean stream_is_big_endian; /* big endianess */
2165 /* Operation specific Variable declarations Begin */
2167 guint32 u_octet4_loop_values;
2170 /* Operation specific Variable declarations End */
2172 stream_is_big_endian = is_big_endian(header);
2174 switch(header->message_type) {
2178 u_octet4_loop_values = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2180 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of values = %u",u_octet4_loop_values);
2183 for (i_values=0; i_values < u_octet4_loop_values; i_values++) {
2185 /* Begin struct "Tango_AttributeValue" */
2189 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
2191 /* End struct "Tango_AttributeValue" */
2199 switch(header->rep_status) {
2203 /* Function returns void */
2207 case USER_EXCEPTION:
2213 /* Unknown Exception */
2215 g_warning("Unknown Exception ");
2220 } /* switch(header->message_type) */
2226 /* Unknown GIOP Message */
2228 g_warning("Unknown GIOP Message");
2232 } /* switch(header->message_type) */
2237 * IDL:Tango/Device_3/read_attribute_history_3:1.0
2240 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_) {
2242 gboolean stream_is_big_endian; /* big endianess */
2245 /* Operation specific Variable declarations Begin */
2250 guint32 u_octet4_loop_DevAttrHistoryList_3;
2251 guint32 i_DevAttrHistoryList_3;
2253 /* Operation specific Variable declarations End */
2255 stream_is_big_endian = is_big_endian(header);
2257 switch(header->message_type) {
2261 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2263 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"name (%u) = %s",
2264 u_octet4, (u_octet4 > 0) ? seq : "");
2267 g_free(seq); /* free buffer */
2270 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2272 proto_tree_add_text(tree,tvb,*offset-4,4,"n = %i",s_octet4);
2279 switch(header->rep_status) {
2283 u_octet4_loop_DevAttrHistoryList_3 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2285 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevAttrHistoryList_3 = %u",u_octet4_loop_DevAttrHistoryList_3);
2288 for (i_DevAttrHistoryList_3=0; i_DevAttrHistoryList_3 < u_octet4_loop_DevAttrHistoryList_3; i_DevAttrHistoryList_3++) {
2290 /* Begin struct "Tango_DevAttrHistory_3" */
2294 decode_Tango_DevAttrHistory_3_st(tvb, pinfo, tree, offset, header, operation);
2296 /* End struct "Tango_DevAttrHistory_3" */
2302 case USER_EXCEPTION:
2308 /* Unknown Exception */
2310 g_warning("Unknown Exception ");
2315 } /* switch(header->message_type) */
2321 /* Unknown GIOP Message */
2323 g_warning("Unknown GIOP Message");
2327 } /* switch(header->message_type) */
2332 * IDL:Tango/Device_3/info_3:1.0
2335 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_) {
2337 gboolean stream_is_big_endian; /* big endianess */
2340 /* Operation specific Variable declarations Begin */
2343 /* Operation specific Variable declarations End */
2345 stream_is_big_endian = is_big_endian(header);
2347 switch(header->message_type) {
2355 switch(header->rep_status) {
2359 /* Begin struct "Tango_DevInfo_3" */
2363 decode_Tango_DevInfo_3_st(tvb, pinfo, tree, offset, header, operation);
2365 /* End struct "Tango_DevInfo_3" */
2369 case USER_EXCEPTION:
2375 /* Unknown Exception */
2377 g_warning("Unknown Exception ");
2382 } /* switch(header->message_type) */
2388 /* Unknown GIOP Message */
2390 g_warning("Unknown GIOP Message");
2394 } /* switch(header->message_type) */
2399 * IDL:Tango/Device_3/get_attribute_config_3:1.0
2402 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_) {
2404 gboolean stream_is_big_endian; /* big endianess */
2407 /* Operation specific Variable declarations Begin */
2409 guint32 u_octet4_loop_names;
2413 guint32 u_octet4_loop_AttributeConfigList_3;
2414 guint32 i_AttributeConfigList_3;
2416 /* Operation specific Variable declarations End */
2418 stream_is_big_endian = is_big_endian(header);
2420 switch(header->message_type) {
2424 u_octet4_loop_names = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2426 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of names = %u",u_octet4_loop_names);
2429 for (i_names=0; i_names < u_octet4_loop_names; i_names++) {
2431 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2433 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"names (%u) = %s",
2434 u_octet4, (u_octet4 > 0) ? seq : "");
2437 g_free(seq); /* free buffer */
2446 switch(header->rep_status) {
2450 u_octet4_loop_AttributeConfigList_3 = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2452 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfigList_3 = %u",u_octet4_loop_AttributeConfigList_3);
2455 for (i_AttributeConfigList_3=0; i_AttributeConfigList_3 < u_octet4_loop_AttributeConfigList_3; i_AttributeConfigList_3++) {
2457 /* Begin struct "Tango_AttributeConfig_3" */
2461 decode_Tango_AttributeConfig_3_st(tvb, pinfo, tree, offset, header, operation);
2463 /* End struct "Tango_AttributeConfig_3" */
2469 case USER_EXCEPTION:
2475 /* Unknown Exception */
2477 g_warning("Unknown Exception ");
2482 } /* switch(header->message_type) */
2488 /* Unknown GIOP Message */
2490 g_warning("Unknown GIOP Message");
2494 } /* switch(header->message_type) */
2499 * IDL:Tango/Device_3/set_attribute_config_3:1.0
2502 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_) {
2504 gboolean stream_is_big_endian; /* big endianess */
2507 /* Operation specific Variable declarations Begin */
2509 guint32 u_octet4_loop_new_conf;
2512 /* Operation specific Variable declarations End */
2514 stream_is_big_endian = is_big_endian(header);
2516 switch(header->message_type) {
2520 u_octet4_loop_new_conf = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2522 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of new_conf = %u",u_octet4_loop_new_conf);
2525 for (i_new_conf=0; i_new_conf < u_octet4_loop_new_conf; i_new_conf++) {
2527 /* Begin struct "Tango_AttributeConfig_3" */
2531 decode_Tango_AttributeConfig_3_st(tvb, pinfo, tree, offset, header, operation);
2533 /* End struct "Tango_AttributeConfig_3" */
2541 switch(header->rep_status) {
2545 /* Function returns void */
2549 case USER_EXCEPTION:
2555 /* Unknown Exception */
2557 g_warning("Unknown Exception ");
2562 } /* switch(header->message_type) */
2568 /* Unknown GIOP Message */
2570 g_warning("Unknown GIOP Message");
2574 } /* switch(header->message_type) */
2578 /* Struct = IDL:Tango/DevVarLongStringArray:1.0 */
2580 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_) {
2582 gboolean stream_is_big_endian; /* big endianess */
2585 /* Operation specific Variable declarations Begin */
2587 guint32 u_octet4_loop_DevVarLongStringArray_lvalue;
2588 guint32 i_DevVarLongStringArray_lvalue;
2590 guint32 u_octet4_loop_DevVarLongStringArray_svalue;
2591 guint32 i_DevVarLongStringArray_svalue;
2595 /* Operation specific Variable declarations End */
2597 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2599 u_octet4_loop_DevVarLongStringArray_lvalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2601 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarLongStringArray_lvalue = %u",u_octet4_loop_DevVarLongStringArray_lvalue);
2604 for (i_DevVarLongStringArray_lvalue=0; i_DevVarLongStringArray_lvalue < u_octet4_loop_DevVarLongStringArray_lvalue; i_DevVarLongStringArray_lvalue++) {
2606 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2608 proto_tree_add_text(tree,tvb,*offset-4,4,"DevVarLongStringArray_lvalue = %i",s_octet4);
2613 u_octet4_loop_DevVarLongStringArray_svalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2615 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarLongStringArray_svalue = %u",u_octet4_loop_DevVarLongStringArray_svalue);
2618 for (i_DevVarLongStringArray_svalue=0; i_DevVarLongStringArray_svalue < u_octet4_loop_DevVarLongStringArray_svalue; i_DevVarLongStringArray_svalue++) {
2620 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2622 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevVarLongStringArray_svalue (%u) = %s",
2623 u_octet4, (u_octet4 > 0) ? seq : "");
2626 g_free(seq); /* free buffer */
2633 /* Struct = IDL:Tango/DevVarDoubleStringArray:1.0 */
2635 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_) {
2637 gboolean stream_is_big_endian; /* big endianess */
2640 /* Operation specific Variable declarations Begin */
2642 guint32 u_octet4_loop_DevVarDoubleStringArray_dvalue;
2643 guint32 i_DevVarDoubleStringArray_dvalue;
2645 guint32 u_octet4_loop_DevVarDoubleStringArray_svalue;
2646 guint32 i_DevVarDoubleStringArray_svalue;
2650 /* Operation specific Variable declarations End */
2652 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2654 u_octet4_loop_DevVarDoubleStringArray_dvalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2656 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarDoubleStringArray_dvalue = %u",u_octet4_loop_DevVarDoubleStringArray_dvalue);
2659 for (i_DevVarDoubleStringArray_dvalue=0; i_DevVarDoubleStringArray_dvalue < u_octet4_loop_DevVarDoubleStringArray_dvalue; i_DevVarDoubleStringArray_dvalue++) {
2661 my_double = get_CDR_double(tvb,offset,stream_is_big_endian, boundary);
2663 proto_tree_add_text(tree,tvb,*offset-8,8,"DevVarDoubleStringArray_dvalue = %.15e",my_double);
2668 u_octet4_loop_DevVarDoubleStringArray_svalue = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2670 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevVarDoubleStringArray_svalue = %u",u_octet4_loop_DevVarDoubleStringArray_svalue);
2673 for (i_DevVarDoubleStringArray_svalue=0; i_DevVarDoubleStringArray_svalue < u_octet4_loop_DevVarDoubleStringArray_svalue; i_DevVarDoubleStringArray_svalue++) {
2675 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2677 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevVarDoubleStringArray_svalue (%u) = %s",
2678 u_octet4, (u_octet4 > 0) ? seq : "");
2681 g_free(seq); /* free buffer */
2688 /* Struct = IDL:Tango/TimeVal:1.0 */
2690 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_) {
2692 gboolean stream_is_big_endian; /* big endianess */
2695 /* Operation specific Variable declarations Begin */
2699 /* Operation specific Variable declarations End */
2701 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2703 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2705 proto_tree_add_text(tree,tvb,*offset-4,4,"TimeVal_tv_sec = %i",s_octet4);
2708 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2710 proto_tree_add_text(tree,tvb,*offset-4,4,"TimeVal_tv_usec = %i",s_octet4);
2713 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2715 proto_tree_add_text(tree,tvb,*offset-4,4,"TimeVal_tv_nsec = %i",s_octet4);
2720 /* Struct = IDL:Tango/DevCmdInfo:1.0 */
2722 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_) {
2724 gboolean stream_is_big_endian; /* big endianess */
2727 /* Operation specific Variable declarations Begin */
2733 /* Operation specific Variable declarations End */
2735 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2737 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2739 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_cmd_name (%u) = %s",
2740 u_octet4, (u_octet4 > 0) ? seq : "");
2743 g_free(seq); /* free buffer */
2746 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2748 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_cmd_tag = %i",s_octet4);
2751 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2753 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_in_type = %i",s_octet4);
2756 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2758 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_out_type = %i",s_octet4);
2761 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2763 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_in_type_desc (%u) = %s",
2764 u_octet4, (u_octet4 > 0) ? seq : "");
2767 g_free(seq); /* free buffer */
2770 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2772 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_out_type_desc (%u) = %s",
2773 u_octet4, (u_octet4 > 0) ? seq : "");
2776 g_free(seq); /* free buffer */
2781 /* Struct = IDL:Tango/DevCmdInfo_2:1.0 */
2783 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_) {
2785 gboolean stream_is_big_endian; /* big endianess */
2788 /* Operation specific Variable declarations Begin */
2794 /* Operation specific Variable declarations End */
2796 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2798 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2800 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_2_cmd_name (%u) = %s",
2801 u_octet4, (u_octet4 > 0) ? seq : "");
2804 g_free(seq); /* free buffer */
2808 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2810 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"));
2813 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2815 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_2_cmd_tag = %i",s_octet4);
2818 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2820 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_2_in_type = %i",s_octet4);
2823 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2825 proto_tree_add_text(tree,tvb,*offset-4,4,"DevCmdInfo_2_out_type = %i",s_octet4);
2828 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2830 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_2_in_type_desc (%u) = %s",
2831 u_octet4, (u_octet4 > 0) ? seq : "");
2834 g_free(seq); /* free buffer */
2837 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2839 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevCmdInfo_2_out_type_desc (%u) = %s",
2840 u_octet4, (u_octet4 > 0) ? seq : "");
2843 g_free(seq); /* free buffer */
2848 /* Struct = IDL:Tango/DevError:1.0 */
2850 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_) {
2852 gboolean stream_is_big_endian; /* big endianess */
2855 /* Operation specific Variable declarations Begin */
2860 /* Operation specific Variable declarations End */
2862 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2864 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2866 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevError_reason (%u) = %s",
2867 u_octet4, (u_octet4 > 0) ? seq : "");
2870 g_free(seq); /* free buffer */
2874 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2876 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"));
2879 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2881 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevError_desc (%u) = %s",
2882 u_octet4, (u_octet4 > 0) ? seq : "");
2885 g_free(seq); /* free buffer */
2888 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2890 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevError_origin (%u) = %s",
2891 u_octet4, (u_octet4 > 0) ? seq : "");
2894 g_free(seq); /* free buffer */
2899 /* Struct = IDL:Tango/NamedDevError:1.0 */
2901 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_) {
2903 gboolean stream_is_big_endian; /* big endianess */
2906 /* Operation specific Variable declarations Begin */
2911 guint32 u_octet4_loop_NamedDevError_err_list;
2912 guint32 i_NamedDevError_err_list;
2914 /* Operation specific Variable declarations End */
2916 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2918 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2920 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"NamedDevError_name (%u) = %s",
2921 u_octet4, (u_octet4 > 0) ? seq : "");
2924 g_free(seq); /* free buffer */
2927 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2929 proto_tree_add_text(tree,tvb,*offset-4,4,"NamedDevError_index_in_call = %i",s_octet4);
2932 u_octet4_loop_NamedDevError_err_list = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
2934 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of NamedDevError_err_list = %u",u_octet4_loop_NamedDevError_err_list);
2937 for (i_NamedDevError_err_list=0; i_NamedDevError_err_list < u_octet4_loop_NamedDevError_err_list; i_NamedDevError_err_list++) {
2939 /* Begin struct "Tango_DevError" */
2943 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
2945 /* End struct "Tango_DevError" */
2951 /* Struct = IDL:Tango/AttributeConfig:1.0 */
2953 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_) {
2955 gboolean stream_is_big_endian; /* big endianess */
2958 /* Operation specific Variable declarations Begin */
2963 guint32 u_octet4_loop_AttributeConfig_extensions;
2964 guint32 i_AttributeConfig_extensions;
2966 /* Operation specific Variable declarations End */
2968 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
2970 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
2972 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_name (%u) = %s",
2973 u_octet4, (u_octet4 > 0) ? seq : "");
2976 g_free(seq); /* free buffer */
2980 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2982 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"));
2986 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
2988 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"));
2991 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2993 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_data_type = %i",s_octet4);
2996 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
2998 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_max_dim_x = %i",s_octet4);
3001 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3003 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_max_dim_y = %i",s_octet4);
3006 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3008 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_description (%u) = %s",
3009 u_octet4, (u_octet4 > 0) ? seq : "");
3012 g_free(seq); /* free buffer */
3015 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3017 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_label (%u) = %s",
3018 u_octet4, (u_octet4 > 0) ? seq : "");
3021 g_free(seq); /* free buffer */
3024 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3026 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_unit (%u) = %s",
3027 u_octet4, (u_octet4 > 0) ? seq : "");
3030 g_free(seq); /* free buffer */
3033 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3035 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_standard_unit (%u) = %s",
3036 u_octet4, (u_octet4 > 0) ? seq : "");
3039 g_free(seq); /* free buffer */
3042 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3044 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_display_unit (%u) = %s",
3045 u_octet4, (u_octet4 > 0) ? seq : "");
3048 g_free(seq); /* free buffer */
3051 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3053 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_format (%u) = %s",
3054 u_octet4, (u_octet4 > 0) ? seq : "");
3057 g_free(seq); /* free buffer */
3060 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3062 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_min_value (%u) = %s",
3063 u_octet4, (u_octet4 > 0) ? seq : "");
3066 g_free(seq); /* free buffer */
3069 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3071 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_max_value (%u) = %s",
3072 u_octet4, (u_octet4 > 0) ? seq : "");
3075 g_free(seq); /* free buffer */
3078 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3080 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_min_alarm (%u) = %s",
3081 u_octet4, (u_octet4 > 0) ? seq : "");
3084 g_free(seq); /* free buffer */
3087 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3089 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_max_alarm (%u) = %s",
3090 u_octet4, (u_octet4 > 0) ? seq : "");
3093 g_free(seq); /* free buffer */
3096 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3098 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_writable_attr_name (%u) = %s",
3099 u_octet4, (u_octet4 > 0) ? seq : "");
3102 g_free(seq); /* free buffer */
3105 u_octet4_loop_AttributeConfig_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3107 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfig_extensions = %u",u_octet4_loop_AttributeConfig_extensions);
3110 for (i_AttributeConfig_extensions=0; i_AttributeConfig_extensions < u_octet4_loop_AttributeConfig_extensions; i_AttributeConfig_extensions++) {
3112 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3114 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_extensions (%u) = %s",
3115 u_octet4, (u_octet4 > 0) ? seq : "");
3118 g_free(seq); /* free buffer */
3125 /* Struct = IDL:Tango/AttributeConfig_2:1.0 */
3127 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_) {
3129 gboolean stream_is_big_endian; /* big endianess */
3132 /* Operation specific Variable declarations Begin */
3137 guint32 u_octet4_loop_AttributeConfig_2_extensions;
3138 guint32 i_AttributeConfig_2_extensions;
3140 /* Operation specific Variable declarations End */
3142 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3144 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3146 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_name (%u) = %s",
3147 u_octet4, (u_octet4 > 0) ? seq : "");
3150 g_free(seq); /* free buffer */
3154 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3156 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"));
3160 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3162 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"));
3165 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3167 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_2_data_type = %i",s_octet4);
3170 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3172 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_2_max_dim_x = %i",s_octet4);
3175 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3177 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_2_max_dim_y = %i",s_octet4);
3180 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3182 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_description (%u) = %s",
3183 u_octet4, (u_octet4 > 0) ? seq : "");
3186 g_free(seq); /* free buffer */
3189 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3191 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_label (%u) = %s",
3192 u_octet4, (u_octet4 > 0) ? seq : "");
3195 g_free(seq); /* free buffer */
3198 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3200 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_unit (%u) = %s",
3201 u_octet4, (u_octet4 > 0) ? seq : "");
3204 g_free(seq); /* free buffer */
3207 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3209 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_standard_unit (%u) = %s",
3210 u_octet4, (u_octet4 > 0) ? seq : "");
3213 g_free(seq); /* free buffer */
3216 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3218 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_display_unit (%u) = %s",
3219 u_octet4, (u_octet4 > 0) ? seq : "");
3222 g_free(seq); /* free buffer */
3225 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3227 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_format (%u) = %s",
3228 u_octet4, (u_octet4 > 0) ? seq : "");
3231 g_free(seq); /* free buffer */
3234 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3236 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_min_value (%u) = %s",
3237 u_octet4, (u_octet4 > 0) ? seq : "");
3240 g_free(seq); /* free buffer */
3243 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3245 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_max_value (%u) = %s",
3246 u_octet4, (u_octet4 > 0) ? seq : "");
3249 g_free(seq); /* free buffer */
3252 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3254 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_min_alarm (%u) = %s",
3255 u_octet4, (u_octet4 > 0) ? seq : "");
3258 g_free(seq); /* free buffer */
3261 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3263 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_max_alarm (%u) = %s",
3264 u_octet4, (u_octet4 > 0) ? seq : "");
3267 g_free(seq); /* free buffer */
3270 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3272 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_writable_attr_name (%u) = %s",
3273 u_octet4, (u_octet4 > 0) ? seq : "");
3276 g_free(seq); /* free buffer */
3280 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3282 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"));
3285 u_octet4_loop_AttributeConfig_2_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3287 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfig_2_extensions = %u",u_octet4_loop_AttributeConfig_2_extensions);
3290 for (i_AttributeConfig_2_extensions=0; i_AttributeConfig_2_extensions < u_octet4_loop_AttributeConfig_2_extensions; i_AttributeConfig_2_extensions++) {
3292 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3294 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_2_extensions (%u) = %s",
3295 u_octet4, (u_octet4 > 0) ? seq : "");
3298 g_free(seq); /* free buffer */
3305 /* Struct = IDL:Tango/AttributeValue:1.0 */
3307 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_) {
3309 gboolean stream_is_big_endian; /* big endianess */
3312 /* Operation specific Variable declarations Begin */
3318 /* Operation specific Variable declarations End */
3320 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3322 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
3325 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3327 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"));
3330 /* Begin struct "Tango_TimeVal" */
3334 decode_Tango_TimeVal_st(tvb, pinfo, tree, offset, header, operation);
3336 /* End struct "Tango_TimeVal" */
3338 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3340 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeValue_name (%u) = %s",
3341 u_octet4, (u_octet4 > 0) ? seq : "");
3344 g_free(seq); /* free buffer */
3347 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3349 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeValue_dim_x = %i",s_octet4);
3352 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3354 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeValue_dim_y = %i",s_octet4);
3359 /* Struct = IDL:Tango/AttributeDim:1.0 */
3361 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_) {
3363 gboolean stream_is_big_endian; /* big endianess */
3366 /* Operation specific Variable declarations Begin */
3370 /* Operation specific Variable declarations End */
3372 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3374 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3376 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeDim_dim_x = %i",s_octet4);
3379 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3381 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeDim_dim_y = %i",s_octet4);
3386 /* Struct = IDL:Tango/AttributeValue_3:1.0 */
3388 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_) {
3390 gboolean stream_is_big_endian; /* big endianess */
3393 /* Operation specific Variable declarations Begin */
3397 guint32 u_octet4_loop_AttributeValue_3_err_list;
3398 guint32 i_AttributeValue_3_err_list;
3400 /* Operation specific Variable declarations End */
3402 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3404 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
3407 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3409 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"));
3412 /* Begin struct "Tango_TimeVal" */
3416 decode_Tango_TimeVal_st(tvb, pinfo, tree, offset, header, operation);
3418 /* End struct "Tango_TimeVal" */
3420 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3422 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeValue_3_name (%u) = %s",
3423 u_octet4, (u_octet4 > 0) ? seq : "");
3426 g_free(seq); /* free buffer */
3429 /* Begin struct "Tango_AttributeDim" */
3433 decode_Tango_AttributeDim_st(tvb, pinfo, tree, offset, header, operation);
3435 /* End struct "Tango_AttributeDim" */
3437 /* Begin struct "Tango_AttributeDim" */
3441 decode_Tango_AttributeDim_st(tvb, pinfo, tree, offset, header, operation);
3443 /* End struct "Tango_AttributeDim" */
3445 u_octet4_loop_AttributeValue_3_err_list = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3447 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeValue_3_err_list = %u",u_octet4_loop_AttributeValue_3_err_list);
3450 for (i_AttributeValue_3_err_list=0; i_AttributeValue_3_err_list < u_octet4_loop_AttributeValue_3_err_list; i_AttributeValue_3_err_list++) {
3452 /* Begin struct "Tango_DevError" */
3456 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
3458 /* End struct "Tango_DevError" */
3464 /* Struct = IDL:Tango/ChangeEventProp:1.0 */
3466 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_) {
3468 gboolean stream_is_big_endian; /* big endianess */
3471 /* Operation specific Variable declarations Begin */
3475 guint32 u_octet4_loop_ChangeEventProp_extensions;
3476 guint32 i_ChangeEventProp_extensions;
3478 /* Operation specific Variable declarations End */
3480 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3482 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3484 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ChangeEventProp_rel_change (%u) = %s",
3485 u_octet4, (u_octet4 > 0) ? seq : "");
3488 g_free(seq); /* free buffer */
3491 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3493 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ChangeEventProp_abs_change (%u) = %s",
3494 u_octet4, (u_octet4 > 0) ? seq : "");
3497 g_free(seq); /* free buffer */
3500 u_octet4_loop_ChangeEventProp_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3502 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of ChangeEventProp_extensions = %u",u_octet4_loop_ChangeEventProp_extensions);
3505 for (i_ChangeEventProp_extensions=0; i_ChangeEventProp_extensions < u_octet4_loop_ChangeEventProp_extensions; i_ChangeEventProp_extensions++) {
3507 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3509 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ChangeEventProp_extensions (%u) = %s",
3510 u_octet4, (u_octet4 > 0) ? seq : "");
3513 g_free(seq); /* free buffer */
3520 /* Struct = IDL:Tango/PeriodicEventProp:1.0 */
3522 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_) {
3524 gboolean stream_is_big_endian; /* big endianess */
3527 /* Operation specific Variable declarations Begin */
3531 guint32 u_octet4_loop_PeriodicEventProp_extensions;
3532 guint32 i_PeriodicEventProp_extensions;
3534 /* Operation specific Variable declarations End */
3536 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3538 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3540 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"PeriodicEventProp_period (%u) = %s",
3541 u_octet4, (u_octet4 > 0) ? seq : "");
3544 g_free(seq); /* free buffer */
3547 u_octet4_loop_PeriodicEventProp_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3549 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of PeriodicEventProp_extensions = %u",u_octet4_loop_PeriodicEventProp_extensions);
3552 for (i_PeriodicEventProp_extensions=0; i_PeriodicEventProp_extensions < u_octet4_loop_PeriodicEventProp_extensions; i_PeriodicEventProp_extensions++) {
3554 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3556 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"PeriodicEventProp_extensions (%u) = %s",
3557 u_octet4, (u_octet4 > 0) ? seq : "");
3560 g_free(seq); /* free buffer */
3567 /* Struct = IDL:Tango/ArchiveEventProp:1.0 */
3569 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_) {
3571 gboolean stream_is_big_endian; /* big endianess */
3574 /* Operation specific Variable declarations Begin */
3578 guint32 u_octet4_loop_ArchiveEventProp_extensions;
3579 guint32 i_ArchiveEventProp_extensions;
3581 /* Operation specific Variable declarations End */
3583 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3585 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3587 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ArchiveEventProp_rel_change (%u) = %s",
3588 u_octet4, (u_octet4 > 0) ? seq : "");
3591 g_free(seq); /* free buffer */
3594 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3596 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ArchiveEventProp_abs_change (%u) = %s",
3597 u_octet4, (u_octet4 > 0) ? seq : "");
3600 g_free(seq); /* free buffer */
3603 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3605 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ArchiveEventProp_period (%u) = %s",
3606 u_octet4, (u_octet4 > 0) ? seq : "");
3609 g_free(seq); /* free buffer */
3612 u_octet4_loop_ArchiveEventProp_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3614 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of ArchiveEventProp_extensions = %u",u_octet4_loop_ArchiveEventProp_extensions);
3617 for (i_ArchiveEventProp_extensions=0; i_ArchiveEventProp_extensions < u_octet4_loop_ArchiveEventProp_extensions; i_ArchiveEventProp_extensions++) {
3619 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3621 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"ArchiveEventProp_extensions (%u) = %s",
3622 u_octet4, (u_octet4 > 0) ? seq : "");
3625 g_free(seq); /* free buffer */
3632 /* Struct = IDL:Tango/EventProperties:1.0 */
3634 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_) {
3636 gboolean stream_is_big_endian; /* big endianess */
3639 /* Operation specific Variable declarations Begin */
3642 /* Operation specific Variable declarations End */
3644 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3646 /* Begin struct "Tango_ChangeEventProp" */
3650 decode_Tango_ChangeEventProp_st(tvb, pinfo, tree, offset, header, operation);
3652 /* End struct "Tango_ChangeEventProp" */
3654 /* Begin struct "Tango_PeriodicEventProp" */
3658 decode_Tango_PeriodicEventProp_st(tvb, pinfo, tree, offset, header, operation);
3660 /* End struct "Tango_PeriodicEventProp" */
3662 /* Begin struct "Tango_ArchiveEventProp" */
3666 decode_Tango_ArchiveEventProp_st(tvb, pinfo, tree, offset, header, operation);
3668 /* End struct "Tango_ArchiveEventProp" */
3672 /* Struct = IDL:Tango/AttributeAlarm:1.0 */
3674 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_) {
3676 gboolean stream_is_big_endian; /* big endianess */
3679 /* Operation specific Variable declarations Begin */
3683 guint32 u_octet4_loop_AttributeAlarm_extensions;
3684 guint32 i_AttributeAlarm_extensions;
3686 /* Operation specific Variable declarations End */
3688 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3690 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3692 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_min_alarm (%u) = %s",
3693 u_octet4, (u_octet4 > 0) ? seq : "");
3696 g_free(seq); /* free buffer */
3699 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3701 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_max_alarm (%u) = %s",
3702 u_octet4, (u_octet4 > 0) ? seq : "");
3705 g_free(seq); /* free buffer */
3708 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3710 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_min_warning (%u) = %s",
3711 u_octet4, (u_octet4 > 0) ? seq : "");
3714 g_free(seq); /* free buffer */
3717 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3719 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_max_warning (%u) = %s",
3720 u_octet4, (u_octet4 > 0) ? seq : "");
3723 g_free(seq); /* free buffer */
3726 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3728 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_delta_t (%u) = %s",
3729 u_octet4, (u_octet4 > 0) ? seq : "");
3732 g_free(seq); /* free buffer */
3735 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3737 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_delta_val (%u) = %s",
3738 u_octet4, (u_octet4 > 0) ? seq : "");
3741 g_free(seq); /* free buffer */
3744 u_octet4_loop_AttributeAlarm_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3746 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeAlarm_extensions = %u",u_octet4_loop_AttributeAlarm_extensions);
3749 for (i_AttributeAlarm_extensions=0; i_AttributeAlarm_extensions < u_octet4_loop_AttributeAlarm_extensions; i_AttributeAlarm_extensions++) {
3751 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3753 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeAlarm_extensions (%u) = %s",
3754 u_octet4, (u_octet4 > 0) ? seq : "");
3757 g_free(seq); /* free buffer */
3764 /* Struct = IDL:Tango/AttributeConfig_3:1.0 */
3766 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_) {
3768 gboolean stream_is_big_endian; /* big endianess */
3771 /* Operation specific Variable declarations Begin */
3776 guint32 u_octet4_loop_AttributeConfig_3_extensions;
3777 guint32 i_AttributeConfig_3_extensions;
3778 guint32 u_octet4_loop_AttributeConfig_3_sys_extensions;
3779 guint32 i_AttributeConfig_3_sys_extensions;
3781 /* Operation specific Variable declarations End */
3783 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3785 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3787 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_name (%u) = %s",
3788 u_octet4, (u_octet4 > 0) ? seq : "");
3791 g_free(seq); /* free buffer */
3795 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3797 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"));
3801 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3803 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"));
3806 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3808 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_3_data_type = %i",s_octet4);
3811 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3813 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_3_max_dim_x = %i",s_octet4);
3816 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
3818 proto_tree_add_text(tree,tvb,*offset-4,4,"AttributeConfig_3_max_dim_y = %i",s_octet4);
3821 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3823 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_description (%u) = %s",
3824 u_octet4, (u_octet4 > 0) ? seq : "");
3827 g_free(seq); /* free buffer */
3830 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3832 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_label (%u) = %s",
3833 u_octet4, (u_octet4 > 0) ? seq : "");
3836 g_free(seq); /* free buffer */
3839 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3841 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_unit (%u) = %s",
3842 u_octet4, (u_octet4 > 0) ? seq : "");
3845 g_free(seq); /* free buffer */
3848 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3850 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_standard_unit (%u) = %s",
3851 u_octet4, (u_octet4 > 0) ? seq : "");
3854 g_free(seq); /* free buffer */
3857 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3859 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_display_unit (%u) = %s",
3860 u_octet4, (u_octet4 > 0) ? seq : "");
3863 g_free(seq); /* free buffer */
3866 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3868 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_format (%u) = %s",
3869 u_octet4, (u_octet4 > 0) ? seq : "");
3872 g_free(seq); /* free buffer */
3875 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3877 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_min_value (%u) = %s",
3878 u_octet4, (u_octet4 > 0) ? seq : "");
3881 g_free(seq); /* free buffer */
3884 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3886 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_max_value (%u) = %s",
3887 u_octet4, (u_octet4 > 0) ? seq : "");
3890 g_free(seq); /* free buffer */
3893 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3895 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_writable_attr_name (%u) = %s",
3896 u_octet4, (u_octet4 > 0) ? seq : "");
3899 g_free(seq); /* free buffer */
3903 u_octet4 = get_CDR_enum(tvb,offset,stream_is_big_endian, boundary);
3905 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"));
3908 /* Begin struct "Tango_AttributeAlarm" */
3912 decode_Tango_AttributeAlarm_st(tvb, pinfo, tree, offset, header, operation);
3914 /* End struct "Tango_AttributeAlarm" */
3916 /* Begin struct "Tango_EventProperties" */
3920 decode_Tango_EventProperties_st(tvb, pinfo, tree, offset, header, operation);
3922 /* End struct "Tango_EventProperties" */
3924 u_octet4_loop_AttributeConfig_3_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3926 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfig_3_extensions = %u",u_octet4_loop_AttributeConfig_3_extensions);
3929 for (i_AttributeConfig_3_extensions=0; i_AttributeConfig_3_extensions < u_octet4_loop_AttributeConfig_3_extensions; i_AttributeConfig_3_extensions++) {
3931 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3933 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_extensions (%u) = %s",
3934 u_octet4, (u_octet4 > 0) ? seq : "");
3937 g_free(seq); /* free buffer */
3942 u_octet4_loop_AttributeConfig_3_sys_extensions = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
3944 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of AttributeConfig_3_sys_extensions = %u",u_octet4_loop_AttributeConfig_3_sys_extensions);
3947 for (i_AttributeConfig_3_sys_extensions=0; i_AttributeConfig_3_sys_extensions < u_octet4_loop_AttributeConfig_3_sys_extensions; i_AttributeConfig_3_sys_extensions++) {
3949 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3951 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"AttributeConfig_3_sys_extensions (%u) = %s",
3952 u_octet4, (u_octet4 > 0) ? seq : "");
3955 g_free(seq); /* free buffer */
3962 /* Struct = IDL:Tango/DevInfo:1.0 */
3964 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_) {
3966 gboolean stream_is_big_endian; /* big endianess */
3969 /* Operation specific Variable declarations Begin */
3975 /* Operation specific Variable declarations End */
3977 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
3979 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3981 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_dev_class (%u) = %s",
3982 u_octet4, (u_octet4 > 0) ? seq : "");
3985 g_free(seq); /* free buffer */
3988 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3990 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_server_id (%u) = %s",
3991 u_octet4, (u_octet4 > 0) ? seq : "");
3994 g_free(seq); /* free buffer */
3997 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
3999 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_server_host (%u) = %s",
4000 u_octet4, (u_octet4 > 0) ? seq : "");
4003 g_free(seq); /* free buffer */
4006 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
4008 proto_tree_add_text(tree,tvb,*offset-4,4,"DevInfo_server_version = %i",s_octet4);
4011 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4013 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_doc_url (%u) = %s",
4014 u_octet4, (u_octet4 > 0) ? seq : "");
4017 g_free(seq); /* free buffer */
4022 /* Struct = IDL:Tango/DevInfo_3:1.0 */
4024 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_) {
4026 gboolean stream_is_big_endian; /* big endianess */
4029 /* Operation specific Variable declarations Begin */
4035 /* Operation specific Variable declarations End */
4037 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
4039 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4041 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_dev_class (%u) = %s",
4042 u_octet4, (u_octet4 > 0) ? seq : "");
4045 g_free(seq); /* free buffer */
4048 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4050 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_server_id (%u) = %s",
4051 u_octet4, (u_octet4 > 0) ? seq : "");
4054 g_free(seq); /* free buffer */
4057 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4059 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_server_host (%u) = %s",
4060 u_octet4, (u_octet4 > 0) ? seq : "");
4063 g_free(seq); /* free buffer */
4066 s_octet4 = get_CDR_long(tvb,offset,stream_is_big_endian, boundary);
4068 proto_tree_add_text(tree,tvb,*offset-4,4,"DevInfo_3_server_version = %i",s_octet4);
4071 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4073 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_doc_url (%u) = %s",
4074 u_octet4, (u_octet4 > 0) ? seq : "");
4077 g_free(seq); /* free buffer */
4080 u_octet4 = get_CDR_string(tvb, &seq, offset, stream_is_big_endian, boundary);
4082 proto_tree_add_text(tree,tvb,*offset-u_octet4,u_octet4,"DevInfo_3_dev_type (%u) = %s",
4083 u_octet4, (u_octet4 > 0) ? seq : "");
4086 g_free(seq); /* free buffer */
4091 /* Struct = IDL:Tango/DevCmdHistory:1.0 */
4093 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_) {
4095 gboolean stream_is_big_endian; /* big endianess */
4098 /* Operation specific Variable declarations Begin */
4101 guint32 u_octet4_loop_DevCmdHistory_errors;
4102 guint32 i_DevCmdHistory_errors;
4104 /* Operation specific Variable declarations End */
4106 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
4108 /* Begin struct "Tango_TimeVal" */
4112 decode_Tango_TimeVal_st(tvb, pinfo, tree, offset, header, operation);
4114 /* End struct "Tango_TimeVal" */
4116 u_octet1 = get_CDR_boolean(tvb,offset);
4118 proto_tree_add_text(tree,tvb,*offset-1,1,"DevCmdHistory_cmd_failed = %u",u_octet1);
4121 get_CDR_any(tvb,tree,offset,stream_is_big_endian, boundary, header);
4123 u_octet4_loop_DevCmdHistory_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
4125 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevCmdHistory_errors = %u",u_octet4_loop_DevCmdHistory_errors);
4128 for (i_DevCmdHistory_errors=0; i_DevCmdHistory_errors < u_octet4_loop_DevCmdHistory_errors; i_DevCmdHistory_errors++) {
4130 /* Begin struct "Tango_DevError" */
4134 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
4136 /* End struct "Tango_DevError" */
4142 /* Struct = IDL:Tango/DevAttrHistory:1.0 */
4144 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_) {
4146 gboolean stream_is_big_endian; /* big endianess */
4149 /* Operation specific Variable declarations Begin */
4152 guint32 u_octet4_loop_DevAttrHistory_errors;
4153 guint32 i_DevAttrHistory_errors;
4155 /* Operation specific Variable declarations End */
4157 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
4159 u_octet1 = get_CDR_boolean(tvb,offset);
4161 proto_tree_add_text(tree,tvb,*offset-1,1,"DevAttrHistory_attr_failed = %u",u_octet1);
4164 /* Begin struct "Tango_AttributeValue" */
4168 decode_Tango_AttributeValue_st(tvb, pinfo, tree, offset, header, operation);
4170 /* End struct "Tango_AttributeValue" */
4172 u_octet4_loop_DevAttrHistory_errors = get_CDR_ulong(tvb, offset, stream_is_big_endian, boundary);
4174 proto_tree_add_text(tree,tvb,*offset-4, 4 ,"Seq length of DevAttrHistory_errors = %u",u_octet4_loop_DevAttrHistory_errors);
4177 for (i_DevAttrHistory_errors=0; i_DevAttrHistory_errors < u_octet4_loop_DevAttrHistory_errors; i_DevAttrHistory_errors++) {
4179 /* Begin struct "Tango_DevError" */
4183 decode_Tango_DevError_st(tvb, pinfo, tree, offset, header, operation);
4185 /* End struct "Tango_DevError" */
4191 /* Struct = IDL:Tango/DevAttrHistory_3:1.0 */
4193 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_) {
4195 gboolean stream_is_big_endian; /* big endianess */
4198 /* Operation specific Variable declarations Begin */
4202 /* Operation specific Variable declarations End */
4204 stream_is_big_endian = is_big_endian(header); /* get stream endianess */
4206 u_octet1 = get_CDR_boolean(tvb,offset);
4208 proto_tree_add_text(tree,tvb,*offset-1,1,"DevAttrHistory_3_attr_failed = %u",u_octet1);
4211 /* Begin struct "Tango_AttributeValue_3" */
4215 decode_Tango_AttributeValue_3_st(tvb, pinfo, tree, offset, header, operation);
4217 /* End struct "Tango_AttributeValue_3" */
4222 * Called once we accept the packet as being for us; it sets the
4223 * Protocol and Info columns and creates the top-level protocol
4226 static proto_tree *start_dissecting(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, int *offset) {
4228 proto_item *ti = NULL;
4229 proto_tree *tree = NULL; /* init later, inside if(tree) */
4231 if (check_col(pinfo->cinfo, COL_PROTOCOL))
4232 col_set_str(pinfo->cinfo, COL_PROTOCOL, "TANGO");
4235 * Do not clear COL_INFO, as nothing is being written there by
4236 * this dissector yet. So leave it as is from the GIOP dissector.
4237 * TODO: add something useful to COL_INFO
4238 * if (check_col(pinfo->cinfo, COL_INFO))
4239 * col_clear(pinfo->cinfo, COL_INFO);
4243 ti = proto_tree_add_item(ptree, proto_tango, tvb, *offset, -1, FALSE);
4244 tree = proto_item_add_subtree(ti, ett_tango);
4249 static gboolean dissect_tango(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ptree, int *offset, MessageHeader *header, gchar *operation, gchar *idlname) {
4251 gboolean be; /* big endianess */
4252 proto_tree *tree _U_;
4254 be = is_big_endian(header); /* get endianess - TODO use passed in stream_is_big_endian instead ? */
4256 /* If we have a USER Exception, then decode it and return */
4258 if ((header->message_type == Reply) && (header->rep_status == USER_EXCEPTION)) {
4260 return decode_user_exception(tvb, pinfo, ptree, offset, header, operation);
4264 switch(header->message_type) {
4269 if (strcmp(operation, Tango_Device_command_inout_op) == 0
4270 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4271 tree = start_dissecting(tvb, pinfo, ptree, offset);
4272 decode_Tango_Device_command_inout(tvb, pinfo, tree, offset, header, operation);
4276 if (strcmp(operation, Tango_Device_get_attribute_config_op) == 0
4277 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4278 tree = start_dissecting(tvb, pinfo, ptree, offset);
4279 decode_Tango_Device_get_attribute_config(tvb, pinfo, tree, offset, header, operation);
4283 if (strcmp(operation, Tango_Device_set_attribute_config_op) == 0
4284 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4285 tree = start_dissecting(tvb, pinfo, ptree, offset);
4286 decode_Tango_Device_set_attribute_config(tvb, pinfo, tree, offset, header, operation);
4290 if (strcmp(operation, Tango_Device_read_attributes_op) == 0
4291 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4292 tree = start_dissecting(tvb, pinfo, ptree, offset);
4293 decode_Tango_Device_read_attributes(tvb, pinfo, tree, offset, header, operation);
4297 if (strcmp(operation, Tango_Device_write_attributes_op) == 0
4298 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4299 tree = start_dissecting(tvb, pinfo, ptree, offset);
4300 decode_Tango_Device_write_attributes(tvb, pinfo, tree, offset, header, operation);
4304 if (strcmp(operation, Tango_Device_ping_op) == 0
4305 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4306 tree = start_dissecting(tvb, pinfo, ptree, offset);
4307 decode_Tango_Device_ping(tvb, pinfo, tree, offset, header, operation);
4311 if (strcmp(operation, Tango_Device_black_box_op) == 0
4312 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4313 tree = start_dissecting(tvb, pinfo, ptree, offset);
4314 decode_Tango_Device_black_box(tvb, pinfo, tree, offset, header, operation);
4318 if (strcmp(operation, Tango_Device_info_op) == 0
4319 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4320 tree = start_dissecting(tvb, pinfo, ptree, offset);
4321 decode_Tango_Device_info(tvb, pinfo, tree, offset, header, operation);
4325 if (strcmp(operation, Tango_Device_command_list_query_op) == 0
4326 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4327 tree = start_dissecting(tvb, pinfo, ptree, offset);
4328 decode_Tango_Device_command_list_query(tvb, pinfo, tree, offset, header, operation);
4332 if (strcmp(operation, Tango_Device_command_query_op) == 0
4333 && (!idlname || strcmp(idlname, "Tango/Device") == 0)) {
4334 tree = start_dissecting(tvb, pinfo, ptree, offset);
4335 decode_Tango_Device_command_query(tvb, pinfo, tree, offset, header, operation);
4339 if (strcmp(operation, Tango_Device_2_command_inout_2_op) == 0
4340 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4341 tree = start_dissecting(tvb, pinfo, ptree, offset);
4342 decode_Tango_Device_2_command_inout_2(tvb, pinfo, tree, offset, header, operation);
4346 if (strcmp(operation, Tango_Device_2_read_attributes_2_op) == 0
4347 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4348 tree = start_dissecting(tvb, pinfo, ptree, offset);
4349 decode_Tango_Device_2_read_attributes_2(tvb, pinfo, tree, offset, header, operation);
4353 if (strcmp(operation, Tango_Device_2_get_attribute_config_2_op) == 0
4354 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4355 tree = start_dissecting(tvb, pinfo, ptree, offset);
4356 decode_Tango_Device_2_get_attribute_config_2(tvb, pinfo, tree, offset, header, operation);
4360 if (strcmp(operation, Tango_Device_2_command_list_query_2_op) == 0
4361 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4362 tree = start_dissecting(tvb, pinfo, ptree, offset);
4363 decode_Tango_Device_2_command_list_query_2(tvb, pinfo, tree, offset, header, operation);
4367 if (strcmp(operation, Tango_Device_2_command_query_2_op) == 0
4368 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4369 tree = start_dissecting(tvb, pinfo, ptree, offset);
4370 decode_Tango_Device_2_command_query_2(tvb, pinfo, tree, offset, header, operation);
4374 if (strcmp(operation, Tango_Device_2_command_inout_history_2_op) == 0
4375 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4376 tree = start_dissecting(tvb, pinfo, ptree, offset);
4377 decode_Tango_Device_2_command_inout_history_2(tvb, pinfo, tree, offset, header, operation);
4381 if (strcmp(operation, Tango_Device_2_read_attribute_history_2_op) == 0
4382 && (!idlname || strcmp(idlname, "Tango/Device_2") == 0)) {
4383 tree = start_dissecting(tvb, pinfo, ptree, offset);
4384 decode_Tango_Device_2_read_attribute_history_2(tvb, pinfo, tree, offset, header, operation);
4388 if (strcmp(operation, Tango_Device_3_read_attributes_3_op) == 0
4389 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4390 tree = start_dissecting(tvb, pinfo, ptree, offset);
4391 decode_Tango_Device_3_read_attributes_3(tvb, pinfo, tree, offset, header, operation);
4395 if (strcmp(operation, Tango_Device_3_write_attributes_3_op) == 0
4396 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4397 tree = start_dissecting(tvb, pinfo, ptree, offset);
4398 decode_Tango_Device_3_write_attributes_3(tvb, pinfo, tree, offset, header, operation);
4402 if (strcmp(operation, Tango_Device_3_read_attribute_history_3_op) == 0
4403 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4404 tree = start_dissecting(tvb, pinfo, ptree, offset);
4405 decode_Tango_Device_3_read_attribute_history_3(tvb, pinfo, tree, offset, header, operation);
4409 if (strcmp(operation, Tango_Device_3_info_3_op) == 0
4410 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4411 tree = start_dissecting(tvb, pinfo, ptree, offset);
4412 decode_Tango_Device_3_info_3(tvb, pinfo, tree, offset, header, operation);
4416 if (strcmp(operation, Tango_Device_3_get_attribute_config_3_op) == 0
4417 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4418 tree = start_dissecting(tvb, pinfo, ptree, offset);
4419 decode_Tango_Device_3_get_attribute_config_3(tvb, pinfo, tree, offset, header, operation);
4423 if (strcmp(operation, Tango_Device_3_set_attribute_config_3_op) == 0
4424 && (!idlname || strcmp(idlname, "Tango/Device_3") == 0)) {
4425 tree = start_dissecting(tvb, pinfo, ptree, offset);
4426 decode_Tango_Device_3_set_attribute_config_3(tvb, pinfo, tree, offset, header, operation);
4430 if (strcmp(operation, get_Tango_Device_name_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4431 tree = start_dissecting(tvb, pinfo, ptree, offset);
4432 decode_get_Tango_Device_name_at(tvb, pinfo, tree, offset, header, operation);
4436 if (strcmp(operation, get_Tango_Device_description_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4437 tree = start_dissecting(tvb, pinfo, ptree, offset);
4438 decode_get_Tango_Device_description_at(tvb, pinfo, tree, offset, header, operation);
4442 if (strcmp(operation, get_Tango_Device_state_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4443 tree = start_dissecting(tvb, pinfo, ptree, offset);
4444 decode_get_Tango_Device_state_at(tvb, pinfo, tree, offset, header, operation);
4448 if (strcmp(operation, get_Tango_Device_status_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4449 tree = start_dissecting(tvb, pinfo, ptree, offset);
4450 decode_get_Tango_Device_status_at(tvb, pinfo, tree, offset, header, operation);
4454 if (strcmp(operation, get_Tango_Device_adm_name_at) == 0 && (header->message_type == Reply) && (header->rep_status == NO_EXCEPTION) ) {
4455 tree = start_dissecting(tvb, pinfo, ptree, offset);
4456 decode_get_Tango_Device_adm_name_at(tvb, pinfo, tree, offset, header, operation);
4466 case CloseConnection:
4469 return FALSE; /* not handled yet */
4472 return FALSE; /* not handled yet */
4479 } /* End of main dissector */
4483 /* Register the protocol with Wireshark */
4485 void proto_register_giop_tango(void) {
4487 /* setup list of header fields */
4490 static hf_register_info hf[] = {
4497 /* setup protocol subtree array */
4499 static gint *ett[] = {
4503 /* Register the protocol name and description */
4505 proto_tango = proto_register_protocol("Tango Dissector Using GIOP API" , "TANGO", "giop-tango" );
4508 proto_register_field_array(proto_tango, hf, array_length(hf));
4510 proto_register_subtree_array(ett,array_length(ett));
4515 /* register me as handler for these interfaces */
4517 void proto_register_handoff_giop_tango(void) {
4521 /* Register for Explicit Dissection */
4523 register_giop_user_module(dissect_tango, "TANGO", "Tango/Device", proto_tango ); /* explicit dissector */
4526 /* Register for Explicit Dissection */
4528 register_giop_user_module(dissect_tango, "TANGO", "Tango/Device_2", proto_tango ); /* explicit dissector */
4531 /* Register for Explicit Dissection */
4533 register_giop_user_module(dissect_tango, "TANGO", "Tango/Device_3", proto_tango ); /* explicit dissector */
4536 /* Register for Heuristic Dissection */
4538 register_giop_user(dissect_tango, "TANGO" ,proto_tango); /* heuristic dissector */
4544 #ifndef ENABLE_STATIC
4546 G_MODULE_EXPORT void
4547 plugin_register(void)
4549 if (proto_tango == -1) {
4550 proto_register_giop_tango();
4554 G_MODULE_EXPORT void
4555 plugin_reg_handoff(void){
4556 proto_register_handoff_giop_tango();