From ef76d7adbc03484c5ecac5b4017c563b3831cefb Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 20 Jan 2016 18:06:10 +0100 Subject: [PATCH] Import OCTSDR-2G-WS-02.02.04-B403-ALPHA --- .../1.2.6/plugins/oct_rfc4175_yuv_ws.dll | Bin 0 -> 10240 bytes .../wireshark/1.2.6/plugins/octpkt_ws.dll | Bin 0 -> 9728 bytes .../1.6.5/plugins/oct_rfc4175_yuv_ws.dll | Bin 0 -> 10240 bytes .../wireshark/1.6.5/plugins/octpkt_ws.dll | Bin 0 -> 9728 bytes .../wireshark/plugins/octasic/MakeRules.nmake | 4 + .../plugins/octasic/include/oct_ws_macro.h | 13 +- .../plugins/octasic/include/oct_ws_priv.h | 13 +- .../plugins/octasic/include/oct_ws_version.h | 13 +- .../plugins/octasic/octpkt_ws/Makefile.am | 3 +- .../octpkt_ws/Release_1.6.5/octpkt.obj | Bin 24873 -> 0 bytes .../octpkt_ws/Release_1.6.5/octpkt_ws.dll | Bin 9216 -> 0 bytes .../octpkt_ws/Release_1.6.5/octpkt_ws.exp | Bin 904 -> 0 bytes .../octpkt_ws/Release_1.6.5/octpkt_ws.lib | Bin 2126 -> 0 bytes .../octpkt_ws/Release_1.6.5/octpkt_ws.pdb | Bin 240640 -> 0 bytes .../octpkt_ws/Release_1.6.5/octpkt_ws.rc | 0 .../octpkt_ws/Release_1.6.5/octpkt_ws.res | Bin 32 -> 0 bytes .../octpkt_ws/Release_1.6.5/plugin.obj | Bin 13132 -> 0 bytes .../octasic/octpkt_ws/Release_1.6.5/vc90.pdb | Bin 86016 -> 0 bytes .../octasic/octpkt_ws/include/moduleinfo.h | 28 +- .../plugins/octasic/octpkt_ws/source/octpkt.c | 50 +- .../plugins/octasic/octpkt_ws/source/plugin.c | 28 +- .../plugins/octasic/octsdr/makefile.nmake | 36 +- .../octasic/octsdr/octvc1/MakeSmokeApp.nmake | 4 + .../plugins/octasic/octsdr/octvc1/Makefile.am | 3 +- .../octasic/octsdr/octvc1/Makefile.common | 5 +- .../octvc1/Release_1.6.5/octdev_common.obj | Bin 16109 -> 0 bytes .../octvc1/Release_1.6.5/octpkt_common.obj | Bin 18118 -> 0 bytes .../octvc1_cid_eid_value_string.obj | Bin 36343 -> 0 bytes .../octvc1/Release_1.6.5/octvc1_common.obj | Bin 92538 -> 0 bytes .../Release_1.6.5/octvc1_module_cpp.obj | Bin 168913 -> 0 bytes .../Release_1.6.5/octvc1_module_ctrl.obj | Bin 24138 -> 0 bytes .../Release_1.6.5/octvc1_module_gsm.obj | Bin 296961 -> 0 bytes .../Release_1.6.5/octvc1_module_main.obj | Bin 445999 -> 0 bytes .../Release_1.6.5/octvc1_module_net.obj | Bin 628702 -> 0 bytes .../octvc1/Release_1.6.5/octvc1_msg_ctrl.obj | Bin 113950 -> 0 bytes .../octvc1/Release_1.6.5/octvc1_msg_event.obj | Bin 29011 -> 0 bytes .../octvc1/Release_1.6.5/octvc1_plugin.obj | Bin 29936 -> 0 bytes .../octsdr/octvc1/Release_1.6.5/octvc1_ws.dll | Bin 634368 -> 0 bytes .../octsdr/octvc1/Release_1.6.5/octvc1_ws.exp | Bin 908 -> 0 bytes .../octsdr/octvc1/Release_1.6.5/octvc1_ws.lib | Bin 2126 -> 0 bytes .../octsdr/octvc1/Release_1.6.5/octvc1_ws.pdb | Bin 994304 -> 0 bytes .../octsdr/octvc1/Release_1.6.5/octvc1_ws.rc | 0 .../octsdr/octvc1/Release_1.6.5/octvc1_ws.res | Bin 32 -> 0 bytes .../octvc1/Release_1.6.5/octvocnet_common.obj | Bin 19300 -> 0 bytes .../octsdr/octvc1/Release_1.6.5/plugin.obj | Bin 15764 -> 0 bytes .../octsdr/octvc1/Release_1.6.5/vc90.pdb | Bin 86016 -> 0 bytes .../octsdr/octvc1/Release_1.6.5/ws_util.obj | Bin 18870 -> 0 bytes .../octasic/octsdr/octvc1/include/module.h | 13 +- .../octsdr/octvc1/include/octdev_common.h | 38 +- .../octsdr/octvc1/include/octpkt_common.h | 36 +- .../octsdr/octvc1/include/octvc1_common.h | 93 +- .../octsdr/octvc1/include/octvocnet_common.h | 33 +- .../octsdr/octvc1/include/plugin_info.h | 13 +- .../octasic/octsdr/octvc1/include/ws_util.h | 13 +- .../octasic/octsdr/octvc1/makefile.nmake | 6 +- .../octasic/octsdr/octvc1/oasis2ws.nmake | 141 - .../octasic/octsdr/octvc1/oasis_pkgCommon.xml | 7 - .../plugins/octasic/octsdr/octvc1/octvc1.pcap | Bin 75582 -> 43234 bytes .../octsdr/octvc1/source/octdev_common.c | 20 +- .../octsdr/octvc1/source/octpkt_common.c | 31 +- .../source/octvc1_cid_eid_value_string.c | 406 +- .../octsdr/octvc1/source/octvc1_common.c | 1519 +- .../octsdr/octvc1/source/octvc1_module_cpp.c | 4396 ---- .../octsdr/octvc1/source/octvc1_module_ctrl.c | 32 +- .../octsdr/octvc1/source/octvc1_module_gsm.c | 13388 ++++++------ .../octsdr/octvc1/source/octvc1_module_hw.c | 5114 +++++ .../octsdr/octvc1/source/octvc1_module_irsc.c | 3845 ++++ .../octsdr/octvc1/source/octvc1_module_main.c | 9915 ++------- .../octsdr/octvc1/source/octvc1_module_net.c | 16794 ---------------- .../octsdr/octvc1/source/octvc1_module_test.c | 1802 ++ .../octsdr/octvc1/source/octvc1_msg_ctrl.c | 51 +- .../octsdr/octvc1/source/octvc1_msg_event.c | 52 +- .../octsdr/octvc1/source/octvc1_plugin.c | 320 +- .../octsdr/octvc1/source/octvocnet_common.c | 84 +- .../octasic/octsdr/octvc1/source/plugin.c | 28 +- .../octasic/octsdr/octvc1/source/ws_util.c | 26 - .../octasic/octsdr/octvocnet_ws/Makefile.am | 100 + .../octsdr/octvocnet_ws/Makefile.common | 41 + .../octsdr/octvocnet_ws/Makefile.nmake | 45 + .../octsdr/octvocnet_ws/include/module.h | 40 + .../octsdr/octvocnet_ws/include/moduleinfo.h | 30 + .../octvocnet_ws/include/octvocnet_common.h | 42 + .../octsdr/octvocnet_ws/source/octvocnet.rc | 34 + .../octvocnet_ws/source/octvocnet_common.c | 49 + .../octvocnet_ws/source/packet-vocallonet.c | 1390 ++ .../octsdr/octvocnet_ws/source/plugin.c | 38 + application/tool/wireshark/ws_dev_root.nmake | 1 - makefile.nmake | 46 + readme.txt | 15 +- software/include/octdev_devices.h | 19 +- software/include/octdev_devices_swap.h | 63 + software/include/octdev_macro.h | 18 +- software/include/octdev_opus_rev.h | 18 +- software/include/octdev_rc_base.h | 18 +- software/include/octdev_types.h | 63 +- software/include/octdev_types_swap.h | 38 +- software/include/octpkt/octpkt_hdr.h | 21 +- software/include/octpkt/octpkt_hdr_swap.h | 43 +- software/include/octpkt/octpkt_hdrxl.h | 18 +- software/include/octpkt/octpkt_hdrxl_swap.h | 36 +- .../ctrl/octvc1_ctrl_api.h | 23 +- .../octvc1/ctrl/octvc1_ctrl_api_priv.h | 44 + .../octvc1/ctrl/octvc1_ctrl_api_priv_swap.h | 43 + .../ctrl/octvc1_ctrl_api_swap.h | 20 +- .../include/octvc1/ctrl/octvc1_ctrl_base.h | 50 + .../{vocallo => octvc1}/ctrl/octvc1_ctrl_id.h | 19 +- .../include/octvc1/ctrl/octvc1_ctrl_id_priv.h | 43 + .../ctrl/octvc1_ctrl_version.h | 26 +- software/include/octvc1/gsm/octvc1_gsm_api.h | 1913 ++ .../include/octvc1/gsm/octvc1_gsm_api_priv.h | 46 + .../octvc1/gsm/octvc1_gsm_api_priv_swap.h | 43 + .../include/octvc1/gsm/octvc1_gsm_api_swap.h | 1077 + software/include/octvc1/gsm/octvc1_gsm_base.h | 51 + .../include/octvc1/gsm/octvc1_gsm_default.h | 1981 ++ .../octvc1/gsm/octvc1_gsm_default_priv.h | 40 + software/include/octvc1/gsm/octvc1_gsm_evt.h | 173 + .../include/octvc1/gsm/octvc1_gsm_evt_priv.h | 41 + .../octvc1/gsm/octvc1_gsm_evt_priv_swap.h | 43 + .../include/octvc1/gsm/octvc1_gsm_evt_swap.h | 120 + software/include/octvc1/gsm/octvc1_gsm_id.h | 87 + .../include/octvc1/gsm/octvc1_gsm_id_priv.h | 47 + software/include/octvc1/gsm/octvc1_gsm_rc.h | 107 + .../include/octvc1/gsm/octvc1_gsm_rc_priv.h | 46 + .../gsm/octvc1_gsm_version.h | 24 +- software/include/octvc1/hw/octvc1_hw_api.h | 1284 ++ .../include/octvc1/hw/octvc1_hw_api_priv.h | 159 + .../octvc1/hw/octvc1_hw_api_priv_swap.h | 103 + .../include/octvc1/hw/octvc1_hw_api_swap.h | 765 + software/include/octvc1/hw/octvc1_hw_base.h | 51 + .../include/octvc1/hw/octvc1_hw_default.h | 701 + .../octvc1/hw/octvc1_hw_default_priv.h | 135 + software/include/octvc1/hw/octvc1_hw_evt.h | 78 + .../include/octvc1/hw/octvc1_hw_evt_priv.h | 41 + .../octvc1/hw/octvc1_hw_evt_priv_swap.h | 43 + .../include/octvc1/hw/octvc1_hw_evt_swap.h | 67 + software/include/octvc1/hw/octvc1_hw_id.h | 73 + .../include/octvc1/hw/octvc1_hw_id_priv.h | 50 + software/include/octvc1/hw/octvc1_hw_rc.h | 78 + .../include/octvc1/hw/octvc1_hw_rc_priv.h | 42 + .../include/octvc1/hw/octvc1_hw_version.h | 51 + .../include/octvc1/irsc/octvc1_irsc_api.h | 997 + .../octvc1/irsc/octvc1_irsc_api_priv.h | 49 + .../octvc1/irsc/octvc1_irsc_api_priv_swap.h | 43 + .../octvc1/irsc/octvc1_irsc_api_swap.h | 590 + .../include/octvc1/irsc/octvc1_irsc_base.h | 51 + .../include/octvc1/irsc/octvc1_irsc_default.h | 720 + .../octvc1/irsc/octvc1_irsc_default_priv.h | 40 + .../include/octvc1/irsc/octvc1_irsc_evt.h | 55 + .../octvc1/irsc/octvc1_irsc_evt_priv.h | 41 + .../octvc1/irsc/octvc1_irsc_evt_priv_swap.h | 43 + .../octvc1/irsc/octvc1_irsc_evt_swap.h | 55 + software/include/octvc1/irsc/octvc1_irsc_id.h | 73 + .../include/octvc1/irsc/octvc1_irsc_id_priv.h | 47 + software/include/octvc1/irsc/octvc1_irsc_rc.h | 64 + .../include/octvc1/irsc/octvc1_irsc_rc_priv.h | 42 + .../include/octvc1/irsc/octvc1_irsc_version.h | 51 + .../include/octvc1/main/octvc1_main_api.h | 1497 ++ .../octvc1/main/octvc1_main_api_priv.h | 56 + .../octvc1/main/octvc1_main_api_priv_swap.h | 43 + .../octvc1/main/octvc1_main_api_swap.h | 862 + .../include/octvc1/main/octvc1_main_base.h | 51 + .../include/octvc1/main/octvc1_main_default.h | 1212 ++ .../octvc1/main/octvc1_main_default_priv.h | 40 + .../include/octvc1/main/octvc1_main_evt.h | 115 + .../octvc1/main/octvc1_main_evt_priv.h | 41 + .../octvc1/main/octvc1_main_evt_priv_swap.h | 43 + .../octvc1/main/octvc1_main_evt_swap.h | 96 + software/include/octvc1/main/octvc1_main_id.h | 92 + .../include/octvc1/main/octvc1_main_id_priv.h | 47 + software/include/octvc1/main/octvc1_main_rc.h | 124 + .../include/octvc1/main/octvc1_main_rc_priv.h | 46 + .../main/octvc1_main_version.h | 26 +- software/include/octvc1/octvc1_api.h | 83 + software/include/octvc1/octvc1_api_swap.h | 71 + software/include/octvc1/octvc1_app.h | 53 + .../include/{vocallo => octvc1}/octvc1_base.h | 45 +- .../{vocallo => octvc1}/octvc1_buffer.h | 22 +- software/include/octvc1/octvc1_buffer_swap.h | 57 + .../{vocallo => octvc1}/octvc1_cursor.h | 40 +- .../{vocallo => octvc1}/octvc1_cursor_swap.h | 79 +- .../include/{vocallo => octvc1}/octvc1_eth.h | 18 +- software/include/octvc1/octvc1_eth_swap.h | 54 + .../include/{vocallo => octvc1}/octvc1_fifo.h | 18 +- .../include/{vocallo => octvc1}/octvc1_file.h | 59 +- software/include/octvc1/octvc1_file_swap.h | 78 + software/include/octvc1/octvc1_generic_rc.h | 95 + .../{vocallo => octvc1}/octvc1_handle.h | 51 +- software/include/octvc1/octvc1_handle_swap.h | 66 + software/include/octvc1/octvc1_id2string.h | 316 + .../include/octvc1/octvc1_id2string_priv.h | 106 + .../include/{vocallo => octvc1}/octvc1_ip.h | 18 +- software/include/octvc1/octvc1_ip_swap.h | 48 + .../{vocallo => octvc1}/octvc1_licensing_rc.h | 18 +- .../include/{vocallo => octvc1}/octvc1_list.h | 79 +- .../{vocallo => octvc1}/octvc1_list_swap.h | 72 +- .../include/{vocallo => octvc1}/octvc1_log.h | 53 +- software/include/octvc1/octvc1_log_swap.h | 95 + .../include/{vocallo => octvc1}/octvc1_mac.h | 18 +- .../{vocallo => octvc1}/octvc1_macro.h | 18 +- software/include/octvc1/octvc1_module.h | 64 + software/include/octvc1/octvc1_module_swap.h | 48 + .../include/{vocallo => octvc1}/octvc1_msg.h | 18 +- .../{vocallo => octvc1}/octvc1_msg_swap.h | 31 +- .../include/octvc1/octvc1_priv_swap_hdrs.h | 55 + software/include/octvc1/octvc1_privacy.h | 36 + software/include/octvc1/octvc1_process.h | 174 + software/include/octvc1/octvc1_process_swap.h | 130 + software/include/octvc1/octvc1_radio.h | 202 + software/include/octvc1/octvc1_radio_swap.h | 117 + software/include/octvc1/octvc1_rc2string.h | 386 + software/include/octvc1/octvc1_swap_hdrs.h | 77 + .../include/{vocallo => octvc1}/octvc1_udp.h | 18 +- .../include/{vocallo => octvc1}/octvc1_vlan.h | 18 +- .../{vocallo => octvc1}/octvc1_vlan_swap.h | 34 +- software/include/octvc1/octvocnet_pkt.h | 225 + software/include/octvc1/octvocnet_pkt_swap.h | 102 + .../pkt_api/octvc1_pkt_api.h | 112 +- .../pkt_api/octvc1_pkt_api_default.h | 31 +- .../pkt_api/octvc1_pkt_api_rc.h | 21 +- .../pkt_api/octvc1_pkt_api_version.h | 28 +- .../include/octvc1/test/octvc1_test_api.h | 80 + .../octvc1/test/octvc1_test_api_priv.h | 569 + .../octvc1/test/octvc1_test_api_priv_swap.h | 327 + .../octvc1/test/octvc1_test_api_swap.h | 57 + .../include/octvc1/test/octvc1_test_base.h | 50 + .../include/octvc1/test/octvc1_test_default.h | 39 + .../octvc1/test/octvc1_test_default_priv.h | 524 + .../include/octvc1/test/octvc1_test_evt.h | 41 + .../octvc1/test/octvc1_test_evt_priv.h | 41 + .../octvc1/test/octvc1_test_evt_priv_swap.h | 43 + .../octvc1/test/octvc1_test_evt_swap.h | 45 + software/include/octvc1/test/octvc1_test_id.h | 45 + .../include/octvc1/test/octvc1_test_id_priv.h | 58 + software/include/octvc1/test/octvc1_test_rc.h | 43 + .../include/octvc1/test/octvc1_test_rc_priv.h | 43 + .../include/octvc1/test/octvc1_test_version.h | 51 + software/include/vocallo/cpp/octvc1_cpp_api.h | 930 - .../include/vocallo/cpp/octvc1_cpp_api_swap.h | 551 - .../include/vocallo/cpp/octvc1_cpp_default.h | 541 - software/include/vocallo/cpp/octvc1_cpp_id.h | 43 - software/include/vocallo/cpp/octvc1_cpp_rc.h | 95 - .../include/vocallo/cpp/octvc1_cpp_version.h | 39 - software/include/vocallo/gsm/octvc1_gsm_api.h | 1327 -- .../include/vocallo/gsm/octvc1_gsm_api_swap.h | 604 - .../include/vocallo/gsm/octvc1_gsm_default.h | 5186 ----- software/include/vocallo/gsm/octvc1_gsm_evt.h | 445 - .../include/vocallo/gsm/octvc1_gsm_evt_swap.h | 249 - software/include/vocallo/gsm/octvc1_gsm_id.h | 78 - software/include/vocallo/gsm/octvc1_gsm_rc.h | 120 - .../include/vocallo/main/octvc1_main_api.h | 3264 --- .../vocallo/main/octvc1_main_api_swap.h | 1628 -- .../vocallo/main/octvc1_main_default.h | 2144 -- .../include/vocallo/main/octvc1_main_evt.h | 164 - .../vocallo/main/octvc1_main_evt_swap.h | 119 - .../include/vocallo/main/octvc1_main_id.h | 107 - .../include/vocallo/main/octvc1_main_rc.h | 178 - software/include/vocallo/net/octvc1_net_api.h | 3233 --- .../include/vocallo/net/octvc1_net_api_swap.h | 1628 -- .../include/vocallo/net/octvc1_net_default.h | 2774 --- software/include/vocallo/net/octvc1_net_evt.h | 460 - .../include/vocallo/net/octvc1_net_evt_swap.h | 319 - software/include/vocallo/net/octvc1_net_id.h | 90 - software/include/vocallo/net/octvc1_net_rc.h | 354 - .../include/vocallo/net/octvc1_net_version.h | 39 - software/include/vocallo/octvc1_app.h | 33 - software/include/vocallo/octvc1_file_swap.h | 48 - software/include/vocallo/octvc1_generic_rc.h | 79 - software/include/vocallo/octvc1_handle_swap.h | 45 - software/include/vocallo/octvc1_id2string.h | 276 - .../include/vocallo/octvc1_id2string_priv.h | 183 - software/include/vocallo/octvc1_log_swap.h | 47 - software/include/vocallo/octvc1_privacy.h | 24 - software/include/vocallo/octvc1_rc2string.h | 336 - software/include/vocallo/octvc1_swap_hdrs.h | 51 - software/include/vocallo/octvocnet_pkt.h | 464 - software/include/vocallo/octvocnet_pkt_swap.h | 144 - 276 files changed, 46912 insertions(+), 65062 deletions(-) create mode 100644 application/tool/wireshark/1.2.6/plugins/oct_rfc4175_yuv_ws.dll create mode 100644 application/tool/wireshark/1.2.6/plugins/octpkt_ws.dll create mode 100644 application/tool/wireshark/1.6.5/plugins/oct_rfc4175_yuv_ws.dll create mode 100644 application/tool/wireshark/1.6.5/plugins/octpkt_ws.dll delete mode 100644 application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.dll delete mode 100644 application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.exp delete mode 100644 application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.lib delete mode 100644 application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.pdb delete mode 100644 application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.rc delete mode 100644 application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.res delete mode 100644 application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/plugin.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/vc90.pdb delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octdev_common.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octpkt_common.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_cid_eid_value_string.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_common.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_cpp.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_ctrl.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_gsm.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_main.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_net.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_msg_ctrl.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_msg_event.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_plugin.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.dll delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.exp delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.lib delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.pdb delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.rc delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.res delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvocnet_common.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/plugin.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/vc90.pdb delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/ws_util.obj delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis2ws.nmake delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis_pkgCommon.xml delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_cpp.c create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_hw.c create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_irsc.c delete mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_net.c create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_test.c create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.am create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.common create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.nmake create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/module.h create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/moduleinfo.h create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/octvocnet_common.h create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/octvocnet.rc create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/octvocnet_common.c create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/packet-vocallonet.c create mode 100644 application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/plugin.c delete mode 100644 application/tool/wireshark/ws_dev_root.nmake create mode 100644 makefile.nmake create mode 100644 software/include/octdev_devices_swap.h rename software/include/{vocallo => octvc1}/ctrl/octvc1_ctrl_api.h (65%) create mode 100644 software/include/octvc1/ctrl/octvc1_ctrl_api_priv.h create mode 100644 software/include/octvc1/ctrl/octvc1_ctrl_api_priv_swap.h rename software/include/{vocallo => octvc1}/ctrl/octvc1_ctrl_api_swap.h (63%) create mode 100644 software/include/octvc1/ctrl/octvc1_ctrl_base.h rename software/include/{vocallo => octvc1}/ctrl/octvc1_ctrl_id.h (53%) create mode 100644 software/include/octvc1/ctrl/octvc1_ctrl_id_priv.h rename software/include/{vocallo => octvc1}/ctrl/octvc1_ctrl_version.h (52%) create mode 100644 software/include/octvc1/gsm/octvc1_gsm_api.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_api_priv.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_api_priv_swap.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_api_swap.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_base.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_default.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_default_priv.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_evt.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_evt_priv.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_evt_priv_swap.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_evt_swap.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_id.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_id_priv.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_rc.h create mode 100644 software/include/octvc1/gsm/octvc1_gsm_rc_priv.h rename software/include/{vocallo => octvc1}/gsm/octvc1_gsm_version.h (54%) create mode 100644 software/include/octvc1/hw/octvc1_hw_api.h create mode 100644 software/include/octvc1/hw/octvc1_hw_api_priv.h create mode 100644 software/include/octvc1/hw/octvc1_hw_api_priv_swap.h create mode 100644 software/include/octvc1/hw/octvc1_hw_api_swap.h create mode 100644 software/include/octvc1/hw/octvc1_hw_base.h create mode 100644 software/include/octvc1/hw/octvc1_hw_default.h create mode 100644 software/include/octvc1/hw/octvc1_hw_default_priv.h create mode 100644 software/include/octvc1/hw/octvc1_hw_evt.h create mode 100644 software/include/octvc1/hw/octvc1_hw_evt_priv.h create mode 100644 software/include/octvc1/hw/octvc1_hw_evt_priv_swap.h create mode 100644 software/include/octvc1/hw/octvc1_hw_evt_swap.h create mode 100644 software/include/octvc1/hw/octvc1_hw_id.h create mode 100644 software/include/octvc1/hw/octvc1_hw_id_priv.h create mode 100644 software/include/octvc1/hw/octvc1_hw_rc.h create mode 100644 software/include/octvc1/hw/octvc1_hw_rc_priv.h create mode 100644 software/include/octvc1/hw/octvc1_hw_version.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_api.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_api_priv.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_api_priv_swap.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_api_swap.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_base.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_default.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_default_priv.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_evt.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_evt_priv.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_evt_priv_swap.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_evt_swap.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_id.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_id_priv.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_rc.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_rc_priv.h create mode 100644 software/include/octvc1/irsc/octvc1_irsc_version.h create mode 100644 software/include/octvc1/main/octvc1_main_api.h create mode 100644 software/include/octvc1/main/octvc1_main_api_priv.h create mode 100644 software/include/octvc1/main/octvc1_main_api_priv_swap.h create mode 100644 software/include/octvc1/main/octvc1_main_api_swap.h create mode 100644 software/include/octvc1/main/octvc1_main_base.h create mode 100644 software/include/octvc1/main/octvc1_main_default.h create mode 100644 software/include/octvc1/main/octvc1_main_default_priv.h create mode 100644 software/include/octvc1/main/octvc1_main_evt.h create mode 100644 software/include/octvc1/main/octvc1_main_evt_priv.h create mode 100644 software/include/octvc1/main/octvc1_main_evt_priv_swap.h create mode 100644 software/include/octvc1/main/octvc1_main_evt_swap.h create mode 100644 software/include/octvc1/main/octvc1_main_id.h create mode 100644 software/include/octvc1/main/octvc1_main_id_priv.h create mode 100644 software/include/octvc1/main/octvc1_main_rc.h create mode 100644 software/include/octvc1/main/octvc1_main_rc_priv.h rename software/include/{vocallo => octvc1}/main/octvc1_main_version.h (52%) create mode 100644 software/include/octvc1/octvc1_api.h create mode 100644 software/include/octvc1/octvc1_api_swap.h create mode 100644 software/include/octvc1/octvc1_app.h rename software/include/{vocallo => octvc1}/octvc1_base.h (52%) rename software/include/{vocallo => octvc1}/octvc1_buffer.h (66%) create mode 100644 software/include/octvc1/octvc1_buffer_swap.h rename software/include/{vocallo => octvc1}/octvc1_cursor.h (84%) rename software/include/{vocallo => octvc1}/octvc1_cursor_swap.h (58%) rename software/include/{vocallo => octvc1}/octvc1_eth.h (64%) create mode 100644 software/include/octvc1/octvc1_eth_swap.h rename software/include/{vocallo => octvc1}/octvc1_fifo.h (55%) rename software/include/{vocallo => octvc1}/octvc1_file.h (61%) create mode 100644 software/include/octvc1/octvc1_file_swap.h create mode 100644 software/include/octvc1/octvc1_generic_rc.h rename software/include/{vocallo => octvc1}/octvc1_handle.h (76%) create mode 100644 software/include/octvc1/octvc1_handle_swap.h create mode 100644 software/include/octvc1/octvc1_id2string.h create mode 100644 software/include/octvc1/octvc1_id2string_priv.h rename software/include/{vocallo => octvc1}/octvc1_ip.h (68%) create mode 100644 software/include/octvc1/octvc1_ip_swap.h rename software/include/{vocallo => octvc1}/octvc1_licensing_rc.h (54%) rename software/include/{vocallo => octvc1}/octvc1_list.h (57%) rename software/include/{vocallo => octvc1}/octvc1_list_swap.h (53%) rename software/include/{vocallo => octvc1}/octvc1_log.h (71%) create mode 100644 software/include/octvc1/octvc1_log_swap.h rename software/include/{vocallo => octvc1}/octvc1_mac.h (59%) rename software/include/{vocallo => octvc1}/octvc1_macro.h (75%) create mode 100644 software/include/octvc1/octvc1_module.h create mode 100644 software/include/octvc1/octvc1_module_swap.h rename software/include/{vocallo => octvc1}/octvc1_msg.h (88%) rename software/include/{vocallo => octvc1}/octvc1_msg_swap.h (64%) create mode 100644 software/include/octvc1/octvc1_priv_swap_hdrs.h create mode 100644 software/include/octvc1/octvc1_privacy.h create mode 100644 software/include/octvc1/octvc1_process.h create mode 100644 software/include/octvc1/octvc1_process_swap.h create mode 100644 software/include/octvc1/octvc1_radio.h create mode 100644 software/include/octvc1/octvc1_radio_swap.h create mode 100644 software/include/octvc1/octvc1_rc2string.h create mode 100644 software/include/octvc1/octvc1_swap_hdrs.h rename software/include/{vocallo => octvc1}/octvc1_udp.h (62%) rename software/include/{vocallo => octvc1}/octvc1_vlan.h (74%) rename software/include/{vocallo => octvc1}/octvc1_vlan_swap.h (56%) create mode 100644 software/include/octvc1/octvocnet_pkt.h create mode 100644 software/include/octvc1/octvocnet_pkt_swap.h rename software/include/{vocallo => octvc1}/pkt_api/octvc1_pkt_api.h (88%) rename software/include/{vocallo => octvc1}/pkt_api/octvc1_pkt_api_default.h (90%) rename software/include/{vocallo => octvc1}/pkt_api/octvc1_pkt_api_rc.h (71%) rename software/include/{vocallo => octvc1}/pkt_api/octvc1_pkt_api_version.h (59%) create mode 100644 software/include/octvc1/test/octvc1_test_api.h create mode 100644 software/include/octvc1/test/octvc1_test_api_priv.h create mode 100644 software/include/octvc1/test/octvc1_test_api_priv_swap.h create mode 100644 software/include/octvc1/test/octvc1_test_api_swap.h create mode 100644 software/include/octvc1/test/octvc1_test_base.h create mode 100644 software/include/octvc1/test/octvc1_test_default.h create mode 100644 software/include/octvc1/test/octvc1_test_default_priv.h create mode 100644 software/include/octvc1/test/octvc1_test_evt.h create mode 100644 software/include/octvc1/test/octvc1_test_evt_priv.h create mode 100644 software/include/octvc1/test/octvc1_test_evt_priv_swap.h create mode 100644 software/include/octvc1/test/octvc1_test_evt_swap.h create mode 100644 software/include/octvc1/test/octvc1_test_id.h create mode 100644 software/include/octvc1/test/octvc1_test_id_priv.h create mode 100644 software/include/octvc1/test/octvc1_test_rc.h create mode 100644 software/include/octvc1/test/octvc1_test_rc_priv.h create mode 100644 software/include/octvc1/test/octvc1_test_version.h delete mode 100644 software/include/vocallo/cpp/octvc1_cpp_api.h delete mode 100644 software/include/vocallo/cpp/octvc1_cpp_api_swap.h delete mode 100644 software/include/vocallo/cpp/octvc1_cpp_default.h delete mode 100644 software/include/vocallo/cpp/octvc1_cpp_id.h delete mode 100644 software/include/vocallo/cpp/octvc1_cpp_rc.h delete mode 100644 software/include/vocallo/cpp/octvc1_cpp_version.h delete mode 100644 software/include/vocallo/gsm/octvc1_gsm_api.h delete mode 100644 software/include/vocallo/gsm/octvc1_gsm_api_swap.h delete mode 100644 software/include/vocallo/gsm/octvc1_gsm_default.h delete mode 100644 software/include/vocallo/gsm/octvc1_gsm_evt.h delete mode 100644 software/include/vocallo/gsm/octvc1_gsm_evt_swap.h delete mode 100644 software/include/vocallo/gsm/octvc1_gsm_id.h delete mode 100644 software/include/vocallo/gsm/octvc1_gsm_rc.h delete mode 100644 software/include/vocallo/main/octvc1_main_api.h delete mode 100644 software/include/vocallo/main/octvc1_main_api_swap.h delete mode 100644 software/include/vocallo/main/octvc1_main_default.h delete mode 100644 software/include/vocallo/main/octvc1_main_evt.h delete mode 100644 software/include/vocallo/main/octvc1_main_evt_swap.h delete mode 100644 software/include/vocallo/main/octvc1_main_id.h delete mode 100644 software/include/vocallo/main/octvc1_main_rc.h delete mode 100644 software/include/vocallo/net/octvc1_net_api.h delete mode 100644 software/include/vocallo/net/octvc1_net_api_swap.h delete mode 100644 software/include/vocallo/net/octvc1_net_default.h delete mode 100644 software/include/vocallo/net/octvc1_net_evt.h delete mode 100644 software/include/vocallo/net/octvc1_net_evt_swap.h delete mode 100644 software/include/vocallo/net/octvc1_net_id.h delete mode 100644 software/include/vocallo/net/octvc1_net_rc.h delete mode 100644 software/include/vocallo/net/octvc1_net_version.h delete mode 100644 software/include/vocallo/octvc1_app.h delete mode 100644 software/include/vocallo/octvc1_file_swap.h delete mode 100644 software/include/vocallo/octvc1_generic_rc.h delete mode 100644 software/include/vocallo/octvc1_handle_swap.h delete mode 100644 software/include/vocallo/octvc1_id2string.h delete mode 100644 software/include/vocallo/octvc1_id2string_priv.h delete mode 100644 software/include/vocallo/octvc1_log_swap.h delete mode 100644 software/include/vocallo/octvc1_privacy.h delete mode 100644 software/include/vocallo/octvc1_rc2string.h delete mode 100644 software/include/vocallo/octvc1_swap_hdrs.h delete mode 100644 software/include/vocallo/octvocnet_pkt.h delete mode 100644 software/include/vocallo/octvocnet_pkt_swap.h diff --git a/application/tool/wireshark/1.2.6/plugins/oct_rfc4175_yuv_ws.dll b/application/tool/wireshark/1.2.6/plugins/oct_rfc4175_yuv_ws.dll new file mode 100644 index 0000000000000000000000000000000000000000..b4973b4518696e6b5807be0297bdf8d1012a14a6 GIT binary patch literal 10240 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 B@#z2n literal 0 HcmV?d00001 diff --git a/application/tool/wireshark/1.2.6/plugins/octpkt_ws.dll b/application/tool/wireshark/1.2.6/plugins/octpkt_ws.dll new file mode 100644 index 0000000000000000000000000000000000000000..8bf9d624ad9b529b15a8574f27d325ca0568df2a GIT binary patch literal 9728 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 aI$(Ovbl5a#df#-ybjGAn4gtu1)AQdNRKU*w literal 0 HcmV?d00001 diff --git a/application/tool/wireshark/1.6.5/plugins/oct_rfc4175_yuv_ws.dll b/application/tool/wireshark/1.6.5/plugins/oct_rfc4175_yuv_ws.dll new file mode 100644 index 0000000000000000000000000000000000000000..1a2290bce2aa5655daadd496160e4b90521fefed GIT binary patch literal 10240 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 B{C5BV literal 0 HcmV?d00001 diff --git a/application/tool/wireshark/1.6.5/plugins/octpkt_ws.dll b/application/tool/wireshark/1.6.5/plugins/octpkt_ws.dll new file mode 100644 index 0000000000000000000000000000000000000000..b52c818da4ce569385f5b7cec8fb8c526054465a GIT binary patch literal 9728 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 literal 0 HcmV?d00001 diff --git a/application/tool/wireshark/plugins/octasic/MakeRules.nmake b/application/tool/wireshark/plugins/octasic/MakeRules.nmake index 561a62e..279d437 100644 --- a/application/tool/wireshark/plugins/octasic/MakeRules.nmake +++ b/application/tool/wireshark/plugins/octasic/MakeRules.nmake @@ -22,7 +22,11 @@ CFLAGS=/DHAVE_CONFIG_H /I$(WIRESHARK_LIBS)/../ $(GLIB_CFLAGS) \ !IF EXIST("$(OCT_INC)/octcodec") /I$(OCT_INC)/octcodec \ !ENDIF +!IF EXIST("$(OCT_INC)/octvc1") + /I$(OCT_INC)/octvc1 \ +!ELSEIF EXIST("$(OCT_INC)/vocallo") /I$(OCT_INC)/vocallo \ +!ENDIF !IF EXIST("$(OCT_INC)/../octmfa_api/include") /I$(OCT_INC)/../octmfa_api/include \ !ENDIF diff --git a/application/tool/wireshark/plugins/octasic/include/oct_ws_macro.h b/application/tool/wireshark/plugins/octasic/include/oct_ws_macro.h index 88f1c77..f5f6aaf 100644 --- a/application/tool/wireshark/plugins/octasic/include/oct_ws_macro.h +++ b/application/tool/wireshark/plugins/octasic/include/oct_ws_macro.h @@ -2,13 +2,13 @@ File: oct_ws_macro.c -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Wireshark macro This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -16,10 +16,11 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) $Octasic_Revision: 4 $ diff --git a/application/tool/wireshark/plugins/octasic/include/oct_ws_priv.h b/application/tool/wireshark/plugins/octasic/include/oct_ws_priv.h index c38b2c3..ea33d90 100644 --- a/application/tool/wireshark/plugins/octasic/include/oct_ws_priv.h +++ b/application/tool/wireshark/plugins/octasic/include/oct_ws_priv.h @@ -2,13 +2,13 @@ File: oct_ws_priv.c -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Wireshark private data This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -16,10 +16,11 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) $Octasic_Revision: 4 $ diff --git a/application/tool/wireshark/plugins/octasic/include/oct_ws_version.h b/application/tool/wireshark/plugins/octasic/include/oct_ws_version.h index 990fa8f..0356513 100644 --- a/application/tool/wireshark/plugins/octasic/include/oct_ws_version.h +++ b/application/tool/wireshark/plugins/octasic/include/oct_ws_version.h @@ -2,13 +2,13 @@ File: oct_ws_version.c -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Octasic plugin version This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -16,10 +16,11 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) $Octasic_Revision: 4 $ diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.am b/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.am index b12ba6e..4726f6a 100644 --- a/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.am +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.am @@ -1,7 +1,8 @@ # Makefile.am OCT_INC = $(OCT_PATH)/software/include -INCLUDES = -I$(top_srcdir) -I$(includedir) -I$(OCT_INC) -I$(OCT_INC)/vocallo -I$(OCT_INC)/octpkt + +INCLUDES = -I$(top_srcdir) -I$(includedir) -I$(OCT_INC) -I$(OCT_INC)/octvc1 -I$(OCT_INC)/vocallo -I$(OCT_INC)/octpkt include Makefile.common diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt.obj b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt.obj deleted file mode 100644 index e9eb7a6a58f19cf324ceb6099bde415880e81260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24873 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 U4V_5`dw7rR>2&*fukM7MKhgxXegFUf diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.pdb b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.pdb deleted file mode 100644 index b3752c38815e9ada38b09e1cc4c468b73a9c8c8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 240640 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⪙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 diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/plugin.obj b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/plugin.obj deleted file mode 100644 index eb393c6cb059f0472ea389783c8b7fcd45986612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13132 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 D@k3@H diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/include/moduleinfo.h b/application/tool/wireshark/plugins/octasic/octpkt_ws/include/moduleinfo.h index 55c9627..f8af1af 100644 --- a/application/tool/wireshark/plugins/octasic/octpkt_ws/include/moduleinfo.h +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/include/moduleinfo.h @@ -1,30 +1,4 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: moduleinfo.h - -$Octasic_Copyright: $ - -Description: Included *after* config.h, in order to re-define these macros - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -$Octasic_Release: $ - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - +/* Included *after* config.h, in order to re-define these macros */ #include "../../include/oct_ws_version.h" #ifdef PACKAGE diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/source/octpkt.c b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/octpkt.c index 95fe166..2c35c72 100644 --- a/application/tool/wireshark/plugins/octasic/octpkt_ws/source/octpkt.c +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/octpkt.c @@ -1,29 +1,27 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: octpkt.c - -$Octasic_Copyright: $ - -Description: - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -$Octasic_Release: $ - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +/* octpkt.c + * Routines for octpkt dissection + * Copyright 2004, Ocatasic inc. + * + * $Id: README.developer 11475 2004-07-23 01:37:35Z guy $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ #ifdef HAVE_CONFIG_H # include "config.h" diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/source/plugin.c b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/plugin.c index 70de27a..9926300 100644 --- a/application/tool/wireshark/plugins/octasic/octpkt_ws/source/plugin.c +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/plugin.c @@ -1,29 +1,5 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: plugin.c - -$Octasic_Copyright: $ - -Description: - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -$Octasic_Release: $ - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +/* Do not modify this file. */ +/* It is created automatically by the Makefile. */ #ifdef HAVE_CONFIG_H # include "config.h" diff --git a/application/tool/wireshark/plugins/octasic/octsdr/makefile.nmake b/application/tool/wireshark/plugins/octasic/octsdr/makefile.nmake index ce9102b..267f9b4 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/makefile.nmake +++ b/application/tool/wireshark/plugins/octasic/octsdr/makefile.nmake @@ -2,23 +2,57 @@ # nmake file for Wireshark plugins DEV_ROOT=../../../../../../.. WS_ROOT=../../../.. - + + +!IFNDEF TGT_WS_VERSION +#Try to find Wireshark version +WS_APP_PLUGIN=$(PROGRAMFILES)/wireshark/plugins/ +!IF EXIST("$(WS_APP_PLUGIN)/1.2.6") +TGT_WS_VERSION=1.2.6 +!ENDIF +!IF EXIST("$(WS_APP_PLUGIN)/1.6.5") +TGT_WS_VERSION=1.6.5 +!ENDIF +!ENDIF + all: setup_m @cd "octvc1" @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake @cd $(MAKEDIR) + @cd "octvocnet_ws" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake + @cd $(MAKEDIR) + + clean: setup_m @cd "octvc1" @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake clean @cd $(MAKEDIR) + @cd "octvocnet_ws" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake clean + @cd $(MAKEDIR) + + install: setup_m @cd "octvc1" @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake install @cd $(MAKEDIR) + @cd "octvocnet_ws" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake install + @cd $(MAKEDIR) + + @if exist ..\..\..\$(TGT_WS_VERSION)\plugins @xcopy "..\..\..\$(TGT_WS_VERSION)\plugins\*.dll" "$(WS_APP_PLUGIN:/=\)$(TGT_WS_VERSION)" /Y /I /Q + +smoke_app: setup_m + @cd "octvc1" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f MakeSmokeApp.nmake + @cd $(MAKEDIR) + + setup_m: @SET WS_ROOT=$(WS_ROOT) @SET DEV_ROOT=$(DEV_ROOT) diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmokeApp.nmake b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmokeApp.nmake index 9d2f899..e46358a 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmokeApp.nmake +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmokeApp.nmake @@ -63,7 +63,11 @@ CFLAGS=/DHAVE_CONFIG_H /I$(WIRESHARK_LIBS)/../ $(GLIB_CFLAGS) \ $(cflags) \ $(LOCAL_CFLAGS) \ /I ../../ \ +!IF EXIST("$(OCT_INC)/octvc1") + /I$(OCT_INC)/octvc1 \ +!ELSEIF EXIST("$(OCT_INC)/vocallo") /I$(OCT_INC)/vocallo \ +!ENDIF /I$(PCAP_DIR)\include -D_U_="" CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.am b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.am index a96d804..43564e2 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.am +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.am @@ -1,6 +1,7 @@ # Makefile.am OCT_INC = $(OCT_PATH)/software/include -INCLUDES = -I$(top_srcdir) -I$(includedir) -I$(OCT_INC) -I$(OCT_INC)/vocallo -I$(OCT_INC)/octpkt + +INCLUDES = -I$(top_srcdir) -I$(includedir) -I$(OCT_INC) -I$(OCT_INC)/octvc1 -I$(OCT_INC)/vocallo -I$(OCT_INC)/octpkt include Makefile.common diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.common b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.common index 464ca4d..bb05d9c 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.common +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.common @@ -7,9 +7,10 @@ DISSECTOR_SRC= \ source/octvc1_common.c \ source/octvc1_module_ctrl.c \ source/octvc1_module_main.c \ + source/octvc1_module_test.c \ + source/octvc1_module_hw.c \ + source/octvc1_module_irsc.c \ source/octvc1_module_gsm.c \ - source/octvc1_module_cpp.c \ - source/octvc1_module_net.c \ source/octvc1_cid_eid_value_string.c PLUGIN_NAME=octvc1_ws diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octdev_common.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octdev_common.obj deleted file mode 100644 index bc92d80bf6be63da01b692843684681913d1cf45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16109 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 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_cid_eid_value_string.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_cid_eid_value_string.obj deleted file mode 100644 index a02b2efc928cf50c17b32087d9afad78461bc4ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36343 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 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_common.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_common.obj deleted file mode 100644 index 811dbd83b8b76745d30298eb543cb2a4865b182c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92538 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

1f#dS%;F8jOyVQ3vsw13VkWT{jAAj1 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 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_cpp.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_cpp.obj deleted file mode 100644 index 6acc255d47e79783649cf2bf2c3da2fd2dcd8593..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168913 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 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_ctrl.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_ctrl.obj deleted file mode 100644 index b6fa422fb531c98432adecd301e091d218e745db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24138 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ž_8Yzq& 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 O)e*uE%+%9i;{O9o!>6GD diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_main.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_main.obj deleted file mode 100644 index 2baefef0f0415c1f5b468d9ae54b89a828d93192..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445999 zcmeF)2YeIt|HtuwOxb$~QjsOIEd`lMY12~afDV>uC{UnMh8;|C0g8wl5uAvipr9zA zsHlL5D2T`p2QE-SQAD94iZcGMcXEMnr1X+TZU1_Y2R`k!m)w26@B7~OE|(;>SZQ0w zl3kL+vP;^!m9sgg)!E3bbA~rca{s17i{iF& z#cj5TR{V$QcZ%8p1$3~DpV_+e<;*tF3@(?$=O*r{Rm#Ib2zn~qN(-8Qso(CE}r{1BHuBy&vG zm|@wi`$TjMZq1`K4H}o0nUy|fbl0XGTL-sp8+>VK$JQZDgT`i#8IqQjH6}AWbI6GF zY}zF!lLwg4p*_FL8Jv+mq-Wa1F(zZ^z|^s0dE(S;R(D|bm@ydx$ERneWsOM9964}oM$Yi`(OCn>49QN-N*^M# zhGvR!LqY~7re&n1W~DhoTDNcA&Y0;KHD+i|Mw(+(YWnEbV+LPi>tyRvg?6!(wpC&c z%1$VD%2Qk^ik=P(nk*uiWoC$Y(nPbD;s*}NXl?Ij zw+$IJ)YdApM|dB*qi;-n+fWCM(l;j2p41~ev8R3rY8B~-x7#BfeZmtRF>$>T5|bUw zb1o5)5FZs2?dTEIDyDy@f#b(e>b99fd!=S(PxPq1tFBi5#u>*}8R>(w1`g-H1C3le ze`pojI@q7b(BtUAw7mNPc^scJbZRTSFRA@zd}?M|zE5HPLj`W^$m~2<>8!sWH)cp` zM#dN)YtgsY(6OmQMxI{1NJomJD-9W!5SbEdcl5C*CdDMgcMWj_JNOsWYCw8WtG;c6 zTE#{3M@BU4;qi{}_((?_|D#2dBD9<%(cU|S$V7GxX&20rkq&lfN0Obs$L@$va75aB zCE6pxlkM(b#V5okB}Yb_^*dr2=}1m+uwbG+KH2#&r`C%#=@rx}Iw`1C)KKqD5TFi# zCm8b=Kfw?huc3dtZcKbcY)YiPp|?ly*zJ=ddu9#nn?8EznDJQy$F*-A9PVy;mQ0Qa zYSqt{l{v(gH71ASg||L$h;8i9!2#~DOg-(mAsl7&ESi4hUnA%Lx&BkvMuPdbzjn*$(a5_U%vZk!TNRSM8PJNJ$Ehw*QUWzt!0OZ;kEW z_fKqpLa&r0M??Z$R8n$ya!Qhg?f>&sa~G`re=@eedU03#*F<02e-61xC`kU<7eazV zf_*H(6bmJ=v=7u{o3#&gHfqq-j~d*=@>dk72B$I*6CageApw>)-_rI+7~4PC*#4n@ zZ2xSwKdwOA@0kIMC9tp)Sm^_=F}DA1WBc#*WBVUu`;!W?{r2P@4(EW@7|2HU=d2?p z!a@)}ugY^fr@XrYOF5Wp)ZvIxhu{6E!#q|bF_3jok7%h3hplu6mg;cAs6*&^u0Amg zeeDwq+#j6Eg9>2fi13A#7+Bi=PHeCG!(WW;|J9G}FYx{l6~mc8Qval6dz{1h{{bBu zS*pXIMjfh^aOI!|`kI4T)X`p${UJ6X+QA7(Vt)%g!Ls}#V5L92fbCTK_b|5m3O}~{ zPL_`@$aeojZQje+_7TRmU*pHNFJjxTF37gWB}F@obK&H~@Ccn4bWe$j;`BBuB{tS! z?~`mH3}sH8kDTMMU}-*ljvSC36AdJ@jV?8J;LLo?H1D!s5&e&>hP9PhqwKx zLxGPK&iy5lI`rz%Kk#L+w2!=J)M2kthwuET!xQ9TU_tZHD={I$p2X>-`()a;{lmhL z+EP6Z81<-D(l~aaugA`3smJhw)`M$-De;lv@e%#G449}(gmKY*9Z}&iu?hMiG9ljT zE@P!MmTGeWwb1c3+^9{2AGLXyh;8{-%QF;V^1aX2F4A}t(R0yNHuGwLwOsKa%B z)FCi^hwHkt&N`h{NKEP#m?~Ji26wYjhv$qsJnu&x9wQI^0+a{NIJju;9(h=cgq5Ac z%GmQIqZVHnwb3IwA2pcEaiMpBjtj=v z*;8Z_~v27w$O^i7OO zwmLot)L6NtQG-OI2FZn@2G(L=r9-fig8@bjGL0H!`%!~Hjt^WnGFUo`w$K|`JAa&H z)L@=bgNF)34Xnk$%C2B(jP$rsgSU+uyyHg=9_6^uH$cY)=Qy!@e}`@z4d7{mrCPji z)MB?$i?0h)Ev)4tVB^MpMlI@1U0qGx%*Djp7uvUYB^$(5MW*sXdj2hVe zsKEl3zp|kFhEW68O->#!<5;VQg^`1`{<5c0kAX%#uJ)rI^QlMw0M)~piPJA?1*{rY zj-Nw~TI3kD81F|d0y2(r-vj2u4zjK)jo_T}eudLY4W<}1*kRP*BR^^oknyy;2F_bP z0(aD~QiIQp8XPcc@N?m)fwg_X!YIN@4SqFha6wtuv7$cudaMY@7{W6L?mI)RRU%-0 zqfw7de$*o%uidI1&OXw! z8rGr_sB1A>jaqzb)MB3>wFt;KD$yRz<$343!FXFqz=~jH|Mlh*+ z{iE~#NgrOlwh#g<+h39G)wrRFvHi{d`R%vX{ua6fE8E}N*#66n?GN{3`|qcI@dX_( zxbB|~@T=C=#t6|y4f+{181RqQz?UoYmM*zi8Yc}hYH)*5gPRIL4Fa|!SUfh~YSdt^ zQG*Bls6pWRLLaWo2dFQcZ*2c+WBXtE=eOTl1Ol}EYmM#y#Mu5%|IzJtoj_W8WhOw! zg5AdUA2PQ8mw$fyt+l^}ZqUlH@TjrnNqfcF26#`gC%wm->_?GMO%B%EU*XE}rWdYS{H^=P?M5x0Flw>Lk6Hxebve&mMA~ER+{qHyWLP_I zc*dy58lxVs7q)s>ONW(i!&1Mo!KlZFMm;|EqaFo*Ken#5>OH8=;j{CNsDXQ7%Hny% z7e*a^GU{-!kkr9i94s76E!N?PQHP4qa^CfbQHNDV9bPIdb+8tQfQ=tsGwQI_ zsKYit>JX6E@SS;xONft2PDnJ~t8S@_u#gBVdHBev!%s#X4i=s|1S}C&>TtxUL+J{x z@k3ekb^H*J^9>^p&UYQVItbT?cUpV#*22{(Yv&u4*nW*8S{wBUE^PG(SURlLqrFj& zXrmr6e$*o%uU#eeigAQTxIV_fQb%FwBd{!;b0ruxSZ37Vxk6Bb0LH*l4OSU7*l5&X zlOHt*$m{rV`b-b!xYGH-9+sjIpku~XqXyp^HP}};YG5r20jj}IMh!|;H11_UUym07 zIp1{Vz%`z<9t2B=2}}D!MYdbViB?7(+7yyHSPO%t;iRQHv@_}uWz?aEA9V=G^?YX@ z+~Y~>iLg=$E90nmqYe(E4ylEv4uMOAl{ySJ>M+5m!z4fI5Rmr{xIgnKz*nQJ)Zj*= z2KN{>xUW#uz*-J0940LF3-gQ`Ja5!s#Xntxz`oRLsRl0_HF(#k!InZ%gTFTi+l?Ch zVASA8KWea$H>aA&h#o^`jmExp&;157+VH)Cc8R3x}0agthbSjz&GMFzOLo$m(G&9M4r{mvv5g zzYEV=Jra$2%r@#V$B%kE!kY9cX#Wvu@17Fvh)PK88=e@+`&2D|1X$o++j-ci#XCkV zHW#8=Sj&Z#(S@~Kd|=e#d!rWn{isDi-j{b~E&~0LV3x)ihm2Yjuk1Relt5pPDSufl ztOdhT2WsVb!Z)lrk0%!xwW#k$E&hW3BEV-M*7lK$jaq~mwP;_6Y7xL#SlUOr7`2Eq zYLVbaEdug7$Jw7f>-uO-YXc2S9jKN4B*m!5D5D-@{HRAj#$9LE!?~|m%g54yjWcqL zdMr2U@q!=q2*|kn?0SSp@{MMEKC!igSm;Tuv z*yBe%0`htHXXhi)9>>R42R0&>`qUqcn($6?=l6siFO)S2SWGO{|5?P>hq*gpT&i|KGyPMVbEf+KF=EUdBdpBIzQ?Ykoz|Hc$(1A;NXAa^I0|- zHP~s?;IqO}gMdZB$}#vWqXxM~4Gw#$LFZzw@20IzwlwKGZTZUBQ{QPD!|!{V`VlRo zzqu5jKlN>U#fGM5W%0G^7QWI}gCs9gaht88ty~qp%-(iC51T!1FyClfu1a}+UdGR3 z(?<^*!RO|F6Jb z|7iSmcDnPK4;s&r&G*4OhNfnxI=_Y2`Axj8vD0ezk#L4gZHVu@vi33(H_# zY=QMK3@<{p^~Go&*Un|WO6^O2w2ZcIHs+TfuU`pV)bmr94KF}`KB0E*NwrjdRFW;m z%%-%H>e~#JpG#2rX^zTI3sioBQTYi$<)qbd%{~9^ZV0Is_y_)zOF>&Yal9LSE2GX z7?rOfsC=cNR%oQsd( zBdDxBhUWZU$ozBVHy5uQ(7{E2Wbb<;7-J*k$;?}f}b zX3Ttoc2a#8qVl^4mER{(`F#qNU#>Je^UJHb&iwKUw==)bqw>1~mEV=9{H{XfcQq=% zFQf9i29@8}QTbhq$}gW=>&)*4RDRz=<#!V*zwe^@$1SM*zK6>1HdKB;K;?G_D!(70 z^7|PoJA4!HS$Rxi{<-oP&Ev(G#(P>u^-92e^LX~xm+R@gOgvc8=uJPQB>qIvrYr`r zuzOM+mBovgQQesT6>X&2evQiFH>fP`L1l3-DvLj$`qKTFi3d09 zd=!7h&3FXg!{1Pu`~$174u4`bJb@bH6{}{uu^XO;Nmv4v$)wT$ZcEasb0&puOE zzW!ev^uyS4zhdglX%A}Zo>WWav}338fTH`h^6Kh&DI^Pe<_?BwV z({#Ny8$oTEbk$(D$CY9s9@ zIsClRn13zpuXf8s?I&5N{UjT;pX8wSlS!!kWHM?$nS$C+Zb0oPH=*{En^F78RD2w# z<5s){x8be$70yH*Q*Otacqewkdr&pFA9XEf4i3ZzFb(J81e}lG;Q~B}3-LTsvIxuL zQ`i9)V<%jKJ#i^skIV2zT#irR3S5e-@C|$sH{ohLj4$I6d<9EWyVtN2zK&gR9XfCW zj=+sL8Q;cf_zo_|cku<>jBnyrJc94z@3GLF@B4?aUcGI-{UddkIhQjY(HXiJb<0?AdbdEI2I4%efS$bj7O30d$s+6 ztMM4_!Q=QXp1|L*SalwkU=>Hc57Jf=6R-^OU5K{xaU_<*Y^;Fuu_7+OO33%d*{UMn zm1e7k`>-bR{b9B`SRF6GrdSVy@j@Jk4e)9V!ZCO;F2F{(5St?3xnpaN+pr~mgRSsK zY=gDgmxHk`hF}W}L%w&z)(!_@2b_wXaTa#P$M7;-jNOp$XRw7M-_Ky{j^Cjj>#{#a zVLgn&%P|&vU~g1knuO;5Svfk_cq4)R!TddOT88r3mZGoyvrf~D?paUkWn#xD8r^d! zoA1}4Lw%{PUAZUKQ+;VLGiDj{`_fjbaX(aF+8@=I4#38EC8{qSgd;E&)t3%ItyCJS zFCC84aRjO_O~)mefjUncg&J#&MV+T*qR!K@QRitnsOt<9Q0HkAQDfrkP-BeiQRitl zqR!K9LY=2gL!GBhM~#VRpvD+8QRiv1P}dpmKwW3J8%N_ksOt=~QP&yfpsq8_#pO5; z*WtsczVs1PUpgP_QpW{&F)qaRxCog@!4;@HuR`-avY^7b_YrUB zjao+S_b6K4N3?S!{l6HHH)6B>-ZykCaZjqF_KgM1sAtT7nKn{wUqS5~ucG#iHK={# zHPpVb9<^`0iP|^bLao%>sD0xd)V}d9YTww5+BdeM_Ko*Z`^I+EzOe(fZ+wK>H$Fz~ z8=s=~jn7c~#+RslV>fEw_!_lue1qCIzD4aD-=X%6A5iSwOCfYde*TUjh7n@)`Y=akKcWi)3*br~Qi*W`v!KK&?S7CG9ge`C< zw#M?bbsMaRp%{u`sBuMmjK@pSft~PP?2NPVGSqmY8?M9dxC0}Q?-jR2VQm5wjdk$~ zybNP88sl*QCZNU@iTEfc;e70aeE+PiAHIhJa5r9whwy4_L}nexcXHYW;}tj*lW-Ug z!{Im{ufeBrBre6#sBy$t+=-c}aYPm#$8i|Uaeq99;w0>Y*P#Qi$4tBdHJ-Q`U&N`n z8gD_q>&P|(_u@?a9dF07j1%rezVpR)7hZ<<;$WPOBXJI1j}PEo_#m#whj0TvihS>Z zZ9X2t1z6&Io9zj#flp!&d$KDZty;RfV0H*Fhn4!(^~;k)=LZpP1XE86H-wqaS^j`i?=*a|8AoF--iwFvAv}sY zuKbDSW0j6Y=NixT;`iqBZ7oA=o#%`B9jiP)Ce!u#m??=#35owN4q9(ggDL!D^691R zTozdET+HIq{ z3hMRjYWOPFK%E=c#9deitFj(-QRl|>QP++dpspP?LY*5oL34(-a?ChahPty{r0JTC zmeKaTi}__pAEoL16wUt^sp-WQ`!&=#>)NAgsN6K6j_zxZ&1oOiwFT03*jl1;(+ZWF z*4P5u;s^{wjdj|i)~W+)tkVgnV`rR;U2q9rjvDK9LydJJP-7iCYOE8D8te2xjdgmW z#yYX6u}%VNtkWAc)=5H*b&^qIoxZ5CPCwLG=Sr-|c3y=V>o`zjok6Iv&JY}pLs4U$ z;i$1rI%=$wfv@9ed>gY+nae?Qj`QmaBUzs)Q;vP^3nTvP|E%>)&EUL^?$db`oG&y{on1V{_hS{|92Ov|GOL2|J{e`|7N55zXwqL z-#k?R_b96Wn~&z))MkD?9)p{poRj&!Fgw3Dzdv8gX#4bBQQ9!);u&w zxhK_8eV}ST%b2;CHd1YuptAEcs>IKrva=M`2R@JL17E;QT!~t(7g2rS%eV$##qGET z_u?B^mgilE%FISoJ8nXAHXfqG4pX0^Wwibepp|SGUlDxz_8i@L%x8c( zztzm04y}ZjsSu_^w;}kF4$qe{?qd@b2`1gJs8=m?Z(>%?VAq|A<(cVz-6GwlmnuA$ zzL&-RIKA}e-j>!YBia0&YiT`#^97GwW>t1A%Kve0!$v5V4fy{O#{4bhL+$z=DwkWa zD!z}(K@M|)Bd1kRJUZbvOhRKDzkfdd{0M2kMQ_tdlBp*KVx%!*$2+Z;c^ysPpX}A zSdAGAjhWSG7uB;mDu*>tIjo7wVJ%b+>!EU3AC>UFiYn1~%vZQ2RVIXTMwMm$zt{pJLIZ$2;8GTN?R(MnF7ABpDtD6}(U zqUZH8k?6v9Aia()^(7|e&Q9rIve;F+Lzc@TyS1D#sqV^H9e&Ra;z+%2+p4 z#==n<>yFA;G%8~~P#L=dwMDV0j3uBl)*F?vL{!F7P#Nos%2btaz>hM3bl1cZ+?417i zCDUROH4&AsNvM2HM&;{9RK9LP z^}asC?ax%GbT9eBF=g!yZ8OVe>EzA4Z+mK8iZ8osT-N zeF8V(BK!cKMrC0sn)7vl`9VB)UVYvqem~5VFD;`we2-T0b@toT&UkxTWJ3Ju!=={6 z%Tx%XHkPgTC2F4iU>uvM7Gu(#FYeJ{PDbJo=g{s{EYHfNYH!Zva@tkx@jNP*FQ9U{ z0+q{^s9e5`%H=DlT&_WF!Rx48u0!SWO;j#7pmO;(Dwpq|a=96m%dMzfZbRjAJ1UnS zqH_5$YAZiQli@mE&TyT{$j}%5h25xk@Rl zjb%~iD(9olRVt#+Rd{cj^IWAWDrYrN=PI>O=PGq^Ki0#;*Z@_DhS&@*Mmsjfe%K5r zV{@E_Em7wxZSYkL!423RmE8{L>;ABW^)Qc3{oEg%?={!n;C?gYe|v-8V0iA+c;EI0 zvP>TH+aJ1+1MLr8QTxMXsQuw`)c(*7wLjQV`$H6Jf9QeQAFe>{4{@mdApy5zFVy~! zgxVjHQTsz*)c(*9wLc6*?GFxAz6PQ8hasr_Aq}-Zj6m%V*P!-?QKvCMO*vCQ+RvCK+TL0&|?cJvZ%#?|-@zJf>a zHPm&hH!v92Vko|a%HP{)&h(uuSC4hfE7R@yz4^UpT1NGniB>XgT*N=)voiIZUMAME zuw8p7$5#6D>bI-EUF)%ts++P`gLx~B`I~7I)p83ed+(vLw-uGW_ffC^>_EN#^C9Z> zpN~;%wG*e|=eQof#7}S+?#HjO63@E_)!%-LE%19x!2PJ}2S1^%vK&NZ?^jg&{)Xnv z=aWV8`m6G|1}mcat4gT;sw%3#s*dWfYNGn9I;j5Y0#tt$glf-* zXwFD1^UswLz2=x;I#y~KZC4NUAtPsg)@soS$@^@oFUQDJN3~oQ^vsCrX3j_x+C;T% zipoecR7NgAWu!SOBW+N}v|v<5LQyLfhRVpLsEl+(Wuy}-Bb`zGOINJL^IwK_FdVyL zBx*btgKE#7XwFD&=KGovEu-zKjy`9k=yfE1zk;lc7H&Xg;U-iTrlGQM3n~k@ zqOvdp)nCj+^%u9J`inbJ{lz_~{$dWQznF{WjOe=4x%vxl8PPJ@t{C*8zi?)x=yezG zQaS&}s%2Q(J*jTy^Q4Dq6V>t&R7M^}W#lnbM&_f&s*6x#)hAJ7)y1f_dKxuWU54xN zIn-EnIVu|~P-E3qsDAz>)L8Wu)L3;5YCQA?YOJ~rXW*Oo5N^aba1(CAckwfP4^QIz zScdKT058BDco}|#(fAoECtsjBd(Burh;_{CJZU(;H=ieI8P%&1`jEXdzM)3X>1ARq z3)^|pGpwdB!x_)lCPG>EpldUAU01J73i|WsQK=o()F%u7VjB7wxEHXf$ek)dMxY>WLa(#iPboy|6#_M%}NTgm+;w z>RMx8)HTKdsCo><5AZ7d6dhQa?Hhz;aR|1=Vb~5wqVh5d%^B1&-Pa6i8P(0l^F1Sj z?w(N3>Sba*3)@lD-xEG%(DRt6x|xrO*U~1cWhN?vS*Q$VqcWI-%HSka1}CF3I0co# z8&Da%8I{3ls0>a=WpD=Sd~YV|eD5w)yWNB4EEK2q=gNY&>qA;b>wkjB^r1g;eK~B= z>yB<2j=Fzr1?oI>6*_P=PQ_Pn7Oug^ z@C{s#>u@t}K;5&u5s%?!R36?#bH@5H-`9+38Pz2jea=|X>u&tMP@PMSJjX?7dO_M!TlA5i_x zkErX^KcmJ+hfvq4kD%J~cQj{2pJ#KfjCi}Ipk=gOCwWXCGUEKQ@}k!b-NIJ-Gb(bu z{`EU`a!;z8GNO9_Xv{oDo2Zt@Q5iXb%E(DnM(DJh87Ya%NGViC%AnTjd{jm%pfXYk zm66J*j8sAON7Yc{qUxw|Q7zQCs4i+;R1Y;Ss*f5MH9(Dvf>7h4i&5jECa7^yGt{`K z1s=v$cpO7fxd=mZ*0wU=*Q{w7)kjx$e9cyCP|m3|%aoX0#Jf83MmrmWRw#uj5{ z2iion?1;)*Csfutqq5cob<7J#9rL>51dK$jRTS!&7lS(H^+Y{qEGlCOsOwj~QRA;9 z)b*=AsOwk#Q2pcp9En$8N%eiRLWndCrxk%lN(dyDqhiw!a+u zkR|7}(C+;me1M$&)ZL1DZZ8vicwrk+&tf(G&(z%>8>#v!QalJ_W$I>Brl#R>yajcPyB*bTcc3{7`CS+HmW6^` z7k6i&==Cpu?e+0{Xd7kWUQ`zDLuFw$Dhv0cvhW}(3lE{P@CYgkkD;=#0F{M>s4Of( z^)HK28GIVmzbr-dFVA5DK9A~OR-&$tzlbw%HR}5KtM~@KhU#D5KwTeSk2+>;KwTf- zh`K)h4(j^&X4LiZZK&(x+tHlC>skI>{gJnEl$KGwbicoq{>XU$XAymE=1;cN|9)sS zOS>o4P5qGP=V*LHo2Zr_qq6r2DtkLo+4~fgy`QJuFLmF}CLVQdrZ&sRTPZys zDTPOA#hNhbqPh7k!)IPJ*OdsST>h=q{}_|nP`Rza&+hx*N{|ozaYkUXwdEJ!Nvwx8c>emR?P!SVGcQKnbJ+-Q#wIuo zTcEPm3eA08e)&}&+b=Nrb@p}trPsMr{;lb?lHCxpq3njDvfCDw-7r*k+o7`C36 zsO)w{W%qJacDtjp8;Qzp6e_ztP}z+^W%mkHb`wz9?S;y2Z&Y@ZP}%K=%I*L(XZL6c z&R2NMy!zhp^nm93^0bV$^H;Re_wp5AA;BTRjx!F_dQvY_A?$F+v6=pMxChw8-ISiG zfF15)9-C}$^aoXYcH>&V5BaD< zCavElV+r@Y^;`Ja^M!Yt-hi^r_@neQK0`w5SDs2SY5mslM`x_xT4O1X_1oY%>-74a zdEMGoJm=#ocRF5l=BGWz{Hw{dvgknVbAwR(Tq+7)(-h>lzDr(=Gj`!mXd>Lordb|S_h`aDx zyc_?-dr-}LKk7RX=AiD`e*in;T#Uu}sL#q?fSYh3zK2iZZd`&TXwYY{0zQjva5;9s z7qBO;!qNB=j>ngACa%F}@pXI&*P#OPCVqw+@F2d0YVLQiD!z-2aWl5YEf|hFa3y|( zui+=S9zVnH@C*C}zee>Zdn9#l#6S0>x}WP@q65D-zgDeflncGyT4e z*WWDcrcUljbyF5RKi{G}ZK7IMKxLsKDhriRS*VQ4LJd?FYNE1G8?{b#QCX;u%0dHF z7J^V&xEPg%#;7bbMZJd89Q7JbOVn#Ptx;p05Y#n|wy5j!?QkJ>KwZ=5gt{(&Ija4` z(VVIL#_zAOocY?RujikhnfmYClL5ltI(oNu?rA3*%61eg+tH|O_dsPk1~rz5M~x*C zP-BVSsIf#6PQyO99{Zuj5(7}<_kpPK`&Fp%`_-uN`w-OleJCo^X{a&8aMbuc12ujh zjlO30RhBbq2W znsckM@VSoT;rzb8>6(d_(RRL$zKrQy7foCzp)rxCF8S%{y-W|>I~(lJ0iCT= ze$ z;C5VrI;OvfI;O8i9n)XMFnkSl&G-%Mh3hd3H=tgx*ob%GJGcTjqh1f)hRVQpH0LV6 za|J!G`Fr7fJy+0oY5jMeaQ1n^N3@4>^f4+&pP+KI6P2S+Q90U$%F%9Aj=o0aXb&n! z-=T8!Jt{{(pmKBom7||gIXa9wPdI|+96ZSUFqX;dx|YU<<{W4lt^XXf(!ZR}f%_am z&*)_;gk4H4w$a~)f;vW4MI9rnp|-3xs?Vu|o$&&^3hSZzy83u8Ho)1~2$jDkXwJ0WYtWMC z$Sc!p`Mvp=sb#d?Q_yOrjhm&NAERr0U7-6mH9ftTsSpOd1RLzjG1K#^=Ks4TZaWw|w~pKXikXTvZP+oMX- z0oBiTM)k8@aXVg)+U#)D`%JoHd7eK4wGllq3S)2}UV*yi8Hm2KOCfD6H>&d-LJal0j?Y%|`3(_?kZ+XD*tLx6mW)>R&qRB4Oj0r*-|xKh*}Y@xS-niGXJOkh zKVvn0Ii$E>$WjKEdu*cWrVM(1hRXxAiE23)mBD$a3_gg;;6tcBeLkvBe;hOM3Di0* zLiOp3QGNQ;xE-Itz4$C@?7SS6!56SGu0mZ`eF+nB4XQm~M{`E>K8r>?R$dv&wg&*)_;g!vf7Hu~Ff-^(T@usoBGpGtl9IlgMHeAVW`wm2V> zb8FgD?eHclUmH;QdJC1Wji^3uGpdiT~ zFHx5*cA>WGYaEK-pw8{T!v**Q?!x`}75;=j;4i4m{EFrr)@J^>`YMgL%{kOE+WzY3 zTMmm}KlN9>7I>8QP#yn3<>*gTj*g*nbR5-B6>s3`r_RGnelCgXr%I#xsq<0&RC(Nv z6;StF}$ik(sCBi&H#*&WRp$?rO|w~Y9Do!NQJDyr`)y_~}Na?o-QYG{{S{^=Otp1fUK zj-pMJk!Vy#dZ02AgUZMisN+ro>bTPjb=*lrtyVJXxYHMP-06>c&H<=wT#0&L=~Y;t zO}QEyU@GeVoS~@f4nqf~<5V1pvv4#n$FZnu%Q>iP%j40UrTmUN-m>J^amSUVf6sx3 z_EVPT^3Oe~Zt8C|)|_R`oJ^Z2OV^>YGzFEV>rq*{0oC73L-jY)F%xe^^*6Vn`kPs( z{^m~Hj(4H@n|o2mp4q5l&pgzz=OHv_VFUBeb?osr2GKHFe_f}ueC#Qr?-Gq>8&z{A zpT8q?w{tPqe^fK&pbkIoFy=o-d#H}{Q8{=Vm4gMS96W)_!D3VnmY{O*3~HU0p>nVs zm4g>hIaqAly{=_5+v(3?DwpLJ^Upo0X3CTD@~|;;2koIceu&D` zN2uR_jLOp|sAJR@sAJTZsAJS_)H;2QI!5h99izTO9i#T4ak56M<*UcSqkvv;f-b~?jDun0U{(fkxa*^No_BidKI-Wq~ z;v^~;wjft7ilO?MQmB5WG-hI1R6kP=)z4JKHCP$9V--|CQx%nu>ZpFE2CAQ_jmpOb zsD360)s_v>oR2oNiLQ|7IH}3}-YIX_WVDR7s|8x_H=Ox!_ZxafFH<4R$5QI%OTXcH z;rc!{@eY<}^6Q$+LFb~b|ET8bcP`+^J;wYdw5QskDJoyhQ2Dw9)$cS%^*e1){Z25d z-w8!+Qy8k>xfIu9M^wMl36-m^sD9^iRKL?5m8(c}_6>L?KgXcP#8;rUHx8e`c+~x4 ziKuHcDX1^0?1MqrA1}eHQCS*<=6p6|xggdhuYBshA@j8wEu*?LLd*I5?^6=<`IN-7 z$JnZ~d5k@jHdO7?P?;Qt%H(iVCP!ck9EIxhMx*+?v8X;T6V>PCp!&S=s6KBZYJa#6 zOY*!^up!=zYUgQa&W>LDR8NyvcJw;AIXhZL>pum3%TCej+fHaZ`Nw2wjP2RCg|d+G zLZMzt^PU~^0(zli_P=2{;?I-E&a=-#lE858)^H2x{Brqdp_yaa7h9qBh|vyc!pyUbkL`%FAHPwZu)t1WCVjrn`Y+0uFc3fe{W zT#3rbDpXEhMCIfqRG+j4)hE4%nfL~(Pg;lSlQ!TQ+=$!pZQP6RqR#ubpw9b0K(*cf z(3}UoUK_+RdFA0+es6xSua?pJ>wX~1eUfJ$oEI3~x8Ug6y-bBL6wk7n1?iuRd(86g zpG?;x=X#VyH8&sIKBhg@4xgZMv=f!1Pf8s|Eoe+?FJ-U}KkqQ+ z{Ye(ohR0ADJdVoX2~-A8qB2$N^XGSH z8P!3@XJ4}%X^*uh+Z|{0ih6!86Kh=9(madR^d-%wJGoqzyxU_VRYT>g67!S^O<}Z; z>e>#KulA^XU5d(A2UNbgqWZYYQ2FYHTC47;$Fk#kj7H@v29IM;)UmP`s_hc7Fy+DB zyZx638jGn9?V~*OMdhI%Di8fpc^H7og9DX^L8v?oM&)5BDi6a^c}Pd)VI(RKqfmLs zMCBnH&3VXg4Be6CdYfLS_jL>%n-J}~t;`;uoY?fm8{<$aB&OG*+K)Wah z6Hz&sgv!BWR1U5~jiGNsjiGPGOq_-qL*IfLL*IsL@OIpevv4ooh04J_s4?^$)EIg$ zn)C1u^INh^UdM~o{N9`gEu;0G8MwZgf9GQ2W0a3G8 zp2P{b7*&#|QGL=fRG;)5>N%I=eq4b%Hm*YL3#(D(cm*%VS1}papf+wD-ihmRA-;+0 z@GX23-$mta3!1asjQK%4XI@#phTogBtYx(QjnGn-V^@U%d`oeE;JMKlT>OL&V^L~%I#`zPftq-C(KTYX+f>_3v{Ad}i|HbG> ze%yVbp4Q96gBG?S^V1aXZ_Ll{9#v7Tl^=~Ke>CPFrX5xPUs3rvg38ZtsQmnn%Fl6B zeomnB!xzmv^HUs^pOUEjlt$&JEGj?cQTeHW%1#3u6LYW*&ch3E0oKP= z7=)i-L;MOG;bClwwb`yq@FHxD%2F_z^Qrz*+n!fG)vucSH!Y+3R7WfMjP4ba;2OMj z50CHp-`LIEUxm>ws%JY?-rA$`b}1@v9Z-4eiptw%sJwMU?Ka&}d9$PP7LCeV58R7A zu`F#BhZ?&jqS`JQ&3Wj@d|&gRWwidu=tmyh{gs~9%S3PsTYvQ#tLaOBb^7q-9Lq2F z*h6XX98z7fQdK-)uuO~uQ}<&a*3vMKEHC}x>vG@b{zf(C6{)}FDFxJ7v*Fc zDksxXIk^RulUq?anT5*99jKh#h04i2sGQ73-!HFOx;F4E?V@@UoaPF_OgWHl-$ub^_W29=XHP&rwL%E@|EPToT0E1L75KHyw==)&*K zpJ(J(zY&)ZACsJr==hiQ9J#bde*MOF+C_QzA1V(!P7l&9`>X1Z~)bB97OdSxu|~QH&nlI6wNuwuix;N6TkY6Gjj6p z={b}W&+};2&O9zXPP-^4Cr~*#iOPxXVpmRzp>k3Rm6Ot_oRmf7q#P z*I_Qm7{-8?_%vWizM1dIZ8(5C52Xp{N`UL*-~VDo59#a+HC}(Y2`lB@4~DXjkIg_iIdLIrDo>wT#w31g-QhNxfnm z;Smw`B)*%%xDme@i+h<0;W_VWJ`~!QF2(bni<{ZRWh~F+$LkgD&Ph7QyPIeW_oOyZ z|J0rtYmE8hXIo0QB?ml9~a^isBKwq9D=LyR(u8T#x?i^zJYJ!I^2eD;y1VvOVJ#guoAwD4e>pU!uK%&KfuAb z18>2P@GjhmYR=Da1%8h2;1~E6?!v?PH8!Gs_FyaAi*4`+)IRegn)kzrY`=Djysk%j z+Yhyj+FRF3ecTV-U2@Uc509~-{_clUS@t0Rm;$jMu5~_=>pyA(?T0n^aiuZ;AnmJm zIfU8|b5Z-@FR1 zy$(|jFU5*D0xRRSSOv4NCMqkn(VV}2%&*5|=9Rw={Jx-{lM@%|z8>DIM^U_$!QZP| zxzu$z|J;*mt;~2{`>aQsC^Pj@nYj>^nFgrL1feq17?qhOsLV7&Wu`eQGp$g4cNC{UTU6iO4%K&Git4*Nq5AGFsJ=TKb#5Ag|9nQ=-IS8)Wuj02|8j}kN=Bk-6J?|a zDkCwdj9h`rNKaHodZ9AX8`0$N*GEu0&Xl09jKh#jmpWrsGQ73jRPM* zjRWVQ#(|Hb&Qs^3IX^n*)ZU)gamZVKw2Zb_=QvT?Q0G)^XnIyw+K_BVHs4XuCnCfV z7akMuh)argnDSHfIvM{jn_IeWzL0iNJr|+!^CYUQPoeU&7?q!8sQf&O%Fl9CeqKQ3 zXB8?xFQM|Y8kL_{QTcfdm7n#fw%dT_Jm~fQW-OCe9&Y3J=JzRS8Lj{GXgLq=>!F@K zik{fZR0t0{8lI{2OqMQud7h=d!9oX}ixzlv>^e`?J!|esZK1JFZDwpSW^SUL)jsc_ z^7Sq%Uz<_++Jeg02dI2)N9Ah=Y9l{F_{yHVrgudo?@gPm~? zhU2$58o$G__yazU2T-@>{DjZpFQ_d2ispQ3{O@Z%wT!l3V{yOo>F%+LPCk#Zx&G!e zfM;*6e6D3>+>_eEeExQnc2@iRfy(EfsC*tnvCy&#I{Nx9X_#w_2$4w>qfvx4NkFw+5)pT!iKv#xlR29-Duf%%7K_ z$2EW7p_b8h_CPB+?3I|{yomQN`$!GvF>|@Is;>X2Zszm1#X_LH_hT2V#q)Q?I@k@nVg%~e>K>@}yaLS` ziD1638PPJ@F5O@3b4J|#l%CYfR0xlw8(B?X`YHD{T4zQUdu*fXri>^94;%C2X%p2l z0hN(nsNeTSWh4=mk-n&m^h0H20BWTMqB7z@Wh51qk-?~pq@l)D!%^d^YcLEmP#L)v z)s9(c&W4VUK|DrY{fGJ^bN``bv_0y(e96XtA8B#!yS;O%spo6ds;!I`C-P+6La%F=XHmS&)`G!vDjS$Gid!je4i-PjQCN44_< zXwJ?}%x}apd1YrFzc*(`%V_Fe0zv?S9?8-%G)DY6(2?A?J?AQTNa|;+p-8J;8Um#UxL$c zDXzz7QRfNEQ5&}c^*+0msJy>~+J;w9pK0+bPR6yU%&bRq4s|U=hnl={7|HJkn(oci zGTJU(kMJdj?$gDHUMY^0r0{6_sh2jj241E@7)pOHL*=r0n>;pAHB??|GEaSprj4|Z z>iRY+FPl(#c?Xr3cTxS*`>12xHq6BBsQzgOs(<%Kx= zgW7}2&9|s)Q2S8Vp!VYoJb=0em5XZg!)VTtuFw0LBQ2xt)pgN=<;dN+6`dUYm9LBZ zPWz~?M^QQY1C^scQ8_w>%2BZe>jE zm&T~PG(qL1DJm~5QTfV^^QTN8>|9oD(c>t>8N{SW}xnk znTfhLW)|w+n7dH-#@vItH)akhYje?@-wxc%(t&NuYdlqzpA@Y zm|?@RY*jqo6`zw4mpUZGIm`XIKF(ReHtjl|tFVa0r?Cl4dc7#{zjg z;wPT7T#tBqhs@<~J@-dt!n{8|Ox~1}M^O9Yqp1DyG1UGzAGJR&LhX-FqV~tds8Tvp_Q&T?`{VPda<0UZRB09J{PiVlhp%9NT!Vx0b<{Q0H&Evn>u@oyN4*B{7H-8& zsH$(lFYrA)h+FX}zK`Xp;m0@`ccN9{ZX%FnD<95qdE^oKlexXu|!YpWnv==+y1zp)%;8M$1}6O+@mV0xB1-p zSK3l-a0He0-%wfq9hLQ?sH~qrW&I>7>&2S7vVI;a>!naxFN4bZ`KYW{KxMrmD(jU| zS+9o5dJR<8>!NZ{56#(X#{3{2E3a&g;rD$^eZ7{^b~QrZvvuZ|&*-_mOocF9&#;<* zPq=bNqOTe9c8n`nKXk^cnL(_sm+4>K4V`t* zkhgwl1Z}AdrK2)*4Jtz;Q5niWW$0Q|hB8qZ%0^{q94bQ-Q5l+y%Fq;4hHgY<=q6N# zZb4;e1{RVG{nrg~V9LrF?8wecOFQ#BYhCB)`5nt<(U!{49jFZ5iOSGjs0`hW%Fz9& z49!7hXf7&4527;k2r5I5p)&M1DnkoV8CrzO(9@_4Ek$#NrZK-B%dkn#X>?Q9Sf>O( z9pYbies6x?rIyk9--uCKap#oxeTa$n$dvfV@c4-SjwE|xAHF~~DLFhbxd^_JP?{}P z3o!Y3@g|o=HaQn`{YN#_7{~Lqgypo4>iRq?7cZd7y8@Mqm8e|2jLO9;n2BppYxO!R z7wb^DcoVnd2HcBpqpsa-LVdp4yVw{vV|(0+dfj{*>Ke}fQ0I&v;`R6`s?9$~bB>mB z=m_FD^2*UDmNQ=))-u}O#pqv-&iGOjJ-wHy5FXRouui_j$nzpb9Gj>MU`)D*p;y>l z*DMl;I4^jdK4o(r&vXoPPpY>v*N_?YjQP81OSQpQsLXwh%G@`o%Uv>a)b+x8sB$$xT`z2ix<1heb$y~4Du2ziVC_4Tp5^Wq+s>1gg{BIAYa@|C|Yktr{pV=UEB{hE$Fvy4seOZzA< z{ZM)7kIKscR9>z`sJvW*%F9SpUPhz(wXvvvEeG}b*myMO zBENnln&lj(Yfc64M-uIE34QGUvaaN;dwjh0C6j3*W#c+jHm0DmaXl&l`P<_dxsJ>)AnlqDMU*at@ z1@B8dGV|~0PR=^-_tu{*q>YrBMX1a?iOS4VsLU)zWo8*FGtZ(jvmBL~7f_j5h04rJ zsLZTJW#&~>fASitKUt6JPd1=A8_k#>#4>q}wa4-Mt4#fgmeKk*!YHk{bMob!&3QMg z=fEV$cn}kX@IdnntEfg`vUJ+!Io=Lsp@Ysv&+)pYdn9A+{C^W|sbsLl8Ym8G4iEPaOC@e9|`rwnQf%AxLW zEsuKrxeDt3)@o?ZWPZm!JIk3fS@2_@^IC#u|5lI9@-h{|{>|TkG+U?4Gc4`zx)2m#GkDBb1Hy_t+QDCML2xla*^t zo1A~?`j2X^b288Co1JM-wL=$Fj=G|9bQvl~m!onNiOP{3m7{3XCd8m}6pPAHJSs;C zs2nAta+Hk9Q6JQ`rv9it=t|V)T#dTcl#26l2rj|lsEnkeId}P;!}Zp3rZHE+&*AL- z>=7w^RhGJ?sPLFrPUsT(_H>}9@D&?&yAwJl&jIGT#Z5HYAh;O*P?PY4wb9% zs9a4%e&(U_^B^iekD>B2AC;d4sQfHM<>x6>ewLu}^E4_y z&!F+$vwkM0|coXlQV-UY$!m{Sk&m zCno+5gOri{#z1e-Cd$ZKR7TdJGO`|(kvCBp*@Vi-JE)9oMrGtZR7SR;GO`_&k^iAG z@)7FT^$F_O^#y7SvJ7K$}@W#K$DXCaayr{|>C@42nk=6?M?mH+Q*8kcAp z{Y`hQ>>fzlijB{5WTp*I&&p2Aba;G}5Vr?ZJ@rSPPsRW90J`+Sl*_-hdQfB1b7=gR z!_O;?`RB9#`rnFJ1}k9&tcrk75WufuXn<+u|||!xyj}zJ%>jxwsV9VF%oZ9dR>u!fn_YKg2HhDR#wO zcp2`&%kg{chCg9A{({}{cZ|T}7>UKnnH_b9Lll88t3X!M@lB2V!4L#eO&p`{PI)fchMpD^d3+ z48%!z72beX<1}>OZ8!+;#8lLKAqV4J9D{nMUmYOSEGQ($b>`@c-E|YDF$mEZME#n3Qa_|INF*~_ z8uRa_k5f-`4_3tc@I9Q32k?H>_pr}FoufT~I>yaKJI=#2d=RJOL%0YZ#<%bh+>4K5 zNuKjDY>e|U1RqEBxeG7`pTHDch^e>;N8yur2R?=Ka4{~zCHOo(jUV7McnFu`aa@LF z8Du?+dcW0k7=z0(9iPYB@C96gEASm$i67!B{1sos8Wid!ya-ogIKGUj_zK>Huj1pl z2G`+h_!Yj6#Y*yiGrS1bVmPkDR9ufY;hXq4ZoqZ;7Jh{ru^1!ExA7v}gyHxOrsBIe z3OD0K+=BD)JzRlX@jZMWzr$@_V(tzy}fyFZ*T6G{yX-aS<^6cf&M%8omrs&j(r}Z&wudP zr+&zM?Au8nr=I3h)Uoe#)Uodi+=*YJj(xkZB*(DbsPn(CFa*EG-uMk(i+k`M+>6iS zxA*~mhlg+hrI4fkSoEXi@E1~$f;csbU>{#YBcunyjVb@3^@0H4JRQOBtuG#~pa(|#&}240%X z=Y381z4^S)z07|8KL2B%y-%|9(vqIV%S5}Ij&5g;L(SvPOBpwMj#K>^hk7m_>Kum# zY+QPy$0n*y+BYjOPxtO?YDgQX5*MTP&BhppO)wdo;vj5>lkgIpjm_~{Y=N7wC4P;q zP}hEfQSA|m<~DXecXfWR$$afl*PyzX&h51fyOJ%Fe--mPx6kL&VJ&0eAH-vgO3TVh z9iHaMo;WtmS$UlSc%Bg`h@NKzTIn;-2x>Fuj57kA4~*cSd(yhA?&sq`V`fL{qV4H~ zddkk&1iN5s?20|`GVG0)<4Ej=qc9v*iwHb~pGH%2TZJma+&hkKTxv$vnV-#`oERPv z6VK5Fn8ydZ0GUiby~d2sl~a@GUBYyfd zR@XPVe=lQwJLj{7XW#Lq*OZKf+p=(lQ)}yWW4otBMe$0vvAG&0YoUBL@$7|Sd|u5{ zFS6?ucdc_ulB8{@PE{u z3!GKc`~TNTRQrTUQqpB2gf3GmA#|EKb75}Hr3>YBX6DSy(V2@mXKG3aAqgRbB7`Uv zl1rs>zeGj8g{TyT5OOd6pXXW6S#zJWr{@29{r|mwKi~I!_FB(cdtINk_S*YoaQFu9 zqgHro0+rjdk(*7psWp%W4R_L+b+e&35$+=^F~jYO^O(<6M!Jt$;rrq~A`HQjC!G*l zKSi;38zu_fMFXj%rDME_P0P@uNOoqVyQmeOvShClbC#%J8+jKLh1z-pZHnrzN?Q-d zh)`5DVoboUWPhB|(gsPSb+*&BegHrL<&+*yg9^fda+fc|yfxKZd(NwFNQfs(5) z+CZCk7XDyzc(9;&4J2n;QO$Vd%|$3lDSUBLD|;sujtyt9q3DNlx0LLm+%3hU1%qgBfrmA;L1 z>WpKv+|2JFG$I`nhsFlWEWB#@mo>X9bp~|u2qQ{8u_%8w%Z~Hc$g(qWEWEsIK2p9Zzz_tcI=KE)0jqckTI$pbOjeyc~MyS3StIigreisNK$ z)Ni$9tH&OMv>O;>wWC+(_lqfJgxjs>%g5xvMkrzG?UkcX1do?8Sv!L56sYbRl|s0U z*+@aQF{?VGw5+pHXLLjL#HNyuFe24a@|5dCt22suUgR_>$J{=v-fcK;gqBio+$hze zO*{4h;AYF5T54%k42R|cd3 zAwt1&>oA{lw=sfLk3fB~fhJpf3D z`P-r8it6Cdaz!zz=pvLvWzmHrG*F9Fbk!rA(QpbJScU`&+JNnF#!W(Mv5yr=~6d#W#V1g$ys*xY4xonr)BD`MjKBtYQ*R+IdG^t za)7;;lyum}&*JKQHmerOm7J`i<;oE?ub8+)8m>30Xv~q>7|_EHR%P2UK07(tL&prr zLIc%l!vd8{gcTc?OXXuOyCqo}gZzP48uoW5$rl<1h@K6Mf&?RI)rgAHW-gL&~#9jkc8QF+XWf5)A z(zA|C({H4w4ZYYMi>*O^=B1yiH4r-7o~VOm>Ck7^Z=2j0z7P23=3%0pp-ndhs?5eU z9*RL5ZxPCzpB)c%rC#ERO?0K=m)xkFZEV=p8PD$2Xr6r8of=I9T5?Aywb~83>cdJWy+h`ywzJ-q!Ii{9&O^1()bZ=m6~W&i8f{eG%nv^l_;fnSS3mZE<}ko z;G$8{gqQS{`xjM41&SYGRA?|hjVg_9Q&m2SM$0xEBU9~WRl|l|XUF(#c6*PBaJY9G zZeVsMJu?R#ZqbAjjZnor)0#x-kWYj*Rl7c_eNZC~D@q;=$y9{2?V7UTwA41m8^qyH z5ZQ2AB3S4O*UAg$u=x}^$C-fXHNid7lj~3h zDXyece#(y}Z0seN@RD5_Nm--xjCU$h_S8xllV@yV)%2?dt4zOoFyz8+Z!ymd?DiHD zffmCy?=#T_SDB}Es-OtdLjx5=ZT;}7I6R<^YoLN$=}Df-BRlbK9B9KvWu>b|k9a?? z?bn$K#?}hX5@n<%;0%(SgrmZZaNFEL&C?FrOO3F*DE_-_bDZWr)NgjSVOlztov~+Kox5$S#A8y znLJ8+J&22d`VSSN9Y<6zoU27kMrw_2;q`v0if-J_a8b4GaY@h}P*x&z=-Lgb!K_5E zR(BnQv(hxB61Em0D>iS8tl2m#QuW5-+{tbn#%77yrj0$QhN5>yPZ`5KCBZ|(PJFV9 zd<|M#IC5OOK+^cygHxH`qnt(Z-dY?oN$UC&?um zYQmTBxNs<~Q23rAOrkYP!fvToFA0j(UNX|PN=CSwQ^C$_ph;G4h|+`a@XIH3E-6AK zO2Jk>PqcB?s#YBGpD%7;H6f=4svf%54rZh`66m!WT6l07H1=+&KpT5E6o&@2hVF)5 z0l_m&w~O94aSzjXLhedK6;!#on~KM&@$|w^_2I)_Jyq*75qh;$lZirYC_*Z{Wy@oz z-tV>7rR#`A{nJ))V6K&AaYwZMH0ht1u<^xGEST|pemEWsletD58K+w8BIc-18*}K? zVUx6N?`)vWQiWA!&i;7A#Z4KoFo7$W){V>8b9~*0lx}wo4>}0;7p|o$pXE*4;0BH`zTAVwU&k&H*OiPLGkvzZpH>EFLpXWm0O@Hp}LO{O}d)d7dnKy4yP2M@@u9U?Bq+ z)hW32xw!=U*~P(HStEmV3@bn6D=sgB!Ojr2RgEP#GO#~qs~s*^-by?^)WkBS^`VJ{ zLZ~aP;}B?fWuSmR*N3;sTejI;snsY1y1P~8YJ6EqQFd{uw=C$(q61{tq@yX|p#jk!!2&;`s@`o6h< zcw7v}Ao#aX^XZj$6ej(B3eMydl>3WA1L-qaE!(_;>&Yd$lF9rn_>-XUjV_{ids#i%9zWEaj!ry zN^LfjgbZ|x3a$xC&0~^lg8-E0Dp{sDbb_G(rH7MvWVCwi(S1INIJqT3f3Z*JlC=5I zDBDH3TBCAzk)gbj@|=K=Z;i5-AI=>mekX)t9Gwd2ICT4WK=St!Bb5AY6ebuds|<20 zl+u2sTBx@^$=DPf*Iz^}gA&YxkXsV)_$s(7Q;$03HZFlEIfi>_>5b5K0a!|&4RXCv8Ren*3=Tc0ZZ0ut5k-o5w^6XETnTnN(FKf z^oP7UAC$Ka2$PUi<_#8RhP=7sxa!9vl)o%bLQ$1czIE6Ez(Q^G|x#fPTQ>q)v%LE!&5Gb6NkZ${wmm~0D zl!DR{rbzP+0_(O_9xvq*fSmB`i0q_`x{r<{ly9+Egg@@MgFk1`*+0<|WpuhvLVx<@{h zRW5#4nwwNI0vCl!r8`p>p~n&EIIi4W^vx_XP`BC|VNG4|4Nw>H)a)ZkNWdS=E7s*h z^+1&#u5+q~let0zCFt5T_r~IKE~>J$JP`8a<%aOB_?XJVbsQ?S+QSMJ zLXG03tk8-p#~VcJ_XkS@-iaPPzSV4{b#>+Xi|Yg!UWTl3L5{?V-80;koJ}V{^{`d< zs5JpGxM#@s$N4j#beDBrptf1*i1OG&qnk&DxB9YR`UN*qsvR2C5KGTq)GlaFt2U)k zoKorr?DycCW8gvfaFYZ78|ApQ<#qkW9!Tl)T)QFdPZ|DMGkEr_@AgDrKWyT#VYfcN zeaeZ`Z|#Whd9uE;*P!WfUDnOMY4Ar^-gmd_3w)D|^|-#f=e}{$;xS!Y_FHm(_d#>; zogpL;1E)>x z(ZL_H>XY=f>3v7wJEE*V(rI+mfg1|`TKC!s!$uCtd>r3OV||UQ=i;6_FI(E`nxCI6 z@7Mo&d;=UGPl|GU_WFrEHlA_*#jg$Qy=C;kz346vvVPo8=X4GBOnmUWJx{qdJTd_V z`6KI(?EU{B`Vc+C;#}6Aj?QVQb{VvwO z`D|j`zL~uXI__MJKpT>e)@r-^Ivt#^EfD#}rM zcEO7$9du1EnJ{$rOP9U5S1I~VTa=^q#q+&w@3HPX>ge7h=Cn8qALm=n`Uk(geEOu< zUtGEO;g;o3?R{J<#(C_pMXTpU|oV-$G}7-53AfG@{S8n=YNY zb6VV0n>*vTN_F@N3m^OLw;xt}-+ef})ud|*@%t037rj^9<<>6$zTftg>F!r|CFkOM zW39;kSIb&lyXnLme|^d~;mLu`hs0uDWqn!HdDE`A^yGqH*?{Vv3~mB>oy%xbndqk zig%Yeqif31IF`RWs2j?VdW=vi)skJqndJ^AgTWB)$pk?*>8{<+|~jBN|? zZ9vv9x_R{J=g!@G*NRJTE-E|axh?p9nv>F9x!vJC5dY7P&&r>j|M2V{JyAZacRA|0 zuDAc!YyM9wyahAPZi{w)8|xQ6_3hQAA2{yFy?Aq3(uYYK@r^{*OLi5Ez4y~g7rno$ z^(PrCKEj9CdgG&EQI5&0iYgY*8*|`)_sr|^!F!h@d^zhgUYd}9U{jmrlXqVD>Wwk! zub`i@KJWEr8}gocYR&^m|E|3&VbLs%1FYvAbJxKgd*+Y5V#{^MjqIQEDEbB3T$Cg8 zrcJ$aww*Pz^rx=A)Z;dwUl+5!E2a6ilgHkC$@!a~x^(zyuc96wWc{d(`%l|&#~N4O zF)?R8u=d?v_;w@f-Cw#PvB%C9JCB<%=Hl6Cqo@~rY%a<%$FuFWnERgXG-}O+(%--S z{$qR-pYlw(wG$FCn07vv>&SZc^}luh{lA|# zf86iI_RWsC{ce2HjrBD*9$bC(ePONR`>xA9re9Q;#@&z^tux1Im3aJM=n*drGK|;@jiYlf%UQJ-)Fb^ zspPAZzUo?b$I|>B_{Ki#lY8&Jeaq_AFF&&3?Sko3nx)|T$E<(6YE!@4J8nMbr0v5t zpA&i;?TWsY7v87zG*S@x|KYp8l^;7?w^4NdZeEHIA#|(Qf^ZM3* z;JeMN|MSn|->iLb(~dryTYs@Kc*TbpuUP-_oUghMZM)%}M_Nqp`ox|g*WjOu(aX8s?uRv+K? zpTFZms_+P9$a#~UUiKU-Np zb@9DNxzxQ!ESNbicgKl2n=#(DBm0+Le)8OL%kDV1vtpy8bJPWBQ=?d)nwR#^z%FA? z{_xL|l#kmbFUIct4rp6bFkSb`(Il2)o9nh_}(+?pI_K*$Nl#|pLFlcKhnSX z;HIwlz8~h8D96L|hW$AC+5g%$d*Rma7BBl3^)j9HHT!?rR1%joq3CGG*BAY9B*wjs ztY4ICZT@4%fU`GUy>F$u_F50}*`DkafAe7bEqgll7;*Wq;lCYoMiQI`*6(nS+tK{H z^zvhG`uj}J39~2TJJqaTJNoV0URmH7GyKAWt=*o#wHdzYiLVt#IbNT3{&#=<-MQ1) zQ&ZdZ`l%ht<^tB6UHthQ(?AT-Fom(&Nv99^{xB8rl zZ=tdtwV>@kg#&)?IrQIaHvisc^5?*zvO#=iK$t zCVac}B(k&q;M~4*2K<^?=(*~a3!B}GA1fKfx|(0s{+{NE-%a}C?$U(G?dBt&tj~#0 zym|Ow|8>g(Up%;aUkt{ueXQ^Q_I3ZyM^F1{^q246eNDHyDE|?i$o`B4&#mlx&)-Ei zMjt;ZaLStB@O^aFuli``l#l;jG31_c6HdwcXg%8hLDoCp^vtZ2Tivp~^tIHO@7wQ* z$8rO6WR&CX%u#8(ubNnT-W`j6`S*pR*I`~@y+x$x)A3DQ)<0VL#AV}q<$V9zBT8#v=>=J#EQtC2N29`-Y{v(63p)b3;Pbjb+1bzHGf({PN~eDE}|D z{y_KVCZBxGHKSU3o_HZ={+$??qRIa0i@WDeSdsQj>8fjw=(4%z6qG0Hu|@5_dMxMG zCHqQ_pZn981N-nB=d54S?V;(X_iHiiqvig)RzG>{d+;Av?^g8s?xb#KfBjr}*PY|{ zcIk`nmUbii9}g_N^s3FT4;|3srrrOX+vj&I0$KlVe+w)2nXY#YczpWx4@Y-hkMFs& ze)HO#xt)E}kM+bYD2V&z1dQ`tP9{73Rlg+j8%m z_~JNx?*7IrcCC8_-_2(|?}q`dk9x13bJy<8ZePd8#^am7tX}~?`8R*y$DB5a`vPel z&>k*2h3xMK^}7cPGN=sx%QFpsdlY0`gN)xmzh?smE_pH%i~Gkmw6^_l6p z7qwgP*=J9m_ifSkxSKJaH0w@w{+e-M?Y=Q*jhWqk;<-69`^-VRVtxPh$A^Y26r7FuVixPcePg39{3vnb#EK3#WUSeMe6DBxi7U5$yX3v2-a2|->Y@=PZnU>9 z=<`vI>r!rdp>@Ykx^-Ew?2_cuZodz|{lfZVZ68%<7aTG2^r(j){ANUJw8KTL-#TO3 z<-J>VSoKTv%TJ|re5gPCdDfQ|jBMB9$fe$a){|XV`wybrQcolMgG>J{D(d-1o8{M^ z+xME2GBFR%XFYb|sjf@To_c!F+54eB{nrh_H=6m+eRruCEuBp89Mq}TobTsXeh04l{$9YNud830R z`JoBkGT&%_ac-bI&o_E}Nv<~#C>dSk^%sv0zo!cJ`15)f)?>t5T8ifdcsx>4JUWD( z$k7x0*v-WD(zwy3fpTmR2g#B*=+CA94d#`JVUuW4NnUxt2m2Gx8$F=}(atW*!=r@I z#448h_8!=K0RApMyI-$>KPNc40RJ@>=#O6gddFzBz+ZypV{x%BP;Z{?-*{PWy+#iE z#_{Rc@{pf$8S&1;KNV&ttj$uQIMbB?6a~IwUztDG!^IOZ_cn7>#x>Sd)~+n~ zl{aOpDlG}vsw$f|%fXtkIDNI z_XeVaq4GR`N%XlGCdcQRp)=qw@`tGK4$n+JJs>}9E4gK%31zk#oUhbdJi6-EVH1{a zFo35vuvhn-*@#g;JgZ{N^kA$n@}frU6Q=y4!*3)Lc$D)O2O`g!Hg6@jq!qb-J!NYDldF4KXr?UY(wX`)C=*(0;ShkZ0$DxjdL`LV8d5a6| z-?u#Jvy+U?W*aQ@HK|A94V7ThKn4$QD$u7Bn(#hxykT4smJ@adFkQ3su>7#^#jZo8 z8!I2Xuyf-aoK8A5O$Kd^h2b;@_G)T(sSx#J`>yqKefxRfY}2tP`%!FmA8JzNrFJrI z(;$ZY+;PEj8d~di9U?8N^8NX?`~#c$p>rTX9}TvLmK{1o#9r_rMn~fI(}s_f=Npgp zB+ln>yr!D#FdXIMd?w8ahjt%0^mWK_;qo1F+}!fAV3WFmO+GM}7yEN@@&b3*RF#D( zl{T6pn&VM{{$nSw&F+FN7GH%Odz^UXStL7AY-Yjs$jn)&azv^L^AIfcPOw$1x(+IG zeY{Ix-{;CUyulDA_r8*#$3+4#J{iN(3$jqk%P0dJ`v)zws4 z(|eZn)_<*v5r>e++a}Bg4yChGb(sAql!sHc$kt(-!IP^dyt^yQv8buHjGLm_mW~TG zeX|YuusPktoA~3sWqz-{ttOkDtGvvAcq@sf+E=bVdsi7#@c0(5$uxcac~;)sKFx-y-Z(|P!y7fp3vSZgdR|F*?c9&e#@N)8 zRw3TXIOOq>4oa8<65+vu1p7_i=56x>E^>V9?t}GB@$iK30HG-z=F&2BPBM6S4J{bT z!*av^{e(}?V0@MjydQQJu;`N&kIgczng=}_V8%u^A`WXd>p0JU_^Y@eFF|bH5DF7_ zK#NmyJ@B$?6W&ZAUR*l-D#EhHi&fRcpg)KcRkW1G@qv;MpNO*6s(F+w@Dvo6(|$%% z)zp>PJ#5OFALpBB_X&*6wj?eZjh47?o9&@$1IKzVP(qXTp~b}^vAiaICQdKBAvfK# zVxqhIa!R8w!2kG5qv`Md(Pu?p&H{82^dCX}#~@rq;AFniJ2xj2Z>HtpMYLdaFVfRl zr$D&IAIA(*1f0)3QmGZKlxm>{AEn8uh6q_|CTI#mIMpm6OFaU*jo3GHA87jJIHjU|9&3K~uG5Ay@|8 zs4WY@GDyc=DFn-)HQF-%O9ab8mbx2s6I;1Y$Wrq`^sbUqEfBKQN|26A|E2%8)PDST zE&jiS8iF@ph@2`;$l|wWrm>ZKp%Gc?G0-inJt+js62qz12*EPwHEkL1yb!^%kfrVc zO=m0j3t8$3(5Hz2sww#DF;zUlBEM%!iLASG&Cxk5ZJm?PAUKFy_I*^XLLC8|gk5TGPwwx~H zR9Ql>44SDe3&AqzPHkBTmO*62sWu3~GTvx;OIsF#Wg$x~1l`3}mI$FtL3gvZM#xf| zKxD>)eQV)afWh;*fS!yZhKGv2AS&F_yK~|hVfms@3ZBQkW*C%S!x4l4qMqIWT_pXxvYIHWT`(vWW}it2w5ryZ?UXn%aeti zYKoAhHiI5wE1wHlY7gjP*7gdaOi$2OoT|Byr3QgMV9Qg5oNAg7tbpceD?*m~3-kzU z2ZbyZg|}MBic=jgWT`~ZhirM4kW_6(eM+ zJkWZ!yi~}kmI+zvXuP>HpRKeJvQ!t)IU@P5)EY%nE6l(*7 zP^KWVg3(OKQd2-5vE_9_=%GTEItA~wJk3^47s8!`7P2--$WqB5vVvYFWT~m3kJ<7D zA*b3TWU15frpqF>a+VNU6X+S%1`ApI1`S!k$N-JVQqw@2*zzVJj8{UabG-Yqn61PJ zS?U7N64qQomdXN=6{i|0WT_dTPuTJnA*b3Zgnop#UY4?z{z8^=fu3c}Eo7;YAhLpS zQV8=t=znZ^s}M#NAxoW&_g$W2E9VGVDh~8KYl%XZ8Vw>VPBm7@QnNst+46QFr`jcC zsdMlK%rdrez7X00=mpl2g)B7|L{>1G30Z13XbW53CFE3lge-MF-hEllRxT1kI{>}N zTDlPW8;GnpRiTij=72tB%X@^JYOj#RZ_m8MR$}p93=!G^=w;Tjge+AEA}dZ65VF)f z&}VFUuaHyi6S9;W@4>vnR+5A)H5{~pwM&K2lR;#~sY-?5OMyOT%lm{ddJ9=9=~Sgw zvXvAeOI-?D#oFaUmMR626{iXbS!w}jD_h<#4780ct1~oV#u2jA2+$jBIMo~>%=@6P*m9?ynw%ah9LVp916{ngf1YZxdlPyR0(&SX#g)DUgXdPR*SqLKy=mXYf3!#O9$cj@f z6|&SW&@Q$d(_52M^%t_#ouCid$~{8xd_n73dqN1c1tKe$Lxtcsfxc$TgZpU0EGdNi zfi~#;3Bf-FZDj2!A$YzZvVwJr5LOeQZ`ksX7)@AB2wCcW&_`@#u8^gk27S!hVj)Yd z0g)BV&O-3WK)cy;TwhI2l_+GXxu8vK?~xdmS-#VEnChK!YnCdsb@i3*vbn+mU<2J zDQj;DS!xT2tY8img0I(KsqfhGXd%pHLY8_J^ch=uO~_K~L7%hsu@F2<5Lv;jAp|dI z0N#6L%K;&b-a?jI3!<-cIMtg%mih?v1#ABkf@Kg{fn_0B9;nn_ZCMDGg z!rDs6Qs04oWGg=kS?V9qPpthXg!R@%+KN+k5Q47)`i(8m7Q$R6gcb&(9X+S|S;$iV zf_`SL*$_>z3?eJAECkD--?e2SSQdh1&@bAu5G;d!)s|hFU>QVKU|9&3L4Rn=La;0Z z%b@+*vJfnTe$$qRYJz1DS%GCCSO)#6EepZ25G;d!*OrA~8T5y?9IFYIL1YD%gWqcwk!n8Lar#pF);8G9F)6V6Byqr8=g)Mg#r4PEx#lLKS#(?Cne$Cf40(92DTu6K-WP)B3&K(imbVCDW*4$lze`XUY-OO3 zrSL-uss(EaLRiCs$O`6tA$V>e2V34Qgf*;?rOr!MswG>wP{>l3fLgJZCWI9Rh^%0x zDFn|K)Qm0f5yJc{WT~Mk$O>DD7sA>Fsf-Ub8!g^51QWvKx z)tarO3R&th(9x`Ugs{Q@krk}kgy2(ynzQ9Ug)p-VSt=t9-`QX*!-cSR0UgU)fe_jO zh^%1V7sA>KbR=6=>6);%62f{F6vb997qZkiP#e}tgs{Q@krnLq3BjiZ9mSSg4%38L zQV9729jEgrggXbdWvxO8Eeu3fFoz1k^98kF%TXDcFqa7-f1u-a{)BMnpmwZH5kdCm~CfgHB*86NM~w6R16F(}mE&Kx74LD2w}Lvdl{l7iZQ$VfR za^eV0Sf>bC>LE}Uw(_WurIvuYvi7_X_SQjU1*4e|{uqfK#g>zWuuCF@RV65ztvn%w z=P96Wti33Nb^szP*!dKK=Q|3$j4h`NVFyykQcr_7_P zsR!sZwz6CZPdz}Vv-Y+SS{R6|V1H5w^Z96u0&ID#5cUa$aOa>NY~@uUOT7;|gSGWS z*cSki73?AkVLl&&k%2823Sl=-2(1ZpCR=$&$Wotx&SLFTA+%i(S;1bP5cbwD$N0jQ zONFrKCWJZ%^<*m>ge>(1s26KHgy5He$O`-tA{Y2rCRw zAJ)DW!m15KRxq{;VbwNPf7`Hynk(ns4r{Z3ZcJ&=nIKXe1BIH zd=StHoaZS**clVTN*&aXt!x#t)VH9sS^Gf<(Q~vF%o;-2wFk9l%Tt9gF9@MEf%>zR z?LzP(K?7L(SqS|tS6jhKQwV+ur~_M`CWMuy5UhX(YAZtUMM3AV)+|pG+AfH!z!w#Q zFA6%5EzcH$FDhiIgP=id#o^OrsbfIrvUZ#hS{R6|I8_fJcsHPqY8`(-Pa3R$WEl)&0JA?zH3$O`(e5cc&z-Pm&TB2DN=LYB$_C9;)# zA?zH3l31G{1n&z(R^WXJVFU)9%$B2yHNpE5f)&uk+KLdoL(nCxO%s9-0wOE$k%Tas zflgt|(IuMTBMDjRdQdW3xk(5oTtF$T-6w=H1(6l3%Y-n`fV#8gm{LvHe-^@-6HqE! zxnBrpPC#j_JuL)}7DQH@YK;(P1JJ2#dB~NTuuCk2y=G84TX{+dXCXktSbIeXa}S8D zz~2zU_*aJ6nJuRap&tpMenA;*Wu=g%-UVf{_JNS4wu8tD`ht+9Is`Gtv*kP?tdE3{ z7f=>k*&u{@5R}c@4k6q*h^$~96v8|h!o1IxD}*o)3R&t)&~Uc$m5`-=0*zqpS0VUA z<=P6?3qsgc1D(N^X9%H93Sn;!G?K0SE`$>S;U`w*Zk9>=g)MT?;ysEzc9e zUV)IMj+%gPA+i-q$WrY=m$7z|5awwRSwXuJ!dL=2i!Cn`f_E*1@wq~&(QKuQ5XNWF z7}oj-VSEOW6^ze97@t8s+44I=7@vi(I-ZE{Z?lyPg)mBiJglV&VRZ~5E2w=T^h;1L zw!B9Ot79Ro2Pff+vTWsYA*{DRUe-#4(Bna51@pcTdJm{KTW)!kCe*JGo-%@R*osfc zQe~iA*2W8A{s55`%=VfI{s#85A1h3R+TaDIZ z2K*e0X6KL)W>_ISUB69V#a#+vhA`Svqp91&;hGC!eR(Im5w?8%U7FxA3R&vdyTe*r zA$XBSOE=oyS@2)j%Ak8RVHGWe9)E9G>m!6(Fj~N9vmb>2!d7+(Va+6jQGSlTicww& zW8K`a7A*wd8x+e{dOV~Fdj&$4I^p54)=>zfqtQkhZT>uXJZxp35cau*ke5gFRpdno zd3iLfMGGM>Ah*uTW15f`AxoV&Kdf~YLVGdVXruiJN@Oc>k88p>DFm+pgm?B)q!WoWc!%k@>voI*}@q0uUgHrZ&4jJDKhTVI6t z#i{jpNfX+$5YGC&9M;+kSt`wFnMRvuwE0F``U<=+wtPUyi33VngI6WwR9_jb(@K36 zevS}k1JH1`60=GZd=())|9Ca5ogjqukynUrSjj>;u=2jX>QwPUmb%7h*Bfn#(VjQjcBAbw+U#}k6FIeA zLYQZSaOWTBtME33uul0fthE%vc)uQgB3mgGf=3~QS#pEEik(>@_;p5`VYD6_;aRek zkPv2eA)NdANMCiT%Y?88V6@proAEI`OSZB_2+yd5EVW{jzUow~g|H82v;#(4`U!kd zwsJtoiNiEnLmw1EA2eF0&H5_(pb*Ms3w%*sEd{5%s|DHXzuBV?(|ztUHoDn|(3q0t^P z+AgE*FQo;KS<1O5tQ{+4scfT-GTK6;Eiu|}M*GWX$=`!aP+o!KO)t5r>RDTX@9fj~@-e`G7n{Bi?MjQJJe%*#sTO@>?A|Z?* zzv`=aDky~gd!ubKTF3q2a9xBjUm7jTXdQmTZwPQ|c|uri3t4K|@A|4!Weee4xY1@A zt@IE4q77SFDTF;JA*|W|)K^jVLRcvoZL85L{!;2nw(^D$p2-PeZv0zc#TrZqzP!

J}lKn={&*Msxlf4tJ~&_JWKS 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

m-D| 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 -{Bs5W}OH zp|9_H{*{zR-y?)naeeQ=P*2}y3rR@dYZoQ-Jwxyl`ffQ*^t~P9jHK`4VE%poG-yiO zccsn0JNMDb>Fh(z$dmO(oBoh`_F^u2JUl*|@^9>3_44nI&uf+)C5J)Z9n>9A{#}X} ze|-1Mmm!v~@5v%8-6u^{-uUiTrt$RsHvgE;zHfE(P1k%V8=zF^MWIspGp(oeb1Gyp z9u|zgI$8oiA5AJk%4||0PMIYKz$$@Gh1Qeg(PUDEv!1fR?3cTO`8uhP$(|D_e36LI zolNiZ1V(Ene(JyVFx}*|4&%f61lC1YBbwZU5@wToaKbFP2hwWPi&LQA#}b*5eqZG=j43bmUp6dsQC*@&C+*Ggq~F@v@2J1 z9`!6(PZ^+P)-MzOz6xJ@#9e@|QlZxm<%oiw2t5f|8P-z>M%MCEhLMd8d6`ROnsq*- zgfo}Ol6#rUA|vi(OP}Zn3oX6Z5mp=V`->nxmoFWm5kJMSfcT4z_;*=y$qN={Eu1XL zSKY*=M$+pnDkPmuiwN=HFYB>H9oSE}hX{lC@6I>vr-R2pIW-g#P<Ax_`mo@ ziAQmjW#}&lzoebn?=SZkedSJ5p+@U#0=*{mbry5c@%x)&NMGmB!;9bjUle^U1`pBK z(h$R)n4zz)`64X!myjwxfBe!RsEVhrLxd!xuhM$amsnzIFTqdrms?H}-+zG%iuIRf zVdoWwu`_tiw3X;pEV$XwBZcR)p5qf|Js)7C+^C0jMQ1$~l|Ad}G;xOZ9Vhbm{&0Y_ z?~u}@_`}vvb6hoLH2zR1?K|&qr+w$+#qXaFVupVEF6Up_9~y|tYv2DI9BAJPAqlnb zf=v6t!uiZ!xeyWo`kL(IGY9I*b+$pW$tIs^4^?jlbJ70r=2-HF*XZH-L&rgyWk>!I z(3j3GHuPX{sPQbsuq@AI27?y1P zE9=OBJ8U`tTt@P*shVZST<{S8nipbtJ2UkCYlwg4cvMeRo_}4yP|v@f5R#C8^{jIG z8`r`MUVmNz8Xt{*@&n1pI5@i@I3@{?#e4fPXa! z?0??B+M(t{m70xzLC?y+UZ-J6%)j!d6aHZe-}o2sm4E$`@weT-_F%eze|=dyLuWA+ z?D$s+y(YSwx`NU8*EG$tV?B6?e>H>{9?cAW|ElL-*}r-qRXm^DfuWv%oh>9G|62UL zH2zg4RB8QdKf%~$|JqEFM~AD16#p7HRs3skKWK7P{?)*!q>X@o)e0=&Uy;B9{xwrz z|MUKpa}=rh2&HD@U(mDiuWR@9{A)h&k5u@^zksj&YZl{gyMI0Q1(Xx;uj$$uI%}z5 z$G=w6Yr?+{W-cT3Uq@+{9RuJY{*?+be0eg&^8KqwgdL719i8y6`ZnruYU+tTL1ckU~IF0O(V&pqg6v1|Dw6#N?w*+#e7HQUnL?!z`qIv7Vxhefd%|) z^XIiW{LlMWCDeS3QnU3hGbjHAuBekAHUhs`;amSAeC1#7?E}SR@~`mx%^6Im{mc12 z-oUZi83wvw$pvQqrkh?9{`KtMT>1#}H^*s~{e{QCzw~*rDR}Y6Usp0i-@m%~R}z*^ zf)W);C7Q$h&4~>4{Oe933HsL$<&cHVrLn@4VSIm}@WXi3)z|T&uUaLUjPF;5s&~hv z(des0^wkd@qOXAv!;_hzudfFFmGzZhoY2?q4E6MNv5^P@NSL{&U}9V;Xuea)$n_#F*_Uw+J9Zw>K#n}4Jx!$B?fbDYM|tFqZ| zi2j99>J`Bss`DnJ8%-=xIN|xTJ1o67f7WDTi^2&{MxSNrnujfi*f8F30x4+#( z{4N%LA^WR+P3$k;030vF`v2f_j{iIHvcF99zZH^E|DwBttm6XuzlgbL|4*y`6Gi{? z!9(=FAjEJ_X6Wm`T7(^r))SSd|2KCJ`M;2a^grhcqyHB0i|hZ^5Wlzi$8`R0uJaqU z{;v>zUVqj9HPL?`B(wVO528e`~ZB{NnoGJ;d)~;TN?3z6|ys&aXbmbL_v+_J0E>X=M$xL9#-VU$uwS zbrEyX_Mdir>||-uNhQ#~cBsjC@%6taGxYUeEyB`%Y@+gR-hOkpko^luNdLCK8nwMX z&4uWA?d)&ppCOf73CXBu(bcODRqq()GE%&lDfYSqFnJeJ^5kH>>}JcY;Wcnst5xy$Ks7#+$#% z9?#?PHXb=O^w_p9k~C>}HM_!b`5;c+J(t$4hE z$2)k8yM`VGcpQ(%nRqP0qaKe3@puZ4*YOy}<8#aDaTp#Ictm)tz~jewJcdUP9`E9@ z)3x;2ACD3|&cfp|JZ{9J36G6J;4QGGTB6 z;SP?YhX?=85eh!E9l;0b;lY2wH^NL9><0Yl0K8byHv@iu5u_|SO2M3DtI^GPbcB0 zUZdd6fZv~lf9E;{uLpcp68@)~6}%eo3zP7v>lC~a@RO48Ki#3=MSvfegpa>V!6yJd zE(w449t9sl8cr7G*Z(^YD0nyEPbcByf3D!ofZv~l|F%WJ>j7VtgunZkf>#56VG@4) zZxy@}@RO48@lPvw5#R?V;io>U;1d8JmxO=X^Z(d;`{*dMJHPXRmKwFKo-TW64`X9n z?Ew#-p|N=BZn_)WDpVy@ZoO1jl|b0I3n3Lq-GwAeRaos{haBjHKHyzWmd$d`5)TuT z3C@xYXP0Ein0Vwd8RHC_D04a;4vA)^dl=w03V~;i^z6*X9d*za&pS5iHBTdbZu4sAe zeeZ95{O6uXeBcxI^}(NC`Q(Rw!M<7biy!{T>W>A1(3(`Km9c&-})AX#+GeP?2u4#I^&_5NV|JC2s^n}nK3(_a%G(D>Q@BfjeN45W-`!|{%)&BoO zyMKsk|NA+W;^?(RNc;cK<~1eQ{(teVrUcvnq}?+F+y6iKGc6O={=c8L827PO+HLT& z;48RyabL%M6Zc)*k8vM+96Ih@_`V6gg8Mq|ySUH(9QU}dPi_L{B3=orUWbhh7W2=u<~E~kfsDH|K~rfDgMfT zV(}vsnrCqRxG~&EKG>A_pFhx)_(R-xaDR#WE4UZ&|03?M2p#tw+#llp5_c52zm1c+ z`$4WI`T5`n)hJH?tA6bPoy*7j?+45?Fyo&m{&BkH=>28Y51;5=#T!{U30hu%w7xw5 zM}Mx9((}YW9%y;v_u)vdf+F7{*iXFwbU}0c$`k*%x8>+xEU&IUF|Y~+@~yhO-fhjz z^EsYsbXUC7tOmn@=kNLJ)&u9MocPQiUncj9YrCJKuC47*zuVOBR`t6@{kE&$_3C$> z`dy=b+tlxB^}9;_u2jDX^?SZebk3^Z7Uk2Vel7L;K>6QSzxUMdg8IFye&^Ni9rb%# z{oYc)H`VW3>UU24-cY~S)$cX+dsY2jQNNef?fPWhWlrBf&hD-?{6}$G4&Ui8tON^pO*fOKeWO-gM%bbuhfi z)W~;Ikl$Igc~-S-FaDtN3#0Rl4;Pjem8Qe`^$z%7UH-}& zvz5nQ{rLReWn&x%_5t;?3UHH`6UA?!WW*7OSm` zPgYR3TPsn;MHQUQv)>XEKA(P2ZOPj9qYM>a`Qi_Mr`39uT{lx0`%lTw6Mu2yKb`ne z3q;-mZ~h_u=bO)*WIC8hwHN=ans{CnoodUQy?5UJP15(`LZ$iWyUVK^e*IJ@&EEGa zExUH+7w3?by(FGE_CLUb&;0a%SzN?Z%yPu`lI^;M@7-n9HI$sTUD^D67k(V~mY?s0 zU#TQZ9~Ga)xi|h?f_kLdDf)g1Izo>;r30$y@L^tS!hh!@9J6$y<-}ue_TJ9EJTL3= zckllGiPHSh(j7~({s(EgyG15Xi4R*M%s)fe-~U0gBo^;QU3a9CRGa5>&?r>2h%|`v zH;~)?B@8!OpdQWt9>m?>e|6>PtQhgz1QaL_caGkd%#mW5lKgq+z^g6ue^=xrCMKV; zhR$lr5M|}|H`t-$8*GRuAwMI{0RGweQN&nzzgWGq_#>6Mi`CnUKVofw%5HC}Zp{~o z&i4syy^5r24^TJXM+$#-^CPoAyScmjOVa9GIZouiD?htV+<)@mCOfa35-$0PKsr8q9Gl`_7#R;tI18!8TLJaVP?3zoJ2 z`DK-+&9g)yx$Tkf{k5&xv}IL)vibM_$@{5p`=9S#^~CAlIq^H54oAyV;=8v!a{YrDeBw91{OIQ2-}Q}D%c?j2{Ln{Ee696Fck7FPG4 zqpA7Lvy^#{Ivt-^-yOY8sz(3yYH5lo5mxr--4>d~Uq4NG*qFY*`Ja&$3nSkW(wn7u z%q;(n;u7<}f-#R?Yr$4X>1C95bcP+mOIvF3a8AOG3h(c8=HJYwsBkvAU~ zHM@z_iGPm~REb@-`S(9Vvp1`fE+y9HX9g-Dfwf1KZAaAaUiCZ3udi7dN-kLe6)05Rm=RY-|qY4j_-Vj zTC_-m{P-K+uRQj%xo@38@}0dqzmdM5U3@Yj39LTYT&1;KDd|~Qd~%hIs}&ME_}YXo zeQ$GmVe`U^KdY|zZalti&q$Ph_Mm0{`bu@z=^c=t+K+VZ%u;VNVk0Ju-w0K zn?czRny=6REwh$czb?dYmAU&t^Im>=bus&c<`G4u+me{S`NmB|eqGY}<{P*8ck#(B zB;Z?@V0v}gJUdBPyI-Y0x9}XjK#5s=vWb6>enuFqY70EPp0;+6itfcHTcBa$RzPfa z23%a*u7206Ul}+ou9f1pxK=V^ajj&{;#$e5#kG=ci)$q#7uSl8#kHbvajgWoxK`q@ zxK^S^i2pyoKGfS}{pX%0>yL52kGq2VJGhg$!?=C8F5Eg?8}5C$Ey&1q^YcyC|M^mr zHHW*7`z_oh+)3P5aj)X`;QDaeaqYM^+$!AraQBh_cesCnyN3HM+$G#^;O;?}>$CiS zaR)NsyO}2I$GBPCZ{UvOeizy(IEec^?z6b{xDVkTbdxUJb=-N}U&obk1>APrCvh#f z|Ada)xGBOoE{J;t*N5AR`y}qexcA{6bTwJGaQ_^41^4%HdyqQ|`me`76kdW}Xx>&3 zUOGqXDDHkIws=mYXMJ=&mbb3sCnI|6pD5YI zZJ@}MLDmpi=av5v>lXL~_le(XO1vK&1g#m%ItMOdgxhk@wdy4hno#Q$2rS$J7ZF(fT`fNd z%Kd5k9v*dF^WER)UgEXtw{^U>ffBC~Q1a*`NSA9}1|J1)fs*GfvrUQjfm=Xj53rT{ z!=Uus=Rir80H4@ec$l43*ILMk6>mn$P=^V%!DeE36`LODD zbUtkZSvzR$0a>JI9RXSEX`KVb9@jwD0$X=L)=*n5-)~BM99$2!fd%j>umXMpJPZC3 zcnw?w&Vy^g#I>dbA7xov!CwaVfa@{TVeo120=NOZ0e%`>0G|a{|FfpVb6_{P6+8xZ zfS16}gSWu~*!sKV57-W(-nmA($J;s%N;$a*N`B0Nk{=78YvjPN_d zDG)a2n&e*eo)kKG0TjL0Kq+^(L5G=tn*KoZw}C?62D<5cZ2A#U^qmJq-*p$C3g?cF z_YF|$`U2?IGx8sGI7dLY|5@9A78E_VLD6r$qxH3cVuub;yycSg?d4whkJxY zj`tNCXFmZ;mzPYz4g4kU zw}4W=dcZbt5R`g02|fiL2c_Ph0VRRwL8#FUXz{)+8wP_89mn@GQu;@zw=Uod%`Jp8?xJDNiX-%HJR;<*5wH^YJlI+QGA+w1byH$=5kh+Q9`- z+QHVJQUAepU>|nPg51Vl63@NxNxUXOiPteu%GDWA;&Ty{{G0_PU)};GzwUt2j@<*r z9!>Xy;n6)p;=74V3g|L5cSWDB;Y2s{DYe+<;<-8=%->9uzw?{e`we8z|+f z0~C7EH{N;$a+O8KzkS~ zl=8R$N;z!(OI<4$CmvuI47mnYe2DE2PpR5 z1B$&SL9zQ8Q1atEC=K5wQ0zAgO1+u`rJmgerG71dfaemu*1I~NR)eCq9hCTHL5c4O zDDkX-D*r)lmvl*dE+Z#`bD+fYJ}Bu~y{O}v0ww*EU>kS_drnCEj;IiFeboW)<%?Q0&_Qc7S_9z;j7CKa9V~p9ZDQ!=6#nC&l$WcZl(Pj;?6|(A zS(UTBpyc-%P}+?-P}u<>v?}<>@jg<^2vQ z{)$3djll?vkySxKil4_;y*hBQlDn8g3G`=AYV4ju6!Ii*aJ3! zhrwp>5=gzDT>!1+*6fy_Lk`>nE(cG6kAOG8Cb0DhLE@-je%fYqse_+=J`E<=`Or2zU&%9>v~52X6`;Z2AT0 zU_00Z&VbF}CD2-7&E5rh_}t z4b1!->fuiRoDD7p_hqb=-pwxpwQ0l=EQ0l=2@G0;n_zAG-Bf34=3QBu20!n*w z8kF{A7L@j60hIQnZFRHi*Rr7WYezuo*Dit5uiXZvUrT(nIk5rU0?PPk5NrpJft$cf z;70HkDC0}(W6f&3xE_>oW&xCO=3!9C<~q;4qs!PHz+xMqH zk-r3r{2VCq3!su;Tay#Mt=tRWUYEbzALm~9FMv{RuY(fcJlF=dd{UR&b>I>1yFnQ* zj0&RQxF8BH2%_M+APVLMQPA?sUT|^+&ZqX$-1Dh#k#IAVa+RSvs%^( ze}}bB;SsA_p|xyOBQer*O~<*HbX)`_9dn?h;~v-suKJWt$2RZ?_j^G}$1y?DaX}CT zHw00zAc%sMzXGCQt6&G?C_xk)5wtJVSm(J%jdcT*cr5tntAAC~yFtmPNf2o(s5AARe3O`icJoGYLs%s=;SdfU@p|8DL@?GQv4`#*5`3*XjH>u?7_ZuND9czpa(WzVaEZP-f?jx}u{_8%0)kS7I+_^cob7eK_V zwx=FdUB%K#4#W`~X-6W&Cj* zl<~)TP{tp#pp3h3fimv94+83vbgW#f)3p_p`0fEEzDGc5cg};-Ze9lg=eoz6Cx7wmki)>fg75zr=kRTmzm4*MhU)C&78}m%)`A9##E&2ly%O z%b@h{XF%!SuYuCPFM!g&um1F-s(vGu(^(HBjX5gJQ?_jatuMQ0#CD6gyl6#SV8tDHp3Z>H5|KN_{&F zN`1Qss`>^>eQVvU>)TdP%F$j>B61Rx`gR2boa;9C60epmUjKIP#edM{FX5i#Uh3y1 zQ05D6g6qHsF20wK&^|r$Xd>4^y#n*x&wvH)&w~Tp&w)F+e*o^{e%-T=CI-1LfV;Ur z0)Bz}OW+s5JK!D*dq4MR;!Ds|;4Ao7z#{kO!M)tS1^!iw@!(chdPqn+_wt4H2*`7Y zbr$6L!@2>=&I=E0T=P8lWK0jpc-xu;8E;#s!6xvk(8;LVf@IX{7eF#

;g9w-cnoZY{P#ijWT{x$+9GX%qL^zUME#82|W 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 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.rc b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.rc deleted file mode 100644 index e69de29..0000000 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.res b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.res deleted file mode 100644 index 36f26e234a8ac66a47e95cec6d496cf2f1442471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32 UcmZQzU|>)H;{X347|28c09i@|9RL6T diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvocnet_common.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvocnet_common.obj deleted file mode 100644 index 2a3aedec4ebe636925becb89c7b20104d9f8901e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19300 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 a&vf+byAk+E{*U1A{Jq6v>Fewc!2biG@0Qd6 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/plugin.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/plugin.obj deleted file mode 100644 index 0014b5fefc30896b1ed5bbf71a0eb41e212963f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15764 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 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/ws_util.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/ws_util.obj deleted file mode 100644 index f7bb0b5414fca636fec901b3420ed355d3c2337e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18870 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 F@_#zc3_1V+ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/module.h b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/module.h index 710a04f..7a8ce21 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/module.h +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/module.h @@ -2,13 +2,13 @@ File: module.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Wireshark module This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -16,10 +16,11 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) $Octasic_Revision: 4 $ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octdev_common.h b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octdev_common.h index 4703c56..2ef044c 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octdev_common.h +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octdev_common.h @@ -2,24 +2,26 @@ File: octdev_common.h -Copyright (c) 2014 Octasic Inc. All rights reserved. + +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark module dissector related functions -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -$Octasic_Release: $ +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -34,10 +36,10 @@ $Octasic_Revision: $ /**************************************************************************** COMMON API ENUMERATION STRING VALUES ****************************************************************************/ -extern const value_string vals_tOCT_BOOL32[]; -extern const value_string vals_tOCTDEV_IP_VERSION_ENUM[]; -extern const value_string vals_tOCTDEV_DEVICES_TYPE_ENUM[]; -extern const value_string vals_tOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM[]; +extern const value_string vals_tOCT_BOOL32[3]; +extern const value_string vals_tOCTDEV_IP_VERSION_ENUM[]; +extern const value_string vals_tOCTDEV_DEVICES_TYPE_ENUM[]; +extern const value_string vals_tOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM[]; #endif /* _OCTDEV_COMMON_H__ */ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octpkt_common.h b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octpkt_common.h index c524afc..852a275 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octpkt_common.h +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octpkt_common.h @@ -2,24 +2,26 @@ File: octpkt_common.h -Copyright (c) 2014 Octasic Inc. All rights reserved. + +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark module dissector related functions -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -$Octasic_Release: $ +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -34,9 +36,9 @@ $Octasic_Revision: $ /**************************************************************************** COMMON API ENUMERATION STRING VALUES ****************************************************************************/ -extern const value_string vals_tOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK[]; -extern const value_string vals_tOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM[]; -extern const value_string vals_tOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK[]; +extern const value_string vals_tOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK[13]; +extern const value_string vals_tOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM[]; +extern const value_string vals_tOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK[10]; #endif /* _OCTPKT_COMMON_H__ */ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvc1_common.h b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvc1_common.h index 04ea179..30e0bc5 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvc1_common.h +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvc1_common.h @@ -2,24 +2,26 @@ File: octvc1_common.h -Copyright (c) 2014 Octasic Inc. All rights reserved. + +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark module dissector related functions -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -37,18 +39,31 @@ $Octasic_Revision: $ /**************************************************************************** COMMON API ENUMERATION STRING VALUES ****************************************************************************/ -extern const value_string vals_tOCTVC1_OBJECT_CURSOR_ENUM[]; -extern const value_string vals_tOCTVC1_BUFFER_FORMAT_ENUM[]; -extern const value_string vals_tOCTVC1_BUFFER_FORMAT_MAIN_ENUM[]; -extern const value_string vals_tOCTVC1_ETH_PORT_ID_ENUM[]; -extern const value_string vals_tOCTVC1_IP_VERSION_ENUM[]; -extern const value_string vals_tOCTVC1_VLAN_PROTOCOL_ID_ENUM[]; -extern const value_string vals_tOCTVC1_MSG_FLAGS_MASK[]; -extern const value_string vals_tOCTVC1_LOG_TYPE_ENUM[]; -extern const value_string vals_tOCTVC1_LOG_LEVEL_ENUM[]; -extern const value_string vals_tOCTVC1_LOG_TRACE_MASK[]; -extern const value_string vals_tOCTVC1_FILE_TYPE_ENUM[]; -extern const value_string vals_tOCTVC1_FILE_FORMAT_ENUM[]; +extern const value_string vals_tOCTVC1_OBJECT_CURSOR_ENUM[]; +extern const value_string vals_tOCTVC1_BUFFER_FORMAT_ENUM[]; +extern const value_string vals_tOCTVC1_BUFFER_FORMAT_MAIN_ENUM[]; +extern const value_string vals_tOCTVC1_ETH_PORT_ID_ENUM[]; +extern const value_string vals_tOCTVC1_IP_VERSION_ENUM[]; +extern const value_string vals_tOCTVC1_VLAN_PROTOCOL_ID_ENUM[]; +extern const value_string vals_tOCTVC1_MSG_FLAGS_MASK[4]; +extern const value_string vals_tOCTVC1_LOG_TYPE_ENUM[]; +extern const value_string vals_tOCTVC1_LOG_LEVEL_ENUM[]; +extern const value_string vals_tOCTVC1_LOG_PAYLOAD_TYPE_ENUM[]; +extern const value_string vals_tOCTVC1_LOG_TRACE_MASK[11]; +extern const value_string vals_tOCTVC1_FILE_TYPE_ENUM[]; +extern const value_string vals_tOCTVC1_FILE_FORMAT_ENUM[]; +extern const value_string vals_tOCTVC1_MODULE_ID_ENUM[]; +extern const value_string vals_tOCTVC1_RADIO_STANDARD_ENUM[]; +extern const value_string vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM[]; +extern const value_string vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM[]; +extern const value_string vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM[]; +extern const value_string vals_tOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM[]; +extern const value_string vals_tOCTVC1_RADIO_ID_DIRECTION_ENUM[]; +extern const value_string vals_tOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM[]; +extern const value_string vals_tOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM[]; +extern const value_string vals_tOCTVC1_PROCESS_TYPE_ENUM[]; +extern const value_string vals_tOCTVC1_PROCESS_STATE_ENUM[]; +extern const value_string vals_tOCTVC1_PROCESS_TASK_STATE_ENUM[]; /**************************************************************************** COMMON API DISSECTOR @@ -61,18 +76,28 @@ extern unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET(tvbuff_t *tvb, pac extern unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_CURSOR_INDEX_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_OBJECT32_NAME(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_VLAN_TAG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_VLAN_HEADER_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_LIST_HANDLE_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_LIST_NAME_OBJECT32_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_LIST_INDEX_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_LIST_INDEX_GET_SUB_INDEX(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_MSG_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_EVENT_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_LOG_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); extern unsigned int dissect_tOCTVC1_FILE_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); -extern unsigned int dissect_tOCTVC1_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_API_SESSION_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_API_SESSION_EVT_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_PROCESS_ERROR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_PROCESS_TASK_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_PROCESS_CPU_USAGE_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); /**************************************************************************** COMMON USER REGISTATION @@ -80,16 +105,12 @@ extern unsigned int dissect_tOCTVC1_HANDLE(tvbuff_t *tvb, packet_info *pinfo, p void ws_register_OCTVC1_common(void); #define cOCTVC1_PRIVATE_ID_STRING "unknowned_private" #define cOCTVC1_UNKNOWN_STRING "Unknown" -#define cOCTVC1_GOD_USER "oct-super-user" -#define cOCTVC1_GOD_USER_ID "octsu98asic" -#define cOCTVC1_PRIVATE_VISIBILITY_USER "oct-dev" +#define cOCTVC1_GOD_USER "user_0" +#define cOCTVC1_GOD_USER_ID "user_1" +#define cOCTVC1_PRIVATE_VISIBILITY_USER "user_2" #ifdef OCT_DECLARE_COMMON -gchar* aOCTVC1_user_list[][2] = { - { "oct-dev","octdev98asic"}, - { "feature-spec","feature-psw"}, - { "company","company-psw"}, - { "company-2","company-2-psw"}, - {NULL,NULL} +gchar* aOCTVC1_user_list[][2] = { +{NULL,NULL} }; #else gchar* aOCTVC1_user_list[][2]; diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvocnet_common.h b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvocnet_common.h index 4dc39a5..3f42501 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvocnet_common.h +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvocnet_common.h @@ -2,24 +2,26 @@ File: octvocnet_common.h -Copyright (c) 2014 Octasic Inc. All rights reserved. + +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark module dissector related functions -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -34,8 +36,7 @@ $Octasic_Revision: $ /**************************************************************************** COMMON API ENUMERATION STRING VALUES ****************************************************************************/ -extern const value_string vals_tOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM[]; -extern const value_string vals_tOCTVOCNET_PKT_D_TYPE_ENUM[]; +extern const value_string vals_tOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM[]; #endif /* _OCTVOCNET_COMMON_H__ */ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/plugin_info.h b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/plugin_info.h index 06a2dfb..cebec28 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/plugin_info.h +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/plugin_info.h @@ -2,13 +2,13 @@ File: plugin_info.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Wireshark plugin common This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -16,10 +16,11 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) $Octasic_Revision: 4 $ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/ws_util.h b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/ws_util.h index ea1c5fe..1c5c8f8 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/ws_util.h +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/ws_util.h @@ -3,13 +3,13 @@ File: oct_ws_util.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Wireshark utility This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -17,10 +17,11 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) $Octasic_Revision: 4 $ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/makefile.nmake b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/makefile.nmake index 4569b52..d5464bf 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/makefile.nmake +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/makefile.nmake @@ -7,7 +7,6 @@ SRC_PATH=source # DEV_ROOT=../../../../../../.. WS_ROOT=../../../.. -TGT_WS_VERSION=1.6.5 # DISSECTOR_SRC= \ $(SRC_PATH)/octvc1_plugin.c $(SRC_PATH)/octvc1_msg_ctrl.c $(SRC_PATH)/octvc1_msg_event.c \ @@ -19,9 +18,10 @@ DISSECTOR_SRC= \ $(SRC_PATH)/octvc1_cid_eid_value_string.c \ $(SRC_PATH)/octvc1_module_ctrl.c \ $(SRC_PATH)/octvc1_module_main.c \ + $(SRC_PATH)/octvc1_module_test.c \ + $(SRC_PATH)/octvc1_module_hw.c \ + $(SRC_PATH)/octvc1_module_irsc.c \ $(SRC_PATH)/octvc1_module_gsm.c \ - - !include ..\..\..\..\$(TGT_WS_VERSION)\config.nmake diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis2ws.nmake b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis2ws.nmake deleted file mode 100644 index 0f39785..0000000 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis2ws.nmake +++ /dev/null @@ -1,141 +0,0 @@ -# oasis2ws.nmake -# nmake file for Wireshark plugin -# -!include $(OASIS_MAKE)/$(OASIS_PROJECT)/$(OASIS_PROJECT_PACKAGE)/oasis_project.common -!include $(OASIS2WS_PATH)/makefile/common.nmake - -WS_TARGET_SRC_FILE_LIST = \ - $(WS_PACKAGE_TARGET)/source/octvc1_common.c \ - $(WS_PACKAGE_TARGET)/source/octvc1_cid_eid_value_string.c \ - $(WS_PACKAGE_TARGET)/source/octdev_common.c \ - $(WS_PACKAGE_TARGET)/source/octpkt_common.c \ - $(WS_PACKAGE_TARGET)/source/octvocnet_common.c \ - $(WS_PACKAGE_TARGET)/source/octvc1_module_ctrl.c \ - $(WS_PACKAGE_TARGET)/source/octvc1_module_main.c \ - $(WS_PACKAGE_TARGET)/source/octvc1_module_gsm.c \ - $(WS_PACKAGE_TARGET)/source/octvc1_module_cpp.c \ - $(WS_PACKAGE_TARGET)/source/octvc1_module_net.c \ - -WS_TARGET_HEADER_FILE_LIST = \ - $(WS_PACKAGE_TARGET)/include/octvc1_common.h \ - $(WS_PACKAGE_TARGET)/include/octdev_common.h \ - $(WS_PACKAGE_TARGET)/include/octpkt_common.h \ - $(WS_PACKAGE_TARGET)/include/octvocnet_common.h \ - -WS_TARGET_SMOKE_TEST_LIST = \ - $(WS_PACKAGE_TARGET)/smoke_test/ws_smoke.c - -WS_TARGET_DEFAULT_FILE_LIST = \ - $(WS_PROJECT_TARGET)/include/module.h - -WS_TARGET_COMPANION_FILE_LIST = \ - $(WS_PACKAGE_TARGET)/../octvocnet_ws/include/octvocnet_common.h \ - $(WS_PACKAGE_TARGET)/../octvocnet_ws/source/octvocnet_common.c \ - -OASIS_DEPENDENCIES = \ - $(OASIS_SOURCE_ALL) \ - $(OASIS_SOURCE_COMMON) \ - $(OASIS_MAKE)/$(OASIS_PROJECT)/catalog.xml - -all: about oasis2ws - -# ---------------------------------------------------------------------------------- -# OCTVC1 plugin transformations -# ---------------------------------------------------------------------------------- -$(WS_PACKAGE_TARGET)/include/octvc1_common.h: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_SOURCE_MODULE) - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam action GEN_PLUGIN --stringparam target $(WS_PACKAGE_TARGET) --output $@ $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_PACKAGE_BUILD_PATH)/catalog.xml - -$(WS_PACKAGE_TARGET)/source/octvc1_common.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_SOURCE_MODULE) - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module NONE --stringparam action GEN_PLUGIN --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/catalog.xml - -$(WS_PACKAGE_TARGET)/source/octvc1_cid_eid_value_string.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_CID_EID_STR) $(OASIS_SOURCE_MODULE) - @echo Generating: $@ - $(OASIS_XSLT_PROC) --output $@ $(OASIS_XSLT_WS_CID_EID_STR) $(OASIS_PACKAGE_BUILD_PATH)/catalog.xml - -$(WS_PACKAGE_TARGET)/include/octdev_common.h: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octdev/component/catalog.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam action GEN_COMMON --output $@ $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octdev/component/catalog.xml - -$(WS_PACKAGE_TARGET)/source/octdev_common.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octdev/component/catalog.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module NONE --stringparam action GEN_COMMON --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octdev/component/catalog.xml - -$(WS_PACKAGE_TARGET)/include/octpkt_common.h: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octpkt/component/catalog.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam action GEN_COMMON --output $@ $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octpkt/component/catalog.xml - -$(WS_PACKAGE_TARGET)/source/octpkt_common.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octpkt/component/catalog.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module NONE --stringparam action GEN_COMMON --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octpkt/component/catalog.xml - -$(WS_PACKAGE_TARGET)/include/octvocnet_common.h: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octvocnet/component/catalog.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam action GEN_COMMON --output $@ $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octvocnet/component/catalog.xml - -$(WS_PACKAGE_TARGET)/source/octvocnet_common.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octvocnet/component/catalog.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module NONE --stringparam action GEN_COMMON --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octvocnet/component/catalog.xml - -$(WS_PACKAGE_TARGET)/source/octvc1_module_ctrl.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/ctrl/octvc1_ctrl_api.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module CTRL --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/ctrl/octvc1_ctrl_api.xml - -$(WS_PACKAGE_TARGET)/source/octvc1_module_main.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/main/octvc1_main_api.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module MAIN --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/main/octvc1_main_api.xml - -$(WS_PACKAGE_TARGET)/source/octvc1_module_gsm.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/gsm/octvc1_gsm_api.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module GSM --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/gsm/octvc1_gsm_api.xml - -$(WS_PACKAGE_TARGET)/source/octvc1_module_cpp.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/cpp/octvc1_cpp_api.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module CPP --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/cpp/octvc1_cpp_api.xml - -$(WS_PACKAGE_TARGET)/source/octvc1_module_net.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/net/octvc1_net_api.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module NET --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_PACKAGE_BUILD_PATH)/net/octvc1_net_api.xml - -# ---------------------------------------------------------------------------------- -# OCTVC1 plugin smoke test -# ---------------------------------------------------------------------------------- -$(WS_PACKAGE_TARGET)/smoke_test/ws_smoke.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_SOURCE_MODULE) - @echo Generating: $@ - $(OASIS_XSLT_PROC) --output $@ $(OASIS_XSLT_WS_SMOKE) $(OASIS_PACKAGE_BUILD_PATH)/catalog.xml - -# ---------------------------------------------------------------------------------- -# OCTVC1 companion plugin -# ---------------------------------------------------------------------------------- -$(WS_PACKAGE_TARGET)/../octvocnet_ws/include/octvocnet_common.h: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octvocnet/component/catalog.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam action GEN_COMMON --output $@ $(OASIS_XSLT_WS_COMMON_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octvocnet/component/catalog.xml - -$(WS_PACKAGE_TARGET)/../octvocnet_ws/source/octvocnet_common.c: $(OASIS_DEPENDENCIES) $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octvocnet/component/catalog.xml - @echo Generating: $@ - $(OASIS_XSLT_PROC) --stringparam oasis_module NONE --stringparam action GEN_COMMON --output $@ $(OASIS_XSLT_WS_MODULE_DIS) $(OASIS_MAKE)/$(OASIS_PROJECT)/octvocnet/component/catalog.xml - - -# ---------------------------------------------------------------------------------- -#Rules -# ---------------------------------------------------------------------------------- - -oasis2ws: ws2tgt $(WS_TARGET_SRC_FILE_LIST) $(WS_TARGET_HEADER_FILE_LIST) $(WS_TARGET_SMOKE_TEST_LIST) $(WS_TARGET_COMPANION_FILE_LIST) - -clean: - -@ erase /Q $(WS_TARGET_SRC_FILE_LIST:/=\) - -@ erase /Q $(WS_TARGET_HEADER_FILE_LIST:/=\) - -@ erase /Q $(WS_TARGET_SMOKE_TEST_LIST:/=\) - -@ erase /Q $(WS_TARGET_COMPANION_FILE_LIST:/=\) - -about: - @echo +++++++++++++++++++++++++++++++++++++++++++++ - @echo Generating WS Sources Plugin for OCTVC1 - @echo from: $(OASIS_MAKE:\=/)/$(OASIS_PROJECT) - @echo +++++++++++++++++++++++++++++++++++++++++++++ - -ws2tgt: - @if exist "$(WS_TARGET_ROOT:/=\)\$(OASIS_PROJECT_PACKAGE:/=\)_ws" xcopy $(WS_TARGET_ROOT:/=\)\$(OASIS_PROJECT_PACKAGE:/=\)_ws $(WS_PACKAGE_TARGET:/=\) /D /S /Q /Y /I 1> nul - @if exist "$(WS_TARGET_ROOT:/=\)\octvocnet_ws" xcopy $(WS_TARGET_ROOT:/=\)\octvocnet_ws $(WS_PACKAGE_TARGET:/=\)\..\octvocnet_ws /D /S /Q /Y /I 1>nul - diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis_pkgCommon.xml b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis_pkgCommon.xml deleted file mode 100644 index ae1a6ba..0000000 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis_pkgCommon.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/octvc1.pcap b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/octvc1.pcap index e35fe87bbc1685cc848f56bfad10e48a0a042fa4..b548173c706bfeee306e9136b94f334bf498f9cb 100644 GIT binary patch literal 43234 zcmeI53%q639LLu=_s%qpp}CoR@6;W2rbZ1V)6Wh|4DOB&03$&I%lo5*Z%I``tSc_v5hfi zP1!ZvXUZJrJ0dHrS#re!#RA0wn~Me5leW=VZLhq@>)^Y#B5O#^>Wt)AJj4Z6jC*)< zcK4{&_bK*!WOA#hyx-Xtt-@Pa*22-f%2f9%sU>7hRkO^<4)m!l$Z1Lx$hsTK)>JXE z;Q7%Gwr_(41y)qEk6E^AI~;#;6_ZvijKs~i`4Pj(mk<`QY?##TkmcsO#=1yQzwacU%+ga24}7 zj{+;Ic{|C{0y{x#_RNT*R9KU@v^q5N$DL7jY84Y}uB>-(iAjFJngPpgy6r#Na$fBF zS20nWTVdf1I1YAPdk>VZ!NM+MOdE=N&!KMbDbZqj$rlS03-rMP>?7`pyV=>R?*tq!$HCqSc1Njtl~AI^^pYO{3(#NofDW}sb0SiQ8*PfL zJ&{^k#dzFc4^r=ggdLCJnhRKdg>IVUy^v9>PocVQk9r@Zb!~;dfab_l#z~=$Wk$?gx4-*r>~>!isO=W8d@j}PivqPe zPUY&*sJkD^)an9O4Ml?Ls7yzM?KnBCgHtzjJqqkw0sA4LYcI}hKy+xTqrd4`P-nf_ zF^p+!_W(5ux&l_CYY~!at8waDhuCTl#1>skp)MdgG_6KuS(aNdsdZGdxe>!@WfaJI z5Xy8c=*qAT?8VB>TscLJ0(CtYWolg+7DrGz7Q8IBBN){65PaV}>|)&S4)YrE!tgp~ zU@w8?RV&G2fntGTf!m1%*b6R!R&|fc1-U4Y^-z>8Z@U=xsBIp|3vCVs*`o?9uUbhK z3wRcwmvKfXucS;h#(I^vgP&|6GaIuBtRjbj)Q6!+o-={EAgmwcNSz5PzilAxAf#>; z4Ofv1q&*zTBdZu*SJ3vzs-pBoO$(q6qnr&3JlesiDr?7v*b*Jf9c@}~^X|j0*gOJh z<=VYW^S~upEKn@aFAK1bV5gHEHOTYBQB(J6jdHRch3tB4V+?yYn`nGojbujC(MqrO@hFc*1@-lmjEQ<3rEDt}=(h#v>4!js z`Yt4lg~>Wp&B9$M!{Rlb)fKNG&bF2u#T+6D)b$uO3%W9_!_+J@iuKbZP}gJCEa=Lx z4p+0Fi?8iRfw~@tGM(+AE5kZM&4MoBFT1Gg@oE-yWmudG9*)rxV|*WJbL#1ZHjQDR zt7E^bkLoWS{i2dC76>druYCeacy%(yo@OFXvzHym<{ea41s>^%*du%0=4KRg{lhfx zN!a>!2*N(o@ zrtf+RijTy7oiXll+gx_>LVFQ2=(_?I%StE~_+J*F=N^qpYR{eLlN--{DvI~TjEFJz z+~MdBK0JpEcy7S*xg}jJP%N4s;ti@GKtP;O-U@Z=-U<8*BRQMchRx1=%>dAU8SO-)wQ7FGfK9+yBK;rX2Q_g(H zq!m$PXTHw|P5GA_G7X#(2F(KWmlr^k+MB1OEg|cLD5n20CfZ-jTuj3@adjE@2toDA1mf%Z4|1Cg&ISw+^{<4LnowS!=!@H}P`2Xvpy?AK) zzetPf{@=1xc|2(9HcyKsY=7Mmt4Mn(Ht6~fv^k-4#5*alAZE7UBgo-VUaK(TtnBCr}dTRVxY`iu*|f#KTwO3;q3V&dg|Sm}o)%;1cR zG{0i6G~4hhR8Y5JhCsDF`>U}*-Lp$H;Q*zm-xi?1yapn4BWqlh((jnq`2dNp1#x}L z#n|s#Yr{6XUl4`gOT@5h$qkeRc&1N;B6VLQ{?$KeuLF&5zca>uV{e@(ufwiP!EZ!b zT?+}4Ii%3tE#Tw)$!>kc|YdusHz+N;oJ%=?}$Q@_IwA*v#N9UoRz}JdMAq2_7qsoo+qhkuqS`4vJTym zFSWf3rMh;)q5;ie$>O|5eT|IOvTTC0b35OePU3rzQLBrH1d?^KngzR!bMG*a^ki7 z%^LX!z&f>x$^DKUh94%G=|n8Q!flym%c)d8L)fq|I=br{#zXtLmNzv?{UEZ-tC-ke zNmJLR>``EY;H*S-k}QvM8cKD24}4x&iFRwfr-P<^%SomsT1!E(K(WB4w*dQy58<%t zJ_7H8q=B>#qxi%sCjHuR(LTp8kA6+0MRhkiOI2rJZ~1#q ztC+NNktH-A3z$SZH|R+Q>1U$8S}$(xNw9Ye5Ib)N+V>ONe2u0-0$Ks&OEabJ=AF2N#HWM3iDxUE;<(LRm}>b`DTj!NPu zu<__BCi)MH_OxSd=+6?P`eK$xJsVrp?GTH3C1$cFT z3Wrv&s7&|uHY+NhM)8U&COzIE{ys<_$UJ(yfECs0nWcIT5!LF2XS`&61}t6A3H1WY zi6(IslIr{647Y#qX`cmu7DeiH4~Z6_OQu+$SfD=^U>|WV4z2FN;-~dkFDL7By;$?3 zHqK@qJy^^_DOu;?JF81%nQ`f9Fj=2hv!F|OvP{8Y>nQ@;S3^8K1|`57`m zB@CDa=r0#QliFWqN(~|Hi`cNNipdDaj%d6+?TQ{eS)_UO>LibFA#!TH(i3^>-(Lbv z?cWlu)>smQV*&chMUa#2r*lt4gZCtEv<)Kb%SbJ)V&dIAh#xE)-W{;~3f(lxtC3NA zb@0xFQ|azaUja=$&j@H;Z5#4U{THL6+RC$hdSm5FP^_M31T3FRb(e08y5RkZM%`Dz zQulBH%U2htsdfztWnaKT|AKfAFVD9EW}2N1zilAxYe@aHiiyvD+tsT-SKHLYWKF2I z40d8M<*~Jw;alg29kI1!eO=8m6VkJPvMyJ%I$72?z>@s~8)E>sV@j@@#1>${6)^B4f#p{l ztTbEsEl5&ZOn7Qb7P~kd3l__;z5~{kRZOhUn~WdMwV8?Z>1_ASzCrt@wb(kfwQyUC z16kiip}L=vo=@44`c6lts#(w_te%s#Ud@884C_Z~7IaNu zrzlX@k5Q%^`-&`wCh;d~BDBqkq}l&Q#{P;#jwaQ@$U}7^v{)*h|;*;OvS|DoDFpO@jqz_`wM%&$hZ{3-IK9NY;A3)mYyOHO>bw=_Zd8&<+TYYP*d|N+J80^2HzsLAnH~521Bo?N zOwOHMjq~KWoNZKuGnwc=$onHSLaH zJ4$0e?6Qm5Jt{BR&BOxqo?&=_-2Y8Y|4!Mr3-&`_vWwZnFJzk3DcE{E(u}cBnqyfj z6G%M>)IBrXRmD^?6~tS0b?l`&WT||Iu>iei3wVz_Cd1Xy%QNW5v*5=a-y9@P! literal 75582 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. - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -62,7 +64,6 @@ const value_string vals_tOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM[] = { cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTVOCNET, "cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTVOCNET" }, { cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTMFA, "cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTMFA" }, { cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_LTE_FAPI, "cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_LTE_FAPI" }, - { cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTSDR, "cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTSDR" }, { cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_TEST, "cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_TEST" }, { cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_NONE, "cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_NONE" }, { 0, NULL } diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_cid_eid_value_string.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_cid_eid_value_string.c index a8c1c7f..5fcd113 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_cid_eid_value_string.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_cid_eid_value_string.c @@ -2,24 +2,25 @@ File: OCTVC1_cid_eid_value_string.c -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark value_string of all CID and EID -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -33,9 +34,12 @@ $Octasic_Revision: $ #include "../include/module.h" #include "../include/octvc1_common.h" -#include
-#include -#include +#include
+#include +#include +#include +#include +#include /**************************************************************************** @@ -44,7 +48,10 @@ $Octasic_Revision: $ const value_string vals_OCTVC1_module_UID[] = { { (cOCTVC1_MAIN_UID), "MAIN" }, - { (cOCTVC1_CTRL_UID), "CTRL" }, + { (cOCTVC1_CTRL_UID), "CTRL" }, + { (cOCTVC1_TEST_UID), "TEST" }, + { (cOCTVC1_HW_UID), "HW" }, + { (cOCTVC1_IRSC_UID), "IRSC" }, { (cOCTVC1_GSM_UID), "GSM" }, { 0, NULL }, }; @@ -54,32 +61,8 @@ const value_string vals_OCTVC1_module_UID[] = ****************************************************************************/ const value_string vals_OCTVC1_MAIN_CID[] = { - { (cOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CID& 0x00000FFF), "MODULE_MODIFY_EVT" }, - { (cOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CID& 0x00000FFF), "MODULE_INFO_EVT" }, - { (cOCTVC1_MAIN_MSG_MODULE_START_TRACING_CID& 0x00000FFF), "MODULE_START_TRACING" }, - { (cOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CID& 0x00000FFF), "MODULE_STOP_TRACING" }, - { (cOCTVC1_MAIN_MSG_BUFFER_OPEN_CID& 0x00000FFF), "BUFFER_OPEN" }, - { (cOCTVC1_MAIN_MSG_BUFFER_CLOSE_CID& 0x00000FFF), "BUFFER_CLOSE" }, - { (cOCTVC1_MAIN_MSG_BUFFER_INFO_CID& 0x00000FFF), "BUFFER_INFO" }, - { (cOCTVC1_MAIN_MSG_BUFFER_LIST_CID& 0x00000FFF), "BUFFER_LIST" }, - { (cOCTVC1_MAIN_MSG_BUFFER_MODIFY_CID& 0x00000FFF), "BUFFER_MODIFY" }, - { (cOCTVC1_MAIN_MSG_BUFFER_WRITE_CID& 0x00000FFF), "BUFFER_WRITE" }, - { (cOCTVC1_MAIN_MSG_BUFFER_READ_CID& 0x00000FFF), "BUFFER_READ" }, - { (cOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CID& 0x00000FFF), "BUFFER_INFO_BY_NAME" }, - { (cOCTVC1_MAIN_MSG_DEVICE_INFO_CID& 0x00000FFF), "DEVICE_INFO" }, - { (cOCTVC1_MAIN_MSG_DEVICE_RESET_CID& 0x00000FFF), "DEVICE_RESET" }, - { (cOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CID& 0x00000FFF), "DEVICE_STATUS_OPUS_CORE" }, - { (cOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CID& 0x00000FFF), "DEVICE_INFO_OPUS_CORE" }, - { (cOCTVC1_MAIN_MSG_OCT1010_INFO_CID& 0x00000FFF), "OCT1010_INFO" }, - { (cOCTVC1_MAIN_MSG_OCT1010_RESET_CID& 0x00000FFF), "OCT1010_RESET" }, - { (cOCTVC1_MAIN_MSG_OCT1010_STATS_CID& 0x00000FFF), "OCT1010_STATS" }, - { (cOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CID& 0x00000FFF), "OCT1010_STATUS_CORE" }, - { (cOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CID& 0x00000FFF), "OCT1010_INFO_CORE" }, - { (cOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CID& 0x00000FFF), "OCT1010_INFO_OCT1010ID" }, - { (cOCTVC1_MAIN_MSG_ETH_STATS_CID& 0x00000FFF), "ETH_STATS" }, - { (cOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CID& 0x00000FFF), "ETH_MODIFY_PORT_CONFIG" }, - { (cOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CID& 0x00000FFF), "ETH_INFO_PORT_CONFIG" }, - { (cOCTVC1_MAIN_MSG_REGISTER_READ_CID& 0x00000FFF), "REGISTER_READ" }, + { (cOCTVC1_MAIN_MSG_TARGET_INFO_CID& 0x00000FFF), "TARGET_INFO" }, + { (cOCTVC1_MAIN_MSG_TARGET_RESET_CID& 0x00000FFF), "TARGET_RESET" }, { (cOCTVC1_MAIN_MSG_FILE_OPEN_CID& 0x00000FFF), "FILE_OPEN" }, { (cOCTVC1_MAIN_MSG_FILE_CLOSE_CID& 0x00000FFF), "FILE_CLOSE" }, { (cOCTVC1_MAIN_MSG_FILE_WRITE_CID& 0x00000FFF), "FILE_WRITE" }, @@ -89,33 +72,32 @@ const value_string vals_OCTVC1_MAIN_CID[] = { (cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CID& 0x00000FFF), "FILE_SYSTEM_INFO" }, { (cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CID& 0x00000FFF), "FILE_SYSTEM_INFO_FILE" }, { (cOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CID& 0x00000FFF), "FILE_SYSTEM_DELETE_FILE" }, - { (cOCTVC1_MAIN_MSG_LOG_ERASE_CID& 0x00000FFF), "LOG_ERASE" }, - { (cOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CID& 0x00000FFF), "LOG_READ_ENTRY" }, - { (cOCTVC1_MAIN_MSG_LICENSING_INFO_CID& 0x00000FFF), "LICENSING_INFO" }, - { (cOCTVC1_MAIN_MSG_GPIO_READ_BANK_CID& 0x00000FFF), "GPIO_READ_BANK" }, - { (cOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CID& 0x00000FFF), "GPIO_WRITE_BANK" }, - { (cOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CID& 0x00000FFF), "GPIO_MONITOR_BANK" }, - { (cOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CID& 0x00000FFF), "GPIO_MODIFY_BANK_CONFIG" }, - { (cOCTVC1_MAIN_MSG_SPI_ACCESS_CID& 0x00000FFF), "SPI_ACCESS" }, - { (cOCTVC1_MAIN_MSG_MDIO_READ_PHY_CID& 0x00000FFF), "MDIO_READ_PHY" }, - { (cOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CID& 0x00000FFF), "MDIO_WRITE_PHY" }, - { (cOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CID& 0x00000FFF), "MDIO_MONITOR_PHY" }, + { (cOCTVC1_MAIN_MSG_LOG_ERASE_CID& 0x00000FFF), "LOG_ERASE" }, + { (cOCTVC1_MAIN_MSG_LOG_INFO_CID& 0x00000FFF), "LOG_INFO" }, + { (cOCTVC1_MAIN_MSG_LOG_STATS_CID& 0x00000FFF), "LOG_STATS" }, + { (cOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CID& 0x00000FFF), "LOG_INFO_TRACE" }, + { (cOCTVC1_MAIN_MSG_LOG_START_TRACE_CID& 0x00000FFF), "LOG_START_TRACE" }, + { (cOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CID& 0x00000FFF), "LOG_STOP_TRACE" }, + { (cOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CID& 0x00000FFF), "LOG_ERASE_TRACE" }, + { (cOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CID& 0x00000FFF), "LOG_STATS_TRACE" }, { (cOCTVC1_MAIN_MSG_PROCESS_INFO_CID& 0x00000FFF), "PROCESS_INFO" }, { (cOCTVC1_MAIN_MSG_PROCESS_LIST_CID& 0x00000FFF), "PROCESS_LIST" }, { (cOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CID& 0x00000FFF), "PROCESS_MONITOR_CPU_USAGE" }, - { (cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID& 0x00000FFF), "PROCESS_INFO_CPU_USAGE" }, - { (cOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CID& 0x00000FFF), "DEBUG_FORWARD_OPEN" }, - { (cOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CID& 0x00000FFF), "DEBUG_FORWARD_CLOSE" }, - { (cOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CID& 0x00000FFF), "DEBUG_FORWARD_INFO" }, - { (cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CID& 0x00000FFF), "REDUNDANCY_SERVER_START" }, - { (cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CID& 0x00000FFF), "REDUNDANCY_SERVER_STOP" }, - { (cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CID& 0x00000FFF), "REDUNDANCY_SERVER_INFO" }, - { (cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CID& 0x00000FFF), "REDUNDANCY_SERVER_ADD_MGW" }, - { (cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CID& 0x00000FFF), "REDUNDANCY_SERVER_REMOVE_MGW" }, - { (cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CID& 0x00000FFF), "REDUNDANCY_SERVER_LIST_MGW" }, - { (cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CID& 0x00000FFF), "REDUNDANCY_SERVER_INFO_MGW" }, - { (cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CID& 0x00000FFF), "REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER" }, - { (cOCTVC1_MAIN_MSG_OCT2200_STATS_CID& 0x00000FFF), "OCT2200_STATS" }, + { (cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID& 0x00000FFF), "PROCESS_INFO_CPU_USAGE" }, + { (cOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CID& 0x00000FFF), "PROCESS_STATS_CPU_USAGE" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CID& 0x00000FFF), "API_SYSTEM_LIST_SESSION" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CID& 0x00000FFF), "API_SYSTEM_INFO_SESSION" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CID& 0x00000FFF), "API_SYSTEM_INFO_SESSION_EVT" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CID& 0x00000FFF), "API_SYSTEM_MODIFY_SESSION_EVT" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CID& 0x00000FFF), "API_SYSTEM_INFO_SESSION_HEARTBEAT" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CID& 0x00000FFF), "API_SYSTEM_STATS_SESSION_HEARTBEAT" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CID& 0x00000FFF), "API_SYSTEM_START_SESSION_HEARTBEAT" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CID& 0x00000FFF), "API_SYSTEM_STOP_SESSION_HEARTBEAT" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CID& 0x00000FFF), "API_SYSTEM_MODIFY_SESSION_HEARTBEAT" }, + { (cOCTVC1_MAIN_MSG_APPLICATION_START_CID& 0x00000FFF), "APPLICATION_START" }, + { (cOCTVC1_MAIN_MSG_APPLICATION_STOP_CID& 0x00000FFF), "APPLICATION_STOP" }, + { (cOCTVC1_MAIN_MSG_APPLICATION_INFO_CID& 0x00000FFF), "APPLICATION_INFO" }, + { (cOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CID& 0x00000FFF), "APPLICATION_INFO_SYSTEM" }, { 0, NULL }, }; const value_string vals_OCTVC1_MAIN_CID_PRIV[] = @@ -130,34 +112,175 @@ const value_string vals_OCTVC1_CTRL_CID_PRIV[] = { { 0, NULL }, }; +const value_string vals_OCTVC1_TEST_CID[] = +{ + { (cOCTVC1_TEST_MSG_DESCR_LIST_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_DESCR_INFO_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_DESCR_STATS_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_START_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { 0, NULL }, +}; +const value_string vals_OCTVC1_TEST_CID_PRIV[] = +{ + { (cOCTVC1_TEST_MSG_DESCR_LIST_CID& 0x00000FFF), "DESCR_LIST:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_DESCR_INFO_CID& 0x00000FFF), "DESCR_INFO:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CID& 0x00000FFF), "DESCR_INFO_BY_NAME:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_DESCR_STATS_CID& 0x00000FFF), "DESCR_STATS:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CID& 0x00000FFF), "RUNNER_SERVER_INFO:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CID& 0x00000FFF), "RUNNER_SERVER_STATS:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_START_CID& 0x00000FFF), "RUNNER_SERVER_START:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CID& 0x00000FFF), "RUNNER_SERVER_STOP:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CID& 0x00000FFF), "RUNNER_SERVER_ADD_TEST:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CID& 0x00000FFF), "RUNNER_SERVER_REMOVE_TEST:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CID& 0x00000FFF), "RUNNER_SERVER_LIST_TEST:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CID& 0x00000FFF), "RUNNER_SERVER_INFO_TEST:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CID& 0x00000FFF), "RUNNER_SERVER_STATS_TEST:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CID& 0x00000FFF), "RUNNER_SERVER_START_TEST:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CID& 0x00000FFF), "RUNNER_SERVER_STOP_TEST:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { 0, NULL }, +}; +const value_string vals_OCTVC1_HW_CID[] = +{ + { (cOCTVC1_HW_MSG_PCB_INFO_CID& 0x00000FFF), "PCB_INFO" }, + { (cOCTVC1_HW_MSG_CPU_CORE_STATS_CID& 0x00000FFF), "CPU_CORE_STATS" }, + { (cOCTVC1_HW_MSG_CPU_CORE_INFO_CID& 0x00000FFF), "CPU_CORE_INFO" }, + { (cOCTVC1_HW_MSG_CPU_CORE_LIST_CID& 0x00000FFF), "CPU_CORE_LIST" }, + { (cOCTVC1_HW_MSG_ETH_PORT_INFO_CID& 0x00000FFF), "ETH_PORT_INFO" }, + { (cOCTVC1_HW_MSG_ETH_PORT_LIST_CID& 0x00000FFF), "ETH_PORT_LIST" }, + { (cOCTVC1_HW_MSG_ETH_PORT_STATS_CID& 0x00000FFF), "ETH_PORT_STATS" }, + { (cOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_HW_MSG_ETH_PORT_MODIFY_CID& 0x00000FFF), "ETH_PORT_MODIFY" }, + { (cOCTVC1_HW_MSG_RF_PORT_INFO_CID& 0x00000FFF), "RF_PORT_INFO" }, + { (cOCTVC1_HW_MSG_RF_PORT_STATS_CID& 0x00000FFF), "RF_PORT_STATS" }, + { (cOCTVC1_HW_MSG_RF_PORT_LIST_CID& 0x00000FFF), "RF_PORT_LIST" }, + { (cOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CID& 0x00000FFF), "RF_PORT_LIST_ANTENNA" }, + { (cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CID& 0x00000FFF), "RF_PORT_INFO_ANTENNA_RX_CONFIG" }, + { (cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CID& 0x00000FFF), "RF_PORT_MODIFY_ANTENNA_RX_CONFIG" }, + { (cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CID& 0x00000FFF), "RF_PORT_INFO_ANTENNA_TX_CONFIG" }, + { (cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CID& 0x00000FFF), "RF_PORT_MODIFY_ANTENNA_TX_CONFIG" }, + { (cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CID& 0x00000FFF), "CLOCK_SYNC_MGR_INFO" }, + { (cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CID& 0x00000FFF), "CLOCK_SYNC_MGR_STATS" }, + { (cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CID& 0x00000FFF), "CLOCK_SYNC_MGR_INFO_SOURCE" }, + { (cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CID& 0x00000FFF), "CLOCK_SYNC_MGR_MODIFY_SOURCE" }, + { (cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { (cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CID& 0x00000FFF), cOCTVC1_PRIVATE_ID_STRING }, + { 0, NULL }, +}; +const value_string vals_OCTVC1_HW_CID_PRIV[] = +{ + { (cOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CID& 0x00000FFF), "ETH_PORT_RESTRICTED_UNBLOCK:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CID& 0x00000FFF), "CLOCK_SYNC_MGR_START_SYNCHRO:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { (cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CID& 0x00000FFF), "CLOCK_SYNC_MGR_STOP_SYNCHRO:" \ + cOCTVC1_PRIVATE_VISIBILITY_USER \ + ","}, + { 0, NULL }, +}; +const value_string vals_OCTVC1_IRSC_CID[] = +{ + { (cOCTVC1_IRSC_MSG_PROCESS_INFO_CID& 0x00000FFF), "PROCESS_INFO" }, + { (cOCTVC1_IRSC_MSG_PROCESS_STATS_CID& 0x00000FFF), "PROCESS_STATS" }, + { (cOCTVC1_IRSC_MSG_PROCESS_LIST_CID& 0x00000FFF), "PROCESS_LIST" }, + { (cOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CID& 0x00000FFF), "PROCESS_INFO_IPC_PORT" }, + { (cOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CID& 0x00000FFF), "PROCESS_STATS_IPC_PORT" }, + { (cOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CID& 0x00000FFF), "PROCESS_LIST_IPC_PORT" }, + { (cOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CID& 0x00000FFF), "PROCESS_INFO_TASK" }, + { (cOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CID& 0x00000FFF), "PROCESS_STATS_TASK" }, + { (cOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CID& 0x00000FFF), "PROCESS_LIST_TASK" }, + { (cOCTVC1_IRSC_MSG_OBJMGR_INFO_CID& 0x00000FFF), "OBJMGR_INFO" }, + { (cOCTVC1_IRSC_MSG_OBJMGR_STATS_CID& 0x00000FFF), "OBJMGR_STATS" }, + { (cOCTVC1_IRSC_MSG_OBJMGR_LIST_CID& 0x00000FFF), "OBJMGR_LIST" }, + { (cOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CID& 0x00000FFF), "API_SYSTEM_START_MONITORING" }, + { (cOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CID& 0x00000FFF), "API_SYSTEM_STOP_MONITORING" }, + { (cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CID& 0x00000FFF), "API_SYSTEM_LIST_COMMAND" }, + { (cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CID& 0x00000FFF), "API_SYSTEM_STATS_COMMAND" }, + { (cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CID& 0x00000FFF), "API_SYSTEM_LIST_SESSION" }, + { (cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CID& 0x00000FFF), "API_SYSTEM_INFO_SESSION" }, + { (cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CID& 0x00000FFF), "API_SYSTEM_STATS_SESSION" }, + { (cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CID& 0x00000FFF), "API_SYSTEM_INFO_SESSION_EVT" }, + { (cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CID& 0x00000FFF), "API_SYSTEM_STATS_SESSION_EVT" }, + { 0, NULL }, +}; +const value_string vals_OCTVC1_IRSC_CID_PRIV[] = +{ + { 0, NULL }, +}; const value_string vals_OCTVC1_GSM_CID[] = { - { (cOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CID& 0x00000FFF), "MODULE_INFO_HARDWARE" }, - { (cOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CID& 0x00000FFF), "MODULE_MODIFY_EVT" }, - { (cOCTVC1_GSM_MSG_MODULE_INFO_EVT_CID& 0x00000FFF), "MODULE_INFO_EVT" }, - { (cOCTVC1_GSM_MSG_MODULE_INFO_CID& 0x00000FFF), "MODULE_INFO" }, - { (cOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CID& 0x00000FFF), "PROCESS_UNIT_MODIFY_EVT" }, - { (cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CID& 0x00000FFF), "PROCESS_UNIT_INFO_EVT" }, - { (cOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CID& 0x00000FFF), "PROCESS_UNIT_LIST" }, - { (cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CID& 0x00000FFF), "PROCESS_UNIT_INFO" }, - { (cOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CID& 0x00000FFF), "PROCESS_UNIT_STATS" }, - { (cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CID& 0x00000FFF), "PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME" }, - { (cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CID& 0x00000FFF), "PHYSICAL_CHANNEL_REQUEST_DATA" }, - { (cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CID& 0x00000FFF), "PHYSICAL_CHANNEL_CONFIGURE_CIPHERING" }, - { (cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CID& 0x00000FFF), "PHYSICAL_CHANNEL_CONNECT" }, - { (cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CID& 0x00000FFF), "PHYSICAL_CHANNEL_DISCONNECT" }, - { (cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CID& 0x00000FFF), "PHYSICAL_CHANNEL_RESET" }, - { (cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CID& 0x00000FFF), "LOGICAL_CHANNEL_ACTIVATE" }, - { (cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CID& 0x00000FFF), "LOGICAL_CHANNEL_DEACTIVATE" }, - { (cOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CID& 0x00000FFF), "TRX_STATUS_TIMESLOT" }, - { (cOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CID& 0x00000FFF), "TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT" }, - { (cOCTVC1_GSM_MSG_TRX_RESET_CID& 0x00000FFF), "TRX_RESET" }, + { (cOCTVC1_GSM_MSG_TRX_OPEN_CID& 0x00000FFF), "TRX_OPEN" }, + { (cOCTVC1_GSM_MSG_TRX_CLOSE_CID& 0x00000FFF), "TRX_CLOSE" }, { (cOCTVC1_GSM_MSG_TRX_STATUS_CID& 0x00000FFF), "TRX_STATUS" }, - { (cOCTVC1_GSM_MSG_TRX_CONFIGURE_CID& 0x00000FFF), "TRX_CONFIGURE" }, - { (cOCTVC1_GSM_MSG_TEST_START_ETSI_CID& 0x00000FFF), "TEST_START_ETSI" }, - { (cOCTVC1_GSM_MSG_TEST_END_ETSI_CID& 0x00000FFF), "TEST_END_ETSI" }, - { (cOCTVC1_GSM_MSG_TEST_START_FCC_CID& 0x00000FFF), "TEST_START_FCC" }, - { (cOCTVC1_GSM_MSG_TEST_END_FCC_CID& 0x00000FFF), "TEST_END_FCC" }, + { (cOCTVC1_GSM_MSG_TRX_INFO_CID& 0x00000FFF), "TRX_INFO" }, + { (cOCTVC1_GSM_MSG_TRX_RESET_CID& 0x00000FFF), "TRX_RESET" }, + { (cOCTVC1_GSM_MSG_TRX_MODIFY_CID& 0x00000FFF), "TRX_MODIFY" }, + { (cOCTVC1_GSM_MSG_TRX_LIST_CID& 0x00000FFF), "TRX_LIST" }, + { (cOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CID& 0x00000FFF), "TRX_CLOSE_ALL" }, + { (cOCTVC1_GSM_MSG_TRX_START_RECORD_CID& 0x00000FFF), "TRX_START_RECORD" }, + { (cOCTVC1_GSM_MSG_TRX_STOP_RECORD_CID& 0x00000FFF), "TRX_STOP_RECORD" }, + { (cOCTVC1_GSM_MSG_TRX_INFO_RF_CID& 0x00000FFF), "TRX_INFO_RF" }, + { (cOCTVC1_GSM_MSG_TRX_MODIFY_RF_CID& 0x00000FFF), "TRX_MODIFY_RF" }, + { (cOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CID& 0x00000FFF), "TRX_ACTIVATE_LOGICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CID& 0x00000FFF), "TRX_DEACTIVATE_LOGICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CID& 0x00000FFF), "TRX_STATUS_LOGICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CID& 0x00000FFF), "TRX_INFO_LOGICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CID& 0x00000FFF), "TRX_LIST_LOGICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID& 0x00000FFF), "TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS" }, + { (cOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID& 0x00000FFF), "TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS" }, + { (cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CID& 0x00000FFF), "TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME" }, + { (cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CID& 0x00000FFF), "TRX_REQUEST_LOGICAL_CHANNEL_DATA" }, + { (cOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CID& 0x00000FFF), "TRX_ACTIVATE_PHYSICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CID& 0x00000FFF), "TRX_DEACTIVATE_PHYSICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CID& 0x00000FFF), "TRX_STATUS_PHYSICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CID& 0x00000FFF), "TRX_RESET_PHYSICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CID& 0x00000FFF), "TRX_LIST_PHYSICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CID& 0x00000FFF), "TRX_INFO_PHYSICAL_CHANNEL" }, + { (cOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CID& 0x00000FFF), "TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING" }, + { (cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CID& 0x00000FFF), "TRX_INFO_PHYSICAL_CHANNEL_CIPHERING" }, + { (cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CID& 0x00000FFF), "TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT" }, { 0, NULL }, }; const value_string vals_OCTVC1_GSM_CID_PRIV[] = @@ -170,13 +293,10 @@ const value_string vals_OCTVC1_GSM_CID_PRIV[] = ****************************************************************************/ const value_string vals_OCTVC1_MAIN_EID[] = { - { (cOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EID& 0x0000FFFF), "MODULE_TRACING_BUFFER_FULL" }, - { (cOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EID& 0x0000FFFF), "MODULE_TRACING_STOP" }, - { (cOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EID& 0x0000FFFF), "DEVICE_OPUS_CORE_EXEC_REPORT" }, - { (cOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EID& 0x0000FFFF), "GPIO_BANK_CHANGE" }, - { (cOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EID& 0x0000FFFF), "MDIO_PHY_CHANGE" }, { (cOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EID& 0x0000FFFF), "PROCESS_CPU_USAGE_REPORT" }, - { (cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EID& 0x0000FFFF), "REDUNDANCY_SERVER_MGW_FAILOVER_DONE" }, + { (cOCTVC1_MAIN_MSG_PROCESS_DUMP_EID& 0x0000FFFF), "PROCESS_DUMP" }, + { (cOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EID& 0x0000FFFF), "API_SYSTEM_SESSION_HEARTBEAT" }, + { (cOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EID& 0x0000FFFF), "APPLICATION_STATE_CHANGE" }, { 0, NULL }, }; @@ -193,22 +313,44 @@ const value_string vals_OCTVC1_CTRL_EID_PRIV[] = { { 0, NULL }, }; +const value_string vals_OCTVC1_TEST_EID[] = +{ + { 0, NULL }, +}; + +const value_string vals_OCTVC1_TEST_EID_PRIV[] = +{ + { 0, NULL }, +}; +const value_string vals_OCTVC1_HW_EID[] = +{ + { (cOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EID& 0x0000FFFF), "CPU_CORE_EXEC_REPORT" }, + { (cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EID& 0x0000FFFF), "CLOCK_SYNC_MGR_STATUS_CHANGE" }, + { 0, NULL }, +}; + +const value_string vals_OCTVC1_HW_EID_PRIV[] = +{ + { 0, NULL }, +}; +const value_string vals_OCTVC1_IRSC_EID[] = +{ + { (cOCTVC1_IRSC_MSG_PROCESS_DUMP_EID& 0x0000FFFF), "PROCESS_DUMP" }, + { 0, NULL }, +}; + +const value_string vals_OCTVC1_IRSC_EID_PRIV[] = +{ + { 0, NULL }, +}; const value_string vals_OCTVC1_GSM_EID[] = { - { (cOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EID& 0x0000FFFF), "MODULE_TIME_INDICATION" }, - { (cOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EID& 0x0000FFFF), "MODULE_DATA_INDICATION" }, - { (cOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EID& 0x0000FFFF), "MODULE_TRX_RADIO_READY" }, - { (cOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EID& 0x0000FFFF), "MODULE_READY_TO_SEND_INDICATION" }, - { (cOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EID& 0x0000FFFF), "MODULE_RACH_INDICATION" }, - { (cOCTVC1_GSM_MSG_MODULE_ERROR_EID& 0x0000FFFF), "MODULE_ERROR" }, - { (cOCTVC1_GSM_MSG_MODULE_MESSAGE_EID& 0x0000FFFF), "MODULE_MESSAGE" }, - { (cOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EID& 0x0000FFFF), "MODULE_CHECKPOINT" }, - { (cOCTVC1_GSM_MSG_MODULE_TRACING_EID& 0x0000FFFF), "MODULE_TRACING" }, - { (cOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EID& 0x0000FFFF), "PROCESS_UNIT_ERROR" }, - { (cOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EID& 0x0000FFFF), "PROCESS_UNIT_MESSAGE" }, - { (cOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EID& 0x0000FFFF), "PROCESS_UNIT_CHECKPOINT" }, - { (cOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EID& 0x0000FFFF), "PROCESS_UNIT_TRACING" }, - { (cOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EID& 0x0000FFFF), "TEST_ETSI_TEST_REPORT" }, + { (cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EID& 0x0000FFFF), "TRX_LOGICAL_CHANNEL_DATA_INDICATION" }, + { (cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EID& 0x0000FFFF), "TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION" }, + { (cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EID& 0x0000FFFF), "TRX_LOGICAL_CHANNEL_RACH_INDICATION" }, + { (cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EID& 0x0000FFFF), "TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION" }, + { (cOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EID& 0x0000FFFF), "TRX_TIME_INDICATION" }, + { (cOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EID& 0x0000FFFF), "TRX_STATUS_CHANGE" }, { 0, NULL }, }; @@ -239,6 +381,33 @@ const value_string vals_OCTVC1_CTRL_SID_PRIV[] = { { 0, NULL }, }; +const value_string vals_OCTVC1_TEST_SID[] = +{ + { 0, NULL }, +}; + +const value_string vals_OCTVC1_TEST_SID_PRIV[] = +{ + { 0, NULL }, +}; +const value_string vals_OCTVC1_HW_SID[] = +{ + { 0, NULL }, +}; + +const value_string vals_OCTVC1_HW_SID_PRIV[] = +{ + { 0, NULL }, +}; +const value_string vals_OCTVC1_IRSC_SID[] = +{ + { 0, NULL }, +}; + +const value_string vals_OCTVC1_IRSC_SID_PRIV[] = +{ + { 0, NULL }, +}; const value_string vals_OCTVC1_GSM_SID[] = { { 0, NULL }, @@ -256,13 +425,22 @@ extern void ws_register_OCTVC1_MAIN(void); extern int ws_dissect_OCTVC1_MAIN( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ); extern void ws_register_OCTVC1_CTRL(void); extern int ws_dissect_OCTVC1_CTRL( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ); +extern void ws_register_OCTVC1_TEST(void); +extern int ws_dissect_OCTVC1_TEST( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ); +extern void ws_register_OCTVC1_HW(void); +extern int ws_dissect_OCTVC1_HW( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ); +extern void ws_register_OCTVC1_IRSC(void); +extern int ws_dissect_OCTVC1_IRSC( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ); extern void ws_register_OCTVC1_GSM(void); extern int ws_dissect_OCTVC1_GSM( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ); ; tModuleColInfo aOCTVC1ModuleColInfo[] = { { "MAIN", vals_OCTVC1_MAIN_CID,vals_OCTVC1_MAIN_EID,vals_OCTVC1_MAIN_SID, ws_register_OCTVC1_MAIN, ws_dissect_OCTVC1_MAIN,vals_OCTVC1_MAIN_CID_PRIV,vals_OCTVC1_MAIN_EID_PRIV }, - { "CTRL", vals_OCTVC1_CTRL_CID,vals_OCTVC1_CTRL_EID,vals_OCTVC1_CTRL_SID, ws_register_OCTVC1_CTRL, ws_dissect_OCTVC1_CTRL,vals_OCTVC1_CTRL_CID_PRIV,vals_OCTVC1_CTRL_EID_PRIV }, + { "CTRL", vals_OCTVC1_CTRL_CID,vals_OCTVC1_CTRL_EID,vals_OCTVC1_CTRL_SID, ws_register_OCTVC1_CTRL, ws_dissect_OCTVC1_CTRL,vals_OCTVC1_CTRL_CID_PRIV,vals_OCTVC1_CTRL_EID_PRIV }, + { "TEST", vals_OCTVC1_TEST_CID,vals_OCTVC1_TEST_EID,vals_OCTVC1_TEST_SID, ws_register_OCTVC1_TEST, ws_dissect_OCTVC1_TEST,vals_OCTVC1_TEST_CID_PRIV,vals_OCTVC1_TEST_EID_PRIV }, + { "HW", vals_OCTVC1_HW_CID,vals_OCTVC1_HW_EID,vals_OCTVC1_HW_SID, ws_register_OCTVC1_HW, ws_dissect_OCTVC1_HW,vals_OCTVC1_HW_CID_PRIV,vals_OCTVC1_HW_EID_PRIV }, + { "IRSC", vals_OCTVC1_IRSC_CID,vals_OCTVC1_IRSC_EID,vals_OCTVC1_IRSC_SID, ws_register_OCTVC1_IRSC, ws_dissect_OCTVC1_IRSC,vals_OCTVC1_IRSC_CID_PRIV,vals_OCTVC1_IRSC_EID_PRIV }, { "GSM", vals_OCTVC1_GSM_CID,vals_OCTVC1_GSM_EID,vals_OCTVC1_GSM_SID, ws_register_OCTVC1_GSM, ws_dissect_OCTVC1_GSM,vals_OCTVC1_GSM_CID_PRIV,vals_OCTVC1_GSM_EID_PRIV }, }; diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_common.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_common.c index 05dd502..d200caa 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_common.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_common.c @@ -2,24 +2,26 @@ File: octvc1_common.c -Copyright (c) 2014 Octasic Inc. All rights reserved. + +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark module dissector related functions -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -346,6 +348,45 @@ void register_tOCTVC1_CURSOR_INDEX_GET(void) }; +int ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_INDEX_GET_SUB_INDEX; + +void register_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[0], + { "ulParentIndex", "octvc1.cursor.index_get_sub_index.ulparentindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulParentIndex",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[1], + { "ulGetMode", "octvc1.cursor.index_get_sub_index.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[2], + { "ulSubIndex", "octvc1.cursor.index_get_sub_index.ulsubindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulSubIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CURSOR_INDEX_GET_SUB_INDEX.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + /**************************************************************************** COMMON dissectors ****************************************************************************/ @@ -785,6 +826,68 @@ unsigned int dissect_tOCTVC1_CURSOR_INDEX_GET(tvbuff_t *tvb, packet_info *pinfo }; + +unsigned int dissect_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulParentIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulParentIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulGetMode); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulSubIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX, ulSubIndex); + + } + + + return offset; + +}; + #include /**************************************************************************** @@ -815,6 +918,162 @@ const value_string vals_tOCTVC1_ETH_PORT_ID_ENUM[] = { 0, NULL } }; +#include + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_HANDLE[1]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HANDLE; + +void register_tOCTVC1_HANDLE(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HANDLE[0], + { "aulHandle", "octvc1.handle.toctvc1_handle.aulhandle", + FT_UINT32,BASE_HEX, NULL, 0x0, + "aulHandle",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HANDLE.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_OBJECT32_NAME[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_OBJECT32_NAME; + +void register_tOCTVC1_OBJECT32_NAME(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_OBJECT32_NAME[0], + { "ulObject32", "octvc1.handle.toctvc1_object32_name.ulobject32", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulObject32",HFILL } + + }, + { + &ahf_tOCTVC1_OBJECT32_NAME[1], + { "szDisplayName", "octvc1.handle.toctvc1_object32_name.szdisplayname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szDisplayName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_OBJECT32_NAME.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HANDLE))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HANDLE (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HANDLE)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HANDLE); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HANDLE, aulHandle), "aulHandle"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<3; i++ ) + { + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_HANDLE[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HANDLE, aulHandle), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_HANDLE[0], tvb, offset, + 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + } + offset+=4; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_OBJECT32_NAME(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_OBJECT32_NAME))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_OBJECT32_NAME (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_OBJECT32_NAME)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_OBJECT32_NAME); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_OBJECT32_NAME[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_OBJECT32_NAME, ulObject32), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_OBJECT32_NAME[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_OBJECT32_NAME, ulObject32); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_OBJECT32_NAME[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_OBJECT32_NAME, szDisplayName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_OBJECT32_NAME, szDisplayName); + + } + + + return offset; + +}; + #include /**************************************************************************** @@ -1167,6 +1426,77 @@ void register_tOCTVC1_LIST_HANDLE_OBJECT_GET(void) }; +int ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_NAME_OBJECT32_GET; + +void register_tOCTVC1_LIST_NAME_OBJECT32_GET(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[0], + { "ulNumObject", "octvc1.list.name_object32_get.ulnumobject", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumObject",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[1], + { "aNameObject32", "octvc1.list.name_object32_get.anameobject32", + FT_NONE, BASE_NONE, NULL, 0x0, + "aNameObject32",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_LIST_NAME_OBJECT32_GET.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME; + +void register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[0], + { "hParent", "octvc1.list.handle_object_get_sub_object_id_name.hparent", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hParent",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[1], + { "ulNumObject", "octvc1.list.handle_object_get_sub_object_id_name.ulnumobject", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumObject",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[2], + { "aNameObject32", "octvc1.list.handle_object_get_sub_object_id_name.anameobject32", + FT_NONE, BASE_NONE, NULL, 0x0, + "aNameObject32",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + int ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[3]; tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID; @@ -1238,6 +1568,45 @@ void register_tOCTVC1_LIST_INDEX_GET(void) }; +int ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_INDEX_GET_SUB_INDEX; + +void register_tOCTVC1_LIST_INDEX_GET_SUB_INDEX(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[0], + { "ulParentIndex", "octvc1.list.index_get_sub_index.ulparentindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulParentIndex",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[1], + { "ulNumIndex", "octvc1.list.index_get_sub_index.ulnumindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumIndex",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[2], + { "aIndex", "octvc1.list.index_get_sub_index.aindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "aIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_LIST_INDEX_GET_SUB_INDEX.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + /**************************************************************************** COMMON dissectors ****************************************************************************/ @@ -1420,6 +1789,126 @@ unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET(tvbuff_t *tvb, packet_info }; +unsigned int dissect_tOCTVC1_LIST_NAME_OBJECT32_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_LIST_NAME_OBJECT32_GET))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_LIST_NAME_OBJECT32_GET (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_LIST_NAME_OBJECT32_GET)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_LIST_NAME_OBJECT32_GET); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_NAME_OBJECT32_GET, ulNumObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_NAME_OBJECT32_GET[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_NAME_OBJECT32_GET, ulNumObject); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_NAME_OBJECT32_GET, aNameObject32), "aNameObject32:tOCTVC1_OBJECT32_NAME"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<25; i++ ) + { + { + proto_tree* sub_tree2; + ti = proto_tree_add_text(sub_tree, tvb, offset, + sizeof(tOCTVC1_OBJECT32_NAME), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_OBJECT32_NAME( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, hParent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, hParent); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, ulNumObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, ulNumObject); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME, aNameObject32), "aNameObject32:tOCTVC1_OBJECT32_NAME"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<25; i++ ) + { + { + proto_tree* sub_tree2; + ti = proto_tree_add_text(sub_tree, tvb, offset, + sizeof(tOCTVC1_OBJECT32_NAME), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_OBJECT32_NAME( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + } + } + + + return offset; + +}; + + unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) { proto_tree *field_tree = tree; @@ -1547,6 +2036,76 @@ unsigned int dissect_tOCTVC1_LIST_INDEX_GET(tvbuff_t *tvb, packet_info *pinfo, }; + +unsigned int dissect_tOCTVC1_LIST_INDEX_GET_SUB_INDEX(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_LIST_INDEX_GET_SUB_INDEX))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_LIST_INDEX_GET_SUB_INDEX (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_LIST_INDEX_GET_SUB_INDEX)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_LIST_INDEX_GET_SUB_INDEX); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, ulParentIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, ulParentIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, ulNumIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, ulNumIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, aIndex), "aIndex"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<100; i++ ) + { + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET_SUB_INDEX, aIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_INDEX_GET_SUB_INDEX[2], tvb, offset, + 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + } + offset+=4; + } + } + } + + + return offset; + +}; + #include /**************************************************************************** @@ -1852,16 +2411,24 @@ const value_string vals_tOCTVC1_LOG_LEVEL_ENUM[] = { 0, NULL } }; +const value_string vals_tOCTVC1_LOG_PAYLOAD_TYPE_ENUM[] = + { + { cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_DATA, "cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_DATA" }, + { cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_STRING, "cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_STRING" }, + { cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_RC, "cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_RC" }, + { 0, NULL } + }; + const value_string vals_tOCTVC1_LOG_TRACE_MASK[] = { - { cOCTVC1_LOG_TRACE_MASK_FNC_IN, "cOCTVC1_LOG_TRACE_MASK_FNC_IN" }, - { cOCTVC1_LOG_TRACE_MASK_FNC_OUT, "cOCTVC1_LOG_TRACE_MASK_FNC_OUT" }, - { cOCTVC1_LOG_TRACE_MASK_INFO, "cOCTVC1_LOG_TRACE_MASK_INFO" }, - { cOCTVC1_LOG_TRACE_MASK_DEBUG, "cOCTVC1_LOG_TRACE_MASK_DEBUG" }, + { cOCTVC1_LOG_TRACE_MASK_SYSTEM, "cOCTVC1_LOG_TRACE_MASK_SYSTEM" }, + { cOCTVC1_LOG_TRACE_MASK_IPC_MESSAGE, "cOCTVC1_LOG_TRACE_MASK_IPC_MESSAGE" }, { cOCTVC1_LOG_TRACE_MASK_USER_0, "cOCTVC1_LOG_TRACE_MASK_USER_0" }, { cOCTVC1_LOG_TRACE_MASK_USER_1, "cOCTVC1_LOG_TRACE_MASK_USER_1" }, { cOCTVC1_LOG_TRACE_MASK_USER_2, "cOCTVC1_LOG_TRACE_MASK_USER_2" }, { cOCTVC1_LOG_TRACE_MASK_USER_3, "cOCTVC1_LOG_TRACE_MASK_USER_3" }, + { cOCTVC1_LOG_TRACE_MASK_USER_4, "cOCTVC1_LOG_TRACE_MASK_USER_4" }, + { cOCTVC1_LOG_TRACE_MASK_USER_5, "cOCTVC1_LOG_TRACE_MASK_USER_5" }, { cOCTVC1_LOG_TRACE_MASK_NONE, "cOCTVC1_LOG_TRACE_MASK_NONE" }, { cOCTVC1_LOG_TRACE_MASK_ALL, "cOCTVC1_LOG_TRACE_MASK_ALL" }, { 0, NULL } @@ -2043,16 +2610,16 @@ void register_tOCTVC1_FILE_HEADER(void) }, { &ahf_tOCTVC1_FILE_HEADER[2], - { "ulReserved", "octvc1.file.header.ulreserved", + { "ulTimeStamp", "octvc1.file.header.ultimestamp", FT_UINT32,BASE_HEX, NULL, 0x0, - "ulReserved",HFILL } + "ulTimeStamp",HFILL } }, { &ahf_tOCTVC1_FILE_HEADER[3], - { "ulHeaderSize", "octvc1.file.header.ulheadersize", + { "ul_Align_HdrSize", "octvc1.file.header.ul_align_hdrsize", FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHeaderSize",HFILL } + "ul_Align_HdrSize",HFILL } }, }; @@ -2090,9 +2657,9 @@ unsigned int dissect_tOCTVC1_FILE_HEADER(tvbuff_t *tvb, packet_info *pinfo, pro proto_item *ti; bytes = sizeof(tOCTVC1_FILE_HEADER); temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_FILE_MAGIC_BIG_ENDIAN) + if( temp_data == cOCTVC1_FILE_ENDIAN_MAGIC_WORD) { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulMagic),temp_data, "cOCTVC1_FILE_MAGIC_BIG_ENDIAN (0x%08x)",temp_data); + mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulMagic),temp_data, "cOCTVC1_FILE_ENDIAN_MAGIC_WORD (0x%08x)",temp_data); }else { if( pExtValue && (pExtValue->lValue == temp_data ) ) { @@ -2122,25 +2689,25 @@ unsigned int dissect_tOCTVC1_FILE_HEADER(tvbuff_t *tvb, packet_info *pinfo, pro if( pExtValue && (pExtValue->lValue == temp_data ) ) { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulReserved), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulTimeStamp), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[2], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulReserved); + offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulTimeStamp); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulHeaderSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ul_Align_HdrSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[3], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulHeaderSize); + offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ul_Align_HdrSize); } @@ -2149,31 +2716,243 @@ unsigned int dissect_tOCTVC1_FILE_HEADER(tvbuff_t *tvb, packet_info *pinfo, pro }; -#include +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_MODULE_ID_ENUM[] = + { + { cOCTVC1_MODULE_ID_ENUM_GENERIC, "cOCTVC1_MODULE_ID_ENUM_GENERIC" }, + { cOCTVC1_MODULE_ID_ENUM_MAIN, "cOCTVC1_MODULE_ID_ENUM_MAIN" }, + { cOCTVC1_MODULE_ID_ENUM_PKT_API, "cOCTVC1_MODULE_ID_ENUM_PKT_API" }, + { cOCTVC1_MODULE_ID_ENUM_CTRL, "cOCTVC1_MODULE_ID_ENUM_CTRL" }, + { cOCTVC1_MODULE_ID_ENUM_LICENSING, "cOCTVC1_MODULE_ID_ENUM_LICENSING" }, + { cOCTVC1_MODULE_ID_ENUM_TEST, "cOCTVC1_MODULE_ID_ENUM_TEST" }, + { cOCTVC1_MODULE_ID_ENUM_HW, "cOCTVC1_MODULE_ID_ENUM_HW" }, + { cOCTVC1_MODULE_ID_ENUM_IRSC, "cOCTVC1_MODULE_ID_ENUM_IRSC" }, + { cOCTVC1_MODULE_ID_ENUM_SDR, "cOCTVC1_MODULE_ID_ENUM_SDR" }, + { cOCTVC1_MODULE_ID_ENUM_GSM, "cOCTVC1_MODULE_ID_ENUM_GSM" }, + { cOCTVC1_MODULE_ID_ENUM_LTE, "cOCTVC1_MODULE_ID_ENUM_LTE" }, + { cOCTVC1_MODULE_ID_ENUM_UMTS, "cOCTVC1_MODULE_ID_ENUM_UMTS" }, + { cOCTVC1_MODULE_ID_ENUM_RUS, "cOCTVC1_MODULE_ID_ENUM_RUS" }, + { 0, NULL } + }; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_RADIO_STANDARD_ENUM[] = + { + { cOCTVC1_RADIO_STANDARD_ENUM_GSM, "cOCTVC1_RADIO_STANDARD_ENUM_GSM" }, + { cOCTVC1_RADIO_STANDARD_ENUM_UMTS, "cOCTVC1_RADIO_STANDARD_ENUM_UMTS" }, + { cOCTVC1_RADIO_STANDARD_ENUM_LTE, "cOCTVC1_RADIO_STANDARD_ENUM_LTE" }, + { cOCTVC1_RADIO_STANDARD_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_ENUM_INVALID" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM[] = + { + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_450, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_450" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_480, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_480" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_750, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_750" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_850, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_850" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_E_900, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_E_900" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_P_900, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_P_900" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_R_900, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_R_900" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_DCS_1800, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_DCS_1800" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_PCS_1900, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_PCS_1900" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_LAST, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_LAST" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_INVALID" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM[] = + { + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_1, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_1" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_2, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_2" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_3, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_3" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_4, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_4" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_5, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_5" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_8, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_8" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_2, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_2" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_4, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_4" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_5, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_5" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_LAST, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_LAST" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_INVALID" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM[] = + { + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_1, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_1" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_2, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_2" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_3, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_3" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_4, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_4" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_5, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_5" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_6, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_6" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_7, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_7" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_8, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_8" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_9, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_9" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_10, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_10" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_11, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_11" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_12, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_12" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_13, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_13" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_14, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_14" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_15, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_15" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_16, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_16" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_17, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_17" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_18, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_18" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_19, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_19" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_20, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_20" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_21, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_21" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_22, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_22" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_23, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_23" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_24, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_24" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_25, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_25" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_26, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_26" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_27, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_27" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_28, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_28" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_29, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_29" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_30, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_30" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_31, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_31" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_32, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_32" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_33, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_33" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_34, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_34" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_35, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_35" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_36, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_36" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_37, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_37" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_38, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_38" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_39, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_39" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_40, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_40" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_41, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_41" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_42, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_42" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_43, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_43" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_44, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_44" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_LAST, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_LAST" }, + { cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_INVALID" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM[] = + { + { cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_INVALID, "cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_INVALID" }, + { cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_TEXT, "cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_TEXT" }, + { cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_BIN, "cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_BIN" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_RADIO_ID_DIRECTION_ENUM[] = + { + { cOCTVC1_RADIO_ID_DIRECTION_ENUM_INVALID, "cOCTVC1_RADIO_ID_DIRECTION_ENUM_INVALID" }, + { cOCTVC1_RADIO_ID_DIRECTION_ENUM_DOWNLINK, "cOCTVC1_RADIO_ID_DIRECTION_ENUM_DOWNLINK" }, + { cOCTVC1_RADIO_ID_DIRECTION_ENUM_UPLINK, "cOCTVC1_RADIO_ID_DIRECTION_ENUM_UPLINK" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM[] = + { + { cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_1P4MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_1P4MHZ" }, + { cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_3MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_3MHZ" }, + { cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_5MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_5MHZ" }, + { cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_10MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_10MHZ" }, + { cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_15MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_15MHZ" }, + { cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_20MHZ, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_20MHZ" }, + { cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_LAST, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_LAST" }, + { cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_INVALID, "cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_INVALID" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM[] = + { + { cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_MGC, "cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_MGC" }, + { cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_FAST_ATK, "cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_FAST_ATK" }, + { cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_SLOW_ATK, "cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_SLOW_ATK" }, + { 0, NULL } + }; + +#include /**************************************************************************** COMMON Registered ****************************************************************************/ -int ahf_tOCTVC1_HANDLE[1]; -tWS_ENTITY_HANDLE ws_htOCTVC1_HANDLE; +int ahf_tOCTVC1_API_SESSION_INFO[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_API_SESSION_INFO; -void register_tOCTVC1_HANDLE(void) +void register_tOCTVC1_API_SESSION_INFO(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_HANDLE[0], - { "aulHandle", "octvc1.handle.toctvc1_handle.aulhandle", + &ahf_tOCTVC1_API_SESSION_INFO[0], + { "ulActiveFlag", "octvc1.api.session_info.ulactiveflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulActiveFlag",HFILL } + + }, + { + &ahf_tOCTVC1_API_SESSION_INFO[1], + { "ulSessionId", "octvc1.api.session_info.ulsessionid", FT_UINT32,BASE_HEX, NULL, 0x0, - "aulHandle",HFILL } + "ulSessionId",HFILL } + + }, + { + &ahf_tOCTVC1_API_SESSION_INFO[2], + { "ulTransportSessionIndex", "octvc1.api.session_info.ultransportsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTransportSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_API_SESSION_INFO[3], + { "ulTransportSessionId", "octvc1.api.session_info.ultransportsessionid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulTransportSessionId",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_HANDLE.ett + &ws_htOCTVC1_API_SESSION_INFO.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_API_SESSION_EVT_INFO[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_API_SESSION_EVT_INFO; + +void register_tOCTVC1_API_SESSION_EVT_INFO(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_API_SESSION_EVT_INFO[0], + { "ulEvtActiveFlag", "octvc1.api.session_evt_info.ulevtactiveflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulEvtActiveFlag",HFILL } + + }, + { + &ahf_tOCTVC1_API_SESSION_EVT_INFO[1], + { "lEvtEnablerCnt", "octvc1.api.session_evt_info.levtenablercnt", + FT_INT32,BASE_DEC, NULL, 0x0, + "lEvtEnablerCnt",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_API_SESSION_EVT_INFO.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -2185,44 +2964,664 @@ void register_tOCTVC1_HANDLE(void) ****************************************************************************/ -unsigned int dissect_tOCTVC1_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +unsigned int dissect_tOCTVC1_API_SESSION_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_HANDLE))) + if (bytes < (gint)(sizeof(tOCTVC1_API_SESSION_INFO))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_HANDLE (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_API_SESSION_INFO (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_HANDLE)); + sizeof(tOCTVC1_API_SESSION_INFO)); return 1; } else { int temp_data = 0; proto_item *ti; - bytes = sizeof(tOCTVC1_HANDLE); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_HANDLE, aulHandle), "aulHandle"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<3; i++ ) - { + bytes = sizeof(tOCTVC1_API_SESSION_INFO); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_HANDLE[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_HANDLE, aulHandle), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_API_SESSION_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulActiveFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_HANDLE[0], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_API_SESSION_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulActiveFlag), temp_data); } - offset+=4; - } + offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulActiveFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_API_SESSION_INFO[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulSessionId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_API_SESSION_INFO[1], tvb, offset, + 4, temp_data); } + offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulSessionId); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_API_SESSION_INFO[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulTransportSessionIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_API_SESSION_INFO[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulTransportSessionIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_API_SESSION_INFO[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulTransportSessionId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_API_SESSION_INFO[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_INFO, ulTransportSessionId); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_API_SESSION_EVT_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_API_SESSION_EVT_INFO))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_API_SESSION_EVT_INFO (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_API_SESSION_EVT_INFO)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_API_SESSION_EVT_INFO); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_API_SESSION_EVT_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, ulEvtActiveFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_API_SESSION_EVT_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, ulEvtActiveFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, ulEvtActiveFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_API_SESSION_EVT_INFO[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, lEvtEnablerCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_API_SESSION_EVT_INFO[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_API_SESSION_EVT_INFO, lEvtEnablerCnt); + + } + + + return offset; + +}; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_PROCESS_TYPE_ENUM[] = + { + { cOCTVC1_PROCESS_TYPE_ENUM_INVALID, "cOCTVC1_PROCESS_TYPE_ENUM_INVALID" }, + { cOCTVC1_PROCESS_TYPE_ENUM_CONTROL, "cOCTVC1_PROCESS_TYPE_ENUM_CONTROL" }, + { cOCTVC1_PROCESS_TYPE_ENUM_GSM_SCHED, "cOCTVC1_PROCESS_TYPE_ENUM_GSM_SCHED" }, + { cOCTVC1_PROCESS_TYPE_ENUM_GSM_DL, "cOCTVC1_PROCESS_TYPE_ENUM_GSM_DL" }, + { cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULIM, "cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULIM" }, + { cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULOM, "cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULOM" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_PROCESS_STATE_ENUM[] = + { + { cOCTVC1_PROCESS_STATE_ENUM_INVALID, "cOCTVC1_PROCESS_STATE_ENUM_INVALID" }, + { cOCTVC1_PROCESS_STATE_ENUM_RESET, "cOCTVC1_PROCESS_STATE_ENUM_RESET" }, + { cOCTVC1_PROCESS_STATE_ENUM_CREATE, "cOCTVC1_PROCESS_STATE_ENUM_CREATE" }, + { cOCTVC1_PROCESS_STATE_ENUM_WAITING, "cOCTVC1_PROCESS_STATE_ENUM_WAITING" }, + { cOCTVC1_PROCESS_STATE_ENUM_READY, "cOCTVC1_PROCESS_STATE_ENUM_READY" }, + { cOCTVC1_PROCESS_STATE_ENUM_RUNNING, "cOCTVC1_PROCESS_STATE_ENUM_RUNNING" }, + { cOCTVC1_PROCESS_STATE_ENUM_ERROR, "cOCTVC1_PROCESS_STATE_ENUM_ERROR" }, + { cOCTVC1_PROCESS_STATE_ENUM_HALT, "cOCTVC1_PROCESS_STATE_ENUM_HALT" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_PROCESS_TASK_STATE_ENUM[] = + { + { cOCTVC1_PROCESS_TASK_STATE_ENUM_INVALID, "cOCTVC1_PROCESS_TASK_STATE_ENUM_INVALID" }, + { cOCTVC1_PROCESS_TASK_STATE_ENUM_ERROR, "cOCTVC1_PROCESS_TASK_STATE_ENUM_ERROR" }, + { cOCTVC1_PROCESS_TASK_STATE_ENUM_IDLE, "cOCTVC1_PROCESS_TASK_STATE_ENUM_IDLE" }, + { cOCTVC1_PROCESS_TASK_STATE_ENUM_PENDING, "cOCTVC1_PROCESS_TASK_STATE_ENUM_PENDING" }, + { cOCTVC1_PROCESS_TASK_STATE_ENUM_RUNNING, "cOCTVC1_PROCESS_TASK_STATE_ENUM_RUNNING" }, + { cOCTVC1_PROCESS_TASK_STATE_ENUM_WAIT_TIMER, "cOCTVC1_PROCESS_TASK_STATE_ENUM_WAIT_TIMER" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_PROCESS_ERROR[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_PROCESS_ERROR; + +void register_tOCTVC1_PROCESS_ERROR(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_PROCESS_ERROR[0], + { "ulInputOverflowCnt", "octvc1.process.error.ulinputoverflowcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulInputOverflowCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_ERROR[1], + { "ulInputUnderflowCnt", "octvc1.process.error.ulinputunderflowcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulInputUnderflowCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_ERROR[2], + { "ulOutputOverflowCnt", "octvc1.process.error.uloutputoverflowcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulOutputOverflowCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_ERROR[3], + { "ulOutputUnderflowCnt", "octvc1.process.error.uloutputunderflowcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulOutputUnderflowCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_ERROR[4], + { "ulIpcMsgMissCnt", "octvc1.process.error.ulipcmsgmisscnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulIpcMsgMissCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_ERROR[5], + { "ulLastErrorRc", "octvc1.process.error.ullasterrorrc", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulLastErrorRc",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_PROCESS_ERROR.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_PROCESS_TASK_STATS[10]; +tWS_ENTITY_HANDLE ws_htOCTVC1_PROCESS_TASK_STATS; + +void register_tOCTVC1_PROCESS_TASK_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[0], + { "ulUserData", "octvc1.process.task_stats.uluserdata", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulUserData",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[1], + { "ulMaxExecTimeUs", "octvc1.process.task_stats.ulmaxexectimeus", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxExecTimeUs",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[2], + { "ulAvgExecTimeUs", "octvc1.process.task_stats.ulavgexectimeus", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulAvgExecTimeUs",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[3], + { "ulLastExecTimeUs", "octvc1.process.task_stats.ullastexectimeus", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulLastExecTimeUs",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[4], + { "ulMaxExecCacheMissCnt", "octvc1.process.task_stats.ulmaxexeccachemisscnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxExecCacheMissCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[5], + { "ulLastExecCacheMissCnt", "octvc1.process.task_stats.ullastexeccachemisscnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulLastExecCacheMissCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[6], + { "ulExecCnt", "octvc1.process.task_stats.ulexeccnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulExecCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[7], + { "ulDoneCnt", "octvc1.process.task_stats.uldonecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulDoneCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[8], + { "ulErrorCnt", "octvc1.process.task_stats.ulerrorcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulErrorCnt",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_TASK_STATS[9], + { "State", "octvc1.process.task_stats.state", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_PROCESS_TASK_STATE_ENUM), 0x0, + "State",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_PROCESS_TASK_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_PROCESS_CPU_USAGE_STATS; + +void register_tOCTVC1_PROCESS_CPU_USAGE_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[0], + { "ulProcessCpuUsagePercent", "octvc1.process.cpu_usage_stats.ulprocesscpuusagepercent", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulProcessCpuUsagePercent",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[1], + { "ulProcessCpuUsageMinPercent", "octvc1.process.cpu_usage_stats.ulprocesscpuusageminpercent", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulProcessCpuUsageMinPercent",HFILL } + + }, + { + &ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[2], + { "ulProcessCpuUsageMaxPercent", "octvc1.process.cpu_usage_stats.ulprocesscpuusagemaxpercent", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulProcessCpuUsageMaxPercent",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_PROCESS_CPU_USAGE_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_PROCESS_ERROR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_PROCESS_ERROR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_PROCESS_ERROR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_PROCESS_ERROR)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_PROCESS_ERROR); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulInputOverflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulInputOverflowCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulInputUnderflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulInputUnderflowCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulOutputOverflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulOutputOverflowCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulOutputUnderflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulOutputUnderflowCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulIpcMsgMissCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulIpcMsgMissCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_ERROR[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulLastErrorRc), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_ERROR[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_ERROR, ulLastErrorRc); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_PROCESS_TASK_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_PROCESS_TASK_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_PROCESS_TASK_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_PROCESS_TASK_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_PROCESS_TASK_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulUserData), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulUserData); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulMaxExecTimeUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulMaxExecTimeUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulAvgExecTimeUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulAvgExecTimeUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulLastExecTimeUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulLastExecTimeUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulMaxExecCacheMissCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulMaxExecCacheMissCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulLastExecCacheMissCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulLastExecCacheMissCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulExecCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[6], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulExecCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[7], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulDoneCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[7], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulDoneCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[8], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[8], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, ulErrorCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[9], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, State), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_TASK_STATS[9], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_TASK_STATS, State); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_PROCESS_CPU_USAGE_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_PROCESS_CPU_USAGE_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_PROCESS_CPU_USAGE_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_PROCESS_CPU_USAGE_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_PROCESS_CPU_USAGE_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsagePercent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsagePercent); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsageMinPercent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsageMinPercent); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsageMaxPercent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_PROCESS_CPU_USAGE_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_PROCESS_CPU_USAGE_STATS, ulProcessCpuUsageMaxPercent); + } @@ -2243,18 +3642,28 @@ void ws_register_OCTVC1_common(void) register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT(); register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID(); register_tOCTVC1_CURSOR_INDEX_GET(); + register_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX(); + register_tOCTVC1_HANDLE(); + register_tOCTVC1_OBJECT32_NAME(); register_tOCTVC1_VLAN_TAG(); register_tOCTVC1_VLAN_HEADER_INFO(); register_tOCTVC1_LIST_HANDLE_GET(); register_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID(); register_tOCTVC1_LIST_HANDLE_OBJECT_GET(); + register_tOCTVC1_LIST_NAME_OBJECT32_GET(); + register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME(); register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID(); register_tOCTVC1_LIST_INDEX_GET(); + register_tOCTVC1_LIST_INDEX_GET_SUB_INDEX(); register_tOCTVC1_MSG_HEADER(); register_tOCTVC1_EVENT_HEADER(); register_tOCTVC1_LOG_HEADER(); register_tOCTVC1_FILE_HEADER(); - register_tOCTVC1_HANDLE(); + register_tOCTVC1_API_SESSION_INFO(); + register_tOCTVC1_API_SESSION_EVT_INFO(); + register_tOCTVC1_PROCESS_ERROR(); + register_tOCTVC1_PROCESS_TASK_STATS(); + register_tOCTVC1_PROCESS_CPU_USAGE_STATS(); } diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_cpp.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_cpp.c deleted file mode 100644 index f30c68c..0000000 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_cpp.c +++ /dev/null @@ -1,4396 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: octvc1_module_cpp.c - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contain the wireshark module dissector related functions - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -/***************************** INCLUDE FILES *******************************/ - -#include -#include -#include "../../../include/oct_ws_macro.h" -#include "../include/module.h" -#include "../include/octvc1_common.h" - -#include - - -/**************************************************************************** - MODULE API ENUMERATION STRING VALUES - ****************************************************************************/ - -const value_string vals_tOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM[] = - { - { cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_NONE, "cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_NONE" }, - { cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP, "cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP" }, - { cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SSRC, "cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SSRC" }, - { cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP_SSRC, "cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP_SSRC" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM[] = - { - { cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_NONE, "cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_NONE" }, - { cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_SRCIPTCP, "cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_SRCIPTCP" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_CPP_TX_HDR_TYPE_ENUM[] = - { - { cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETHERNET, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETHERNET" }, - { cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETH_PQ, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETH_PQ" }, - { cOCTVC1_CPP_TX_HDR_TYPE_ENUM_LLC, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_LLC" }, - { cOCTVC1_CPP_TX_HDR_TYPE_ENUM_NLPID, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_NLPID" }, - { cOCTVC1_CPP_TX_HDR_TYPE_ENUM_SNAP, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_SNAP" }, - { cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV4, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV4" }, - { cOCTVC1_CPP_TX_HDR_TYPE_ENUM_UDP, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_UDP" }, - { cOCTVC1_CPP_TX_HDR_TYPE_ENUM_RTP, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_RTP" }, - { cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV6, "cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV6" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_CPP_ETHERTYPE_ENUM[] = - { - { cOCTVC1_CPP_ETHERTYPE_ENUM_ETH_II, "cOCTVC1_CPP_ETHERTYPE_ENUM_ETH_II" }, - { cOCTVC1_CPP_ETHERTYPE_ENUM_IEEE_802_3, "cOCTVC1_CPP_ETHERTYPE_ENUM_IEEE_802_3" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_CPP_DEST_REMOVE_MODE_ENUM[] = - { - { cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC, "cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC" }, - { cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_ALL, "cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_ALL" }, - { cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_PORT, "cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_PORT" }, - { cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_DEST_OBJ, "cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_DEST_OBJ" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_CPP_DEST_INFO_ENUM[] = - { - { cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_FIRST, "cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_FIRST" }, - { cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT, "cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT" }, - { 0, NULL } - }; - -/**************************************************************************** - COMMON Registered - ****************************************************************************/ - -int ahf_tOCTVC1_CPP_CONFIG_STATIC[15]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_CONFIG_STATIC; - -void register_tOCTVC1_CPP_CONFIG_STATIC(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[0], - { "ulMaxDestination", "octvc1.cpp.config_static.ulmaxdestination", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxDestination",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[1], - { "ulMaxRxUdpPort", "octvc1.cpp.config_static.ulmaxrxudpport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRxUdpPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[2], - { "ulMaxRxUdpCnct", "octvc1.cpp.config_static.ulmaxrxudpcnct", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRxUdpCnct",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[3], - { "ulMaxTxUdpCnct", "octvc1.cpp.config_static.ulmaxtxudpcnct", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxTxUdpCnct",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[4], - { "ulMaxRxRtpPort", "octvc1.cpp.config_static.ulmaxrxrtpport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRxRtpPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[5], - { "ulMaxRxRtpCnct", "octvc1.cpp.config_static.ulmaxrxrtpcnct", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRxRtpCnct",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[6], - { "ulMaxTxRtpCnct", "octvc1.cpp.config_static.ulmaxtxrtpcnct", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxTxRtpCnct",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[7], - { "ulMaxRxTcpPort", "octvc1.cpp.config_static.ulmaxrxtcpport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRxTcpPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[8], - { "ulMaxRxTcpCnct", "octvc1.cpp.config_static.ulmaxrxtcpcnct", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRxTcpCnct",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[9], - { "ulMaxRxIpPort", "octvc1.cpp.config_static.ulmaxrxipport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRxIpPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[10], - { "ulMaxForwardObj", "octvc1.cpp.config_static.ulmaxforwardobj", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxForwardObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[11], - { "ulIpFragmentIdMask", "octvc1.cpp.config_static.ulipfragmentidmask", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpFragmentIdMask",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[12], - { "ulIpFragmentIdMatch", "octvc1.cpp.config_static.ulipfragmentidmatch", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpFragmentIdMatch",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[13], - { "ulMaxNonEthernetBandwidth", "octvc1.cpp.config_static.ulmaxnonethernetbandwidth", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxNonEthernetBandwidth",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_CONFIG_STATIC[14], - { "ulMaxNonUdpBandwidth", "octvc1.cpp.config_static.ulmaxnonudpbandwidth", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxNonUdpBandwidth",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_CONFIG_STATIC.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_RX_RTP_PROFILE_ENTRY; - -void register_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[0], - { "ulPacketEncodeType", "octvc1.cpp.rx_rtp_profile_entry.ulpacketencodetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVOCNET_PKT_D_TYPE_ENUM), 0x0, - "ulPacketEncodeType",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[1], - { "ulRtpPayloadType", "octvc1.cpp.rx_rtp_profile_entry.ulrtppayloadtype", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtpPayloadType",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[2], - { "ulPktPortIndex", "octvc1.cpp.rx_rtp_profile_entry.ulpktportindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPktPortIndex",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_RX_RTP_PROFILE_ENTRY.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_RTP_PROFILE_ENTRY; - -void register_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[0], - { "ulPacketEncodeType", "octvc1.cpp.tx_rtp_profile_entry.ulpacketencodetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVOCNET_PKT_D_TYPE_ENUM), 0x0, - "ulPacketEncodeType",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[1], - { "ulRtpPayloadType", "octvc1.cpp.tx_rtp_profile_entry.ulrtppayloadtype", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtpPayloadType",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_RTP_PROFILE_ENTRY.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_DEST_ENTRY[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_DEST_ENTRY; - -void register_tOCTVC1_CPP_DEST_ENTRY(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_DEST_ENTRY[0], - { "hCppObj", "octvc1.cpp.dest_entry.hcppobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hCppObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_DEST_ENTRY[1], - { "ulCppObjPort", "octvc1.cpp.dest_entry.ulcppobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCppObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_DEST_ENTRY[2], - { "hDestObj", "octvc1.cpp.dest_entry.hdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_DEST_ENTRY[3], - { "ulDestObjPort", "octvc1.cpp.dest_entry.uldestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_DEST_ENTRY[4], - { "ulDestObjFifoId", "octvc1.cpp.dest_entry.uldestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjFifoId",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_DEST_ENTRY[5], - { "DestMacAddress", "octvc1.cpp.dest_entry.destmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestMacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_DEST_ENTRY[6], - { "BridgeMacAddress", "octvc1.cpp.dest_entry.bridgemacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "BridgeMacAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_DEST_ENTRY.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_COMMON[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_COMMON; - -void register_tOCTVC1_CPP_TX_HDR_COMMON(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_COMMON[0], - { "ulHeaderType", "octvc1.cpp.tx_hdr_common.ulheadertype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_TX_HDR_TYPE_ENUM), 0x0, - "ulHeaderType",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_COMMON[1], - { "ulHeaderLength", "octvc1.cpp.tx_hdr_common.ulheaderlength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHeaderLength",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_COMMON.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_ETHERNET; - -void register_tOCTVC1_CPP_TX_HDR_ETHERNET(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[0], - { "CommonHeader", "octvc1.cpp.tx_hdr_ethernet.commonheader", - FT_NONE, BASE_NONE, NULL, 0x0, - "CommonHeader",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[1], - { "ulEthertypeEncoding", "octvc1.cpp.tx_hdr_ethernet.ulethertypeencoding", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_ETHERTYPE_ENUM), 0x0, - "ulEthertypeEncoding",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[2], - { "ulEthertype", "octvc1.cpp.tx_hdr_ethernet.ulethertype", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEthertype",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[3], - { "SourceMacAddr", "octvc1.cpp.tx_hdr_ethernet.sourcemacaddr", - FT_STRING, BASE_NONE, NULL, 0x0, - "SourceMacAddr",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[4], - { "DestinationMacAddr", "octvc1.cpp.tx_hdr_ethernet.destinationmacaddr", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestinationMacAddr",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_ETHERNET.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_ETH_PQ; - -void register_tOCTVC1_CPP_TX_HDR_ETH_PQ(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[0], - { "CommonHeader", "octvc1.cpp.tx_hdr_eth_pq.commonheader", - FT_NONE, BASE_NONE, NULL, 0x0, - "CommonHeader",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[1], - { "ulEthertypeEncoding", "octvc1.cpp.tx_hdr_eth_pq.ulethertypeencoding", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_ETHERTYPE_ENUM), 0x0, - "ulEthertypeEncoding",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[2], - { "ulEthertype", "octvc1.cpp.tx_hdr_eth_pq.ulethertype", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEthertype",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[3], - { "ulTci", "octvc1.cpp.tx_hdr_eth_pq.ultci", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTci",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[4], - { "SourceMacAddr", "octvc1.cpp.tx_hdr_eth_pq.sourcemacaddr", - FT_STRING, BASE_NONE, NULL, 0x0, - "SourceMacAddr",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[5], - { "DestinationMacAddr", "octvc1.cpp.tx_hdr_eth_pq.destinationmacaddr", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestinationMacAddr",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_ETH_PQ.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_LLC[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_LLC; - -void register_tOCTVC1_CPP_TX_HDR_LLC(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_LLC[0], - { "CommonHeader", "octvc1.cpp.tx_hdr_llc.commonheader", - FT_NONE, BASE_NONE, NULL, 0x0, - "CommonHeader",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_LLC[1], - { "ulLlcValue", "octvc1.cpp.tx_hdr_llc.ulllcvalue", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLlcValue",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_LLC.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_NLPID[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_NLPID; - -void register_tOCTVC1_CPP_TX_HDR_NLPID(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_NLPID[0], - { "CommonHeader", "octvc1.cpp.tx_hdr_nlpid.commonheader", - FT_NONE, BASE_NONE, NULL, 0x0, - "CommonHeader",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_NLPID[1], - { "ulNlpidValue", "octvc1.cpp.tx_hdr_nlpid.ulnlpidvalue", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNlpidValue",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_NLPID.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_SNAP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_SNAP; - -void register_tOCTVC1_CPP_TX_HDR_SNAP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_SNAP[0], - { "CommonHeader", "octvc1.cpp.tx_hdr_snap.commonheader", - FT_NONE, BASE_NONE, NULL, 0x0, - "CommonHeader",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_SNAP[1], - { "ulOuiValue", "octvc1.cpp.tx_hdr_snap.ulouivalue", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulOuiValue",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_SNAP[2], - { "ulPidValue", "octvc1.cpp.tx_hdr_snap.ulpidvalue", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPidValue",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_SNAP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_IPV4[10]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_IPV4; - -void register_tOCTVC1_CPP_TX_HDR_IPV4(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[0], - { "CommonHeader", "octvc1.cpp.tx_hdr_ipv4.commonheader", - FT_NONE, BASE_NONE, NULL, 0x0, - "CommonHeader",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[1], - { "ulTypeOfService", "octvc1.cpp.tx_hdr_ipv4.ultypeofservice", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTypeOfService",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[2], - { "ulTimeToLive", "octvc1.cpp.tx_hdr_ipv4.ultimetolive", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTimeToLive",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[3], - { "ulProtocol", "octvc1.cpp.tx_hdr_ipv4.ulprotocol", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulProtocol",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[4], - { "ulFlags", "octvc1.cpp.tx_hdr_ipv4.ulflags", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFlags",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[5], - { "ulSourceAddr", "octvc1.cpp.tx_hdr_ipv4.ulsourceaddr", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSourceAddr",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[6], - { "ulDestinationAddr", "octvc1.cpp.tx_hdr_ipv4.uldestinationaddr", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestinationAddr",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[7], - { "ulUdpChecksumAddr", "octvc1.cpp.tx_hdr_ipv4.uludpchecksumaddr", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUdpChecksumAddr",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[8], - { "ulOptionsLength", "octvc1.cpp.tx_hdr_ipv4.uloptionslength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulOptionsLength",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV4[9], - { "aulOptions", "octvc1.cpp.tx_hdr_ipv4.auloptions", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulOptions",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_IPV4.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_IPV6[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_IPV6; - -void register_tOCTVC1_CPP_TX_HDR_IPV6(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV6[0], - { "CommonHeader", "octvc1.cpp.tx_hdr_ipv6.commonheader", - FT_NONE, BASE_NONE, NULL, 0x0, - "CommonHeader",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV6[1], - { "ulTrafficClass", "octvc1.cpp.tx_hdr_ipv6.ultrafficclass", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTrafficClass",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV6[2], - { "ulFlowLabel", "octvc1.cpp.tx_hdr_ipv6.ulflowlabel", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFlowLabel",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV6[3], - { "ulHopLimit", "octvc1.cpp.tx_hdr_ipv6.ulhoplimit", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHopLimit",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV6[4], - { "aulSourceAddr", "octvc1.cpp.tx_hdr_ipv6.aulsourceaddr", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulSourceAddr",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV6[5], - { "aulDestinationAddr", "octvc1.cpp.tx_hdr_ipv6.auldestinationaddr", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulDestinationAddr",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV6[6], - { "aulUdpChecksumAddr", "octvc1.cpp.tx_hdr_ipv6.auludpchecksumaddr", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulUdpChecksumAddr",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_IPV6[7], - { "ulNextHeader", "octvc1.cpp.tx_hdr_ipv6.ulnextheader", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNextHeader",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_IPV6.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_UDP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_UDP; - -void register_tOCTVC1_CPP_TX_HDR_UDP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_UDP[0], - { "CommonHeader", "octvc1.cpp.tx_hdr_udp.commonheader", - FT_NONE, BASE_NONE, NULL, 0x0, - "CommonHeader",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_UDP[1], - { "ulSourcePort", "octvc1.cpp.tx_hdr_udp.ulsourceport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSourcePort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_UDP[2], - { "ulDestinationPort", "octvc1.cpp.tx_hdr_udp.uldestinationport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestinationPort",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_UDP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_TX_HDR_RTP[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_TX_HDR_RTP; - -void register_tOCTVC1_CPP_TX_HDR_RTP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_TX_HDR_RTP[0], - { "CommonHeader", "octvc1.cpp.tx_hdr_rtp.commonheader", - FT_NONE, BASE_NONE, NULL, 0x0, - "CommonHeader",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_RTP[1], - { "ulNumContributingSources", "octvc1.cpp.tx_hdr_rtp.ulnumcontributingsources", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumContributingSources",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_RTP[2], - { "ulSynchronizationSource", "octvc1.cpp.tx_hdr_rtp.ulsynchronizationsource", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSynchronizationSource",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_RTP[3], - { "ulExtensionFlag", "octvc1.cpp.tx_hdr_rtp.ulextensionflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulExtensionFlag",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_RTP[4], - { "ulExtensionType", "octvc1.cpp.tx_hdr_rtp.ulextensiontype", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulExtensionType",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_RTP[5], - { "ulExtensionLength", "octvc1.cpp.tx_hdr_rtp.ulextensionlength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulExtensionLength",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_RTP[6], - { "aulCsrcs", "octvc1.cpp.tx_hdr_rtp.aulcsrcs", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulCsrcs",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_TX_HDR_RTP[7], - { "aulExtensions", "octvc1.cpp.tx_hdr_rtp.aulextensions", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulExtensions",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_TX_HDR_RTP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -/**************************************************************************** - CMD/RSP Registered - ****************************************************************************/ - -int ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[9]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD; - -void register_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[0], - { "hCppObj", "octvc1.cpp.module.dest.add.hcppobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hCppObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[1], - { "ulCppObjPort", "octvc1.cpp.module.dest.add.ulcppobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCppObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[2], - { "hDestObj", "octvc1.cpp.module.dest.add.hdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[3], - { "ulDestObjPort", "octvc1.cpp.module.dest.add.uldestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[4], - { "ulDestObjFifoId", "octvc1.cpp.module.dest.add.uldestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjFifoId",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[5], - { "DestMacAddress", "octvc1.cpp.module.dest.add.destmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestMacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[6], - { "SrcMacAddress", "octvc1.cpp.module.dest.add.srcmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "SrcMacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[7], - { "BridgeMacAddress", "octvc1.cpp.module.dest.add.bridgemacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "BridgeMacAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP; - -void register_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP[0], - { "hCppObj", "octvc1.cpp.module.dest.add.hcppobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hCppObj",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD; - -void register_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[0], - { "ulRemoveMode", "octvc1.cpp.module.dest.remove.ulremovemode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_DEST_REMOVE_MODE_ENUM), 0x0, - "ulRemoveMode",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[1], - { "hCppObj", "octvc1.cpp.module.dest.remove.hcppobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hCppObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[2], - { "ulCppObjPort", "octvc1.cpp.module.dest.remove.ulcppobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCppObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[3], - { "hDestObj", "octvc1.cpp.module.dest.remove.hdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[4], - { "ulDestObjPort", "octvc1.cpp.module.dest.remove.uldestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[5], - { "ulDestObjFifoId", "octvc1.cpp.module.dest.remove.uldestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjFifoId",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[6], - { "DestMacAddress", "octvc1.cpp.module.dest.remove.destmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestMacAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP; - -void register_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP[0], - { "ulNumDestRemoved", "octvc1.cpp.module.dest.remove.ulnumdestremoved", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumDestRemoved",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD; - -void register_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[0], - { "ulGetType", "octvc1.cpp.module.dest.info.ulgettype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_DEST_INFO_ENUM), 0x0, - "ulGetType",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[1], - { "hCppObj", "octvc1.cpp.module.dest.info.hcppobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hCppObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[2], - { "ulCppObjPort", "octvc1.cpp.module.dest.info.ulcppobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCppObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[3], - { "hDestObj", "octvc1.cpp.module.dest.info.hdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[4], - { "ulDestObjPort", "octvc1.cpp.module.dest.info.uldestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[5], - { "ulDestObjFifoId", "octvc1.cpp.module.dest.info.uldestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjFifoId",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[6], - { "DestMacAddress", "octvc1.cpp.module.dest.info.destmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestMacAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP; - -void register_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[0], - { "ulMoreFlag", "octvc1.cpp.module.dest.info.ulmoreflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulMoreFlag",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[1], - { "ulNumDestEntry", "octvc1.cpp.module.dest.info.ulnumdestentry", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumDestEntry",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[2], - { "aDestEntry", "octvc1.cpp.module.dest.info.adestentry", - FT_NONE, BASE_NONE, NULL, 0x0, - "aDestEntry",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD; - -void register_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD[0], - { "ulResetStatsFlag", "octvc1.cpp.module.global.stats.ulresetstatsflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulResetStatsFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[14]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP; - -void register_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[0], - { "ulControlRxPktCnt", "octvc1.cpp.module.global.stats.ulcontrolrxpktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulControlRxPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[1], - { "ulDataRxPktCnt", "octvc1.cpp.module.global.stats.uldatarxpktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulDataRxPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[2], - { "ulControlBadHdrLenCnt", "octvc1.cpp.module.global.stats.ulcontrolbadhdrlencnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulControlBadHdrLenCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[3], - { "ulDataBadHdrLenCnt", "octvc1.cpp.module.global.stats.uldatabadhdrlencnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulDataBadHdrLenCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[4], - { "ulInvalidPktFormatCnt", "octvc1.cpp.module.global.stats.ulinvalidpktformatcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulInvalidPktFormatCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[5], - { "ulNoFwdPktCnt", "octvc1.cpp.module.global.stats.ulnofwdpktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNoFwdPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[6], - { "ulCppCmdOverflowCnt", "octvc1.cpp.module.global.stats.ulcppcmdoverflowcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulCppCmdOverflowCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[7], - { "ulTxPktQueueOverflowFlag", "octvc1.cpp.module.global.stats.ultxpktqueueoverflowflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulTxPktQueueOverflowFlag",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[8], - { "ulTxPktQueueOverflowFifoPoolId", "octvc1.cpp.module.global.stats.ultxpktqueueoverflowfifopoolid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTxPktQueueOverflowFifoPoolId",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[9], - { "ulTxPktQueueOverflowFifoIndex", "octvc1.cpp.module.global.stats.ultxpktqueueoverflowfifoindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTxPktQueueOverflowFifoIndex",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[10], - { "ulRxFifoResynchFlag", "octvc1.cpp.module.global.stats.ulrxfiforesynchflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulRxFifoResynchFlag",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[11], - { "ulRxFifoResynchFifoPoolId", "octvc1.cpp.module.global.stats.ulrxfiforesynchfifopoolid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRxFifoResynchFifoPoolId",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[12], - { "ulRxFifoResynchFifoIndex", "octvc1.cpp.module.global.stats.ulrxfiforesynchfifoindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRxFifoResynchFifoIndex",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD; - -void register_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD[0], - { "ulEthPort", "octvc1.cpp.module.eth.stats.ulethport", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_ETH_PORT_ID_ENUM), 0x0, - "ulEthPort",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[11]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP; - -void register_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[0], - { "ulEthPort", "octvc1.cpp.module.eth.stats.ulethport", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_ETH_PORT_ID_ENUM), 0x0, - "ulEthPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[1], - { "ulEthRxPktCnt", "octvc1.cpp.module.eth.stats.ulethrxpktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulEthRxPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[2], - { "ulEthTxPktCnt", "octvc1.cpp.module.eth.stats.ulethtxpktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulEthTxPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[3], - { "ulEthRxByteCnt", "octvc1.cpp.module.eth.stats.ulethrxbytecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulEthRxByteCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[4], - { "ulEthTxByteCnt", "octvc1.cpp.module.eth.stats.ulethtxbytecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulEthTxByteCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[5], - { "ulEthBadHdrCnt", "octvc1.cpp.module.eth.stats.ulethbadhdrcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulEthBadHdrCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[6], - { "ulEthBadHdrLenCnt", "octvc1.cpp.module.eth.stats.ulethbadhdrlencnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulEthBadHdrLenCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[7], - { "ulEth8023BadLlcOuiCnt", "octvc1.cpp.module.eth.stats.uleth8023badllcouicnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulEth8023BadLlcOuiCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[8], - { "ulRxFifoReSyncCnt", "octvc1.cpp.module.eth.stats.ulrxfiforesynccnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxFifoReSyncCnt",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[9], - { "ulTxPktQueueOverflowCnt", "octvc1.cpp.module.eth.stats.ultxpktqueueoverflowcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulTxPktQueueOverflowCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP; - -void register_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP[0], - { "Static", "octvc1.cpp.module.config.get.static", - FT_NONE, BASE_NONE, NULL, 0x0, - "Static",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_OPEN_CMD; - -void register_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[0], - { "hDestObj", "octvc1.cpp.forward.open.hdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[1], - { "ulDestObjPort", "octvc1.cpp.forward.open.uldestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[2], - { "ulDestObjFifoId", "octvc1.cpp.forward.open.uldestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjFifoId",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[3], - { "DestMacAddress", "octvc1.cpp.forward.open.destmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestMacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[4], - { "SrcMacAddress", "octvc1.cpp.forward.open.srcmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "SrcMacAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_FORWARD_OPEN_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_OPEN_RSP; - -void register_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP[0], - { "hForward", "octvc1.cpp.forward.open.hforward", - FT_NONE, BASE_NONE, NULL, 0x0, - "hForward",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP[1], - { "ulFifoId", "octvc1.cpp.forward.open.ulfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_FORWARD_OPEN_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD; - -void register_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD[0], - { "hForward", "octvc1.cpp.forward.close.hforward", - FT_NONE, BASE_NONE, NULL, 0x0, - "hForward",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP; - -void register_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP[0], - { "hForward", "octvc1.cpp.forward.close.hforward", - FT_NONE, BASE_NONE, NULL, 0x0, - "hForward",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_STATS_CMD; - -void register_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD[0], - { "ObjectGet", "octvc1.cpp.forward.stats.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD[1], - { "ulResetStatsFlag", "octvc1.cpp.forward.stats.ulresetstatsflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulResetStatsFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_FORWARD_STATS_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_STATS_RSP; - -void register_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP[0], - { "ObjectGet", "octvc1.cpp.forward.stats.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_FORWARD_STATS_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_INFO_CMD; - -void register_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[0], - { "ObjectGet", "octvc1.cpp.forward.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[1], - { "ulGetType", "octvc1.cpp.forward.info.ulgettype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_CPP_DEST_INFO_ENUM), 0x0, - "ulGetType",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[2], - { "hDestObj", "octvc1.cpp.forward.info.hdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[3], - { "ulDestObjPort", "octvc1.cpp.forward.info.uldestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[4], - { "ulDestObjFifoId", "octvc1.cpp.forward.info.uldestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjFifoId",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[5], - { "DestMacAddress", "octvc1.cpp.forward.info.destmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestMacAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_FORWARD_INFO_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_CPP_MSG_FORWARD_INFO_RSP; - -void register_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[0], - { "ObjectGet", "octvc1.cpp.forward.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[1], - { "ulFifoId", "octvc1.cpp.forward.info.ulfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFifoId",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[2], - { "ulMoreFlag", "octvc1.cpp.forward.info.ulmoreflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulMoreFlag",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[3], - { "ulNumDestEntry", "octvc1.cpp.forward.info.ulnumdestentry", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumDestEntry",HFILL } - - }, - { - &ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[4], - { "aDestEntry", "octvc1.cpp.forward.info.adestentry", - FT_NONE, BASE_NONE, NULL, 0x0, - "aDestEntry",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_CPP_MSG_FORWARD_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -/**************************************************************************** - COMMON dissectors - ****************************************************************************/ - - -unsigned int dissect_tOCTVC1_CPP_CONFIG_STATIC(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_CONFIG_STATIC))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_CONFIG_STATIC (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_CONFIG_STATIC)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_CONFIG_STATIC); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxDestination), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxDestination); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxUdpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxUdpPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxUdpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxUdpCnct); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxTxUdpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxTxUdpCnct); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxRtpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxRtpPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxRtpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxRtpCnct); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxTxRtpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxTxRtpCnct); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxTcpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxTcpPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxTcpCnct), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxTcpCnct); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxIpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxRxIpPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxForwardObj), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxForwardObj); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulIpFragmentIdMask), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[11], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulIpFragmentIdMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[12], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulIpFragmentIdMatch), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[12], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulIpFragmentIdMatch); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[13], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxNonEthernetBandwidth), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[13], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxNonEthernetBandwidth); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[14], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxNonUdpBandwidth), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_CONFIG_STATIC[14], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_CONFIG_STATIC, ulMaxNonUdpBandwidth); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulPacketEncodeType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulPacketEncodeType); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulRtpPayloadType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulRtpPayloadType); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulPktPortIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY, ulPktPortIndex); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY, ulPacketEncodeType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY, ulPacketEncodeType); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY, ulRtpPayloadType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY, ulRtpPayloadType); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_DEST_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_DEST_ENTRY))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_DEST_ENTRY (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_DEST_ENTRY)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_DEST_ENTRY); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, hCppObj), "hCppObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulCppObjPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulCppObjPort); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, hDestObj), "hDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulDestObjPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulDestObjFifoId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_DEST_ENTRY, ulDestObjFifoId); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[5], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_DEST_ENTRY[6], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","BridgeMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_COMMON(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_COMMON))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_COMMON (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_COMMON)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_COMMON); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_COMMON[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_COMMON, ulHeaderType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_COMMON[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_COMMON, ulHeaderType); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_COMMON[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_COMMON, ulHeaderLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_COMMON[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_COMMON, ulHeaderLength); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_ETHERNET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_ETHERNET))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_ETHERNET (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_ETHERNET)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_ETHERNET); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, ulEthertypeEncoding), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, ulEthertypeEncoding); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, ulEthertype), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETHERNET, ulEthertype); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[3], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","SourceMacAddr: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETHERNET[4], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","DestinationMacAddr: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_ETH_PQ(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_ETH_PQ))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_ETH_PQ (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_ETH_PQ)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_ETH_PQ); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulEthertypeEncoding), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulEthertypeEncoding); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulEthertype), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulEthertype); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulTci), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_ETH_PQ, ulTci); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[4], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","SourceMacAddr: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_TX_HDR_ETH_PQ[5], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","DestinationMacAddr: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_LLC(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_LLC))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_LLC (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_LLC)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_LLC); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_LLC, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_LLC[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_LLC, ulLlcValue), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_LLC[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_LLC, ulLlcValue); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_NLPID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_NLPID))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_NLPID (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_NLPID)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_NLPID); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_NLPID, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_NLPID[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_NLPID, ulNlpidValue), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_NLPID[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_NLPID, ulNlpidValue); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_SNAP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_SNAP))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_SNAP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_SNAP)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_SNAP); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_SNAP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, ulOuiValue), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_SNAP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, ulOuiValue); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_SNAP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, ulPidValue), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_SNAP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_SNAP, ulPidValue); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_IPV4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_IPV4))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_IPV4 (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_IPV4)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_IPV4); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulTypeOfService), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulTypeOfService); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulTimeToLive), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulTimeToLive); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulProtocol), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulProtocol); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulFlags), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulFlags); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulSourceAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulSourceAddr); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulDestinationAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulDestinationAddr); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulUdpChecksumAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulUdpChecksumAddr); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulOptionsLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, ulOptionsLength); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, aulOptions), "aulOptions"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<1; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV4, aulOptions), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV4[9], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_IPV6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_IPV6))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_IPV6 (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_IPV6)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_IPV6); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulTrafficClass), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulTrafficClass); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulFlowLabel), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulFlowLabel); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulHopLimit), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulHopLimit); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulSourceAddr), "aulSourceAddr"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulSourceAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[4], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulDestinationAddr), "aulDestinationAddr"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulDestinationAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[5], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulUdpChecksumAddr), "aulUdpChecksumAddr"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, aulUdpChecksumAddr), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[6], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulNextHeader), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_IPV6[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_IPV6, ulNextHeader); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_UDP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_UDP))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_UDP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_UDP)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_UDP); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_UDP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, ulSourcePort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_UDP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, ulSourcePort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_UDP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, ulDestinationPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_UDP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_UDP, ulDestinationPort); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_CPP_TX_HDR_RTP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_TX_HDR_RTP))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_TX_HDR_RTP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_TX_HDR_RTP)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_CPP_TX_HDR_RTP); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, CommonHeader), "CommonHeader:tOCTVC1_CPP_TX_HDR_COMMON"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_TX_HDR_COMMON( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulNumContributingSources), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulNumContributingSources); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulSynchronizationSource), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulSynchronizationSource); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionType); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, ulExtensionLength); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, aulCsrcs), "aulCsrcs"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<15; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, aulCsrcs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[6], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, aulExtensions), "aulExtensions"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<1; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_TX_HDR_RTP, aulExtensions), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_CPP_TX_HDR_RTP[7], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - } - - - return offset; - -}; - -/**************************************************************************** - CMD/RSP dissectors - ****************************************************************************/ - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, hCppObj), "hCppObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, ulCppObjPort); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, ulDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_FIFO_ID_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[4], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD, ulDestObjFifoId); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[5], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[6], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","SrcMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD[7], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","BridgeMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP, hCppObj), "hCppObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulRemoveMode); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, hCppObj), "hCppObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulCppObjPort); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_FIFO_ID_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[5], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD, ulDestObjFifoId); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD[6], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP, ulNumDestRemoved); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulGetType); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, hCppObj), "hCppObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulCppObjPort); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_FIFO_ID_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[5], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD, ulDestObjFifoId); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD[6], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP, ulMoreFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP, ulMoreFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP, ulNumDestEntry); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP, aDestEntry), "aDestEntry:tOCTVC1_CPP_DEST_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_CPP_DEST_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_DEST_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD, ulResetStatsFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD, ulResetStatsFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulControlRxPktCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulDataRxPktCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulControlBadHdrLenCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulDataBadHdrLenCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulInvalidPktFormatCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulNoFwdPktCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulCppCmdOverflowCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulTxPktQueueOverflowFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulTxPktQueueOverflowFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulTxPktQueueOverflowFifoPoolId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulTxPktQueueOverflowFifoIndex); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulRxFifoResynchFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulRxFifoResynchFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[11], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulRxFifoResynchFifoPoolId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP[12], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP, ulRxFifoResynchFifoIndex); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD, ulEthPort); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthRxPktCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthTxPktCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthRxByteCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthTxByteCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthBadHdrCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEthBadHdrLenCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulEth8023BadLlcOuiCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulRxFifoReSyncCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP, ulTxPktQueueOverflowCnt); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP, Static), "Static:tOCTVC1_CPP_CONFIG_STATIC"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_CONFIG_STATIC( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD, ulDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_FIFO_ID_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[2], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD, ulDestObjFifoId); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[3], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD[4], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","SrcMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP, hForward), "hForward:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP, ulFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD, hForward), "hForward:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP, hForward), "hForward:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD, ulResetStatsFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_STATS_CMD, ulResetStatsFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_FORWARD_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_STATS_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ulGetType); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ulDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_FIFO_ID_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[4], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_CMD, ulDestObjFifoId); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD[5], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_CPP_MSG_FORWARD_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ulFifoId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ulMoreFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ulMoreFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, ulNumDestEntry); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_CPP_MSG_FORWARD_INFO_RSP, aDestEntry), "aDestEntry:tOCTVC1_CPP_DEST_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_CPP_DEST_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CPP_DEST_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; -/**************************************************************************** - MODULE REGISTERED EXPORTED FUNCTION - ****************************************************************************/ - -void ws_register_OCTVC1_CPP(void) -{ - /**************************************************************************** - Register Common struct - ****************************************************************************/ - register_tOCTVC1_CPP_CONFIG_STATIC(); - register_tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY(); - register_tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY(); - register_tOCTVC1_CPP_DEST_ENTRY(); - register_tOCTVC1_CPP_TX_HDR_COMMON(); - register_tOCTVC1_CPP_TX_HDR_ETHERNET(); - register_tOCTVC1_CPP_TX_HDR_ETH_PQ(); - register_tOCTVC1_CPP_TX_HDR_LLC(); - register_tOCTVC1_CPP_TX_HDR_NLPID(); - register_tOCTVC1_CPP_TX_HDR_SNAP(); - register_tOCTVC1_CPP_TX_HDR_IPV4(); - register_tOCTVC1_CPP_TX_HDR_IPV6(); - register_tOCTVC1_CPP_TX_HDR_UDP(); - register_tOCTVC1_CPP_TX_HDR_RTP(); - - /**************************************************************************** - CMD/RSP Registered - ****************************************************************************/ - register_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD(); - register_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP(); - register_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD(); - register_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP(); - register_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD(); - register_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP(); - register_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD(); - register_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP(); - register_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD(); - register_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP(); - register_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP(); - register_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD(); - register_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP(); - register_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD(); - register_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP(); - register_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD(); - register_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP(); - register_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD(); - register_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP(); - -} - -/**************************************************************************** - MODULE DISSECTOR FUNCTIONS - ****************************************************************************/ -int ws_dissect_OCTVC1_CPP_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) -{ - if( tree ) - { - switch( CID ) { - case cOCTVC1_CPP_MSG_MODULE_ADD_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_INFO_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_STATS_ETH_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CID: return 0; break; - case cOCTVC1_CPP_MSG_FORWARD_OPEN_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_FORWARD_CLOSE_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_FORWARD_STATS_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_STATS_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_FORWARD_INFO_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_INFO_CMD( tvb, pinfo, tree, 0 ); break; - default: return 1; - } - } - return 0; - -} -int ws_dissect_OCTVC1_CPP_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) -{ - if( tree ) - { - switch( CID ) { - case cOCTVC1_CPP_MSG_MODULE_ADD_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_INFO_DEST_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_STATS_ETH_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CID: return dissect_tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_FORWARD_OPEN_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_FORWARD_CLOSE_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_FORWARD_STATS_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_STATS_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_CPP_MSG_FORWARD_INFO_CID: return dissect_tOCTVC1_CPP_MSG_FORWARD_INFO_RSP( tvb, pinfo, tree, 0 ); break; - default: return 1; - } - } - return 0; - -} -int ws_dissect_OCTVC1_CPP_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) -{ - if( tree ) - { - switch( CID ) { - default: return 1; - } - } - return 0; - -} - -/**************************************************************************** - MODULE DISSECTOR EXPORTED FUNCTION - ****************************************************************************/ - -int ws_dissect_OCTVC1_CPP( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) -{ - if (message_type == cOCTVC1_MSG_TYPE_RESPONSE) - return ws_dissect_OCTVC1_CPP_RSP( CID, tvb, pinfo, tree); - if (message_type == cOCTVC1_MSG_TYPE_COMMAND) - return ws_dissect_OCTVC1_CPP_CMD( CID, tvb, pinfo, tree); - if (message_type == cOCTVC1_MSG_TYPE_NOTIFICATION ) - return ws_dissect_OCTVC1_CPP_EVT( CID, tvb, pinfo, tree); - else - return 1; - -} - diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_ctrl.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_ctrl.c index 54fe328..84932e5 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_ctrl.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_ctrl.c @@ -2,24 +2,26 @@ File: octvc1_module_ctrl.c -Copyright (c) 2014 Octasic Inc. All rights reserved. + +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark module dissector related functions -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -33,7 +35,7 @@ $Octasic_Revision: $ #include "../include/module.h" #include "../include/octvc1_common.h" -#include +#include /**************************************************************************** diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_gsm.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_gsm.c index 91616fc..c86a203 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_gsm.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_gsm.c @@ -2,24 +2,26 @@ File: octvc1_module_gsm.c -Copyright (c) 2014 Octasic Inc. All rights reserved. + +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark module dissector related functions -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -33,31 +35,161 @@ $Octasic_Revision: $ #include "../include/module.h" #include "../include/octvc1_common.h" -#include +#include /**************************************************************************** MODULE API ENUMERATION STRING VALUES ****************************************************************************/ -const value_string vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[] = +const value_string vals_tOCTVC1_GSM_CMI_PHASE_ENUM[] = { - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT0, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT0" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT1, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT1" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT2, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT2" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT3, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT3" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT4, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT4" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT5, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT5" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT0, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT0" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT1, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT1" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT2, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT2" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT3, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT3" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_HOPPING, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_HOPPING" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT0, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT0" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT1, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT1" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT2, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT2" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT3, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT3" }, - { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT4, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT4" }, + { cOCTVC1_GSM_CMI_PHASE_ENUM_EVEN, "cOCTVC1_GSM_CMI_PHASE_ENUM_EVEN" }, + { cOCTVC1_GSM_CMI_PHASE_ENUM_ODD, "cOCTVC1_GSM_CMI_PHASE_ENUM_ODD" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_AMR_CODEC_MODE_ENUM[] = + { + { cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_4_75, "cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_4_75" }, + { cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_5_15, "cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_5_15" }, + { cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_5_90, "cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_5_90" }, + { cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_6_70, "cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_6_70" }, + { cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_7_40, "cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_7_40" }, + { cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_7_95, "cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_7_95" }, + { cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_10_2, "cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_10_2" }, + { cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_12_2, "cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_12_2" }, + { cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_UNSET, "cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_UNSET" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_ID_DIRECTION_ENUM[] = + { + { cOCTVC1_GSM_ID_DIRECTION_ENUM_NONE, "cOCTVC1_GSM_ID_DIRECTION_ENUM_NONE" }, + { cOCTVC1_GSM_ID_DIRECTION_ENUM_RX_BTS_MS, "cOCTVC1_GSM_ID_DIRECTION_ENUM_RX_BTS_MS" }, + { cOCTVC1_GSM_ID_DIRECTION_ENUM_TX_BTS_MS, "cOCTVC1_GSM_ID_DIRECTION_ENUM_TX_BTS_MS" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_DIRECTION_ENUM[] = + { + { cOCTVC1_GSM_DIRECTION_ENUM_NONE, "cOCTVC1_GSM_DIRECTION_ENUM_NONE" }, + { cOCTVC1_GSM_DIRECTION_ENUM_RX_BTS_MS, "cOCTVC1_GSM_DIRECTION_ENUM_RX_BTS_MS" }, + { cOCTVC1_GSM_DIRECTION_ENUM_TX_BTS_MS, "cOCTVC1_GSM_DIRECTION_ENUM_TX_BTS_MS" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_ID_TIMESLOT_NB_ENUM[] = + { + { cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_0, "cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_0" }, + { cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_1, "cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_1" }, + { cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_2, "cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_2" }, + { cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_3, "cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_3" }, + { cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_4, "cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_4" }, + { cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_5, "cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_5" }, + { cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_6, "cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_6" }, + { cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_7, "cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_7" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_TIMESLOT_NB_ENUM[] = + { + { cOCTVC1_GSM_TIMESLOT_NB_ENUM_0, "cOCTVC1_GSM_TIMESLOT_NB_ENUM_0" }, + { cOCTVC1_GSM_TIMESLOT_NB_ENUM_1, "cOCTVC1_GSM_TIMESLOT_NB_ENUM_1" }, + { cOCTVC1_GSM_TIMESLOT_NB_ENUM_2, "cOCTVC1_GSM_TIMESLOT_NB_ENUM_2" }, + { cOCTVC1_GSM_TIMESLOT_NB_ENUM_3, "cOCTVC1_GSM_TIMESLOT_NB_ENUM_3" }, + { cOCTVC1_GSM_TIMESLOT_NB_ENUM_4, "cOCTVC1_GSM_TIMESLOT_NB_ENUM_4" }, + { cOCTVC1_GSM_TIMESLOT_NB_ENUM_5, "cOCTVC1_GSM_TIMESLOT_NB_ENUM_5" }, + { cOCTVC1_GSM_TIMESLOT_NB_ENUM_6, "cOCTVC1_GSM_TIMESLOT_NB_ENUM_6" }, + { cOCTVC1_GSM_TIMESLOT_NB_ENUM_7, "cOCTVC1_GSM_TIMESLOT_NB_ENUM_7" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM[] = + { + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_0, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_0" }, + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_1, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_1" }, + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_2, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_2" }, + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_2, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_2" }, + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_3, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_3" }, + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_4, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_4" }, + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_5, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_5" }, + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_6, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_6" }, + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_7, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_7" }, + { cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_ALL, "cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_ALL" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_SUB_CHANNEL_NB_ENUM[] = + { + { cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_0, "cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_0" }, + { cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_1, "cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_1" }, + { cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_2, "cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_2" }, + { cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_3, "cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_3" }, + { cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_4, "cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_4" }, + { cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_5, "cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_5" }, + { cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_6, "cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_6" }, + { cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_7, "cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_7" }, + { cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_ALL, "cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_ALL" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_CIPHERING_ID_ENUM[] = + { + { cOCTVC1_GSM_CIPHERING_ID_ENUM_UNUSED, "cOCTVC1_GSM_CIPHERING_ID_ENUM_UNUSED" }, + { cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_0, "cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_0" }, + { cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_1, "cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_1" }, + { cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_2, "cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_2" }, + { cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_3, "cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_3" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_SUBCHANNEL_MASK[] = + { + { cOCTVC1_GSM_SUBCHANNEL_MASK_0, "cOCTVC1_GSM_SUBCHANNEL_MASK_0" }, + { cOCTVC1_GSM_SUBCHANNEL_MASK_1, "cOCTVC1_GSM_SUBCHANNEL_MASK_1" }, + { cOCTVC1_GSM_SUBCHANNEL_MASK_2, "cOCTVC1_GSM_SUBCHANNEL_MASK_2" }, + { cOCTVC1_GSM_SUBCHANNEL_MASK_3, "cOCTVC1_GSM_SUBCHANNEL_MASK_3" }, + { cOCTVC1_GSM_SUBCHANNEL_MASK_4, "cOCTVC1_GSM_SUBCHANNEL_MASK_4" }, + { cOCTVC1_GSM_SUBCHANNEL_MASK_5, "cOCTVC1_GSM_SUBCHANNEL_MASK_5" }, + { cOCTVC1_GSM_SUBCHANNEL_MASK_6, "cOCTVC1_GSM_SUBCHANNEL_MASK_6" }, + { cOCTVC1_GSM_SUBCHANNEL_MASK_7, "cOCTVC1_GSM_SUBCHANNEL_MASK_7" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_BURST_TYPE_ENUM[] = + { + { cOCTVC1_GSM_BURST_TYPE_ENUM_SYNC, "cOCTVC1_GSM_BURST_TYPE_ENUM_SYNC" }, + { cOCTVC1_GSM_BURST_TYPE_ENUM_NORMAL, "cOCTVC1_GSM_BURST_TYPE_ENUM_NORMAL" }, + { cOCTVC1_GSM_BURST_TYPE_ENUM_DUMMY, "cOCTVC1_GSM_BURST_TYPE_ENUM_DUMMY" }, + { cOCTVC1_GSM_BURST_TYPE_ENUM_NORMAL_8PSK, "cOCTVC1_GSM_BURST_TYPE_ENUM_NORMAL_8PSK" }, + { cOCTVC1_GSM_BURST_TYPE_ENUM_ACCESS_TRAINING_0, "cOCTVC1_GSM_BURST_TYPE_ENUM_ACCESS_TRAINING_0" }, + { cOCTVC1_GSM_BURST_TYPE_ENUM_ACCESS_TRAINING_1, "cOCTVC1_GSM_BURST_TYPE_ENUM_ACCESS_TRAINING_1" }, + { cOCTVC1_GSM_BURST_TYPE_ENUM_ACCESS_TRAINING_2, "cOCTVC1_GSM_BURST_TYPE_ENUM_ACCESS_TRAINING_2" }, + { cOCTVC1_GSM_BURST_TYPE_ENUM_FREQ_CORRECTION, "cOCTVC1_GSM_BURST_TYPE_ENUM_FREQ_CORRECTION" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM[] = + { + { cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_EMPTY, "cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_EMPTY" }, + { cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_TCHF_FACCHF_SACCHTF, "cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_TCHF_FACCHF_SACCHTF" }, + { cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_TCHH_FACCHH_SACCHTH, "cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_TCHH_FACCHH_SACCHTH" }, + { cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_FCCH_SCH_BCCH_CCCH, "cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_FCCH_SCH_BCCH_CCCH" }, + { cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_FCCH_SCH_BCCH_CCCH_SDCCH4_SACCHC4, "cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_FCCH_SCH_BCCH_CCCH_SDCCH4_SACCHC4" }, + { cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_SDCCH8_SACCHC8, "cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_SDCCH8_SACCHC8" }, + { cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_PDTCHF_PACCHF_PTCCHF, "cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_PDTCHF_PACCHF_PTCCHF" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_PAYLOAD_TYPE_ENUM[] = + { + { cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_NONE, "cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_NONE" }, + { cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_FULL_RATE, "cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_FULL_RATE" }, + { cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_ENH_FULL_RATE, "cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_ENH_FULL_RATE" }, + { cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_HALF_RATE, "cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_HALF_RATE" }, + { cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_AMR_FULL_RATE, "cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_AMR_FULL_RATE" }, + { cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_AMR_HALF_RATE, "cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_AMR_HALF_RATE" }, { 0, NULL } }; @@ -88,236 +220,60 @@ const value_string vals_tOCTVC1_GSM_SAPI_ENUM[] = { 0, NULL } }; -const value_string vals_tOCTVC1_GSM_Channel_Type_ENUM[] = +const value_string vals_tOCTVC1_GSM_SAPI_MASK[] = { - { cOCTVC1_GSM_Channel_Type_ENUM_CCCH, "cOCTVC1_GSM_Channel_Type_ENUM_CCCH" }, - { cOCTVC1_GSM_Channel_Type_ENUM_CCCH4, "cOCTVC1_GSM_Channel_Type_ENUM_CCCH4" }, - { cOCTVC1_GSM_Channel_Type_ENUM_SDCCH, "cOCTVC1_GSM_Channel_Type_ENUM_SDCCH" }, - { cOCTVC1_GSM_Channel_Type_ENUM_TCH_F, "cOCTVC1_GSM_Channel_Type_ENUM_TCH_F" }, - { cOCTVC1_GSM_Channel_Type_ENUM_TCH_H, "cOCTVC1_GSM_Channel_Type_ENUM_TCH_H" }, - { cOCTVC1_GSM_Channel_Type_ENUM_PDTCH, "cOCTVC1_GSM_Channel_Type_ENUM_PDTCH" }, + { cOCTVC1_GSM_SAPI_MASK_IDLE, "cOCTVC1_GSM_SAPI_MASK_IDLE" }, + { cOCTVC1_GSM_SAPI_MASK_FCCH, "cOCTVC1_GSM_SAPI_MASK_FCCH" }, + { cOCTVC1_GSM_SAPI_MASK_SCH, "cOCTVC1_GSM_SAPI_MASK_SCH" }, + { cOCTVC1_GSM_SAPI_MASK_SACCH, "cOCTVC1_GSM_SAPI_MASK_SACCH" }, + { cOCTVC1_GSM_SAPI_MASK_SDCCH, "cOCTVC1_GSM_SAPI_MASK_SDCCH" }, + { cOCTVC1_GSM_SAPI_MASK_BCCH, "cOCTVC1_GSM_SAPI_MASK_BCCH" }, + { cOCTVC1_GSM_SAPI_MASK_PCH_AGCH, "cOCTVC1_GSM_SAPI_MASK_PCH_AGCH" }, + { cOCTVC1_GSM_SAPI_MASK_CBCH, "cOCTVC1_GSM_SAPI_MASK_CBCH" }, + { cOCTVC1_GSM_SAPI_MASK_RACH, "cOCTVC1_GSM_SAPI_MASK_RACH" }, + { cOCTVC1_GSM_SAPI_MASK_TCHF, "cOCTVC1_GSM_SAPI_MASK_TCHF" }, + { cOCTVC1_GSM_SAPI_MASK_FACCHF, "cOCTVC1_GSM_SAPI_MASK_FACCHF" }, + { cOCTVC1_GSM_SAPI_MASK_TCHH, "cOCTVC1_GSM_SAPI_MASK_TCHH" }, + { cOCTVC1_GSM_SAPI_MASK_FACCHH, "cOCTVC1_GSM_SAPI_MASK_FACCHH" }, + { cOCTVC1_GSM_SAPI_MASK_NCH, "cOCTVC1_GSM_SAPI_MASK_NCH" }, + { cOCTVC1_GSM_SAPI_MASK_PDTCH, "cOCTVC1_GSM_SAPI_MASK_PDTCH" }, + { cOCTVC1_GSM_SAPI_MASK_PACCH, "cOCTVC1_GSM_SAPI_MASK_PACCH" }, + { cOCTVC1_GSM_SAPI_MASK_PBCCH, "cOCTVC1_GSM_SAPI_MASK_PBCCH" }, + { cOCTVC1_GSM_SAPI_MASK_PAGCH, "cOCTVC1_GSM_SAPI_MASK_PAGCH" }, + { cOCTVC1_GSM_SAPI_MASK_PPCH, "cOCTVC1_GSM_SAPI_MASK_PPCH" }, + { cOCTVC1_GSM_SAPI_MASK_PNCH, "cOCTVC1_GSM_SAPI_MASK_PNCH" }, + { cOCTVC1_GSM_SAPI_MASK_PTCCH, "cOCTVC1_GSM_SAPI_MASK_PTCCH" }, + { cOCTVC1_GSM_SAPI_MASK_PRACH, "cOCTVC1_GSM_SAPI_MASK_PRACH" }, { 0, NULL } }; -const value_string vals_tOCTVC1_GSM_CIPHERING_ENUM[] = +const value_string vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[] = { - { cOCTVC1_GSM_CIPHERING_ENUM_A5_0, "cOCTVC1_GSM_CIPHERING_ENUM_A5_0" }, - { cOCTVC1_GSM_CIPHERING_ENUM_A5_1, "cOCTVC1_GSM_CIPHERING_ENUM_A5_1" }, - { cOCTVC1_GSM_CIPHERING_ENUM_A5_2, "cOCTVC1_GSM_CIPHERING_ENUM_A5_2" }, - { cOCTVC1_GSM_CIPHERING_ENUM_A5_3, "cOCTVC1_GSM_CIPHERING_ENUM_A5_3" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT0, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT0" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT1, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT1" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT2, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT2" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT3, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT3" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT4, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT4" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT5, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT5" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT0, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT0" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT1, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT1" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT2, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT2" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT3, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT3" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_HOPPING, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_HOPPING" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT0, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT0" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT1, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT1" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT2, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT2" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT3, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT3" }, + { cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT4, "cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT4" }, { 0, NULL } }; -const value_string vals_tOCTVC1_GSM_LOGICAL_CHANNEL_ENUM[] = +const value_string vals_tOCTVC1_GSM_TRX_STATUS_ENUM[] = { - { cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_EMPTY, "cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_EMPTY" }, - { cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_TCHF, "cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_TCHF" }, - { cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_TCHH, "cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_TCHH" }, - { cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_FCCH_SCH_BCCH_CCCH, "cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_FCCH_SCH_BCCH_CCCH" }, - { cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_FCCH_SCH_BCCH_CCCH_SDCCH_SACCH, "cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_FCCH_SCH_BCCH_CCCH_SDCCH_SACCH" }, - { cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_SDCCH_SACCH, "cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_SDCCH_SACCH" }, - { cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_PDTCH_PACCH_PTCCH, "cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_PDTCH_PACCH_PTCCH" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_AMR_CODEC_ENUM[] = - { - { cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_4_75, "cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_4_75" }, - { cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_5_15, "cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_5_15" }, - { cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_5_90, "cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_5_90" }, - { cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_6_70, "cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_6_70" }, - { cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_7_40, "cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_7_40" }, - { cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_7_95, "cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_7_95" }, - { cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_10_2, "cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_10_2" }, - { cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_12_2, "cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_12_2" }, - { cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_Unset, "cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_Unset" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_BURST_ENUM[] = - { - { cOCTVC1_GSM_BURST_ENUM_Synchronization, "cOCTVC1_GSM_BURST_ENUM_Synchronization" }, - { cOCTVC1_GSM_BURST_ENUM_Normal, "cOCTVC1_GSM_BURST_ENUM_Normal" }, - { cOCTVC1_GSM_BURST_ENUM_Dummy, "cOCTVC1_GSM_BURST_ENUM_Dummy" }, - { cOCTVC1_GSM_BURST_ENUM_Normal_8PSK, "cOCTVC1_GSM_BURST_ENUM_Normal_8PSK" }, - { cOCTVC1_GSM_BURST_ENUM_Access_TSC0, "cOCTVC1_GSM_BURST_ENUM_Access_TSC0" }, - { cOCTVC1_GSM_BURST_ENUM_Access_TSC1, "cOCTVC1_GSM_BURST_ENUM_Access_TSC1" }, - { cOCTVC1_GSM_BURST_ENUM_Access_TSC2, "cOCTVC1_GSM_BURST_ENUM_Access_TSC2" }, - { cOCTVC1_GSM_BURST_ENUM_Frequency_Correction, "cOCTVC1_GSM_BURST_ENUM_Frequency_Correction" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_DIR_ENUM[] = - { - { cOCTVC1_GSM_DIR_ENUM_NO_PATH, "cOCTVC1_GSM_DIR_ENUM_NO_PATH" }, - { cOCTVC1_GSM_DIR_ENUM_RX_MS_BTS, "cOCTVC1_GSM_DIR_ENUM_RX_MS_BTS" }, - { cOCTVC1_GSM_DIR_ENUM_RX_BTS_MS, "cOCTVC1_GSM_DIR_ENUM_RX_BTS_MS" }, - { cOCTVC1_GSM_DIR_ENUM_TX_BTS_MS, "cOCTVC1_GSM_DIR_ENUM_TX_BTS_MS" }, - { cOCTVC1_GSM_DIR_ENUM_TX_MS_BTS, "cOCTVC1_GSM_DIR_ENUM_TX_MS_BTS" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_BAND_ENUM[] = - { - { cOCTVC1_GSM_BAND_ENUM_GSM450, "cOCTVC1_GSM_BAND_ENUM_GSM450" }, - { cOCTVC1_GSM_BAND_ENUM_GSM850, "cOCTVC1_GSM_BAND_ENUM_GSM850" }, - { cOCTVC1_GSM_BAND_ENUM_GSM900, "cOCTVC1_GSM_BAND_ENUM_GSM900" }, - { cOCTVC1_GSM_BAND_ENUM_GSM1800, "cOCTVC1_GSM_BAND_ENUM_GSM1800" }, - { cOCTVC1_GSM_BAND_ENUM_GSM1900, "cOCTVC1_GSM_BAND_ENUM_GSM1900" }, - { cOCTVC1_GSM_BAND_ENUM_EGSM, "cOCTVC1_GSM_BAND_ENUM_EGSM" }, - { cOCTVC1_GSM_BAND_ENUM_RGSM, "cOCTVC1_GSM_BAND_ENUM_RGSM" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_PROCESS_TYPE_ENUM[] = - { - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_INVALID, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_INVALID" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_CONTROL, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_CONTROL" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_TDM_DRIVER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_TDM_DRIVER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_ROUTER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_ROUTER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_SCHEDULER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_SCHEDULER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_VSPMGR, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_VSPMGR" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_AF_SRV, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_AF_SRV" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_CAMERA_DRIVER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_CAMERA_DRIVER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_WCDMA_SCHEDULER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_WCDMA_SCHEDULER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_L1C_APAPTATION_LAYER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_L1C_APAPTATION_LAYER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_RACH, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_RACH" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_MASTER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_MASTER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_RFI, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_RFI" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_SLAVE, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_SLAVE" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULOM_MASTER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULOM_MASTER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULOM_SLAVE, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULOM_SLAVE" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLIM_MASTER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLIM_MASTER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLIM_SLAVE, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLIM_SLAVE" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLOM_MASTER, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLOM_MASTER" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLOM_SLAVE, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLOM_SLAVE" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_RFI, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_RFI" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_ETH, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_ETH" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_HSDLOM, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_HSDLOM" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_HSDLIM, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_HSDLIM" }, - { cOCTVC1_GSM_PROCESS_TYPE_ENUM_CTRL, "cOCTVC1_GSM_PROCESS_TYPE_ENUM_CTRL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_EVT_MASK[] = - { - { cOCTVC1_GSM_EVT_MASK_ERROR, "cOCTVC1_GSM_EVT_MASK_ERROR" }, - { cOCTVC1_GSM_EVT_MASK_TRACE_REQUEST, "cOCTVC1_GSM_EVT_MASK_TRACE_REQUEST" }, - { cOCTVC1_GSM_EVT_MASK_TRACE_RESPONSE, "cOCTVC1_GSM_EVT_MASK_TRACE_RESPONSE" }, - { cOCTVC1_GSM_EVT_MASK_MESSAGE, "cOCTVC1_GSM_EVT_MASK_MESSAGE" }, - { cOCTVC1_GSM_EVT_MASK_CHECKPOINT, "cOCTVC1_GSM_EVT_MASK_CHECKPOINT" }, - { cOCTVC1_GSM_EVT_MASK_ALL, "cOCTVC1_GSM_EVT_MASK_ALL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM[] = - { - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_INVALID, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_INVALID" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_WCDMA_SCHEDULER, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_WCDMA_SCHEDULER" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_L1C_APAPTATION_LAYER, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_L1C_APAPTATION_LAYER" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_RACH, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_RACH" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_MASTER, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_MASTER" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_RFI, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_RFI" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_SLAVE, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_SLAVE" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULOM_MASTER, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULOM_MASTER" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULOM_SLAVE, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULOM_SLAVE" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLIM_MASTER, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLIM_MASTER" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLIM_SLAVE, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLIM_SLAVE" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLOM_MASTER, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLOM_MASTER" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLOM_SLAVE, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLOM_SLAVE" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLIM_RFI, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLIM_RFI" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ETH, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ETH" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_HSDLOM, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_HSDLOM" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_HSDLIM, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_HSDLIM" }, - { cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_CTRL, "cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_CTRL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_CHECKPOINT_TYPE_ENUM[] = - { - { cOCTVC1_GSM_CHECKPOINT_TYPE_ENUM_START, "cOCTVC1_GSM_CHECKPOINT_TYPE_ENUM_START" }, - { cOCTVC1_GSM_CHECKPOINT_TYPE_ENUM_END, "cOCTVC1_GSM_CHECKPOINT_TYPE_ENUM_END" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_CHECKPOINT_STATE_ENUM[] = - { - { cOCTVC1_GSM_CHECKPOINT_STATE_ENUM_OK, "cOCTVC1_GSM_CHECKPOINT_STATE_ENUM_OK" }, - { cOCTVC1_GSM_CHECKPOINT_STATE_ENUM_PROCESSING_ERROR, "cOCTVC1_GSM_CHECKPOINT_STATE_ENUM_PROCESSING_ERROR" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_MSG_SEVERITY_ENUM[] = - { - { cOCTVC1_GSM_MSG_SEVERITY_ENUM_INFO, "cOCTVC1_GSM_MSG_SEVERITY_ENUM_INFO" }, - { cOCTVC1_GSM_MSG_SEVERITY_ENUM_WARNING, "cOCTVC1_GSM_MSG_SEVERITY_ENUM_WARNING" }, - { cOCTVC1_GSM_MSG_SEVERITY_ENUM_ERROR, "cOCTVC1_GSM_MSG_SEVERITY_ENUM_ERROR" }, - { cOCTVC1_GSM_MSG_SEVERITY_ENUM_FATAL, "cOCTVC1_GSM_MSG_SEVERITY_ENUM_FATAL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_TRACING_TYPE_ENUM[] = - { - { cOCTVC1_GSM_TRACING_TYPE_ENUM_DLOM_REQUEST, "cOCTVC1_GSM_TRACING_TYPE_ENUM_DLOM_REQUEST" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_DLOM_RESPONSE, "cOCTVC1_GSM_TRACING_TYPE_ENUM_DLOM_RESPONSE" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_DLIM_REQUEST, "cOCTVC1_GSM_TRACING_TYPE_ENUM_DLIM_REQUEST" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_DLIM_RESPONSE, "cOCTVC1_GSM_TRACING_TYPE_ENUM_DLIM_RESPONSE" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_ULOM_REQUEST, "cOCTVC1_GSM_TRACING_TYPE_ENUM_ULOM_REQUEST" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_ULOM_RESPONSE, "cOCTVC1_GSM_TRACING_TYPE_ENUM_ULOM_RESPONSE" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_REQUEST, "cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_REQUEST" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RESPONSE, "cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RESPONSE" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RACH_REQUEST, "cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RACH_REQUEST" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RACHM_RESPONSE, "cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RACHM_RESPONSE" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RACHP_RESPONSE, "cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RACHP_RESPONSE" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_SCHEDPARAMS, "cOCTVC1_GSM_TRACING_TYPE_ENUM_SCHEDPARAMS" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLOM_REQUEST, "cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLOM_REQUEST" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLOM_RESPONSE, "cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLOM_RESPONSE" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLIM_REQUEST, "cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLIM_REQUEST" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLIM_RESPONSE, "cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLIM_RESPONSE" }, - { cOCTVC1_GSM_TRACING_TYPE_ENUM_NOTDEFINED, "cOCTVC1_GSM_TRACING_TYPE_ENUM_NOTDEFINED" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_ERR_ENUM[] = - { - { cOCTVC1_GSM_ERR_ENUM_GENERIC_INPUT_FIFO_OVERFLOW, "cOCTVC1_GSM_ERR_ENUM_GENERIC_INPUT_FIFO_OVERFLOW" }, - { cOCTVC1_GSM_ERR_ENUM_GENERIC_INVALID_INPUT_PKT_FORMAT, "cOCTVC1_GSM_ERR_ENUM_GENERIC_INVALID_INPUT_PKT_FORMAT" }, - { cOCTVC1_GSM_ERR_ENUM_GENERIC_OUTPUT_FIFO_FULL, "cOCTVC1_GSM_ERR_ENUM_GENERIC_OUTPUT_FIFO_FULL" }, - { cOCTVC1_GSM_ERR_ENUM_GENERIC_INPUT_FIFO_EMPTY, "cOCTVC1_GSM_ERR_ENUM_GENERIC_INPUT_FIFO_EMPTY" }, - { cOCTVC1_GSM_ERR_ENUM_SYSTEM_BOOT_ERROR, "cOCTVC1_GSM_ERR_ENUM_SYSTEM_BOOT_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_SYSTEM_EXIT_ERROR, "cOCTVC1_GSM_ERR_ENUM_SYSTEM_EXIT_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_DMA_INIT_ERROR, "cOCTVC1_GSM_ERR_ENUM_DMA_INIT_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_DMA_MODE_ERROR, "cOCTVC1_GSM_ERR_ENUM_DMA_MODE_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_DMA_WRITE_ERROR, "cOCTVC1_GSM_ERR_ENUM_DMA_WRITE_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_DMA_READ_ERROR, "cOCTVC1_GSM_ERR_ENUM_DMA_READ_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_DOWNLINK_INNER_MODEM_INTERNAL_ERROR, "cOCTVC1_GSM_ERR_ENUM_DOWNLINK_INNER_MODEM_INTERNAL_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_DOWNLINK_OUTER_MODEM_INTERNAL_ERROR, "cOCTVC1_GSM_ERR_ENUM_DOWNLINK_OUTER_MODEM_INTERNAL_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_UPLINK_INNER_MODEM_INTERNAL_ERROR, "cOCTVC1_GSM_ERR_ENUM_UPLINK_INNER_MODEM_INTERNAL_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_UPLINK_OUTER_MODEM_INTERNAL_ERROR, "cOCTVC1_GSM_ERR_ENUM_UPLINK_OUTER_MODEM_INTERNAL_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_RF_INTERFACE_INTERNAL_ERROR, "cOCTVC1_GSM_ERR_ENUM_RF_INTERFACE_INTERNAL_ERROR" }, - { cOCTVC1_GSM_ERR_ENUM_LAST, "cOCTVC1_GSM_ERR_ENUM_LAST" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_GSM_2G_MSG_ENUM[] = - { - { cOCTVC1_GSM_2G_MSG_ENUM_INTERNAL_ERROR, "cOCTVC1_GSM_2G_MSG_ENUM_INTERNAL_ERROR" }, - { cOCTVC1_GSM_2G_MSG_ENUM_GENERIC_HELLO_WORLD, "cOCTVC1_GSM_2G_MSG_ENUM_GENERIC_HELLO_WORLD" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SPECIFIC_SUBJECT_HELLO_WORLD, "cOCTVC1_GSM_2G_MSG_ENUM_SPECIFIC_SUBJECT_HELLO_WORLD" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_ULIM_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_ULIM_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_ULOM_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_ULOM_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_DLIM_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_DLIM_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_DLOM_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_DLOM_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_L1C_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_L1C_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_RACH_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_RACH_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_DL_RFI_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_DL_RFI_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_UL_RFI_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_UL_RFI_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_HSDLOM_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_HSDLOM_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_HSDLIM_READY, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_HSDLIM_READY" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_MODEM_SETUP_COMPLETED, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_MODEM_SETUP_COMPLETED" }, - { cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_CELL_SETUP_COMPLETED, "cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_CELL_SETUP_COMPLETED" }, - { cOCTVC1_GSM_2G_MSG_ENUM_ULIM_RACH_DETECT, "cOCTVC1_GSM_2G_MSG_ENUM_ULIM_RACH_DETECT" }, - { cOCTVC1_GSM_2G_MSG_ENUM_LAST, "cOCTVC1_GSM_2G_MSG_ENUM_LAST" }, + { cOCTVC1_GSM_TRX_STATUS_ENUM_INVALID, "cOCTVC1_GSM_TRX_STATUS_ENUM_INVALID" }, + { cOCTVC1_GSM_TRX_STATUS_ENUM_RADIO_READY, "cOCTVC1_GSM_TRX_STATUS_ENUM_RADIO_READY" }, + { cOCTVC1_GSM_TRX_STATUS_ENUM_RADIO_ERROR, "cOCTVC1_GSM_TRX_STATUS_ENUM_RADIO_ERROR" }, + { cOCTVC1_GSM_TRX_STATUS_ENUM_PROCESSING_STOP, "cOCTVC1_GSM_TRX_STATUS_ENUM_PROCESSING_STOP" }, { 0, NULL } }; @@ -325,99 +281,857 @@ const value_string vals_tOCTVC1_GSM_2G_MSG_ENUM[] = COMMON Registered ****************************************************************************/ -int ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_tSUBCHANNEL_STATUS; +int ahf_tOCTVC1_GSM_TRX_ID[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_TRX_ID; -void register_tOCTVC1_GSM_tSUBCHANNEL_STATUS(void) +void register_tOCTVC1_GSM_TRX_ID(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[0], - { "usActiveUplinkSAPIMapMSW", "octvc1.gsm.tsubchannel_status.usactiveuplinksapimapmsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usActiveUplinkSAPIMapMSW",HFILL } + &ahf_tOCTVC1_GSM_TRX_ID[0], + { "byTrxId", "octvc1.gsm.trx_id.bytrxid", + FT_UINT8,BASE_HEX, NULL, 0x0, + "byTrxId",HFILL } }, { - &ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[1], - { "usActiveUplinkSAPIMapLSW", "octvc1.gsm.tsubchannel_status.usactiveuplinksapimaplsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usActiveUplinkSAPIMapLSW",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[2], - { "usActiveDownlinkSAPIMapMSW", "octvc1.gsm.tsubchannel_status.usactivedownlinksapimapmsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usActiveDownlinkSAPIMapMSW",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[3], - { "usActiveDownlinkSAPIMapLSW", "octvc1.gsm.tsubchannel_status.usactivedownlinksapimaplsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usActiveDownlinkSAPIMapLSW",HFILL } + &ahf_tOCTVC1_GSM_TRX_ID[1], + { "abyPad", "octvc1.gsm.trx_id.abypad", + FT_UINT8,BASE_HEX, NULL, 0x0, + "abyPad",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_tSUBCHANNEL_STATUS.ett + &ws_htOCTVC1_GSM_TRX_ID.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_tMEASUREMENT_INFO; +int ahf_tOCTVC1_GSM_TRX_ID_CURSOR[1]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_TRX_ID_CURSOR; -void register_tOCTVC1_GSM_tMEASUREMENT_INFO(void) +void register_tOCTVC1_GSM_TRX_ID_CURSOR(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[0], - { "sRSSI", "octvc1.gsm.tmeasurement_info.srssi", - FT_INT16,BASE_DEC, NULL, 0x0, - "sRSSI",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[1], - { "sSNR", "octvc1.gsm.tmeasurement_info.ssnr", - FT_INT16,BASE_DEC, NULL, 0x0, - "sSNR",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[2], - { "sBurstTiming", "octvc1.gsm.tmeasurement_info.sbursttiming", - FT_INT16,BASE_DEC, NULL, 0x0, - "sBurstTiming",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[3], - { "usBERCount", "octvc1.gsm.tmeasurement_info.usbercount", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usBERCount",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[4], - { "usBERTOtalBitCOunt", "octvc1.gsm.tmeasurement_info.usbertotalbitcount", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usBERTOtalBitCOunt",HFILL } + &ahf_tOCTVC1_GSM_TRX_ID_CURSOR[0], + { "TrxId", "octvc1.gsm.trx_id_cursor.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_tMEASUREMENT_INFO.ett + &ws_htOCTVC1_GSM_TRX_ID_CURSOR.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_TRX_ID_GET_CURSOR[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_TRX_ID_GET_CURSOR; + +void register_tOCTVC1_GSM_TRX_ID_GET_CURSOR(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_TRX_ID_GET_CURSOR[0], + { "TrxId", "octvc1.gsm.trx_id_get_cursor.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_ID_GET_CURSOR[1], + { "ulGetMode", "octvc1.gsm.trx_id_get_cursor.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_TRX_ID_GET_CURSOR.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_RF_CONFIG[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_RF_CONFIG; + +void register_tOCTVC1_GSM_RF_CONFIG(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_RF_CONFIG[0], + { "ulRxGainDb", "octvc1.gsm.rf_config.ulrxgaindb", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxGainDb",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_RF_CONFIG[1], + { "ulTxAttndB", "octvc1.gsm.rf_config.ultxattndb", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxAttndB",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_RF_CONFIG.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_TRX_CONFIG[10]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_TRX_CONFIG; + +void register_tOCTVC1_GSM_TRX_CONFIG(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[0], + { "ulBand", "octvc1.gsm.trx_config.ulband", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM), 0x0, + "ulBand",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[1], + { "usTsc", "octvc1.gsm.trx_config.ustsc", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usTsc",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[2], + { "usArfcn", "octvc1.gsm.trx_config.usarfcn", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usArfcn",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[3], + { "usBcchArfcn", "octvc1.gsm.trx_config.usbccharfcn", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usBcchArfcn",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[4], + { "usHsn", "octvc1.gsm.trx_config.ushsn", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usHsn",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[5], + { "usMaio", "octvc1.gsm.trx_config.usmaio", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usMaio",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[6], + { "usReserve", "octvc1.gsm.trx_config.usreserve", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usReserve",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[7], + { "ulHoppingFlag", "octvc1.gsm.trx_config.ulhoppingflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulHoppingFlag",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[8], + { "ulHoppingListLength", "octvc1.gsm.trx_config.ulhoppinglistlength", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulHoppingListLength",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TRX_CONFIG[9], + { "ausHoppingList", "octvc1.gsm.trx_config.aushoppinglist", + FT_UINT16,BASE_HEX, NULL, 0x0, + "ausHoppingList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_TRX_CONFIG.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_PHYSICAL_CHANNEL_ID; + +void register_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID[0], + { "byTimeslotNb", "octvc1.gsm.physical_channel_id.bytimeslotnb", + FT_UINT8,BASE_HEX, VALS(vals_tOCTVC1_GSM_ID_TIMESLOT_NB_ENUM), 0x0, + "byTimeslotNb",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID[1], + { "abyPad", "octvc1.gsm.physical_channel_id.abypad", + FT_UINT8,BASE_HEX, NULL, 0x0, + "abyPad",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_PHYSICAL_CHANNEL_ID.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR[1]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR; + +void register_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR[0], + { "PchId", "octvc1.gsm.physical_channel_id_cursor.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR; + +void register_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR[0], + { "TrxId", "octvc1.gsm.physical_channel_id_get_cursor.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR[1], + { "PchId", "octvc1.gsm.physical_channel_id_get_cursor.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR[2], + { "ulGetMode", "octvc1.gsm.physical_channel_id_get_cursor.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_SUBCHANNEL_STATUS; + +void register_tOCTVC1_GSM_SUBCHANNEL_STATUS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[0], + { "ulSubchannelNb", "octvc1.gsm.subchannel_status.ulsubchannelnb", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulSubchannelNb",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[1], + { "ulActiveUplinkSAPIMask", "octvc1.gsm.subchannel_status.ulactiveuplinksapimask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulActiveUplinkSAPIMask",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[2], + { "ulActiveDownlinkSAPIMask", "octvc1.gsm.subchannel_status.ulactivedownlinksapimask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulActiveDownlinkSAPIMask",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_SUBCHANNEL_STATUS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_CIPHER_CONFIG[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_CIPHER_CONFIG; + +void register_tOCTVC1_GSM_CIPHER_CONFIG(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_CIPHER_CONFIG[0], + { "ulCipherId", "octvc1.gsm.cipher_config.ulcipherid", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_CIPHERING_ID_ENUM), 0x0, + "ulCipherId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_CIPHER_CONFIG[1], + { "abyKey", "octvc1.gsm.cipher_config.abykey", + FT_UINT8,BASE_HEX, NULL, 0x0, + "abyKey",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_CIPHER_CONFIG.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_LOGICAL_CHANNEL_ID; + +void register_tOCTVC1_GSM_LOGICAL_CHANNEL_ID(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[0], + { "byTimeslotNb", "octvc1.gsm.logical_channel_id.bytimeslotnb", + FT_UINT8,BASE_HEX, VALS(vals_tOCTVC1_GSM_ID_TIMESLOT_NB_ENUM), 0x0, + "byTimeslotNb",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[1], + { "bySubChannelNb", "octvc1.gsm.logical_channel_id.bysubchannelnb", + FT_UINT8,BASE_HEX, VALS(vals_tOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM), 0x0, + "bySubChannelNb",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[2], + { "bySAPI", "octvc1.gsm.logical_channel_id.bysapi", + FT_UINT8,BASE_HEX, VALS(vals_tOCTVC1_GSM_SAPI_ENUM), 0x0, + "bySAPI",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[3], + { "byDirection", "octvc1.gsm.logical_channel_id.bydirection", + FT_UINT8,BASE_HEX, VALS(vals_tOCTVC1_GSM_ID_DIRECTION_ENUM), 0x0, + "byDirection",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_LOGICAL_CHANNEL_ID.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR[1]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR; + +void register_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR[0], + { "LchId", "octvc1.gsm.logical_channel_id_cursor.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR; + +void register_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR[0], + { "TrxId", "octvc1.gsm.logical_channel_id_get_cursor.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR[1], + { "LchId", "octvc1.gsm.logical_channel_id_get_cursor.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR[2], + { "ulGetMode", "octvc1.gsm.logical_channel_id_get_cursor.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG; + +void register_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[0], + { "byTimingAdvance", "octvc1.gsm.logical_channel_config.bytimingadvance", + FT_UINT8,BASE_HEX, NULL, 0x0, + "byTimingAdvance",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[1], + { "byBSIC", "octvc1.gsm.logical_channel_config.bybsic", + FT_UINT8,BASE_HEX, NULL, 0x0, + "byBSIC",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[2], + { "byCmiPhase", "octvc1.gsm.logical_channel_config.bycmiphase", + FT_UINT8,BASE_HEX, VALS(vals_tOCTVC1_GSM_CMI_PHASE_ENUM), 0x0, + "byCmiPhase",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[3], + { "byInitRate", "octvc1.gsm.logical_channel_config.byinitrate", + FT_UINT8,BASE_HEX, VALS(vals_tOCTVC1_GSM_AMR_CODEC_MODE_ENUM), 0x0, + "byInitRate",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[4], + { "abyRate", "octvc1.gsm.logical_channel_config.abyrate", + FT_UINT8,BASE_HEX, NULL, 0x0, + "abyRate",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_LOGICAL_CHANNEL_DATA; + +void register_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[0], + { "ulFrameNumber", "octvc1.gsm.logical_channel_data.ulframenumber", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulFrameNumber",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[1], + { "ulPayloadType", "octvc1.gsm.logical_channel_data.ulpayloadtype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_PAYLOAD_TYPE_ENUM), 0x0, + "ulPayloadType",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[2], + { "ulDataLength", "octvc1.gsm.logical_channel_data.uldatalength", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulDataLength",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[3], + { "abyDataContent", "octvc1.gsm.logical_channel_data.abydatacontent", + FT_UINT8,BASE_HEX, NULL, 0x0, + "abyDataContent",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_LOGICAL_CHANNEL_DATA.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA; + +void register_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[0], + { "ulFrameNumber", "octvc1.gsm.logical_channel_raw_data.ulframenumber", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulFrameNumber",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[1], + { "ulDataLength", "octvc1.gsm.logical_channel_raw_data.uldatalength", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulDataLength",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[2], + { "abyDataContent", "octvc1.gsm.logical_channel_raw_data.abydatacontent", + FT_UINT8,BASE_HEX, NULL, 0x0, + "abyDataContent",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MEASUREMENT_INFO[7]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MEASUREMENT_INFO; + +void register_tOCTVC1_GSM_MEASUREMENT_INFO(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MEASUREMENT_INFO[0], + { "sSNR", "octvc1.gsm.measurement_info.ssnr", + FT_INT16,BASE_DEC, NULL, 0x0, + "sSNR",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MEASUREMENT_INFO[1], + { "sRSSI", "octvc1.gsm.measurement_info.srssi", + FT_INT16,BASE_DEC, NULL, 0x0, + "sRSSI",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MEASUREMENT_INFO[2], + { "sBurstTiming", "octvc1.gsm.measurement_info.sbursttiming", + FT_INT16,BASE_DEC, NULL, 0x0, + "sBurstTiming",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MEASUREMENT_INFO[3], + { "usBERCount", "octvc1.gsm.measurement_info.usbercount", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usBERCount",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MEASUREMENT_INFO[4], + { "usBERTOtalBitCOunt", "octvc1.gsm.measurement_info.usbertotalbitcount", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usBERTOtalBitCOunt",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MEASUREMENT_INFO[5], + { "usRxQualFullUp", "octvc1.gsm.measurement_info.usrxqualfullup", + FT_UINT8,BASE_HEX, NULL, 0x0, + "usRxQualFullUp",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MEASUREMENT_INFO[6], + { "usRxLevelFullUp", "octvc1.gsm.measurement_info.usrxlevelfullup", + FT_UINT8,BASE_HEX, NULL, 0x0, + "usRxLevelFullUp",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MEASUREMENT_INFO.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[8]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_RAW_MEASUREMENT_INFO; + +void register_tOCTVC1_GSM_RAW_MEASUREMENT_INFO(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[0], + { "sSNR", "octvc1.gsm.raw_measurement_info.ssnr", + FT_INT16,BASE_DEC, NULL, 0x0, + "sSNR",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[1], + { "sRSSI", "octvc1.gsm.raw_measurement_info.srssi", + FT_INT16,BASE_DEC, NULL, 0x0, + "sRSSI",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[2], + { "sBurstTiming", "octvc1.gsm.raw_measurement_info.sbursttiming", + FT_INT16,BASE_DEC, NULL, 0x0, + "sBurstTiming",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[3], + { "usBERCount", "octvc1.gsm.raw_measurement_info.usbercount", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usBERCount",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[4], + { "usBERTOtalBitCOunt", "octvc1.gsm.raw_measurement_info.usbertotalbitcount", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usBERTOtalBitCOunt",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[5], + { "usTrnSqErrorCount", "octvc1.gsm.raw_measurement_info.ustrnsqerrorcount", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usTrnSqErrorCount",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[6], + { "usTrnSqTotalBitCount", "octvc1.gsm.raw_measurement_info.ustrnsqtotalbitcount", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usTrnSqTotalBitCount",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[7], + { "sfrquencyError", "octvc1.gsm.raw_measurement_info.sfrquencyerror", + FT_INT16,BASE_DEC, NULL, 0x0, + "sfrquencyError",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_RAW_MEASUREMENT_INFO.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_TIMESLOT_POWER[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_TIMESLOT_POWER; + +void register_tOCTVC1_GSM_TIMESLOT_POWER(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_TIMESLOT_POWER[0], + { "ulPowerMax", "octvc1.gsm.timeslot_power.ulpowermax", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPowerMax",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TIMESLOT_POWER[1], + { "ulPowerAverage", "octvc1.gsm.timeslot_power.ulpoweraverage", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPowerAverage",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TIMESLOT_POWER[2], + { "ulCount", "octvc1.gsm.timeslot_power.ulcount", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulCount",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_TIMESLOT_POWER.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_PHYSICAL_STATUS[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_PHYSICAL_STATUS; + +void register_tOCTVC1_GSM_PHYSICAL_STATUS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_PHYSICAL_STATUS[0], + { "ulChannelType", "octvc1.gsm.physical_status.ulchanneltype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM), 0x0, + "ulChannelType",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_PHYSICAL_STATUS[1], + { "ulSubchannelCount", "octvc1.gsm.physical_status.ulsubchannelcount", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulSubchannelCount",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_PHYSICAL_STATUS[2], + { "ulTchDataCrcPassCount", "octvc1.gsm.physical_status.ultchdatacrcpasscount", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulTchDataCrcPassCount",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_PHYSICAL_STATUS[3], + { "ulTchDataCrcFailCount", "octvc1.gsm.physical_status.ultchdatacrcfailcount", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulTchDataCrcFailCount",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_PHYSICAL_STATUS[4], + { "ulRachCount", "octvc1.gsm.physical_status.ulrachcount", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulRachCount",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_PHYSICAL_STATUS.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -433,16 +1147,16 @@ void register_tOCTVC1_GSM_TIMESLOT_STATUS(void) { { &ahf_tOCTVC1_GSM_TIMESLOT_STATUS[0], - { "byChannelType", "octvc1.gsm.timeslot_status.bychanneltype", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byChannelType",HFILL } + { "PhysicalStatus", "octvc1.gsm.timeslot_status.physicalstatus", + FT_NONE, BASE_NONE, NULL, 0x0, + "PhysicalStatus",HFILL } }, { &ahf_tOCTVC1_GSM_TIMESLOT_STATUS[1], - { "bySubchannelCount", "octvc1.gsm.timeslot_status.bysubchannelcount", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelCount",HFILL } + { "UplinkPower", "octvc1.gsm.timeslot_status.uplinkpower", + FT_NONE, BASE_NONE, NULL, 0x0, + "UplinkPower",HFILL } }, }; @@ -456,732 +1170,369 @@ void register_tOCTVC1_GSM_TIMESLOT_STATUS(void) }; +int ahf_tOCTVC1_GSM_DL_STATUS[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_DL_STATUS; + +void register_tOCTVC1_GSM_DL_STATUS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_DL_STATUS[0], + { "ulElapseRspCmdMaxUs", "octvc1.gsm.dl_status.ulelapserspcmdmaxus", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulElapseRspCmdMaxUs",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_DL_STATUS[1], + { "ulElapseRspCmdAvgUs", "octvc1.gsm.dl_status.ulelapserspcmdavgus", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulElapseRspCmdAvgUs",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_DL_STATUS[2], + { "ulExpectedDelayExceedCnt", "octvc1.gsm.dl_status.ulexpecteddelayexceedcnt", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulExpectedDelayExceedCnt",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_DL_STATUS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_UL_STATUS[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_UL_STATUS; + +void register_tOCTVC1_GSM_UL_STATUS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_UL_STATUS[0], + { "ulExceedByteMaxCnt", "octvc1.gsm.ul_status.ulexceedbytemaxcnt", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulExceedByteMaxCnt",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_UL_STATUS[1], + { "ulExpectedDataExceedCnt", "octvc1.gsm.ul_status.ulexpecteddataexceedcnt", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulExpectedDataExceedCnt",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_UL_STATUS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_SCHED_STATUS[1]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_SCHED_STATUS; + +void register_tOCTVC1_GSM_SCHED_STATUS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_SCHED_STATUS[0], + { "ulErrorDataInactiveCnt", "octvc1.gsm.sched_status.ulerrordatainactivecnt", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulErrorDataInactiveCnt",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_SCHED_STATUS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + /**************************************************************************** Event Registered ****************************************************************************/ -int ahf_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT; +int ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT; -void register_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT(void) +void register_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.module.time_indication.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT[1], - { "byu5Pad_u3TN", "octvc1.gsm.module.time_indication.byu5pad_u3tn", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu5Pad_u3TN",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT[2], - { "usFrameNumberMSW", "octvc1.gsm.module.time_indication.usframenumbermsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberMSW",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT[3], - { "usFrameNumberLSW", "octvc1.gsm.module.time_indication.usframenumberlsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberLSW",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[10]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT; - -void register_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.module.data_indication.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[1], - { "byu5SAPI_u3Dir", "octvc1.gsm.module.data_indication.byu5sapi_u3dir", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu5SAPI_u3Dir",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[2], - { "bySubchannelNum", "octvc1.gsm.module.data_indication.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[3], - { "byu5Pad_u3TN", "octvc1.gsm.module.data_indication.byu5pad_u3tn", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu5Pad_u3TN",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[4], - { "usFrameNumberMSW", "octvc1.gsm.module.data_indication.usframenumbermsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberMSW",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[5], - { "usFrameNumberLSW", "octvc1.gsm.module.data_indication.usframenumberlsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberLSW",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[6], - { "tMeasurementInfo", "octvc1.gsm.module.data_indication.tmeasurementinfo", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.data_indication.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "tMeasurementInfo",HFILL } + "TrxId",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[7], - { "usDataFrameLength", "octvc1.gsm.module.data_indication.usdataframelength", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usDataFrameLength",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[8], - { "ausDataFrameContents", "octvc1.gsm.module.data_indication.ausdataframecontents", - FT_UINT16,BASE_HEX, NULL, 0x0, - "ausDataFrameContents",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT; - -void register_tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.module.trx_radio_ready.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT; - -void register_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.module.ready_to_send_indication.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[1], - { "byu3TN_u5SAPI", "octvc1.gsm.module.ready_to_send_indication.byu3tn_u5sapi", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu3TN_u5SAPI",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[2], - { "bySubchannelNum", "octvc1.gsm.module.ready_to_send_indication.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[3], - { "byPad", "octvc1.gsm.module.ready_to_send_indication.bypad", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byPad",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[4], - { "usFrameNumberMSW", "octvc1.gsm.module.ready_to_send_indication.usframenumbermsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberMSW",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[5], - { "usFrameNumberLSW", "octvc1.gsm.module.ready_to_send_indication.usframenumberlsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberLSW",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[10]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT; - -void register_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.module.rach_indication.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[1], - { "byuu3TN_u5SAPI", "octvc1.gsm.module.rach_indication.byuu3tn_u5sapi", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byuu3TN_u5SAPI",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[2], - { "bySubchannelNum", "octvc1.gsm.module.rach_indication.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[3], - { "byBurstType", "octvc1.gsm.module.rach_indication.bybursttype", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byBurstType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[4], - { "usFrameNumberMSW", "octvc1.gsm.module.rach_indication.usframenumbermsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberMSW",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[5], - { "usFrameNumberLSW", "octvc1.gsm.module.rach_indication.usframenumberlsw", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberLSW",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[6], - { "tMeasurementInfo", "octvc1.gsm.module.rach_indication.tmeasurementinfo", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT[1], + { "LchId", "octvc1.gsm.trx.logical_channel.data_indication.lchid", FT_NONE, BASE_NONE, NULL, 0x0, - "tMeasurementInfo",HFILL } + "LchId",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[7], - { "usMessageLength", "octvc1.gsm.module.rach_indication.usmessagelength", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usMessageLength",HFILL } + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT[2], + { "MeasurementInfo", "octvc1.gsm.trx.logical_channel.data_indication.measurementinfo", + FT_NONE, BASE_NONE, NULL, 0x0, + "MeasurementInfo",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[8], - { "ausMessageContents", "octvc1.gsm.module.rach_indication.ausmessagecontents", - FT_UINT16,BASE_HEX, NULL, 0x0, - "ausMessageContents",HFILL } + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT[3], + { "Data", "octvc1.gsm.trx.logical_channel.data_indication.data", + FT_NONE, BASE_NONE, NULL, 0x0, + "Data",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT.ett + &ws_htOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_ERROR_EVT; +int ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT; -void register_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT(void) +void register_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT[0], - { "hProcessUnit", "octvc1.gsm.module.error.hprocessunit", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.ready_to_send_indication.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } + "TrxId",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT[1], - { "ulErrorCode", "octvc1.gsm.module.error.ulerrorcode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_ERR_ENUM), 0x0, - "ulErrorCode",HFILL } + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT[1], + { "LchId", "octvc1.gsm.trx.logical_channel.ready_to_send_indication.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT[2], + { "ulFrameNumber", "octvc1.gsm.trx.logical_channel.ready_to_send_indication.ulframenumber", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulFrameNumber",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_MODULE_ERROR_EVT.ett + &ws_htOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT; +int ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[8]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT; -void register_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT(void) +void register_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT[0], - { "hProcessUnit", "octvc1.gsm.module.message.hprocessunit", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.rach_indication.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } + "TrxId",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT[1], - { "ulMessageCode", "octvc1.gsm.module.message.ulmessagecode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_2G_MSG_ENUM), 0x0, - "ulMessageCode",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT[2], - { "ulSeverityLevel", "octvc1.gsm.module.message.ulseveritylevel", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_MSG_SEVERITY_ENUM), 0x0, - "ulSeverityLevel",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[9]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT; - -void register_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[0], - { "hProcessUnit", "octvc1.gsm.module.checkpoint.hprocessunit", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[1], + { "LchId", "octvc1.gsm.trx.logical_channel.rach_indication.lchid", FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } + "LchId",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[1], - { "ulCoreId", "octvc1.gsm.module.checkpoint.ulcoreid", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[2], + { "ulBurstType", "octvc1.gsm.trx.logical_channel.rach_indication.ulbursttype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_BURST_TYPE_ENUM), 0x0, + "ulBurstType",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[3], + { "ulFrameNumber", "octvc1.gsm.trx.logical_channel.rach_indication.ulframenumber", FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCoreId",HFILL } + "ulFrameNumber",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[2], - { "ulFrameIndex", "octvc1.gsm.module.checkpoint.ulframeindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFrameIndex",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[3], - { "ulSlotIndex", "octvc1.gsm.module.checkpoint.ulslotindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSlotIndex",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[4], - { "ulCheckPointType", "octvc1.gsm.module.checkpoint.ulcheckpointtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_CHECKPOINT_TYPE_ENUM), 0x0, - "ulCheckPointType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[5], - { "ulProcessUnitType", "octvc1.gsm.module.checkpoint.ulprocessunittype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM), 0x0, - "ulProcessUnitType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[6], - { "ulState", "octvc1.gsm.module.checkpoint.ulstate", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_CHECKPOINT_STATE_ENUM), 0x0, - "ulState",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[7], - { "aulReserved", "octvc1.gsm.module.checkpoint.aulreserved", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulReserved",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_TRACING_EVT; - -void register_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[0], - { "hProcessUnit", "octvc1.gsm.module.tracing.hprocessunit", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[4], + { "MeasurementInfo", "octvc1.gsm.trx.logical_channel.rach_indication.measurementinfo", FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } + "MeasurementInfo",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[1], - { "ulCoreId", "octvc1.gsm.module.tracing.ulcoreid", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[5], + { "ulMsgLength", "octvc1.gsm.trx.logical_channel.rach_indication.ulmsglength", FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCoreId",HFILL } + "ulMsgLength",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[2], - { "ulTraceType", "octvc1.gsm.module.tracing.ultracetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_TRACING_TYPE_ENUM), 0x0, - "ulTraceType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[3], - { "ulLastTracePacket", "octvc1.gsm.module.tracing.ullasttracepacket", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulLastTracePacket",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[4], - { "ulTraceIndex", "octvc1.gsm.module.tracing.ultraceindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTraceIndex",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[5], - { "ulPayloadSizeBytes", "octvc1.gsm.module.tracing.ulpayloadsizebytes", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPayloadSizeBytes",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[6], - { "abyUnparsedPayload", "octvc1.gsm.module.tracing.abyunparsedpayload", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[6], + { "abyMsg", "octvc1.gsm.trx.logical_channel.rach_indication.abymsg", FT_UINT8,BASE_HEX, NULL, 0x0, - "abyUnparsedPayload",HFILL } + "abyMsg",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_MODULE_TRACING_EVT.ett + &ws_htOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT; +int ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT; -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT(void) +void register_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT[0], - { "hProcessUnit", "octvc1.gsm.process_unit.error.hprocessunit", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.raw_data_indication.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } + "TrxId",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT[1], - { "ulErrorCode", "octvc1.gsm.process_unit.error.ulerrorcode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_ERR_ENUM), 0x0, - "ulErrorCode",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT[0], - { "hProcessUnit", "octvc1.gsm.process_unit.message.hprocessunit", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT[1], + { "LchId", "octvc1.gsm.trx.logical_channel.raw_data_indication.lchid", FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } + "LchId",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT[1], - { "ulMessageCode", "octvc1.gsm.process_unit.message.ulmessagecode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_2G_MSG_ENUM), 0x0, - "ulMessageCode",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT[2], - { "ulSeverityLevel", "octvc1.gsm.process_unit.message.ulseveritylevel", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_MSG_SEVERITY_ENUM), 0x0, - "ulSeverityLevel",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[9]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[0], - { "hProcessUnit", "octvc1.gsm.process_unit.checkpoint.hprocessunit", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT[2], + { "MeasurementInfo", "octvc1.gsm.trx.logical_channel.raw_data_indication.measurementinfo", FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } + "MeasurementInfo",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[1], - { "ulCoreId", "octvc1.gsm.process_unit.checkpoint.ulcoreid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCoreId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[2], - { "ulFrameIndex", "octvc1.gsm.process_unit.checkpoint.ulframeindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFrameIndex",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[3], - { "ulSlotIndex", "octvc1.gsm.process_unit.checkpoint.ulslotindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSlotIndex",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[4], - { "ulCheckPointType", "octvc1.gsm.process_unit.checkpoint.ulcheckpointtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_CHECKPOINT_TYPE_ENUM), 0x0, - "ulCheckPointType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[5], - { "ulProcessUnitType", "octvc1.gsm.process_unit.checkpoint.ulprocessunittype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM), 0x0, - "ulProcessUnitType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[6], - { "ulState", "octvc1.gsm.process_unit.checkpoint.ulstate", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_CHECKPOINT_STATE_ENUM), 0x0, - "ulState",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[7], - { "aulReserved", "octvc1.gsm.process_unit.checkpoint.aulreserved", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulReserved",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[0], - { "hProcessUnit", "octvc1.gsm.process_unit.tracing.hprocessunit", + &ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT[3], + { "Data", "octvc1.gsm.trx.logical_channel.raw_data_indication.data", FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[1], - { "ulCoreId", "octvc1.gsm.process_unit.tracing.ulcoreid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCoreId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[2], - { "ulTraceType", "octvc1.gsm.process_unit.tracing.ultracetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_TRACING_TYPE_ENUM), 0x0, - "ulTraceType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[3], - { "ulPayloadSizeBytes", "octvc1.gsm.process_unit.tracing.ulpayloadsizebytes", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPayloadSizeBytes",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[4], - { "abyUnparsedPayload", "octvc1.gsm.process_unit.tracing.abyunparsedpayload", - FT_UINT8,BASE_HEX, NULL, 0x0, - "abyUnparsedPayload",HFILL } + "Data",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT.ett + &ws_htOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT; +int ahf_tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT; -void register_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT(void) +void register_tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT[0], - { "usTodo", "octvc1.gsm.test.etsi.test_report.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } + &ahf_tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT[0], + { "TrxId", "octvc1.gsm.trx.time_indication.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT[1], + { "ulFrameNumber", "octvc1.gsm.trx.time_indication.ulframenumber", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulFrameNumber",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT.ett + &ws_htOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT; + +void register_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT[0], + { "TrxId", "octvc1.gsm.trx.status_change.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT[1], + { "ulStatus", "octvc1.gsm.trx.status_change.ulstatus", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_TRX_STATUS_ENUM), 0x0, + "ulStatus",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT[2], + { "ulFrameNumber", "octvc1.gsm.trx.status_change.ulframenumber", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulFrameNumber",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -1192,1604 +1543,128 @@ void register_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT(void) CMD/RSP Registered ****************************************************************************/ -int ahf_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD; +int ahf_tOCTVC1_GSM_MSG_TRX_OPEN_CMD[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_OPEN_CMD; -void register_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD(void) +void register_tOCTVC1_GSM_MSG_TRX_OPEN_CMD(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD[0], - { "aPadding", "octvc1.gsm.module.hardware.info.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP; - -void register_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP[0], - { "szHardwareInfo", "octvc1.gsm.module.hardware.info.szhardwareinfo", - FT_UINT8,BASE_HEX, NULL, 0x0, - "szHardwareInfo",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP[1], - { "aPadding", "octvc1.gsm.module.hardware.info.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD; - -void register_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[0], - { "ulEventMask", "octvc1.gsm.module.evt.modify.uleventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[1], - { "ulUserEventId", "octvc1.gsm.module.evt.modify.ulusereventid", + &ahf_tOCTVC1_GSM_MSG_TRX_OPEN_CMD[0], + { "ulRfPortIndex", "octvc1.gsm.trx.open.ulrfportindex", FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } + "ulRfPortIndex",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[2], - { "hEventDestObj", "octvc1.gsm.module.evt.modify.heventdestobj", + &ahf_tOCTVC1_GSM_MSG_TRX_OPEN_CMD[1], + { "TrxId", "octvc1.gsm.trx.open.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "hEventDestObj",HFILL } + "TrxId",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[3], - { "ulEventDestObjPort", "octvc1.gsm.module.evt.modify.uleventdestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[4], - { "ulEventDestObjFifoId", "octvc1.gsm.module.evt.modify.uleventdestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP; - -void register_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[0], - { "ulEventMask", "octvc1.gsm.module.evt.info.uleventmask", + &ahf_tOCTVC1_GSM_MSG_TRX_OPEN_CMD[2], + { "Config", "octvc1.gsm.trx.open.config", FT_NONE, BASE_NONE, NULL, 0x0, - "ulEventMask",HFILL } + "Config",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[1], - { "ulUserEventId", "octvc1.gsm.module.evt.info.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[2], - { "hEventDestObj", "octvc1.gsm.module.evt.info.heventdestobj", + &ahf_tOCTVC1_GSM_MSG_TRX_OPEN_CMD[3], + { "RfConfig", "octvc1.gsm.trx.open.rfconfig", FT_NONE, BASE_NONE, NULL, 0x0, - "hEventDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[3], - { "ulEventDestObjPort", "octvc1.gsm.module.evt.info.uleventdestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[4], - { "ulEventDestObjFifoId", "octvc1.gsm.module.evt.info.uleventdestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjFifoId",HFILL } + "RfConfig",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP.ett + &ws_htOCTVC1_GSM_MSG_TRX_OPEN_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_MODULE_INFO_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_INFO_RSP; +int ahf_tOCTVC1_GSM_MSG_TRX_OPEN_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_OPEN_RSP; -void register_tOCTVC1_GSM_MSG_MODULE_INFO_RSP(void) +void register_tOCTVC1_GSM_MSG_TRX_OPEN_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_MODULE_INFO_RSP[0], - { "ulDeviceType", "octvc1.gsm.module.info.uldevicetype", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDeviceType",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_MODULE_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[0], - { "hProcessUnit", "octvc1.gsm.process_unit.evt.modify.hprocessunit", + &ahf_tOCTVC1_GSM_MSG_TRX_OPEN_RSP[0], + { "TrxId", "octvc1.gsm.trx.open.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } + "TrxId",HFILL } }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[1], - { "ulUserEventId", "octvc1.gsm.process_unit.evt.modify.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } + }; - }, + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_OPEN_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_CLOSE_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_CLOSE_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_CLOSE_CMD(void) +{ + static hf_register_info hf[] = + { { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[2], - { "ulEventMask", "octvc1.gsm.process_unit.evt.modify.uleventmask", + &ahf_tOCTVC1_GSM_MSG_TRX_CLOSE_CMD[0], + { "TrxId", "octvc1.gsm.trx.close.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "ulEventMask",HFILL } + "TrxId",HFILL } }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_CLOSE_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_CLOSE_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_CLOSE_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_CLOSE_RSP(void) +{ + static hf_register_info hf[] = + { { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[3], - { "ulDebugFwdEventMask", "octvc1.gsm.process_unit.evt.modify.uldebugfwdeventmask", + &ahf_tOCTVC1_GSM_MSG_TRX_CLOSE_RSP[0], + { "TrxId", "octvc1.gsm.trx.close.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "ulDebugFwdEventMask",HFILL } + "TrxId",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD.ett + &ws_htOCTVC1_GSM_MSG_TRX_CLOSE_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP[0], - { "hProcessUnit", "octvc1.gsm.process_unit.evt.modify.hprocessunit", - FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD[0], - { "hProcessUnit", "octvc1.gsm.process_unit.evt.info.hprocessunit", - FT_NONE, BASE_NONE, NULL, 0x0, - "hProcessUnit",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[0], - { "ulEventMask", "octvc1.gsm.process_unit.evt.info.uleventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[1], - { "ulUserEventId", "octvc1.gsm.process_unit.evt.info.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[2], - { "hEventDestObj", "octvc1.gsm.process_unit.evt.info.heventdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hEventDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[3], - { "ulEventDestObjPort", "octvc1.gsm.process_unit.evt.info.uleventdestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[4], - { "ulEventDestObjFifoId", "octvc1.gsm.process_unit.evt.info.uleventdestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD[0], - { "ObjectCursor", "octvc1.gsm.process_unit.list.objectcursor", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectCursor",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP[0], - { "ObjectCursor", "octvc1.gsm.process_unit.list.objectcursor", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectCursor",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP[1], - { "ObjectList", "octvc1.gsm.process_unit.list.objectlist", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectList",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD[0], - { "ObjectGet", "octvc1.gsm.process_unit.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[0], - { "ObjectGet", "octvc1.gsm.process_unit.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[1], - { "ulProcessType", "octvc1.gsm.process_unit.info.ulprocesstype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_PROCESS_TYPE_ENUM), 0x0, - "ulProcessType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[2], - { "ulInstance", "octvc1.gsm.process_unit.info.ulinstance", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulInstance",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[3], - { "ulMasterCore", "octvc1.gsm.process_unit.info.ulmastercore", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulMasterCore",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[4], - { "ulCoreId", "octvc1.gsm.process_unit.info.ulcoreid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCoreId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD[0], - { "ObjectGet", "octvc1.gsm.process_unit.stats.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD[1], - { "ulResetStatsFlag", "octvc1.gsm.process_unit.stats.ulresetstatsflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulResetStatsFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP; - -void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP[0], - { "ObjectGet", "octvc1.gsm.process_unit.stats.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP[1], - { "ulLastFrameIndex", "octvc1.gsm.process_unit.stats.ullastframeindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLastFrameIndex",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.physical_channel.empty_frame.request.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[1], - { "byu3TN_u5SAPI", "octvc1.gsm.physical_channel.empty_frame.request.byu3tn_u5sapi", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu3TN_u5SAPI",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[2], - { "bySubchannelNum", "octvc1.gsm.physical_channel.empty_frame.request.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[3], - { "byPad", "octvc1.gsm.physical_channel.empty_frame.request.bypad", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byPad",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[4], - { "usFrameNumberMsb", "octvc1.gsm.physical_channel.empty_frame.request.usframenumbermsb", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberMsb",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[5], - { "usFrameNumberLsb", "octvc1.gsm.physical_channel.empty_frame.request.usframenumberlsb", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberLsb",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[6], - { "aPadding", "octvc1.gsm.physical_channel.empty_frame.request.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP[0], - { "usTodo", "octvc1.gsm.physical_channel.empty_frame.request.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[9]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[0], - { "byU2Pad_u6TRXId", "octvc1.gsm.physical_channel.data.request.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byU2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[1], - { "byU3TN_u5SAPI", "octvc1.gsm.physical_channel.data.request.byu3tn_u5sapi", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byU3TN_u5SAPI",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[2], - { "bySubchannelNum", "octvc1.gsm.physical_channel.data.request.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[3], - { "byPad", "octvc1.gsm.physical_channel.data.request.bypad", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byPad",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[4], - { "usFrameNumberMSB", "octvc1.gsm.physical_channel.data.request.usframenumbermsb", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberMSB",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[5], - { "usFrameNumberLSB", "octvc1.gsm.physical_channel.data.request.usframenumberlsb", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usFrameNumberLSB",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[6], - { "usDataLength", "octvc1.gsm.physical_channel.data.request.usdatalength", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usDataLength",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[7], - { "ausDataContents", "octvc1.gsm.physical_channel.data.request.ausdatacontents", - FT_UINT8,BASE_HEX, NULL, 0x0, - "ausDataContents",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP[0], - { "usTodo", "octvc1.gsm.physical_channel.data.request.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[9]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.physical_channel.ciphering.configure.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[1], - { "byu2Pad_u3TN_u3Dir", "octvc1.gsm.physical_channel.ciphering.configure.byu2pad_u3tn_u3dir", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u3TN_u3Dir",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[2], - { "bySubchannelNum", "octvc1.gsm.physical_channel.ciphering.configure.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[3], - { "byuCipherId", "octvc1.gsm.physical_channel.ciphering.configure.byucipherid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byuCipherId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[4], - { "usKC0", "octvc1.gsm.physical_channel.ciphering.configure.uskc0", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usKC0",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[5], - { "usKC1", "octvc1.gsm.physical_channel.ciphering.configure.uskc1", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usKC1",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[6], - { "usKC2", "octvc1.gsm.physical_channel.ciphering.configure.uskc2", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usKC2",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[7], - { "usKC3", "octvc1.gsm.physical_channel.ciphering.configure.uskc3", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usKC3",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.physical_channel.ciphering.configure.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[1], - { "byu2Pad_u3TN_u3Dir", "octvc1.gsm.physical_channel.ciphering.configure.byu2pad_u3tn_u3dir", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u3TN_u3Dir",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[2], - { "bySubchannelNum", "octvc1.gsm.physical_channel.ciphering.configure.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[3], - { "byPad", "octvc1.gsm.physical_channel.ciphering.configure.bypad", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byPad",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[4], - { "usStatus", "octvc1.gsm.physical_channel.ciphering.configure.usstatus", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usStatus",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[5], - { "aPadding", "octvc1.gsm.physical_channel.ciphering.configure.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[0], - { "byu2Pad_u6TrxId", "octvc1.gsm.physical_channel.connect.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TrxId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[1], - { "byu5Pad_u3TimeslotNumber", "octvc1.gsm.physical_channel.connect.byu5pad_u3timeslotnumber", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu5Pad_u3TimeslotNumber",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[2], - { "byChannelType", "octvc1.gsm.physical_channel.connect.bychanneltype", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byChannelType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[3], - { "byPayloadType", "octvc1.gsm.physical_channel.connect.bypayloadtype", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byPayloadType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[4], - { "aPadding", "octvc1.gsm.physical_channel.connect.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.physical_channel.connect.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP[1], - { "byu5Pad_u3TN", "octvc1.gsm.physical_channel.connect.byu5pad_u3tn", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu5Pad_u3TN",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP[2], - { "usStatus", "octvc1.gsm.physical_channel.connect.usstatus", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usStatus",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP[3], - { "aPadding", "octvc1.gsm.physical_channel.connect.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD[0], - { "byu2Pad_u6TrxId", "octvc1.gsm.physical_channel.disconnect.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TrxId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD[1], - { "byu5Pad_u3TimeslotNumber", "octvc1.gsm.physical_channel.disconnect.byu5pad_u3timeslotnumber", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu5Pad_u3TimeslotNumber",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD[2], - { "aPadding", "octvc1.gsm.physical_channel.disconnect.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.physical_channel.disconnect.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP[1], - { "byu5Pad_u3TN", "octvc1.gsm.physical_channel.disconnect.byu5pad_u3tn", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu5Pad_u3TN",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP[2], - { "usStatus", "octvc1.gsm.physical_channel.disconnect.usstatus", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usStatus",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP[3], - { "aPadding", "octvc1.gsm.physical_channel.disconnect.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD[0], - { "aPadding", "octvc1.gsm.physical_channel.reset.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP; - -void register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP[0], - { "usStatus", "octvc1.gsm.physical_channel.reset.usstatus", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usStatus",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP[1], - { "aPadding", "octvc1.gsm.physical_channel.reset.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[12]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD; - -void register_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.logical_channel.activate.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[1], - { "byu2Pad_u3TN_u3Dir", "octvc1.gsm.logical_channel.activate.byu2pad_u3tn_u3dir", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u3TN_u3Dir",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[2], - { "bySubchannelNum", "octvc1.gsm.logical_channel.activate.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[3], - { "byu3Pad_u5SAPI", "octvc1.gsm.logical_channel.activate.byu3pad_u5sapi", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu3Pad_u5SAPI",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[4], - { "byTimingAdvance", "octvc1.gsm.logical_channel.activate.bytimingadvance", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byTimingAdvance",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[5], - { "byPad", "octvc1.gsm.logical_channel.activate.bypad", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byPad",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[6], - { "byBSIC", "octvc1.gsm.logical_channel.activate.bybsic", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byBSIC",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[7], - { "byu1CMIPhase_u7InitRate", "octvc1.gsm.logical_channel.activate.byu1cmiphase_u7initrate", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu1CMIPhase_u7InitRate",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[8], - { "byu4Rate1_u4Rate2", "octvc1.gsm.logical_channel.activate.byu4rate1_u4rate2", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu4Rate1_u4Rate2",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[9], - { "byu4Rate3_u4Rate4", "octvc1.gsm.logical_channel.activate.byu4rate3_u4rate4", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu4Rate3_u4Rate4",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[10], - { "aPadding", "octvc1.gsm.logical_channel.activate.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP; - -void register_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[0], - { "byu2Pad_u3TRXId", "octvc1.gsm.logical_channel.activate.byu2pad_u3trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u3TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[1], - { "byu2Pad_u3TN_u3Dir", "octvc1.gsm.logical_channel.activate.byu2pad_u3tn_u3dir", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u3TN_u3Dir",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[2], - { "bySubchannelNum", "octvc1.gsm.logical_channel.activate.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[3], - { "byu3Pad_u5SAPI", "octvc1.gsm.logical_channel.activate.byu3pad_u5sapi", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu3Pad_u5SAPI",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[4], - { "usStatus", "octvc1.gsm.logical_channel.activate.usstatus", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usStatus",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[5], - { "aPadding", "octvc1.gsm.logical_channel.activate.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD; - -void register_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.logical_channel.deactivate.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD[1], - { "byu2Pad_u3TN_u3Dir", "octvc1.gsm.logical_channel.deactivate.byu2pad_u3tn_u3dir", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u3TN_u3Dir",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD[2], - { "bySubchannelNum", "octvc1.gsm.logical_channel.deactivate.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD[3], - { "byu3Pad_u5SAPI", "octvc1.gsm.logical_channel.deactivate.byu3pad_u5sapi", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu3Pad_u5SAPI",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP; - -void register_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[0], - { "byu2Pad_u3TRXId", "octvc1.gsm.logical_channel.deactivate.byu2pad_u3trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u3TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[1], - { "byu2Pad_u3TN_u3Dir", "octvc1.gsm.logical_channel.deactivate.byu2pad_u3tn_u3dir", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u3TN_u3Dir",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[2], - { "bySubchannelNum", "octvc1.gsm.logical_channel.deactivate.bysubchannelnum", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelNum",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[3], - { "byu3Pad_u5SAPI", "octvc1.gsm.logical_channel.deactivate.byu3pad_u5sapi", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu3Pad_u5SAPI",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[4], - { "usStatus", "octvc1.gsm.logical_channel.deactivate.usstatus", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usStatus",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[5], - { "aPadding", "octvc1.gsm.logical_channel.deactivate.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD; - -void register_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD[0], - { "usu2Pad_u6TRXId_u5Pad_u3TN", "octvc1.gsm.trx.timeslot.status.usu2pad_u6trxid_u5pad_u3tn", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usu2Pad_u6TRXId_u5Pad_u3TN",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP; - -void register_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[0], - { "usu2Pad_u6TRXId_u5Pad_u3TN", "octvc1.gsm.trx.timeslot.status.usu2pad_u6trxid_u5pad_u3tn", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usu2Pad_u6TRXId_u5Pad_u3TN",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[1], - { "byChannelType", "octvc1.gsm.trx.timeslot.status.bychanneltype", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byChannelType",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[2], - { "bySubchannelCount", "octvc1.gsm.trx.timeslot.status.bysubchannelcount", - FT_UINT8,BASE_HEX, NULL, 0x0, - "bySubchannelCount",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[3], - { "atSubchannnelStatus", "octvc1.gsm.trx.timeslot.status.atsubchannnelstatus", - FT_NONE, BASE_NONE, NULL, 0x0, - "atSubchannnelStatus",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[4], - { "aPadding", "octvc1.gsm.trx.timeslot.status.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD; - -void register_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.trx.timeslot_measurement_report.request.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD[1], - { "byu5Pad_u3TN", "octvc1.gsm.trx.timeslot_measurement_report.request.byu5pad_u3tn", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu5Pad_u3TN",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP; - -void register_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.trx.timeslot_measurement_report.request.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP[1], - { "byu5Pad_u3TN", "octvc1.gsm.trx.timeslot_measurement_report.request.byu5pad_u3tn", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu5Pad_u3TN",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP[2], - { "tMeasurementInfo", "octvc1.gsm.trx.timeslot_measurement_report.request.tmeasurementinfo", - FT_NONE, BASE_NONE, NULL, 0x0, - "tMeasurementInfo",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP[3], - { "aPadding", "octvc1.gsm.trx.timeslot_measurement_report.request.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TRX_RESET_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_RESET_CMD; - -void register_tOCTVC1_GSM_MSG_TRX_RESET_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_TRX_RESET_CMD[0], - { "usu2Pad_u6TRXId_u8Pad", "octvc1.gsm.trx.reset.usu2pad_u6trxid_u8pad", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usu2Pad_u6TRXId_u8Pad",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_RESET_CMD[1], - { "aPadding", "octvc1.gsm.trx.reset.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_TRX_RESET_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_RESET_RSP; - -void register_tOCTVC1_GSM_MSG_TRX_RESET_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.trx.reset.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[1], - { "byPad", "octvc1.gsm.trx.reset.bypad", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byPad",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[2], - { "usStatus", "octvc1.gsm.trx.reset.usstatus", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usStatus",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[3], - { "aPadding", "octvc1.gsm.trx.reset.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_TRX_RESET_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CMD[2]; +int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CMD[3]; tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_CMD; void register_tOCTVC1_GSM_MSG_TRX_STATUS_CMD(void) @@ -2798,9 +1673,16 @@ void register_tOCTVC1_GSM_MSG_TRX_STATUS_CMD(void) { { &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CMD[0], - { "usu2Pad_u6TRXId_u8Pad", "octvc1.gsm.trx.status.usu2pad_u6trxid_u8pad", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usu2Pad_u6TRXId_u8Pad",HFILL } + { "TrxId", "octvc1.gsm.trx.status.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CMD[1], + { "ulResetFlag", "octvc1.gsm.trx.status.ulresetflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetFlag",HFILL } }, }; @@ -2814,7 +1696,7 @@ void register_tOCTVC1_GSM_MSG_TRX_STATUS_CMD(void) }; -int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[5]; +int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[6]; tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_RSP; void register_tOCTVC1_GSM_MSG_TRX_STATUS_RSP(void) @@ -2823,30 +1705,37 @@ void register_tOCTVC1_GSM_MSG_TRX_STATUS_RSP(void) { { &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[0], - { "byu2Pad_u6TRXId", "octvc1.gsm.trx.status.byu2pad_u6trxid", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byu2Pad_u6TRXId",HFILL } + { "TrxId", "octvc1.gsm.trx.status.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } }, { &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[1], - { "byPad", "octvc1.gsm.trx.status.bypad", - FT_UINT8,BASE_HEX, NULL, 0x0, - "byPad",HFILL } + { "DlStatus", "octvc1.gsm.trx.status.dlstatus", + FT_NONE, BASE_NONE, NULL, 0x0, + "DlStatus",HFILL } }, { &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[2], - { "atStatus", "octvc1.gsm.trx.status.atstatus", + { "UlStatus", "octvc1.gsm.trx.status.ulstatus", FT_NONE, BASE_NONE, NULL, 0x0, - "atStatus",HFILL } + "UlStatus",HFILL } }, { &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[3], - { "aPadding", "octvc1.gsm.trx.status.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } + { "SchedStatus", "octvc1.gsm.trx.status.schedstatus", + FT_NONE, BASE_NONE, NULL, 0x0, + "SchedStatus",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[4], + { "aTSlotStatus", "octvc1.gsm.trx.status.atslotstatus", + FT_NONE, BASE_NONE, NULL, 0x0, + "aTSlotStatus",HFILL } }, }; @@ -2860,313 +1749,1766 @@ void register_tOCTVC1_GSM_MSG_TRX_STATUS_RSP(void) }; -int ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[9]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD; +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_CMD; -void register_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD(void) +void register_tOCTVC1_GSM_MSG_TRX_INFO_CMD(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[0], - { "u6TrxId_u4band_u1H_u5TSC", "octvc1.gsm.trx.configure.u6trxid_u4band_u1h_u5tsc", + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_CMD[0], + { "TrxId", "octvc1.gsm.trx.info.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "u6TrxId_u4band_u1H_u5TSC",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[1], - { "ARFCN", "octvc1.gsm.trx.configure.arfcn", - FT_UINT16,BASE_HEX, NULL, 0x0, - "ARFCN",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[2], - { "BCCH_ARFCN", "octvc1.gsm.trx.configure.bcch_arfcn", - FT_UINT16,BASE_HEX, NULL, 0x0, - "BCCH_ARFCN",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[3], - { "HSN", "octvc1.gsm.trx.configure.hsn", - FT_UINT8,BASE_HEX, NULL, 0x0, - "HSN",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[4], - { "MAIO", "octvc1.gsm.trx.configure.maio", - FT_UINT8,BASE_HEX, NULL, 0x0, - "MAIO",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[5], - { "HoppingListLength", "octvc1.gsm.trx.configure.hoppinglistlength", - FT_UINT16,BASE_HEX, NULL, 0x0, - "HoppingListLength",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[6], - { "ausHoppingList", "octvc1.gsm.trx.configure.aushoppinglist", - FT_UINT16,BASE_HEX, NULL, 0x0, - "ausHoppingList",HFILL } - - }, - { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[7], - { "aPadding", "octvc1.gsm.trx.configure.apadding", - FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } + "TrxId",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD.ett + &ws_htOCTVC1_GSM_MSG_TRX_INFO_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP; +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_RSP; -void register_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP(void) +void register_tOCTVC1_GSM_MSG_TRX_INFO_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP[0], - { "u6TrxId_u4band_u6Pad", "octvc1.gsm.trx.configure.u6trxid_u4band_u6pad", + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_RSP[0], + { "TrxId", "octvc1.gsm.trx.info.trxid", FT_NONE, BASE_NONE, NULL, 0x0, - "u6TrxId_u4band_u6Pad",HFILL } + "TrxId",HFILL } }, { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP[1], - { "usStatus", "octvc1.gsm.trx.configure.usstatus", + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_RSP[1], + { "ulRfPortIndex", "octvc1.gsm.trx.info.ulrfportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulRfPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_RSP[2], + { "Config", "octvc1.gsm.trx.info.config", + FT_NONE, BASE_NONE, NULL, 0x0, + "Config",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_RESET_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_RESET_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_RESET_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_RESET_CMD[0], + { "TrxId", "octvc1.gsm.trx.reset.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_RESET_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_RESET_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_RESET_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[0], + { "TrxId", "octvc1.gsm.trx.reset.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_RESET_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_MODIFY_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_MODIFY_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_CMD[0], + { "TrxId", "octvc1.gsm.trx.modify.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_CMD[1], + { "Config", "octvc1.gsm.trx.modify.config", + FT_NONE, BASE_NONE, NULL, 0x0, + "Config",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_MODIFY_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_MODIFY_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_MODIFY_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_RSP[0], + { "TrxId", "octvc1.gsm.trx.modify.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_MODIFY_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_LIST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LIST_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_LIST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_CMD[0], + { "TrxIdCursor", "octvc1.gsm.trx.list.trxidcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxIdCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_LIST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_LIST_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LIST_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_LIST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_RSP[0], + { "TrxIdCursor", "octvc1.gsm.trx.list.trxidcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxIdCursor",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_RSP[1], + { "ulNumTrxId", "octvc1.gsm.trx.list.ulnumtrxid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumTrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_RSP[2], + { "aTrxId", "octvc1.gsm.trx.list.atrxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "aTrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_LIST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP[0], + { "ulCloseCount", "octvc1.gsm.trx.close_all.ulclosecount", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulCloseCount",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_START_RECORD_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD[0], + { "TrxId", "octvc1.gsm.trx.record.start.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_START_RECORD_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_START_RECORD_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP[0], + { "TrxId", "octvc1.gsm.trx.record.start.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_START_RECORD_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD[0], + { "TrxId", "octvc1.gsm.trx.record.stop.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP[0], + { "TrxId", "octvc1.gsm.trx.record.stop.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_RF_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD[0], + { "TrxId", "octvc1.gsm.trx.rf.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_INFO_RF_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_RF_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP[0], + { "TrxId", "octvc1.gsm.trx.rf.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP[1], + { "RfConfig", "octvc1.gsm.trx.rf.info.rfconfig", + FT_NONE, BASE_NONE, NULL, 0x0, + "RfConfig",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_INFO_RF_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD[0], + { "TrxId", "octvc1.gsm.trx.rf.modify.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD[1], + { "RfConfig", "octvc1.gsm.trx.rf.modify.rfconfig", + FT_NONE, BASE_NONE, NULL, 0x0, + "RfConfig",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP[0], + { "TrxId", "octvc1.gsm.trx.rf.modify.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.activate.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD[1], + { "LchId", "octvc1.gsm.trx.logical_channel.activate.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD[2], + { "Config", "octvc1.gsm.trx.logical_channel.activate.config", + FT_NONE, BASE_NONE, NULL, 0x0, + "Config",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.activate.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP[1], + { "LchId", "octvc1.gsm.trx.logical_channel.activate.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.deactivate.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD[1], + { "LchId", "octvc1.gsm.trx.logical_channel.deactivate.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.deactivate.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP[1], + { "LchId", "octvc1.gsm.trx.logical_channel.deactivate.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.status.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD[1], + { "LchId", "octvc1.gsm.trx.logical_channel.status.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.status.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP[1], + { "LchId", "octvc1.gsm.trx.logical_channel.status.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP[2], + { "usStatus", "octvc1.gsm.trx.logical_channel.status.usstatus", FT_UINT16,BASE_HEX, NULL, 0x0, "usStatus",HFILL } }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { { - &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP[2], - { "aPadding", "octvc1.gsm.trx.configure.apadding", + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD[1], + { "LchId", "octvc1.gsm.trx.logical_channel.info.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP[1], + { "LchId", "octvc1.gsm.trx.logical_channel.info.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP[2], + { "Config", "octvc1.gsm.trx.logical_channel.info.config", + FT_NONE, BASE_NONE, NULL, 0x0, + "Config",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD[0], + { "LchIdCursor", "octvc1.gsm.trx.logical_channel.list.lchidcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchIdCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP[0], + { "LchIdCursor", "octvc1.gsm.trx.logical_channel.list.lchidcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchIdCursor",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP[1], + { "ulNumLchId", "octvc1.gsm.trx.logical_channel.list.ulnumlchid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumLchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP[2], + { "aLchId", "octvc1.gsm.trx.logical_channel.list.alchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "aLchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.raw_data_indications.start.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD[1], + { "LchId", "octvc1.gsm.trx.logical_channel.raw_data_indications.start.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.raw_data_indications.start.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP[1], + { "LchId", "octvc1.gsm.trx.logical_channel.raw_data_indications.start.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.raw_data_indications.stop.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD[1], + { "LchId", "octvc1.gsm.trx.logical_channel.raw_data_indications.stop.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.raw_data_indications.stop.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP[1], + { "LchId", "octvc1.gsm.trx.logical_channel.raw_data_indications.stop.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.empty_frame.request.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD[1], + { "LchId", "octvc1.gsm.trx.logical_channel.empty_frame.request.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD[2], + { "ulFrameNumber", "octvc1.gsm.trx.logical_channel.empty_frame.request.ulframenumber", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulFrameNumber",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.empty_frame.request.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP[1], + { "LchId", "octvc1.gsm.trx.logical_channel.empty_frame.request.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.data.request.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD[1], + { "LchId", "octvc1.gsm.trx.logical_channel.data.request.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD[2], + { "Data", "octvc1.gsm.trx.logical_channel.data.request.data", + FT_NONE, BASE_NONE, NULL, 0x0, + "Data",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP[0], + { "TrxId", "octvc1.gsm.trx.logical_channel.data.request.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP[1], + { "LchId", "octvc1.gsm.trx.logical_channel.data.request.lchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "LchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.activate.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD[1], + { "PchId", "octvc1.gsm.trx.physical_channel.activate.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD[2], + { "ulChannelType", "octvc1.gsm.trx.physical_channel.activate.ulchanneltype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM), 0x0, + "ulChannelType",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD[3], + { "ulPayloadType", "octvc1.gsm.trx.physical_channel.activate.ulpayloadtype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_PAYLOAD_TYPE_ENUM), 0x0, + "ulPayloadType",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.activate.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP[1], + { "PchId", "octvc1.gsm.trx.physical_channel.activate.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.deactivate.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD[1], + { "PchId", "octvc1.gsm.trx.physical_channel.deactivate.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.deactivate.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP[1], + { "PchId", "octvc1.gsm.trx.physical_channel.deactivate.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.status.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD[1], + { "PchId", "octvc1.gsm.trx.physical_channel.status.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD[2], + { "ulResetFlag", "octvc1.gsm.trx.physical_channel.status.ulresetflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.status.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP[1], + { "PchId", "octvc1.gsm.trx.physical_channel.status.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP[2], + { "PhysicalStatus", "octvc1.gsm.trx.physical_channel.status.physicalstatus", + FT_NONE, BASE_NONE, NULL, 0x0, + "PhysicalStatus",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP[3], + { "aSubchannnelStatus", "octvc1.gsm.trx.physical_channel.status.asubchannnelstatus", + FT_NONE, BASE_NONE, NULL, 0x0, + "aSubchannnelStatus",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.reset.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD[1], + { "PchId", "octvc1.gsm.trx.physical_channel.reset.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.reset.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP[1], + { "PchId", "octvc1.gsm.trx.physical_channel.reset.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD[0], + { "PchIdCursor", "octvc1.gsm.trx.physical_channel.list.pchidcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchIdCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP[0], + { "PchIdCursor", "octvc1.gsm.trx.physical_channel.list.pchidcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchIdCursor",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP[1], + { "ulNumPchId", "octvc1.gsm.trx.physical_channel.list.ulnumpchid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumPchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP[2], + { "aPchId", "octvc1.gsm.trx.physical_channel.list.apchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "aPchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD[1], + { "PchId", "octvc1.gsm.trx.physical_channel.info.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP[1], + { "PchId", "octvc1.gsm.trx.physical_channel.info.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP[2], + { "ulChannelType", "octvc1.gsm.trx.physical_channel.info.ulchanneltype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM), 0x0, + "ulChannelType",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP[3], + { "ulPayloadType", "octvc1.gsm.trx.physical_channel.info.ulpayloadtype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_PAYLOAD_TYPE_ENUM), 0x0, + "ulPayloadType",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[7]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.ciphering.modify.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[1], + { "PchId", "octvc1.gsm.trx.physical_channel.ciphering.modify.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[2], + { "ulSubchannelNb", "octvc1.gsm.trx.physical_channel.ciphering.modify.ulsubchannelnb", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_GSM_SUB_CHANNEL_NB_ENUM), 0x0, + "ulSubchannelNb",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[3], + { "ulDirection", "octvc1.gsm.trx.physical_channel.ciphering.modify.uldirection", + FT_UINT8,BASE_HEX, VALS(vals_tOCTVC1_GSM_DIRECTION_ENUM), 0x0, + "ulDirection",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[4], + { "Config", "octvc1.gsm.trx.physical_channel.ciphering.modify.config", + FT_NONE, BASE_NONE, NULL, 0x0, + "Config",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[5], + { "abyPad", "octvc1.gsm.trx.physical_channel.ciphering.modify.abypad", FT_UINT8,BASE_HEX, NULL, 0x0, - "aPadding",HFILL } + "abyPad",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP.ett + &ws_htOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TEST_START_ETSI_CMD; +int ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP; -void register_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD(void) +void register_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD[0], - { "usTodo", "octvc1.gsm.test.etsi.start.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.ciphering.modify.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP[1], + { "PchId", "octvc1.gsm.trx.physical_channel.ciphering.modify.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_TEST_START_ETSI_CMD.ett + &ws_htOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TEST_START_ETSI_RSP; +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD; -void register_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP(void) +void register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP[0], - { "usTodo", "octvc1.gsm.test.etsi.start.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.ciphering.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD[1], + { "PchId", "octvc1.gsm.trx.physical_channel.ciphering.info.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_TEST_START_ETSI_RSP.ett + &ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TEST_END_ETSI_CMD; +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP; -void register_tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD(void) +void register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD[0], - { "usTodo", "octvc1.gsm.test.etsi.end.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.ciphering.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP[1], + { "PchId", "octvc1.gsm.trx.physical_channel.ciphering.info.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP[2], + { "ulTxSubChannelMask", "octvc1.gsm.trx.physical_channel.ciphering.info.ultxsubchannelmask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulTxSubChannelMask",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP[3], + { "ulRxSubChannelMask", "octvc1.gsm.trx.physical_channel.ciphering.info.ulrxsubchannelmask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulRxSubChannelMask",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP[4], + { "Config", "octvc1.gsm.trx.physical_channel.ciphering.info.config", + FT_NONE, BASE_NONE, NULL, 0x0, + "Config",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_TEST_END_ETSI_CMD.ett + &ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TEST_END_ETSI_RSP; +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD; -void register_tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP(void) +void register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP[0], - { "usTodo", "octvc1.gsm.test.etsi.end.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.measurement.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD[1], + { "PchId", "octvc1.gsm.trx.physical_channel.measurement.info.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_TEST_END_ETSI_RSP.ett + &ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_GSM_MSG_TEST_START_FCC_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TEST_START_FCC_CMD; +int ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP; -void register_tOCTVC1_GSM_MSG_TEST_START_FCC_CMD(void) +void register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_GSM_MSG_TEST_START_FCC_CMD[0], - { "usTodo", "octvc1.gsm.test.fcc.start.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP[0], + { "TrxId", "octvc1.gsm.trx.physical_channel.measurement.info.trxid", + FT_NONE, BASE_NONE, NULL, 0x0, + "TrxId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP[1], + { "PchId", "octvc1.gsm.trx.physical_channel.measurement.info.pchid", + FT_NONE, BASE_NONE, NULL, 0x0, + "PchId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP[2], + { "MeasurementInfo", "octvc1.gsm.trx.physical_channel.measurement.info.measurementinfo", + FT_NONE, BASE_NONE, NULL, 0x0, + "MeasurementInfo",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_GSM_MSG_TEST_START_FCC_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TEST_START_FCC_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TEST_START_FCC_RSP; - -void register_tOCTVC1_GSM_MSG_TEST_START_FCC_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_TEST_START_FCC_RSP[0], - { "usTodo", "octvc1.gsm.test.fcc.start.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_TEST_START_FCC_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TEST_END_FCC_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TEST_END_FCC_CMD; - -void register_tOCTVC1_GSM_MSG_TEST_END_FCC_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_TEST_END_FCC_CMD[0], - { "usTodo", "octvc1.gsm.test.fcc.end.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_TEST_END_FCC_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_GSM_MSG_TEST_END_FCC_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TEST_END_FCC_RSP; - -void register_tOCTVC1_GSM_MSG_TEST_END_FCC_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_GSM_MSG_TEST_END_FCC_RSP[0], - { "usTodo", "octvc1.gsm.test.fcc.end.ustodo", - FT_UINT16,BASE_HEX, NULL, 0x0, - "usTodo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_GSM_MSG_TEST_END_FCC_RSP.ett + &ws_htOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -3178,71 +3520,135 @@ void register_tOCTVC1_GSM_MSG_TEST_END_FCC_RSP(void) ****************************************************************************/ -unsigned int dissect_tOCTVC1_GSM_tSUBCHANNEL_STATUS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +unsigned int dissect_tOCTVC1_GSM_TRX_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_tSUBCHANNEL_STATUS))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_TRX_ID))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_tSUBCHANNEL_STATUS (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_TRX_ID (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_tSUBCHANNEL_STATUS)); + sizeof(tOCTVC1_GSM_TRX_ID)); return 1; } else { int temp_data = 0; proto_item *ti; - bytes = sizeof(tOCTVC1_GSM_tSUBCHANNEL_STATUS); - temp_data = tvb_get_ntohs( tvb, offset ); + bytes = sizeof(tOCTVC1_GSM_TRX_ID); + temp_data = tvb_get_guint8( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveUplinkSAPIMapMSW), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_ID[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_ID, byTrxId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[0], tvb, offset, - 2, temp_data); + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_ID[0], tvb, offset, + 1, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveUplinkSAPIMapMSW); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_ID, byTrxId); - temp_data = tvb_get_ntohs( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_ID, abyPad), "abyPad"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i< + 3 + ; i++ ) + { + temp_data = tvb_get_guint8( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveUplinkSAPIMapLSW), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_GSM_TRX_ID[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_ID, abyPad), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[1], tvb, offset, - 2, temp_data); + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_TRX_ID[1], tvb, offset, + 1, temp_data, "[%d]: 0x%02x", i, temp_data ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveUplinkSAPIMapLSW); + offset+=1; + } + } + } - temp_data = tvb_get_ntohs( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveDownlinkSAPIMapMSW), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[2], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveDownlinkSAPIMapMSW); - temp_data = tvb_get_ntohs( tvb, offset ); + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_TRX_ID_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_TRX_ID_CURSOR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_TRX_ID_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_TRX_ID_CURSOR)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_TRX_ID_CURSOR); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_ID_CURSOR, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_TRX_ID_GET_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_TRX_ID_GET_CURSOR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_TRX_ID_GET_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_TRX_ID_GET_CURSOR)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_TRX_ID_GET_CURSOR); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_ID_GET_CURSOR, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveDownlinkSAPIMapLSW), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_ID_GET_CURSOR[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_ID_GET_CURSOR, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[3], tvb, offset, - 2, temp_data); + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_ID_GET_CURSOR[1], tvb, offset, + 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveDownlinkSAPIMapLSW); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_ID_GET_CURSOR, ulGetMode); } @@ -3252,83 +3658,1312 @@ unsigned int dissect_tOCTVC1_GSM_tSUBCHANNEL_STATUS(tvbuff_t *tvb, packet_info }; -unsigned int dissect_tOCTVC1_GSM_tMEASUREMENT_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +unsigned int dissect_tOCTVC1_GSM_RF_CONFIG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_tMEASUREMENT_INFO))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_RF_CONFIG))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_tMEASUREMENT_INFO (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_RF_CONFIG (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_tMEASUREMENT_INFO)); + sizeof(tOCTVC1_GSM_RF_CONFIG)); return 1; } else { int temp_data = 0; proto_item *ti; - bytes = sizeof(tOCTVC1_GSM_tMEASUREMENT_INFO); - temp_data = tvb_get_ntohs( tvb, offset ); + bytes = sizeof(tOCTVC1_GSM_RF_CONFIG); + temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, sRSSI), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_RF_CONFIG[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RF_CONFIG, ulRxGainDb), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[0], tvb, offset, - 2, temp_data); + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_RF_CONFIG[0], tvb, offset, + 4, temp_data); + if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 73 ) ) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (0..73)]" ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, sRSSI); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RF_CONFIG, ulRxGainDb); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_RF_CONFIG[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RF_CONFIG, ulTxAttndB), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_RF_CONFIG[1], tvb, offset, + 4, temp_data); + if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 359 ) ) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (0..359)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RF_CONFIG, ulTxAttndB); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_TRX_CONFIG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_TRX_CONFIG))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_TRX_CONFIG (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_TRX_CONFIG)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_TRX_CONFIG); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, ulBand), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, ulBand); temp_data = tvb_get_ntohs( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, sSNR), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usTsc), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[1], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[1], tvb, offset, 2, temp_data); + if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 31 ) ) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (0..31)]" ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, sSNR); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usTsc); temp_data = tvb_get_ntohs( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, sBurstTiming), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usArfcn), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[2], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[2], tvb, offset, 2, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, sBurstTiming); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usArfcn); temp_data = tvb_get_ntohs( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, usBERCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usBcchArfcn), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[3], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[3], tvb, offset, 2, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, usBERCount); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usBcchArfcn); temp_data = tvb_get_ntohs( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, usBERTOtalBitCOunt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usHsn), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_tMEASUREMENT_INFO[4], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[4], tvb, offset, 2, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, usBERTOtalBitCOunt); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usHsn); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usMaio), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[5], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usMaio); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usReserve), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[6], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, usReserve); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[7], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, ulHoppingFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[7], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, ulHoppingFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, ulHoppingFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[8], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, ulHoppingListLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[8], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, ulHoppingListLength); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, ausHoppingList), "ausHoppingList"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<64; i++ ) + { + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[9], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TRX_CONFIG, ausHoppingList), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_TRX_CONFIG[9], tvb, offset, + 2, temp_data, "[%d]: 0x%04x", i, temp_data ); + } + offset+=2; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_PHYSICAL_CHANNEL_ID (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID); + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID, byTimeslotNb), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID[0], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID, byTimeslotNb); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID, abyPad), "abyPad"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i< + 3 + ; i++ ) + { + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID, abyPad), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID[1], tvb, offset, + 1, temp_data, "[%d]: 0x%02x", i, temp_data ); + } + offset+=1; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR, ulGetMode); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_SUBCHANNEL_STATUS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_SUBCHANNEL_STATUS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_SUBCHANNEL_STATUS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_SUBCHANNEL_STATUS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_SUBCHANNEL_STATUS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_SUBCHANNEL_STATUS, ulSubchannelNb), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_SUBCHANNEL_STATUS, ulSubchannelNb); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[1], tvb, offset, + 4,"ulActiveUplinkSAPIMask:%s (0x%08x)", pExtValue->pszValue, temp_data); + }else{ + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[1], tvb, offset, + 4,"ulActiveUplinkSAPIMask: (0x%08x)", temp_data); + if(temp_data) + { + int i; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_SAPI_MASK); i++ ) + { + if( ( vals_tOCTVC1_GSM_SAPI_MASK[i].value && + ( vals_tOCTVC1_GSM_SAPI_MASK[i].value & temp_data ) == + vals_tOCTVC1_GSM_SAPI_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_GSM_SAPI_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_GSM_SAPI_MASK),"%s")); + } + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_SUBCHANNEL_STATUS, ulActiveUplinkSAPIMask); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[2], tvb, offset, + 4,"ulActiveDownlinkSAPIMask:%s (0x%08x)", pExtValue->pszValue, temp_data); + }else{ + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_SUBCHANNEL_STATUS[2], tvb, offset, + 4,"ulActiveDownlinkSAPIMask: (0x%08x)", temp_data); + if(temp_data) + { + int i; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_SAPI_MASK); i++ ) + { + if( ( vals_tOCTVC1_GSM_SAPI_MASK[i].value && + ( vals_tOCTVC1_GSM_SAPI_MASK[i].value & temp_data ) == + vals_tOCTVC1_GSM_SAPI_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_GSM_SAPI_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_GSM_SAPI_MASK),"%s")); + } + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_SUBCHANNEL_STATUS, ulActiveDownlinkSAPIMask); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_CIPHER_CONFIG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_CIPHER_CONFIG))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_CIPHER_CONFIG (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_CIPHER_CONFIG)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_CIPHER_CONFIG); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_CIPHER_CONFIG[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_CIPHER_CONFIG, ulCipherId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_CIPHER_CONFIG[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_CIPHER_CONFIG, ulCipherId); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_CIPHER_CONFIG, abyKey), "abyKey"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<8; i++ ) + { + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_GSM_CIPHER_CONFIG[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_CIPHER_CONFIG, abyKey), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_CIPHER_CONFIG[1], tvb, offset, + 1, temp_data, "[%d]: 0x%02x", i, temp_data ); + } + offset+=1; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_LOGICAL_CHANNEL_ID (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID); + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID, byTimeslotNb), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[0], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID, byTimeslotNb); + + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID, bySubChannelNb), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[1], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID, bySubChannelNb); + + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID, bySAPI), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[2], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID, bySAPI); + + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID, byDirection), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID[3], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID, byDirection); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR, ulGetMode); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG); + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, byTimingAdvance), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[0], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, byTimingAdvance); + + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, byBSIC), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[1], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, byBSIC); + + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, byCmiPhase), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[2], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, byCmiPhase); + + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, byInitRate), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[3], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, byInitRate); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, abyRate), "abyRate:tOCTVC1_GSM_AMR_CODEC_MODE_ENUM"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<4; i++ ) + { + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG, abyRate), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG[4], tvb, offset, + 1, temp_data, "[%d]:%s (0x%02x)", i, val_to_str( temp_data, vals_tOCTVC1_GSM_AMR_CODEC_MODE_ENUM, "Unknown (%x)" ), temp_data ); + } + offset+=1; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_LOGICAL_CHANNEL_DATA (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA, ulFrameNumber), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[0], tvb, offset, + 4, temp_data); + if( (unsigned int)temp_data > cOCTVC1_GSM_MAX_FRAME_COUNT) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (..cOCTVC1_GSM_MAX_FRAME_COUNT)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA, ulFrameNumber); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA, ulPayloadType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA, ulPayloadType); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA, ulDataLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[2], tvb, offset, + 4, temp_data); + if( (unsigned int)temp_data > cOCTVC1_GSM_DATA_CONTENT_SIZE) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (..cOCTVC1_GSM_DATA_CONTENT_SIZE)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA, ulDataLength); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA, abyDataContent), "abyDataContent"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<468; i++ ) + { + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_DATA, abyDataContent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA[3], tvb, offset, + 1, temp_data, "[%d]: 0x%02x", i, temp_data ); + } + offset+=1; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA, ulFrameNumber), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[0], tvb, offset, + 4, temp_data); + if( (unsigned int)temp_data > cOCTVC1_GSM_MAX_FRAME_COUNT) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (..cOCTVC1_GSM_MAX_FRAME_COUNT)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA, ulFrameNumber); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA, ulDataLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[1], tvb, offset, + 4, temp_data); + if( (unsigned int)temp_data > cOCTVC1_GSM_DATA_CONTENT_SIZE) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (..cOCTVC1_GSM_DATA_CONTENT_SIZE)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA, ulDataLength); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA, abyDataContent), "abyDataContent"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<468; i++ ) + { + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA, abyDataContent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA[2], tvb, offset, + 1, temp_data, "[%d]: 0x%02x", i, temp_data ); + } + offset+=1; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MEASUREMENT_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MEASUREMENT_INFO))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MEASUREMENT_INFO (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MEASUREMENT_INFO)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_MEASUREMENT_INFO); + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, sSNR), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[0], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, sSNR); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, sRSSI), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[1], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, sRSSI); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, sBurstTiming), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[2], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, sBurstTiming); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, usBERCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[3], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, usBERCount); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, usBERTOtalBitCOunt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[4], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, usBERTOtalBitCOunt); + + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, usRxQualFullUp), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[5], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, usRxQualFullUp); + + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, usRxLevelFullUp), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MEASUREMENT_INFO[6], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MEASUREMENT_INFO, usRxLevelFullUp); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_RAW_MEASUREMENT_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_RAW_MEASUREMENT_INFO))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_RAW_MEASUREMENT_INFO (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_RAW_MEASUREMENT_INFO)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_RAW_MEASUREMENT_INFO); + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, sSNR), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[0], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, sSNR); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, sRSSI), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[1], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, sRSSI); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, sBurstTiming), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[2], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, sBurstTiming); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, usBERCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[3], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, usBERCount); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, usBERTOtalBitCOunt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[4], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, usBERTOtalBitCOunt); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, usTrnSqErrorCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[5], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, usTrnSqErrorCount); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, usTrnSqTotalBitCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[6], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, usTrnSqTotalBitCount); + + temp_data = tvb_get_ntohs( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_int_format_value(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[7], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, sfrquencyError), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_GSM_RAW_MEASUREMENT_INFO[7], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_RAW_MEASUREMENT_INFO, sfrquencyError); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_TIMESLOT_POWER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_TIMESLOT_POWER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_TIMESLOT_POWER (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_TIMESLOT_POWER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_TIMESLOT_POWER); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_POWER[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_POWER, ulPowerMax), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_POWER[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_POWER, ulPowerMax); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_POWER[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_POWER, ulPowerAverage), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_POWER[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_POWER, ulPowerAverage); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_POWER[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_POWER, ulCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_POWER[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_POWER, ulCount); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_PHYSICAL_STATUS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_PHYSICAL_STATUS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_PHYSICAL_STATUS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_PHYSICAL_STATUS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_PHYSICAL_STATUS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulChannelType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulChannelType); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulSubchannelCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulSubchannelCount); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulTchDataCrcPassCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulTchDataCrcPassCount); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulTchDataCrcFailCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulTchDataCrcFailCount); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulRachCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_PHYSICAL_STATUS[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_PHYSICAL_STATUS, ulRachCount); } @@ -3356,29 +4991,169 @@ unsigned int dissect_tOCTVC1_GSM_TIMESLOT_STATUS(tvbuff_t *tvb, packet_info *pi int temp_data = 0; proto_item *ti; bytes = sizeof(tOCTVC1_GSM_TIMESLOT_STATUS); - temp_data = tvb_get_guint8( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_STATUS, PhysicalStatus), "PhysicalStatus:tOCTVC1_GSM_PHYSICAL_STATUS"); { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_STATUS[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_STATUS, byChannelType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_STATUS[0], tvb, offset, - 1, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_STATUS( tvb, pinfo, sub_tree2, offset, pExtValue ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_STATUS, byChannelType); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_STATUS, UplinkPower), "UplinkPower:tOCTVC1_GSM_TIMESLOT_POWER"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TIMESLOT_POWER( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } - temp_data = tvb_get_guint8( tvb, offset ); + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_DL_STATUS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_DL_STATUS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_DL_STATUS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_DL_STATUS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_DL_STATUS); + temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_STATUS[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_STATUS, bySubchannelCount), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_DL_STATUS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_DL_STATUS, ulElapseRspCmdMaxUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_TIMESLOT_STATUS[1], tvb, offset, - 1, temp_data); + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_DL_STATUS[0], tvb, offset, + 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_STATUS, bySubchannelCount); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_DL_STATUS, ulElapseRspCmdMaxUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_DL_STATUS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_DL_STATUS, ulElapseRspCmdAvgUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_DL_STATUS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_DL_STATUS, ulElapseRspCmdAvgUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_DL_STATUS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_DL_STATUS, ulExpectedDelayExceedCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_DL_STATUS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_DL_STATUS, ulExpectedDelayExceedCnt); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_UL_STATUS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_UL_STATUS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_UL_STATUS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_UL_STATUS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_UL_STATUS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_UL_STATUS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_UL_STATUS, ulExceedByteMaxCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_UL_STATUS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_UL_STATUS, ulExceedByteMaxCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_UL_STATUS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_UL_STATUS, ulExpectedDataExceedCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_UL_STATUS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_UL_STATUS, ulExpectedDataExceedCnt); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_SCHED_STATUS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_SCHED_STATUS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_SCHED_STATUS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_SCHED_STATUS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_SCHED_STATUS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_SCHED_STATUS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_SCHED_STATUS, ulErrorDataInactiveCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_SCHED_STATUS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_SCHED_STATUS, ulErrorDataInactiveCnt); } @@ -3392,17 +5167,17 @@ unsigned int dissect_tOCTVC1_GSM_TIMESLOT_STATUS(tvbuff_t *tvb, packet_info *pi ****************************************************************************/ -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); return 1; } else @@ -3410,616 +5185,183 @@ unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT(tvbuff_t *tvb, int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT, byu5Pad_u3TN); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT[2], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT, usFrameNumberMSW); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT[3], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT, usFrameNumberLSW); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT, byu5SAPI_u3Dir); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT, byu5Pad_u3TN); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[4], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT, usFrameNumberMSW); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[5], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT, usFrameNumberLSW); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT, tMeasurementInfo), "tMeasurementInfo:tOCTVC1_GSM_tMEASUREMENT_INFO"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_GSM_tMEASUREMENT_INFO( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[7], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT, usDataFrameLength); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT, ausDataFrameContents), "ausDataFrameContents"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<234; i++ ) - { - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT[8], tvb, offset, - 2, temp_data, "[%d]: 0x%04x", i, temp_data ); - } - offset+=2; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT, byu2Pad_u6TRXId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT, byu3TN_u5SAPI); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT, byPad); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[4], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT, usFrameNumberMSW); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT[5], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT, usFrameNumberLSW); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, byuu3TN_u5SAPI); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, byBurstType); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[4], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, usFrameNumberMSW); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[5], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, usFrameNumberLSW); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, tMeasurementInfo), "tMeasurementInfo:tOCTVC1_GSM_tMEASUREMENT_INFO"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_GSM_tMEASUREMENT_INFO( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohs( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT, MeasurementInfo), "MeasurementInfo:tOCTVC1_GSM_MEASUREMENT_INFO"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[7], tvb, offset, - 2, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > cOCTVC1_GSM_cSDR_RACH_IND_MAX_MESSAGE_LENGTH_WORDS ) ) + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_MEASUREMENT_INFO( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT, Data), "Data:tOCTVC1_GSM_LOGICAL_CHANNEL_DATA"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT[2], tvb, offset, + 4, temp_data); + if( (unsigned int)temp_data > cOCTVC1_GSM_MAX_FRAME_COUNT) { proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..cOCTVC1_GSM_cSDR_RACH_IND_MAX_MESSAGE_LENGTH_WORDS)]" ); + proto_item_append_text(ti," [Out of range - (..cOCTVC1_GSM_MAX_FRAME_COUNT)]" ); } } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, usMessageLength); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT, ulFrameNumber); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT, ulBurstType); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[3], tvb, offset, + 4, temp_data); + if( (unsigned int)temp_data > cOCTVC1_GSM_MAX_FRAME_COUNT) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (..cOCTVC1_GSM_MAX_FRAME_COUNT)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT, ulFrameNumber); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT, MeasurementInfo), "MeasurementInfo:tOCTVC1_GSM_MEASUREMENT_INFO"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_MEASUREMENT_INFO( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[5], tvb, offset, + 4, temp_data); + if( (unsigned int)temp_data > cOCTVC1_GSM_RACH_IND_MSG_SIZE) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (..cOCTVC1_GSM_RACH_IND_MSG_SIZE)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT, ulMsgLength); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, ausMessageContents), "ausMessageContents"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT, abyMsg), "abyMsg"); { int i, ofs=offset; proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<16; i++ ) - { - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT[8], tvb, offset, - 2, temp_data, "[%d]: 0x%04x", i, temp_data ); - } - offset+=2; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_ERROR_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_ERROR_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_ERROR_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_ERROR_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_ERROR_EVT, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_ERROR_EVT, ulErrorCode); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT, ulMessageCode); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT, ulSeverityLevel); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT, ulCoreId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT, ulFrameIndex); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT, ulSlotIndex); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT, ulCheckPointType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT, ulProcessUnitType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT, ulState); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT, aulReserved), "aulReserved"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<3; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[7], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_TRACING_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_TRACING_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT, ulCoreId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT, ulTraceType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT, ulLastTracePacket), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT, ulLastTracePacket); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT, ulTraceIndex); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT, ulPayloadSizeBytes); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_TRACING_EVT, abyUnparsedPayload), "abyUnparsedPayload"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<512; i++ ) + for( i=0; i<32; i++ ) { temp_data = tvb_get_guint8( tvb, offset ); { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[6], tvb, offset, + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT[6], tvb, offset, 1, temp_data, "[%d]: 0x%02x", i, temp_data ); } offset+=1; @@ -4033,17 +5375,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT(tvbuff_t *tvb, packet_i }; -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); return 1; } else @@ -4051,165 +5393,36 @@ unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT(tvbuff_t *tvb, pack int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT, ulErrorCode); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT, ulMessageCode); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT, ulSeverityLevel); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT, MeasurementInfo), "MeasurementInfo:tOCTVC1_GSM_RAW_MEASUREMENT_INFO"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_RAW_MEASUREMENT_INFO( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohl( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT, Data), "Data:tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT, ulCoreId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT, ulFrameIndex); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT, ulSlotIndex); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT, ulCheckPointType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT, ulProcessUnitType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT, ulState); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT, aulReserved), "aulReserved"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<3; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT[7], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA( tvb, pinfo, sub_tree2, offset, NULL ); } } @@ -4219,17 +5432,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT(tvbuff_t *tvb, }; -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); return 1; } else @@ -4237,52 +5450,23 @@ unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT(tvbuff_t *tvb, pa int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[1], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT[1], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT, ulCoreId); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT, ulFrameNumber); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT, ulTraceType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT, ulPayloadSizeBytes); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT, abyUnparsedPayload), "abyUnparsedPayload"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<512; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT[4], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } } @@ -4291,17 +5475,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT(tvbuff_t *tvb, pa }; -unsigned int dissect_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); return 1; } else @@ -4309,15 +5493,29 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT(tvbuff_t *tvb, p int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT[0], tvb, offset, - 2, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT, usTodo); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT, ulStatus); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT, ulFrameNumber); } @@ -4331,17 +5529,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT(tvbuff_t *tvb, p ****************************************************************************/ -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_OPEN_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_OPEN_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -4349,239 +5547,37 @@ unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD(tvbuff_t *tvb, pa int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<488; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD[0], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP, szHardwareInfo), "szHardwareInfo"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<253; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP[0], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<210; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP[1], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_OPEN_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[0], tvb, offset, - 4,"ulEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_GSM_EVT_MASK[i].value && - ( vals_tOCTVC1_GSM_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_GSM_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_GSM_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_GSM_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD, ulEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[1], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_OPEN_CMD[0], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD, ulUserEventId); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_OPEN_CMD, ulRfPortIndex); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD, hEventDestObj), "hEventDestObj:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_OPEN_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD, ulEventDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD, ulEventDestObjFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[0], tvb, offset, - 4,"ulEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_GSM_EVT_MASK[i].value && - ( vals_tOCTVC1_GSM_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_GSM_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_GSM_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_GSM_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP, ulEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP, ulUserEventId); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP, hEventDestObj), "hEventDestObj:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_OPEN_CMD, Config), "Config:tOCTVC1_GSM_TRX_CONFIG"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_TRX_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohl( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_OPEN_CMD, RfConfig), "RfConfig:tOCTVC1_GSM_RF_CONFIG"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[3], tvb, offset, - 4, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_RF_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP, ulEventDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP, ulEventDestObjFifoId); - } @@ -4590,17 +5586,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP(tvbuff_t *tvb, packet_ }; -unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_OPEN_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_MODULE_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_OPEN_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_MODULE_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -4608,106 +5604,16 @@ unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_INFO_RSP(tvbuff_t *tvb, packet_info int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_MODULE_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_MODULE_INFO_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_INFO_RSP, ulDeviceType); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_OPEN_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_OPEN_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD, ulUserEventId),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[1], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD, ulUserEventId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[2], tvb, offset, - 4,"ulEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_GSM_EVT_MASK[i].value && - ( vals_tOCTVC1_GSM_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_GSM_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_GSM_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_GSM_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD, ulEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[3], tvb, offset, - 4,"ulDebugFwdEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_GSM_EVT_MASK[i].value && - ( vals_tOCTVC1_GSM_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_GSM_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_GSM_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_GSM_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD, ulDebugFwdEventMask); - } @@ -4716,17 +5622,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD(tvbuff_t *tvb, }; -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_CLOSE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_CLOSE_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -4734,15 +5640,15 @@ unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP(tvbuff_t *tvb, int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_CLOSE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CLOSE_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } } @@ -4752,17 +5658,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP(tvbuff_t *tvb, }; -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_CLOSE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_CLOSE_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -4770,1798 +5676,15 @@ unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD(tvbuff_t *tvb, p int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_CLOSE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD, hProcessUnit), "hProcessUnit:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CLOSE_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[0], tvb, offset, - 4,"ulEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_GSM_EVT_MASK[i].value && - ( vals_tOCTVC1_GSM_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_GSM_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_GSM_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_GSM_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP, ulEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP, ulUserEventId); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP, hEventDestObj), "hEventDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP, ulEventDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP, ulEventDestObjFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP, ObjectList), "ObjectList:tOCTVC1_LIST_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_LIST_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP, ulProcessType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP, ulInstance); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP, ulMasterCore), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP, ulMasterCore); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP, ulCoreId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD, ulResetStatsFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD, ulResetStatsFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP, ulLastFrameIndex); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD, byu3TN_u5SAPI); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD, byPad); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[4], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD, usFrameNumberMsb); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[5], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD, usFrameNumberLsb); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<480; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD[6], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP, usTodo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD, byU2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD, byU3TN_u5SAPI); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD, byPad); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[4], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD, usFrameNumberMSB); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[5], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD, usFrameNumberLSB); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[6], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD, usDataLength); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD, ausDataContents), "ausDataContents"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<478; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD[7], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP, usTodo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD, byu2Pad_u3TN_u3Dir); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD, byuCipherId); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[4], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD, usKC0); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[5], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD, usKC1); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[6], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD, usKC2); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD[7], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD, usKC3); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP, byu2Pad_u3TN_u3Dir); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP, byPad); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[4], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP, usStatus); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<458; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP[5], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD, byu2Pad_u6TrxId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD, byu5Pad_u3TimeslotNumber); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD, byChannelType); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD, byPayloadType); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<484; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD[4], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP, byu5Pad_u3TN); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP[2], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP, usStatus); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<460; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP[3], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD, byu2Pad_u6TrxId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD, byu5Pad_u3TimeslotNumber); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<476; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD[2], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP, byu5Pad_u3TN); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP[2], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP, usStatus); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<460; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP[3], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<462; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD[0], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP, usStatus); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<476; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP[1], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, byu2Pad_u3TN_u3Dir); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, byu3Pad_u5SAPI); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[4], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, byTimingAdvance); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[5], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, byPad); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[6], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, byBSIC); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[7], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, byu1CMIPhase_u7InitRate); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[8], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, byu4Rate1_u4Rate2); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[9], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, byu4Rate3_u4Rate4); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<476; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD[10], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP, byu2Pad_u3TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP, byu2Pad_u3TN_u3Dir); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP, byu3Pad_u5SAPI); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[4], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP, usStatus); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<458; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP[5], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD, byu2Pad_u3TN_u3Dir); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD, byu3Pad_u5SAPI); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP, byu2Pad_u3TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP, byu2Pad_u3TN_u3Dir); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP, bySubchannelNum); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP, byu3Pad_u5SAPI); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[4], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP, usStatus); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<458; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP[5], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD, usu2Pad_u6TRXId_u5Pad_u3TN); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP, usu2Pad_u6TRXId_u5Pad_u3TN); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP, byChannelType); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[2], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP, bySubchannelCount); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP, atSubchannnelStatus), "atSubchannnelStatus:tOCTVC1_GSM_tSUBCHANNEL_STATUS"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<16; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_GSM_tSUBCHANNEL_STATUS), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_GSM_tSUBCHANNEL_STATUS( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<332; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP[4], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD, byu5Pad_u3TN); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP, byu5Pad_u3TN); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP, tMeasurementInfo), "tMeasurementInfo:tOCTVC1_GSM_tMEASUREMENT_INFO"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_GSM_tMEASUREMENT_INFO( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<454; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP[3], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TRX_RESET_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_RESET_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_RESET_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TRX_RESET_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_RESET_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_RESET_CMD[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_CMD, usu2Pad_u6TRXId_u8Pad); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_CMD, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<486; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_RESET_CMD[1], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TRX_RESET_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_RESET_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_RESET_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TRX_RESET_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_RESET_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[0], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_RSP, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[1], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_RSP, byPad); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[2], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_RSP, usStatus); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_RSP, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<460; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_RESET_RSP[3], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } } @@ -6592,12 +5715,19 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_CMD(tvbuff_t *tvb, packet_info "tOCTVC1_GSM_MSG_TRX_STATUS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CMD[0], tvb, offset, - 2, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_CMD, usu2Pad_u6TRXId_u8Pad); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_CMD, ulResetFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_CMD, ulResetFlag); } @@ -6628,22 +5758,36 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_RSP(tvbuff_t *tvb, packet_info "tOCTVC1_GSM_MSG_TRX_STATUS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_guint8( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[0], tvb, offset, - 1, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, byu2Pad_u6TRXId); - - temp_data = tvb_get_guint8( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, DlStatus), "DlStatus:tOCTVC1_GSM_DL_STATUS"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[1], tvb, offset, - 1, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_DL_STATUS( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, UlStatus), "UlStatus:tOCTVC1_GSM_UL_STATUS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_UL_STATUS( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, SchedStatus), "SchedStatus:tOCTVC1_GSM_SCHED_STATUS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_SCHED_STATUS( tvb, pinfo, sub_tree2, offset, NULL ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, byPad); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, atStatus), "atStatus:tOCTVC1_GSM_TIMESLOT_STATUS"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, aTSlotStatus), "aTSlotStatus:tOCTVC1_GSM_TIMESLOT_STATUS"); { int i, ofs=offset; proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); @@ -6658,16 +5802,2164 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_RSP(tvbuff_t *tvb, packet_info } } } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_INFO_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_RSP, ulRfPortIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_RSP, Config), "Config:tOCTVC1_GSM_TRX_CONFIG"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_RESET_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_RESET_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_RESET_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_RESET_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_RESET_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_RESET_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_RESET_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_RESET_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_RESET_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_RESET_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_CMD, Config), "Config:tOCTVC1_GSM_TRX_CONFIG"); + { + proto_tree* sub_tree2; + tWS_EXTRA_VALUE ExtraVal; + ExtraVal.lValue = cOCTVC1_DO_NOT_MODIFY; + ExtraVal.pszValue = "cOCTVC1_DO_NOT_MODIFY"; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_CONFIG( tvb, pinfo, sub_tree2, offset, &ExtraVal ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_CMD, TrxIdCursor), "TrxIdCursor:tOCTVC1_GSM_TRX_ID_GET_CURSOR"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID_GET_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_RSP, TrxIdCursor), "TrxIdCursor:tOCTVC1_GSM_TRX_ID_GET_CURSOR"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID_GET_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_LIST_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_RSP, ulNumTrxId); + ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, aPadding), "aPadding"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_RSP, aTrxId), "aTrxId:tOCTVC1_GSM_TRX_ID_CURSOR"); { int i, ofs=offset; proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<446; i++ ) + for( i=0; i<32; i++ ) + { + { + proto_tree* sub_tree2; + ti = proto_tree_add_text(sub_tree, tvb, offset, + sizeof(tOCTVC1_GSM_TRX_ID_CURSOR), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP, ulCloseCount); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP, RfConfig), "RfConfig:tOCTVC1_GSM_RF_CONFIG"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_RF_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD, RfConfig), "RfConfig:tOCTVC1_GSM_RF_CONFIG"); + { + proto_tree* sub_tree2; + tWS_EXTRA_VALUE ExtraVal; + ExtraVal.lValue = cOCTVC1_DO_NOT_MODIFY; + ExtraVal.pszValue = "cOCTVC1_DO_NOT_MODIFY"; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_RF_CONFIG( tvb, pinfo, sub_tree2, offset, &ExtraVal ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD, Config), "Config:tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohs( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP[2], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP, usStatus); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP, Config), "Config:tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD, LchIdCursor), "LchIdCursor:tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP, LchIdCursor), "LchIdCursor:tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP, ulNumLchId); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP, aLchId), "aLchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<128; i++ ) + { + { + proto_tree* sub_tree2; + ti = proto_tree_add_text(sub_tree, tvb, offset, + sizeof(tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD[2], tvb, offset, + 4, temp_data); + if( (unsigned int)temp_data > cOCTVC1_GSM_MAX_FRAME_COUNT) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (..cOCTVC1_GSM_MAX_FRAME_COUNT)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD, ulFrameNumber); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD, Data), "Data:tOCTVC1_GSM_LOGICAL_CHANNEL_DATA"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP, LchId), "LchId:tOCTVC1_GSM_LOGICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_LOGICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD, ulChannelType); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD, ulPayloadType); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD, ulResetFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD, ulResetFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP, PhysicalStatus), "PhysicalStatus:tOCTVC1_GSM_PHYSICAL_STATUS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_STATUS( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP, aSubchannnelStatus), "aSubchannnelStatus:tOCTVC1_GSM_SUBCHANNEL_STATUS"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<9; i++ ) + { + { + proto_tree* sub_tree2; + ti = proto_tree_add_text(sub_tree, tvb, offset, + sizeof(tOCTVC1_GSM_SUBCHANNEL_STATUS), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_SUBCHANNEL_STATUS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD, PchIdCursor), "PchIdCursor:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP, PchIdCursor), "PchIdCursor:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP, ulNumPchId); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP, aPchId), "aPchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<32; i++ ) + { + { + proto_tree* sub_tree2; + ti = proto_tree_add_text(sub_tree, tvb, offset, + sizeof(tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP, ulChannelType); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP, ulPayloadType); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD, ulSubchannelNb); + + temp_data = tvb_get_guint8( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[3], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD, ulDirection); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD, Config), "Config:tOCTVC1_GSM_CIPHER_CONFIG"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_CIPHER_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD, abyPad), "abyPad"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i< + 3 + ; i++ ) { temp_data = tvb_get_guint8( tvb, offset ); { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[3], tvb, offset, + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD[5], tvb, offset, 1, temp_data, "[%d]: 0x%02x", i, temp_data ); } offset+=1; @@ -6681,17 +7973,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_RSP(tvbuff_t *tvb, packet_info }; -unsigned int dissect_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -6699,165 +7991,165 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD(tvbuff_t *tvb, packet_in int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[0], tvb, offset, - 2,"u6TrxId_u4band_u1H_u5TSC: (0x%08x)", temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP[2], tvb, offset, + 4,"ulTxSubChannelMask: (0x%08x)", temp_data); if(temp_data) { int i; proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK); i++ ) + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_SUBCHANNEL_MASK); i++ ) { - if( ( vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[i].value && - ( vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[i].value & temp_data ) == - vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,2,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[i].value, 0xFFFFFFFF, (2*8), - VALS(vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK),"%s")); + if( ( vals_tOCTVC1_GSM_SUBCHANNEL_MASK[i].value && + ( vals_tOCTVC1_GSM_SUBCHANNEL_MASK[i].value & temp_data ) == + vals_tOCTVC1_GSM_SUBCHANNEL_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_GSM_SUBCHANNEL_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_GSM_SUBCHANNEL_MASK),"%s")); } } } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD, u6TrxId_u4band_u1H_u5TSC); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP, ulTxSubChannelMask); - temp_data = tvb_get_ntohs( tvb, offset ); + temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[1], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD, ARFCN); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[2], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD, BCCH_ARFCN); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[3], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD, HSN); - - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[4], tvb, offset, - 1, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD, MAIO); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[5], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD, HoppingListLength); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD, ausHoppingList), "ausHoppingList"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<64; i++ ) - { - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[6], tvb, offset, - 2, temp_data, "[%d]: 0x%04x", i, temp_data ); - } - offset+=2; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD, aPadding), "aPadding"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<350; i++ ) - { - temp_data = tvb_get_guint8( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[7], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); - } - offset+=1; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP[0], tvb, offset, - 2,"u6TrxId_u4band_u6Pad: (0x%08x)", temp_data); + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP[3], tvb, offset, + 4,"ulRxSubChannelMask: (0x%08x)", temp_data); if(temp_data) { int i; proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK); i++ ) + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_GSM_SUBCHANNEL_MASK); i++ ) { - if( ( vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[i].value && - ( vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[i].value & temp_data ) == - vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,2,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK[i].value, 0xFFFFFFFF, (2*8), - VALS(vals_tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK),"%s")); + if( ( vals_tOCTVC1_GSM_SUBCHANNEL_MASK[i].value && + ( vals_tOCTVC1_GSM_SUBCHANNEL_MASK[i].value & temp_data ) == + vals_tOCTVC1_GSM_SUBCHANNEL_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_GSM_SUBCHANNEL_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_GSM_SUBCHANNEL_MASK),"%s")); } } } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP, u6TrxId_u4band_u6Pad); - - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP[1], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP, usStatus); + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP, ulRxSubChannelMask); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP, aPadding), "aPadding"); + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP, Config), "Config:tOCTVC1_GSM_CIPHER_CONFIG"); { int i, ofs=offset; proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<460; i++ ) + for( i=0; i<9; i++ ) { - temp_data = tvb_get_guint8( tvb, offset ); { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP[2], tvb, offset, - 1, temp_data, "[%d]: 0x%02x", i, temp_data ); + proto_tree* sub_tree2; + ti = proto_tree_add_text(sub_tree, tvb, offset, + sizeof(tOCTVC1_GSM_CIPHER_CONFIG), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_CIPHER_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); } - offset+=1; } } } @@ -6868,17 +8160,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP(tvbuff_t *tvb, packet_in }; -unsigned int dissect_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -6886,16 +8178,23 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD(tvbuff_t *tvb, packet_ int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD[0], tvb, offset, - 2, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD, usTodo); - } @@ -6904,17 +8203,17 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD(tvbuff_t *tvb, packet_ }; -unsigned int dissect_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -6922,232 +8221,30 @@ unsigned int dissect_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP(tvbuff_t *tvb, packet_ int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP, TrxId), "TrxId:tOCTVC1_GSM_TRX_ID"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP[0], tvb, offset, - 2, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TRX_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP, usTodo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP, PchId), "PchId:tOCTVC1_GSM_PHYSICAL_CHANNEL_ID"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD[0], tvb, offset, - 2, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID( tvb, pinfo, sub_tree2, offset, NULL ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD, usTodo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP, MeasurementInfo), "MeasurementInfo:tOCTVC1_GSM_MEASUREMENT_INFO"); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP[0], tvb, offset, - 2, temp_data); + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_MEASUREMENT_INFO( tvb, pinfo, sub_tree2, offset, NULL ); } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP, usTodo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TEST_START_FCC_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TEST_START_FCC_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_START_FCC_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TEST_START_FCC_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_START_FCC_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_START_FCC_CMD[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_START_FCC_CMD, usTodo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TEST_START_FCC_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TEST_START_FCC_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_START_FCC_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TEST_START_FCC_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_START_FCC_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_START_FCC_RSP[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_START_FCC_RSP, usTodo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TEST_END_FCC_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TEST_END_FCC_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_END_FCC_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TEST_END_FCC_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_END_FCC_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_END_FCC_CMD[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_END_FCC_CMD, usTodo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_GSM_MSG_TEST_END_FCC_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_GSM_MSG_TEST_END_FCC_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_END_FCC_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_GSM_MSG_TEST_END_FCC_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_GSM_MSG_TEST_END_FCC_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohs( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_END_FCC_RSP[0], tvb, offset, - 2, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_END_FCC_RSP, usTodo); - } @@ -7163,80 +8260,103 @@ void ws_register_OCTVC1_GSM(void) /**************************************************************************** Register Common struct ****************************************************************************/ - register_tOCTVC1_GSM_tSUBCHANNEL_STATUS(); - register_tOCTVC1_GSM_tMEASUREMENT_INFO(); + register_tOCTVC1_GSM_TRX_ID(); + register_tOCTVC1_GSM_TRX_ID_CURSOR(); + register_tOCTVC1_GSM_TRX_ID_GET_CURSOR(); + register_tOCTVC1_GSM_RF_CONFIG(); + register_tOCTVC1_GSM_TRX_CONFIG(); + register_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID(); + register_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR(); + register_tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR(); + register_tOCTVC1_GSM_SUBCHANNEL_STATUS(); + register_tOCTVC1_GSM_CIPHER_CONFIG(); + register_tOCTVC1_GSM_LOGICAL_CHANNEL_ID(); + register_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR(); + register_tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR(); + register_tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG(); + register_tOCTVC1_GSM_LOGICAL_CHANNEL_DATA(); + register_tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA(); + register_tOCTVC1_GSM_MEASUREMENT_INFO(); + register_tOCTVC1_GSM_RAW_MEASUREMENT_INFO(); + register_tOCTVC1_GSM_TIMESLOT_POWER(); + register_tOCTVC1_GSM_PHYSICAL_STATUS(); register_tOCTVC1_GSM_TIMESLOT_STATUS(); + register_tOCTVC1_GSM_DL_STATUS(); + register_tOCTVC1_GSM_UL_STATUS(); + register_tOCTVC1_GSM_SCHED_STATUS(); /**************************************************************************** CMD/RSP Registered ****************************************************************************/ - register_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD(); - register_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP(); - register_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD(); - register_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP(); - register_tOCTVC1_GSM_MSG_MODULE_INFO_RSP(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD(); - register_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP(); - register_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD(); - register_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP(); - register_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD(); - register_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP(); - register_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD(); - register_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP(); - register_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD(); - register_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP(); - register_tOCTVC1_GSM_MSG_TRX_RESET_CMD(); - register_tOCTVC1_GSM_MSG_TRX_RESET_RSP(); + register_tOCTVC1_GSM_MSG_TRX_OPEN_CMD(); + register_tOCTVC1_GSM_MSG_TRX_OPEN_RSP(); + register_tOCTVC1_GSM_MSG_TRX_CLOSE_CMD(); + register_tOCTVC1_GSM_MSG_TRX_CLOSE_RSP(); register_tOCTVC1_GSM_MSG_TRX_STATUS_CMD(); register_tOCTVC1_GSM_MSG_TRX_STATUS_RSP(); - register_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD(); - register_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP(); - register_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD(); - register_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP(); - register_tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD(); - register_tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP(); - register_tOCTVC1_GSM_MSG_TEST_START_FCC_CMD(); - register_tOCTVC1_GSM_MSG_TEST_START_FCC_RSP(); - register_tOCTVC1_GSM_MSG_TEST_END_FCC_CMD(); - register_tOCTVC1_GSM_MSG_TEST_END_FCC_RSP(); + register_tOCTVC1_GSM_MSG_TRX_INFO_CMD(); + register_tOCTVC1_GSM_MSG_TRX_INFO_RSP(); + register_tOCTVC1_GSM_MSG_TRX_RESET_CMD(); + register_tOCTVC1_GSM_MSG_TRX_RESET_RSP(); + register_tOCTVC1_GSM_MSG_TRX_MODIFY_CMD(); + register_tOCTVC1_GSM_MSG_TRX_MODIFY_RSP(); + register_tOCTVC1_GSM_MSG_TRX_LIST_CMD(); + register_tOCTVC1_GSM_MSG_TRX_LIST_RSP(); + register_tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD(); + register_tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP(); + register_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD(); + register_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP(); + register_tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD(); + register_tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP(); + register_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD(); + register_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP(); + register_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD(); + register_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP(); + register_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD(); + register_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP(); + register_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD(); + register_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP(); + register_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD(); + register_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP(); + register_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD(); + register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP(); + register_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD(); + register_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP(); + register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD(); + register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP(); + register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD(); + register_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP(); /**************************************************************************** Event Registered ****************************************************************************/ - register_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT(); - register_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT(); - register_tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT(); - register_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT(); - register_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT(); - register_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT(); - register_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT(); - register_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT(); - register_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT(); - register_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT(); - register_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT(); + register_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT(); + register_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT(); + register_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT(); + register_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT(); + register_tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT(); + register_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT(); } @@ -7248,32 +8368,36 @@ int ws_dissect_OCTVC1_GSM_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, p if( tree ) { switch( CID ) { - case cOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CID: return dissect_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CID: return dissect_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_INFO_EVT_CID: return 0; break; - case cOCTVC1_GSM_MSG_MODULE_INFO_CID: return 0; break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CID: return dissect_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CID: return dissect_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CID: return dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TRX_RESET_CID: return dissect_tOCTVC1_GSM_MSG_TRX_RESET_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_OPEN_CID: return dissect_tOCTVC1_GSM_MSG_TRX_OPEN_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_CLOSE_CID: return dissect_tOCTVC1_GSM_MSG_TRX_CLOSE_CMD( tvb, pinfo, tree, 0 ); break; case cOCTVC1_GSM_MSG_TRX_STATUS_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STATUS_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TRX_CONFIGURE_CID: return dissect_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TEST_START_ETSI_CID: return dissect_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TEST_END_ETSI_CID: return dissect_tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TEST_START_FCC_CID: return dissect_tOCTVC1_GSM_MSG_TEST_START_FCC_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TEST_END_FCC_CID: return dissect_tOCTVC1_GSM_MSG_TEST_END_FCC_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_RESET_CID: return dissect_tOCTVC1_GSM_MSG_TRX_RESET_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_MODIFY_CID: return dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LIST_CID: return dissect_tOCTVC1_GSM_MSG_TRX_LIST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CID: return 0; break; + case cOCTVC1_GSM_MSG_TRX_START_RECORD_CID: return dissect_tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_STOP_RECORD_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_RF_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_MODIFY_RF_CID: return dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID: return dissect_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CID: return dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CID: return dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CID: return dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD( tvb, pinfo, tree, 0 ); break; default: return 1; } } @@ -7285,32 +8409,36 @@ int ws_dissect_OCTVC1_GSM_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, p if( tree ) { switch( CID ) { - case cOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CID: return dissect_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CID: return 0; break; - case cOCTVC1_GSM_MSG_MODULE_INFO_EVT_CID: return dissect_tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_INFO_CID: return dissect_tOCTVC1_GSM_MSG_MODULE_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CID: return dissect_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CID: return dissect_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CID: return dissect_tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CID: return dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TRX_RESET_CID: return dissect_tOCTVC1_GSM_MSG_TRX_RESET_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_OPEN_CID: return dissect_tOCTVC1_GSM_MSG_TRX_OPEN_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_CLOSE_CID: return dissect_tOCTVC1_GSM_MSG_TRX_CLOSE_RSP( tvb, pinfo, tree, 0 ); break; case cOCTVC1_GSM_MSG_TRX_STATUS_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STATUS_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TRX_CONFIGURE_CID: return dissect_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TEST_START_ETSI_CID: return dissect_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TEST_END_ETSI_CID: return dissect_tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TEST_START_FCC_CID: return dissect_tOCTVC1_GSM_MSG_TEST_START_FCC_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TEST_END_FCC_CID: return dissect_tOCTVC1_GSM_MSG_TEST_END_FCC_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_RESET_CID: return dissect_tOCTVC1_GSM_MSG_TRX_RESET_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_MODIFY_CID: return dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LIST_CID: return dissect_tOCTVC1_GSM_MSG_TRX_LIST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_START_RECORD_CID: return dissect_tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_STOP_RECORD_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_RF_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_MODIFY_RF_CID: return dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID: return dissect_tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CID: return dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CID: return dissect_tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CID: return dissect_tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CID: return dissect_tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP( tvb, pinfo, tree, 0 ); break; default: return 1; } } @@ -7322,20 +8450,12 @@ int ws_dissect_OCTVC1_GSM_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, p if( tree ) { switch( CID ) { - case cOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EID: return dissect_tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EID: return dissect_tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EID: return dissect_tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EID: return dissect_tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EID: return dissect_tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_ERROR_EID: return dissect_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_MESSAGE_EID: return dissect_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EID: return dissect_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_MODULE_TRACING_EID: return dissect_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EID: return dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EID: return dissect_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EID: return dissect_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EID: return dissect_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EID: return dissect_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EID: return dissect_tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EID: return dissect_tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EID: return dissect_tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT( tvb, pinfo, tree, 0 ); break; default: return 1; } } diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_hw.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_hw.c new file mode 100644 index 0000000..c92e6ea --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_hw.c @@ -0,0 +1,5114 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_module_hw.c + + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contain the wireshark module dissector related functions + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +/***************************** INCLUDE FILES *******************************/ + +#include +#include +#include "../../../include/oct_ws_macro.h" +#include "../include/module.h" +#include "../include/octvc1_common.h" + +#include + + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_HW_PCB_INFO_SOURCE_ENUM[] = + { + { cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_USER_HW_CONFIG, "cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_USER_HW_CONFIG" }, + { cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_DATA_SECTION, "cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_DATA_SECTION" }, + { cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_EEPROM, "cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_EEPROM" }, + { cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_INI_FILE, "cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_INI_FILE" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_PCB_INFO_STATE_ENUM[] = + { + { cOCTVC1_HW_PCB_INFO_STATE_ENUM_PARSED_ERROR, "cOCTVC1_HW_PCB_INFO_STATE_ENUM_PARSED_ERROR" }, + { cOCTVC1_HW_PCB_INFO_STATE_ENUM_PARSED_OK, "cOCTVC1_HW_PCB_INFO_STATE_ENUM_PARSED_OK" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_CPU_CORE_MASK[] = + { + { cOCTVC1_HW_CPU_CORE_MASK_1, "cOCTVC1_HW_CPU_CORE_MASK_1" }, + { cOCTVC1_HW_CPU_CORE_MASK_2, "cOCTVC1_HW_CPU_CORE_MASK_2" }, + { cOCTVC1_HW_CPU_CORE_MASK_3, "cOCTVC1_HW_CPU_CORE_MASK_3" }, + { cOCTVC1_HW_CPU_CORE_MASK_4, "cOCTVC1_HW_CPU_CORE_MASK_4" }, + { cOCTVC1_HW_CPU_CORE_MASK_5, "cOCTVC1_HW_CPU_CORE_MASK_5" }, + { cOCTVC1_HW_CPU_CORE_MASK_6, "cOCTVC1_HW_CPU_CORE_MASK_6" }, + { cOCTVC1_HW_CPU_CORE_MASK_7, "cOCTVC1_HW_CPU_CORE_MASK_7" }, + { cOCTVC1_HW_CPU_CORE_MASK_8, "cOCTVC1_HW_CPU_CORE_MASK_8" }, + { cOCTVC1_HW_CPU_CORE_MASK_9, "cOCTVC1_HW_CPU_CORE_MASK_9" }, + { cOCTVC1_HW_CPU_CORE_MASK_10, "cOCTVC1_HW_CPU_CORE_MASK_10" }, + { cOCTVC1_HW_CPU_CORE_MASK_11, "cOCTVC1_HW_CPU_CORE_MASK_11" }, + { cOCTVC1_HW_CPU_CORE_MASK_12, "cOCTVC1_HW_CPU_CORE_MASK_12" }, + { cOCTVC1_HW_CPU_CORE_MASK_13, "cOCTVC1_HW_CPU_CORE_MASK_13" }, + { cOCTVC1_HW_CPU_CORE_MASK_14, "cOCTVC1_HW_CPU_CORE_MASK_14" }, + { cOCTVC1_HW_CPU_CORE_MASK_15, "cOCTVC1_HW_CPU_CORE_MASK_15" }, + { cOCTVC1_HW_CPU_CORE_MASK_16, "cOCTVC1_HW_CPU_CORE_MASK_16" }, + { cOCTVC1_HW_CPU_CORE_MASK_17, "cOCTVC1_HW_CPU_CORE_MASK_17" }, + { cOCTVC1_HW_CPU_CORE_MASK_18, "cOCTVC1_HW_CPU_CORE_MASK_18" }, + { cOCTVC1_HW_CPU_CORE_MASK_19, "cOCTVC1_HW_CPU_CORE_MASK_19" }, + { cOCTVC1_HW_CPU_CORE_MASK_20, "cOCTVC1_HW_CPU_CORE_MASK_20" }, + { cOCTVC1_HW_CPU_CORE_MASK_21, "cOCTVC1_HW_CPU_CORE_MASK_21" }, + { cOCTVC1_HW_CPU_CORE_MASK_22, "cOCTVC1_HW_CPU_CORE_MASK_22" }, + { cOCTVC1_HW_CPU_CORE_MASK_23, "cOCTVC1_HW_CPU_CORE_MASK_23" }, + { cOCTVC1_HW_CPU_CORE_MASK_24, "cOCTVC1_HW_CPU_CORE_MASK_24" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_CPU_CORE_STATUS_ENUM[] = + { + { cOCTVC1_HW_CPU_CORE_STATUS_ENUM_RESET, "cOCTVC1_HW_CPU_CORE_STATUS_ENUM_RESET" }, + { cOCTVC1_HW_CPU_CORE_STATUS_ENUM_RUNNING, "cOCTVC1_HW_CPU_CORE_STATUS_ENUM_RUNNING" }, + { cOCTVC1_HW_CPU_CORE_STATUS_ENUM_HALT, "cOCTVC1_HW_CPU_CORE_STATUS_ENUM_HALT" }, + { cOCTVC1_HW_CPU_CORE_STATUS_ENUM_TRAP, "cOCTVC1_HW_CPU_CORE_STATUS_ENUM_TRAP" }, + { cOCTVC1_HW_CPU_CORE_STATUS_ENUM_ACCESS_VIOLATION, "cOCTVC1_HW_CPU_CORE_STATUS_ENUM_ACCESS_VIOLATION" }, + { cOCTVC1_HW_CPU_CORE_STATUS_ENUM_NOT_PRESENT, "cOCTVC1_HW_CPU_CORE_STATUS_ENUM_NOT_PRESENT" }, + { cOCTVC1_HW_CPU_CORE_STATUS_ENUM_FAILURE_DETECTED, "cOCTVC1_HW_CPU_CORE_STATUS_ENUM_FAILURE_DETECTED" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_CPU_CORE_FAILURE_MASK[] = + { + { cOCTVC1_HW_CPU_CORE_FAILURE_MASK_NONE, "cOCTVC1_HW_CPU_CORE_FAILURE_MASK_NONE" }, + { cOCTVC1_HW_CPU_CORE_FAILURE_MASK_MEMORY, "cOCTVC1_HW_CPU_CORE_FAILURE_MASK_MEMORY" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_ETH_MODE_ENUM[] = + { + { cOCTVC1_HW_ETH_MODE_ENUM_INVALID, "cOCTVC1_HW_ETH_MODE_ENUM_INVALID" }, + { cOCTVC1_HW_ETH_MODE_ENUM_MII, "cOCTVC1_HW_ETH_MODE_ENUM_MII" }, + { cOCTVC1_HW_ETH_MODE_ENUM_RMII, "cOCTVC1_HW_ETH_MODE_ENUM_RMII" }, + { cOCTVC1_HW_ETH_MODE_ENUM_GMII, "cOCTVC1_HW_ETH_MODE_ENUM_GMII" }, + { cOCTVC1_HW_ETH_MODE_ENUM_RGMII, "cOCTVC1_HW_ETH_MODE_ENUM_RGMII" }, + { cOCTVC1_HW_ETH_MODE_ENUM_SGMII, "cOCTVC1_HW_ETH_MODE_ENUM_SGMII" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_ETH_LINK_SPEED_ENUM[] = + { + { cOCTVC1_HW_ETH_LINK_SPEED_ENUM_INVALID, "cOCTVC1_HW_ETH_LINK_SPEED_ENUM_INVALID" }, + { cOCTVC1_HW_ETH_LINK_SPEED_ENUM_10, "cOCTVC1_HW_ETH_LINK_SPEED_ENUM_10" }, + { cOCTVC1_HW_ETH_LINK_SPEED_ENUM_100, "cOCTVC1_HW_ETH_LINK_SPEED_ENUM_100" }, + { cOCTVC1_HW_ETH_LINK_SPEED_ENUM_1000, "cOCTVC1_HW_ETH_LINK_SPEED_ENUM_1000" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_ETH_DUPLEX_MODE_ENUM[] = + { + { cOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_INVALID, "cOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_INVALID" }, + { cOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_FULL, "cOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_FULL" }, + { cOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_HALF, "cOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_HALF" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM[] = + { + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_1HZ, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_1HZ" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_10MHZ, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_10MHZ" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_30_72MHZ, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_30_72MHZ" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_1HZ_EXT, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_1HZ_EXT" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_NONE, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_NONE" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM[] = + { + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_AUTOSELECT, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_AUTOSELECT" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_CONFIG_FILE, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_CONFIG_FILE" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_HOST_APPLICATION, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_HOST_APPLICATION" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM[] = + { + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_INVALID, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_INVALID" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_VALID, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_VALID" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_UNSPECIFIED, "cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_UNSPECIFIED" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM[] = + { + { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_UNINITIALIZE, "cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_UNINITIALIZE" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_IDLE, "cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_IDLE" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_NO_EXT_CLOCK, "cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_NO_EXT_CLOCK" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_LOCKED, "cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_LOCKED" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_UNLOCKED, "cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_UNLOCKED" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_ERROR, "cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_ERROR" }, + { cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_DISABLE, "cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_DISABLE" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_HW_CPU_CORE_STATS[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_CPU_CORE_STATS; + +void register_tOCTVC1_HW_CPU_CORE_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_CPU_CORE_STATS[0], + { "ulCoreStatus", "octvc1.hw.cpu_core_stats.ulcorestatus", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CPU_CORE_STATUS_ENUM), 0x0, + "ulCoreStatus",HFILL } + + }, + { + &ahf_tOCTVC1_HW_CPU_CORE_STATS[1], + { "ulProgramCounter", "octvc1.hw.cpu_core_stats.ulprogramcounter", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulProgramCounter",HFILL } + + }, + { + &ahf_tOCTVC1_HW_CPU_CORE_STATS[2], + { "ulFailureMask", "octvc1.hw.cpu_core_stats.ulfailuremask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulFailureMask",HFILL } + + }, + { + &ahf_tOCTVC1_HW_CPU_CORE_STATS[3], + { "ulAccessViolationAddress", "octvc1.hw.cpu_core_stats.ulaccessviolationaddress", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulAccessViolationAddress",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_CPU_CORE_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_CPU_CORE_INFO[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_CPU_CORE_INFO; + +void register_tOCTVC1_HW_CPU_CORE_INFO(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_CPU_CORE_INFO[0], + { "hProcess", "octvc1.hw.cpu_core_info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_HW_CPU_CORE_INFO[1], + { "ulPhysicalCoreId", "octvc1.hw.cpu_core_info.ulphysicalcoreid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPhysicalCoreId",HFILL } + + }, + { + &ahf_tOCTVC1_HW_CPU_CORE_INFO[2], + { "ulProcessImageType", "octvc1.hw.cpu_core_info.ulprocessimagetype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_PROCESS_TYPE_ENUM), 0x0, + "ulProcessImageType",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_CPU_CORE_INFO.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_ETH_PORT_CONFIG[7]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_ETH_PORT_CONFIG; + +void register_tOCTVC1_HW_ETH_PORT_CONFIG(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_ETH_PORT_CONFIG[0], + { "MacAddress", "octvc1.hw.eth_port_config.macaddress", + FT_STRING, BASE_NONE, NULL, 0x0, + "MacAddress",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_CONFIG[1], + { "ulPromiscuousModeFlag", "octvc1.hw.eth_port_config.ulpromiscuousmodeflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulPromiscuousModeFlag",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_CONFIG[2], + { "ulAcceptMulticastFlag", "octvc1.hw.eth_port_config.ulacceptmulticastflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulAcceptMulticastFlag",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_CONFIG[3], + { "ulAcceptJumboFrameFlag", "octvc1.hw.eth_port_config.ulacceptjumboframeflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulAcceptJumboFrameFlag",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_CONFIG[4], + { "ulSgmiiAutoNegotationFlag", "octvc1.hw.eth_port_config.ulsgmiiautonegotationflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulSgmiiAutoNegotationFlag",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_CONFIG[5], + { "ulLinkSpeed", "octvc1.hw.eth_port_config.ullinkspeed", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_ETH_LINK_SPEED_ENUM), 0x0, + "ulLinkSpeed",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_CONFIG[6], + { "ulDuplexMode", "octvc1.hw.eth_port_config.ulduplexmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_ETH_DUPLEX_MODE_ENUM), 0x0, + "ulDuplexMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_ETH_PORT_CONFIG.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_ETH_PORT_TX_ERROR_STATS; + +void register_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[0], + { "ulTxUnderflowCnt", "octvc1.hw.eth_port_tx_error_stats.ultxunderflowcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxUnderflowCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[1], + { "ulTxLateCollisionCnt", "octvc1.hw.eth_port_tx_error_stats.ultxlatecollisioncnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxLateCollisionCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[2], + { "ulTxExcessCollisionCnt", "octvc1.hw.eth_port_tx_error_stats.ultxexcesscollisioncnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxExcessCollisionCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[3], + { "ulTxExcessDeferralCnt", "octvc1.hw.eth_port_tx_error_stats.ultxexcessdeferralcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxExcessDeferralCnt",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_ETH_PORT_TX_ERROR_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_ETH_PORT_TX_STATS; + +void register_tOCTVC1_HW_ETH_PORT_TX_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[0], + { "ulTxFrameCnt", "octvc1.hw.eth_port_tx_stats.ultxframecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxFrameCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[1], + { "ulTxByteCnt", "octvc1.hw.eth_port_tx_stats.ultxbytecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxByteCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[2], + { "ulTxPauseFrameCnt", "octvc1.hw.eth_port_tx_stats.ultxpauseframecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxPauseFrameCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[3], + { "ulTxVlanFrameCnt", "octvc1.hw.eth_port_tx_stats.ultxvlanframecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxVlanFrameCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[4], + { "ulTxJumboFrameCnt", "octvc1.hw.eth_port_tx_stats.ultxjumboframecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxJumboFrameCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[5], + { "TxErrorStat", "octvc1.hw.eth_port_tx_stats.txerrorstat", + FT_NONE, BASE_NONE, NULL, 0x0, + "TxErrorStat",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_ETH_PORT_TX_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[9]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_ETH_PORT_RX_ERROR_STATS; + +void register_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[0], + { "ulRxCrcErrorCnt", "octvc1.hw.eth_port_rx_error_stats.ulrxcrcerrorcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxCrcErrorCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[1], + { "ulRxAlignmentErrorCnt", "octvc1.hw.eth_port_rx_error_stats.ulrxalignmenterrorcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxAlignmentErrorCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[2], + { "ulRxJabberErrorCnt", "octvc1.hw.eth_port_rx_error_stats.ulrxjabbererrorcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxJabberErrorCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[3], + { "ulRxUndersizeCnt", "octvc1.hw.eth_port_rx_error_stats.ulrxundersizecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxUndersizeCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[4], + { "ulRxOversizeCnt", "octvc1.hw.eth_port_rx_error_stats.ulrxoversizecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxOversizeCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[5], + { "ulRxLengthCnt", "octvc1.hw.eth_port_rx_error_stats.ulrxlengthcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxLengthCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[6], + { "ulRxOutOfRangeCnt", "octvc1.hw.eth_port_rx_error_stats.ulrxoutofrangecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxOutOfRangeCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[7], + { "ulRxFifoOverflowCnt", "octvc1.hw.eth_port_rx_error_stats.ulrxfifooverflowcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxFifoOverflowCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[8], + { "ulRxWatchdogCnt", "octvc1.hw.eth_port_rx_error_stats.ulrxwatchdogcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxWatchdogCnt",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_ETH_PORT_RX_ERROR_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_ETH_PORT_RX_STATS; + +void register_tOCTVC1_HW_ETH_PORT_RX_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[0], + { "ulRxFrameCnt", "octvc1.hw.eth_port_rx_stats.ulrxframecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxFrameCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[1], + { "ulRxByteCnt", "octvc1.hw.eth_port_rx_stats.ulrxbytecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxByteCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[2], + { "ulRxJumboFrameCnt", "octvc1.hw.eth_port_rx_stats.ulrxjumboframecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxJumboFrameCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[3], + { "ulRxPauseFrameCnt", "octvc1.hw.eth_port_rx_stats.ulrxpauseframecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxPauseFrameCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[4], + { "ulRxVlanFrameCnt", "octvc1.hw.eth_port_rx_stats.ulrxvlanframecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxVlanFrameCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[5], + { "RxErrorStat", "octvc1.hw.eth_port_rx_stats.rxerrorstat", + FT_NONE, BASE_NONE, NULL, 0x0, + "RxErrorStat",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_ETH_PORT_RX_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_RF_PORT_RX_STATS[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_RF_PORT_RX_STATS; + +void register_tOCTVC1_HW_RF_PORT_RX_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_RF_PORT_RX_STATS[0], + { "ulRxByteCnt", "octvc1.hw.rf_port_rx_stats.ulrxbytecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxByteCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_RF_PORT_RX_STATS[1], + { "ulRxOverflowCnt", "octvc1.hw.rf_port_rx_stats.ulrxoverflowcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxOverflowCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_RF_PORT_RX_STATS[2], + { "ulRxAverageBytePerSecond", "octvc1.hw.rf_port_rx_stats.ulrxaveragebytepersecond", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxAverageBytePerSecond",HFILL } + + }, + { + &ahf_tOCTVC1_HW_RF_PORT_RX_STATS[3], + { "ulRxAveragePeriodUs", "octvc1.hw.rf_port_rx_stats.ulrxaverageperiodus", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxAveragePeriodUs",HFILL } + + }, + { + &ahf_tOCTVC1_HW_RF_PORT_RX_STATS[4], + { "ulFrequencyHz", "octvc1.hw.rf_port_rx_stats.ulfrequencyhz", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulFrequencyHz",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_RF_PORT_RX_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_RF_PORT_TX_STATS[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_RF_PORT_TX_STATS; + +void register_tOCTVC1_HW_RF_PORT_TX_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_RF_PORT_TX_STATS[0], + { "ulTxByteCnt", "octvc1.hw.rf_port_tx_stats.ultxbytecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxByteCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_RF_PORT_TX_STATS[1], + { "ulTxUnderflowCnt", "octvc1.hw.rf_port_tx_stats.ultxunderflowcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxUnderflowCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_RF_PORT_TX_STATS[2], + { "ulTxAverageBytePerSecond", "octvc1.hw.rf_port_tx_stats.ultxaveragebytepersecond", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxAverageBytePerSecond",HFILL } + + }, + { + &ahf_tOCTVC1_HW_RF_PORT_TX_STATS[3], + { "ulTxAveragePeriodUs", "octvc1.hw.rf_port_tx_stats.ultxaverageperiodus", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxAveragePeriodUs",HFILL } + + }, + { + &ahf_tOCTVC1_HW_RF_PORT_TX_STATS[4], + { "ulFrequencyHz", "octvc1.hw.rf_port_tx_stats.ulfrequencyhz", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulFrequencyHz",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_RF_PORT_TX_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + Event Registered + ****************************************************************************/ + +int ahf_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT; + +void register_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT[0], + { "ulCoreIndex", "octvc1.hw.cpu_core.exec_report.ulcoreindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulCoreIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT[1], + { "ulCoreUseMask", "octvc1.hw.cpu_core.exec_report.ulcoreusemask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulCoreUseMask",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT[2], + { "ulCoreHaltMask", "octvc1.hw.cpu_core.exec_report.ulcorehaltmask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulCoreHaltMask",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT; + +void register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT[0], + { "ulState", "octvc1.hw.clock_sync_mgr.status_change.ulstate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM), 0x0, + "ulState",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT[1], + { "ulPreviousState", "octvc1.hw.clock_sync_mgr.status_change.ulpreviousstate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM), 0x0, + "ulPreviousState",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + +int ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[9]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_PCB_INFO_RSP; + +void register_tOCTVC1_HW_MSG_PCB_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[0], + { "szName", "octvc1.hw.pcb.info.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[1], + { "ulDeviceId", "octvc1.hw.pcb.info.uldeviceid", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulDeviceId",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[2], + { "szSerial", "octvc1.hw.pcb.info.szserial", + FT_STRING, BASE_NONE, NULL, 0x0, + "szSerial",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[3], + { "szFilename", "octvc1.hw.pcb.info.szfilename", + FT_STRING, BASE_NONE, NULL, 0x0, + "szFilename",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[4], + { "ulInfoSource", "octvc1.hw.pcb.info.ulinfosource", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_PCB_INFO_SOURCE_ENUM), 0x0, + "ulInfoSource",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[5], + { "ulInfoState", "octvc1.hw.pcb.info.ulinfostate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_PCB_INFO_STATE_ENUM), 0x0, + "ulInfoState",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[6], + { "szGpsName", "octvc1.hw.pcb.info.szgpsname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szGpsName",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[7], + { "szWifiName", "octvc1.hw.pcb.info.szwifiname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szWifiName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_PCB_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CPU_CORE_STATS_CMD; + +void register_tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD[0], + { "ulCoreIndex", "octvc1.hw.cpu_core.stats.ulcoreindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulCoreIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CPU_CORE_STATS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CPU_CORE_STATS_RSP; + +void register_tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP[0], + { "CoreStats", "octvc1.hw.cpu_core.stats.corestats", + FT_NONE, BASE_NONE, NULL, 0x0, + "CoreStats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CPU_CORE_STATS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CPU_CORE_INFO_CMD; + +void register_tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD[0], + { "ulCoreIndex", "octvc1.hw.cpu_core.info.ulcoreindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulCoreIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CPU_CORE_INFO_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CPU_CORE_INFO_RSP; + +void register_tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP[0], + { "CoreInfo", "octvc1.hw.cpu_core.info.coreinfo", + FT_NONE, BASE_NONE, NULL, 0x0, + "CoreInfo",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CPU_CORE_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CPU_CORE_LIST_CMD; + +void register_tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD[0], + { "IndexGet", "octvc1.hw.cpu_core.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CPU_CORE_LIST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CPU_CORE_LIST_RSP; + +void register_tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP[0], + { "IndexGet", "octvc1.hw.cpu_core.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP[1], + { "IndexList", "octvc1.hw.cpu_core.list.indexlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CPU_CORE_LIST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_INFO_CMD; + +void register_tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD[0], + { "ulPortIndex", "octvc1.hw.eth_port.info.ulportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_INFO_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[9]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_INFO_RSP; + +void register_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[0], + { "ulPortIndex", "octvc1.hw.eth_port.info.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[1], + { "ulInterfaceId", "octvc1.hw.eth_port.info.ulinterfaceid", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulInterfaceId",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[2], + { "ulMode", "octvc1.hw.eth_port.info.ulmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_ETH_MODE_ENUM), 0x0, + "ulMode",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[3], + { "ulTxPktQueuesByteSize", "octvc1.hw.eth_port.info.ultxpktqueuesbytesize", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTxPktQueuesByteSize",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[4], + { "ulRxPktQueuesByteSize", "octvc1.hw.eth_port.info.ulrxpktqueuesbytesize", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRxPktQueuesByteSize",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[5], + { "ulRestrictedApiFlag", "octvc1.hw.eth_port.info.ulrestrictedapiflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulRestrictedApiFlag",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[6], + { "ulEnableFlag", "octvc1.hw.eth_port.info.ulenableflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulEnableFlag",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[7], + { "Config", "octvc1.hw.eth_port.info.config", + FT_NONE, BASE_NONE, NULL, 0x0, + "Config",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_LIST_CMD; + +void register_tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD[0], + { "IndexGet", "octvc1.hw.eth_port.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_LIST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_LIST_RSP; + +void register_tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP[0], + { "IndexGet", "octvc1.hw.eth_port.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP[1], + { "IndexList", "octvc1.hw.eth_port.list.indexlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_LIST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_STATS_CMD; + +void register_tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD[0], + { "ulPortIndex", "octvc1.hw.eth_port.stats.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD[1], + { "ulResetStatsFlag", "octvc1.hw.eth_port.stats.ulresetstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_STATS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_STATS_RSP; + +void register_tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP[0], + { "ulPortIndex", "octvc1.hw.eth_port.stats.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP[1], + { "RxStats", "octvc1.hw.eth_port.stats.rxstats", + FT_NONE, BASE_NONE, NULL, 0x0, + "RxStats",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP[2], + { "TxStats", "octvc1.hw.eth_port.stats.txstats", + FT_NONE, BASE_NONE, NULL, 0x0, + "TxStats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_STATS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD; + +void register_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD[0], + { "ulPortIndex", "octvc1.hw.eth_port.restricted_unblock.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD[1], + { "ulPassword", "octvc1.hw.eth_port.restricted_unblock.ulpassword", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPassword",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP; + +void register_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP[0], + { "ulPortIndex", "octvc1.hw.eth_port.restricted_unblock.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD; + +void register_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD[0], + { "ulPortIndex", "octvc1.hw.eth_port.modify.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD[1], + { "Config", "octvc1.hw.eth_port.modify.config", + FT_NONE, BASE_NONE, NULL, 0x0, + "Config",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP; + +void register_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP[0], + { "ulPortIndex", "octvc1.hw.eth_port.modify.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_INFO_CMD; + +void register_tOCTVC1_HW_MSG_RF_PORT_INFO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_CMD[0], + { "ulPortIndex", "octvc1.hw.rf_port.info.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_INFO_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_INFO_RSP; + +void register_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP[0], + { "ulPortIndex", "octvc1.hw.rf_port.info.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP[1], + { "ulInService", "octvc1.hw.rf_port.info.ulinservice", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulInService",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP[2], + { "hOwner", "octvc1.hw.rf_port.info.howner", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hOwner",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP[3], + { "ulPortInterfaceId", "octvc1.hw.rf_port.info.ulportinterfaceid", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortInterfaceId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_STATS_CMD; + +void register_tOCTVC1_HW_MSG_RF_PORT_STATS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_CMD[0], + { "ulPortIndex", "octvc1.hw.rf_port.stats.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_CMD[1], + { "ulResetStatsFlag", "octvc1.hw.rf_port.stats.ulresetstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_STATS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_STATS_RSP; + +void register_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP[0], + { "ulPortIndex", "octvc1.hw.rf_port.stats.ulportindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP[1], + { "ulRadioStandard", "octvc1.hw.rf_port.stats.ulradiostandard", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_RADIO_STANDARD_ENUM), 0x0, + "ulRadioStandard",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP[2], + { "RxStats", "octvc1.hw.rf_port.stats.rxstats", + FT_NONE, BASE_NONE, NULL, 0x0, + "RxStats",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP[3], + { "TxStats", "octvc1.hw.rf_port.stats.txstats", + FT_NONE, BASE_NONE, NULL, 0x0, + "TxStats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_STATS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_LIST_CMD; + +void register_tOCTVC1_HW_MSG_RF_PORT_LIST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_CMD[0], + { "IndexGet", "octvc1.hw.rf_port.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_LIST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_LIST_RSP; + +void register_tOCTVC1_HW_MSG_RF_PORT_LIST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_RSP[0], + { "IndexGet", "octvc1.hw.rf_port.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_RSP[1], + { "IndexList", "octvc1.hw.rf_port.list.indexlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_LIST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD; + +void register_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD[0], + { "SubIndexGet", "octvc1.hw.rf_port.antenna.list.subindexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "SubIndexGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP; + +void register_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP[0], + { "SubIndexGet", "octvc1.hw.rf_port.antenna.list.subindexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "SubIndexGet",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP[1], + { "SubIndexList", "octvc1.hw.rf_port.antenna.list.subindexlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "SubIndexList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD; + +void register_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD[0], + { "ulPortIndex", "octvc1.hw.rf_port.antenna.rx_config.info.ulportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD[1], + { "ulAntennaIndex", "octvc1.hw.rf_port.antenna.rx_config.info.ulantennaindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulAntennaIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP; + +void register_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[0], + { "ulPortIndex", "octvc1.hw.rf_port.antenna.rx_config.info.ulportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[1], + { "ulAntennaIndex", "octvc1.hw.rf_port.antenna.rx_config.info.ulantennaindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulAntennaIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[2], + { "ulEnableFlag", "octvc1.hw.rf_port.antenna.rx_config.info.ulenableflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulEnableFlag",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[3], + { "lRxGaindB", "octvc1.hw.rf_port.antenna.rx_config.info.lrxgaindb", + FT_INT32,BASE_DEC, NULL, 0x0, + "lRxGaindB",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[4], + { "ulRxGainMode", "octvc1.hw.rf_port.antenna.rx_config.info.ulrxgainmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM), 0x0, + "ulRxGainMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD; + +void register_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD[0], + { "ulPortIndex", "octvc1.hw.rf_port.antenna.rx_config.modify.ulportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD[1], + { "ulAntennaIndex", "octvc1.hw.rf_port.antenna.rx_config.modify.ulantennaindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulAntennaIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD[2], + { "lRxGaindB", "octvc1.hw.rf_port.antenna.rx_config.modify.lrxgaindb", + FT_INT32,BASE_DEC, NULL, 0x0, + "lRxGaindB",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD[3], + { "ulRxGainMode", "octvc1.hw.rf_port.antenna.rx_config.modify.ulrxgainmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM), 0x0, + "ulRxGainMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP; + +void register_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP[0], + { "ulPortIndex", "octvc1.hw.rf_port.antenna.rx_config.modify.ulportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP[1], + { "ulAntennaIndex", "octvc1.hw.rf_port.antenna.rx_config.modify.ulantennaindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulAntennaIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD; + +void register_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD[0], + { "ulPortIndex", "octvc1.hw.rf_port.antenna.tx_config.info.ulportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD[1], + { "ulAntennaIndex", "octvc1.hw.rf_port.antenna.tx_config.info.ulantennaindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulAntennaIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP; + +void register_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP[0], + { "ulPortIndex", "octvc1.hw.rf_port.antenna.tx_config.info.ulportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP[1], + { "ulAntennaIndex", "octvc1.hw.rf_port.antenna.tx_config.info.ulantennaindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulAntennaIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP[2], + { "ulEnableFlag", "octvc1.hw.rf_port.antenna.tx_config.info.ulenableflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulEnableFlag",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP[3], + { "lTxGaindB", "octvc1.hw.rf_port.antenna.tx_config.info.ltxgaindb", + FT_INT32,BASE_DEC, NULL, 0x0, + "lTxGaindB",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD; + +void register_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD[0], + { "ulPortIndex", "octvc1.hw.rf_port.antenna.tx_config.modify.ulportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD[1], + { "ulAntennaIndex", "octvc1.hw.rf_port.antenna.tx_config.modify.ulantennaindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulAntennaIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD[2], + { "lTxGaindB", "octvc1.hw.rf_port.antenna.tx_config.modify.ltxgaindb", + FT_INT32,BASE_DEC, NULL, 0x0, + "lTxGaindB",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP; + +void register_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP[0], + { "ulPortIndex", "octvc1.hw.rf_port.antenna.tx_config.modify.ulportindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortIndex",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP[1], + { "ulAntennaIndex", "octvc1.hw.rf_port.antenna.tx_config.modify.ulantennaindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulAntennaIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP; + +void register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP[0], + { "ulClkSourceRef", "octvc1.hw.clock_sync_mgr.info.ulclksourceref", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM), 0x0, + "ulClkSourceRef",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP[1], + { "ulClkSourceSelection", "octvc1.hw.clock_sync_mgr.info.ulclksourceselection", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM), 0x0, + "ulClkSourceSelection",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD; + +void register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD[0], + { "ulResetStatsFlag", "octvc1.hw.clock_sync_mgr.stats.ulresetstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[10]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP; + +void register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[0], + { "ulState", "octvc1.hw.clock_sync_mgr.stats.ulstate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM), 0x0, + "ulState",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[1], + { "lClockError", "octvc1.hw.clock_sync_mgr.stats.lclockerror", + FT_INT32,BASE_DEC, NULL, 0x0, + "lClockError",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[2], + { "lDroppedCycles", "octvc1.hw.clock_sync_mgr.stats.ldroppedcycles", + FT_INT32,BASE_DEC, NULL, 0x0, + "lDroppedCycles",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[3], + { "ulPllFreqHz", "octvc1.hw.clock_sync_mgr.stats.ulpllfreqhz", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPllFreqHz",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[4], + { "ulPllFractionalFreqHz", "octvc1.hw.clock_sync_mgr.stats.ulpllfractionalfreqhz", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPllFractionalFreqHz",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[5], + { "ulSlipCnt", "octvc1.hw.clock_sync_mgr.stats.ulslipcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSlipCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[6], + { "ulSyncLosseCnt", "octvc1.hw.clock_sync_mgr.stats.ulsynclossecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSyncLosseCnt",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[7], + { "ulSourceState", "octvc1.hw.clock_sync_mgr.stats.ulsourcestate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM), 0x0, + "ulSourceState",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[8], + { "ulDacValue", "octvc1.hw.clock_sync_mgr.stats.uldacvalue", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulDacValue",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP; + +void register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP[0], + { "ulClkSourceRef", "octvc1.hw.clock_sync_mgr.source.info.ulclksourceref", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM), 0x0, + "ulClkSourceRef",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP[1], + { "ulSourceState", "octvc1.hw.clock_sync_mgr.source.info.ulsourcestate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM), 0x0, + "ulSourceState",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD; + +void register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD[0], + { "ulClkSourceRef", "octvc1.hw.clock_sync_mgr.source.modify.ulclksourceref", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM), 0x0, + "ulClkSourceRef",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD[1], + { "ulSourceState", "octvc1.hw.clock_sync_mgr.source.modify.ulsourcestate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM), 0x0, + "ulSourceState",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD; + +void register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD[0], + { "ulDacInitValue", "octvc1.hw.clock_sync_mgr.synchro.start.uldacinitvalue", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulDacInitValue",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD[1], + { "ulSyncWindowSize", "octvc1.hw.clock_sync_mgr.synchro.start.ulsyncwindowsize", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSyncWindowSize",HFILL } + + }, + { + &ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD[2], + { "lSyncThreshold", "octvc1.hw.clock_sync_mgr.synchro.start.lsyncthreshold", + FT_INT32,BASE_DEC, NULL, 0x0, + "lSyncThreshold",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_HW_CPU_CORE_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_CPU_CORE_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_CPU_CORE_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_CPU_CORE_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HW_CPU_CORE_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_CPU_CORE_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_STATS, ulCoreStatus), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_CPU_CORE_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_STATS, ulCoreStatus); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_CPU_CORE_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_STATS, ulProgramCounter), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_CPU_CORE_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_STATS, ulProgramCounter); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_HW_CPU_CORE_STATS[2], tvb, offset, + 4,"ulFailureMask:%s (0x%08x)", pExtValue->pszValue, temp_data); + }else{ + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_HW_CPU_CORE_STATS[2], tvb, offset, + 4,"ulFailureMask: (0x%08x)", temp_data); + if(temp_data) + { + int i; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_HW_CPU_CORE_FAILURE_MASK); i++ ) + { + if( ( vals_tOCTVC1_HW_CPU_CORE_FAILURE_MASK[i].value && + ( vals_tOCTVC1_HW_CPU_CORE_FAILURE_MASK[i].value & temp_data ) == + vals_tOCTVC1_HW_CPU_CORE_FAILURE_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_HW_CPU_CORE_FAILURE_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_HW_CPU_CORE_FAILURE_MASK),"%s")); + } + } + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_STATS, ulFailureMask); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_CPU_CORE_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_STATS, ulAccessViolationAddress), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_CPU_CORE_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_STATS, ulAccessViolationAddress); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_HW_CPU_CORE_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_CPU_CORE_INFO))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_CPU_CORE_INFO (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_CPU_CORE_INFO)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HW_CPU_CORE_INFO); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_CPU_CORE_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_INFO, hProcess),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_CPU_CORE_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_INFO, hProcess), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_CPU_CORE_INFO[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_INFO, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_CPU_CORE_INFO[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_INFO, ulPhysicalCoreId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_CPU_CORE_INFO[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_INFO, ulPhysicalCoreId); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_CPU_CORE_INFO[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_INFO, ulProcessImageType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_CPU_CORE_INFO[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_CPU_CORE_INFO, ulProcessImageType); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_HW_ETH_PORT_CONFIG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_ETH_PORT_CONFIG))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_ETH_PORT_CONFIG (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_ETH_PORT_CONFIG)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HW_ETH_PORT_CONFIG); + { + int ulMac0, ulMac1; + unsigned int offs = offset; + ulMac0 = tvb_get_ntohl( tvb, offs ); + offs += 4; + ulMac1 = tvb_get_ntohl( tvb, offs ); + ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[0], tvb, offset, + sizeof(tOCTVC1_MAC_ADDRESS), "","MacAddress: %02x:%02x:%02x:%02x:%02x:%02x", + (( ulMac0 & 0x0000FF00 ) >> 8 ), + ( ulMac0 & 0x000000FF ), + (( ulMac1 & 0xFF000000 ) >> 24 ), + (( ulMac1 & 0x00FF0000 ) >> 16 ), + (( ulMac1 & 0x0000FF00 ) >> 8 ), + ( ulMac1 & 0x000000FF ) ); + } + offset += sizeof(tOCTVC1_MAC_ADDRESS); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulPromiscuousModeFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulPromiscuousModeFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulPromiscuousModeFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulAcceptMulticastFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulAcceptMulticastFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulAcceptMulticastFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulAcceptJumboFrameFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulAcceptJumboFrameFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulAcceptJumboFrameFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulSgmiiAutoNegotationFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulSgmiiAutoNegotationFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulSgmiiAutoNegotationFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulLinkSpeed), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulLinkSpeed); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulDuplexMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_CONFIG[6], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_CONFIG, ulDuplexMode); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS, ulTxUnderflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS, ulTxUnderflowCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS, ulTxLateCollisionCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS, ulTxLateCollisionCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS, ulTxExcessCollisionCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS, ulTxExcessCollisionCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS, ulTxExcessDeferralCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS, ulTxExcessDeferralCnt); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_HW_ETH_PORT_TX_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_ETH_PORT_TX_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_ETH_PORT_TX_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_ETH_PORT_TX_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HW_ETH_PORT_TX_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxFrameCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxByteCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxByteCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxPauseFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxPauseFrameCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxVlanFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxVlanFrameCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxJumboFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_TX_STATS[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, ulTxJumboFrameCnt); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_TX_STATS, TxErrorStat), "TxErrorStat:tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxCrcErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxCrcErrorCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxAlignmentErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxAlignmentErrorCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxJabberErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxJabberErrorCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxUndersizeCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxUndersizeCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxOversizeCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxOversizeCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxLengthCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxLengthCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxOutOfRangeCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[6], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxOutOfRangeCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[7], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxFifoOverflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[7], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxFifoOverflowCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[8], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxWatchdogCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS[8], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS, ulRxWatchdogCnt); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_HW_ETH_PORT_RX_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_ETH_PORT_RX_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_ETH_PORT_RX_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_ETH_PORT_RX_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HW_ETH_PORT_RX_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxFrameCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxByteCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxByteCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxJumboFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxJumboFrameCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxPauseFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxPauseFrameCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxVlanFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_ETH_PORT_RX_STATS[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, ulRxVlanFrameCnt); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_ETH_PORT_RX_STATS, RxErrorStat), "RxErrorStat:tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_HW_RF_PORT_RX_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_RF_PORT_RX_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_RF_PORT_RX_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_RF_PORT_RX_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HW_RF_PORT_RX_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulRxByteCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulRxByteCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulRxOverflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulRxOverflowCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulRxAverageBytePerSecond), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulRxAverageBytePerSecond); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulRxAveragePeriodUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulRxAveragePeriodUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulFrequencyHz), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_RX_STATS[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_RX_STATS, ulFrequencyHz); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_HW_RF_PORT_TX_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_RF_PORT_TX_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_RF_PORT_TX_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_RF_PORT_TX_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HW_RF_PORT_TX_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulTxByteCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulTxByteCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulTxUnderflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulTxUnderflowCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulTxAverageBytePerSecond), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulTxAverageBytePerSecond); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulTxAveragePeriodUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulTxAveragePeriodUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulFrequencyHz), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_RF_PORT_TX_STATS[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_RF_PORT_TX_STATS, ulFrequencyHz); + + } + + + return offset; + +}; + +/**************************************************************************** + Event dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT, ulCoreIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT[1], tvb, offset, + 4,"ulCoreUseMask: (0x%08x)", temp_data); + if(temp_data) + { + int i; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_HW_CPU_CORE_MASK); i++ ) + { + if( ( vals_tOCTVC1_HW_CPU_CORE_MASK[i].value && + ( vals_tOCTVC1_HW_CPU_CORE_MASK[i].value & temp_data ) == + vals_tOCTVC1_HW_CPU_CORE_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_HW_CPU_CORE_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_HW_CPU_CORE_MASK),"%s")); + } + } + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT, ulCoreUseMask); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT[2], tvb, offset, + 4,"ulCoreHaltMask: (0x%08x)", temp_data); + if(temp_data) + { + int i; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_HW_CPU_CORE_MASK); i++ ) + { + if( ( vals_tOCTVC1_HW_CPU_CORE_MASK[i].value && + ( vals_tOCTVC1_HW_CPU_CORE_MASK[i].value & temp_data ) == + vals_tOCTVC1_HW_CPU_CORE_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_HW_CPU_CORE_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_HW_CPU_CORE_MASK),"%s")); + } + } + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT, ulCoreHaltMask); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT, ulState); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT, ulPreviousState); + + } + + + return 0; + +}; + +/**************************************************************************** + CMD/RSP dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_HW_MSG_PCB_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_PCB_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_PCB_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_PCB_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_PCB_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szName); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, ulDeviceId); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szSerial), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szSerial); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szFilename), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szFilename); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, ulInfoSource); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, ulInfoState); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szGpsName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szGpsName); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_HW_MSG_PCB_INFO_RSP[7], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szWifiName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_PCB_INFO_RSP, szWifiName); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD, ulCoreIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP, CoreStats), "CoreStats:tOCTVC1_HW_CPU_CORE_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_CPU_CORE_STATS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD, ulCoreIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP, CoreInfo), "CoreInfo:tOCTVC1_HW_CPU_CORE_INFO"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_CPU_CORE_INFO( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP, IndexList), "IndexList:tOCTVC1_LIST_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD, ulPortIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, ulInterfaceId); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, ulMode); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, ulTxPktQueuesByteSize); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, ulRxPktQueuesByteSize); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, ulRestrictedApiFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, ulRestrictedApiFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, ulEnableFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, ulEnableFlag); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP, Config), "Config:tOCTVC1_HW_ETH_PORT_CONFIG"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_ETH_PORT_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP, IndexList), "IndexList:tOCTVC1_LIST_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD, ulResetStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD, ulResetStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP, ulPortIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP, RxStats), "RxStats:tOCTVC1_HW_ETH_PORT_RX_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_ETH_PORT_RX_STATS( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP, TxStats), "TxStats:tOCTVC1_HW_ETH_PORT_TX_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_ETH_PORT_TX_STATS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HW_PRIVATE_API_CMD_PASSWORD) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD, ulPassword),temp_data, "cOCTVC1_HW_PRIVATE_API_CMD_PASSWORD (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD[1], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD, ulPassword); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP, ulPortIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD, ulPortIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD, Config), "Config:tOCTVC1_HW_ETH_PORT_CONFIG"); + { + proto_tree* sub_tree2; + tWS_EXTRA_VALUE ExtraVal; + ExtraVal.lValue = cOCTVC1_DO_NOT_MODIFY; + ExtraVal.pszValue = "cOCTVC1_DO_NOT_MODIFY"; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_ETH_PORT_CONFIG( tvb, pinfo, sub_tree2, offset, &ExtraVal ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP, ulPortIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_CMD, ulPortIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_RSP, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_RSP, ulInService), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_RSP, ulInService); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_RSP, hOwner); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_RSP, ulPortInterfaceId); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_STATS_CMD, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_STATS_CMD, ulResetStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_STATS_CMD, ulResetStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_STATS_RSP, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_STATS_RSP, ulRadioStandard); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_STATS_RSP, RxStats), "RxStats:tOCTVC1_HW_RF_PORT_RX_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_RF_PORT_RX_STATS( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_STATS_RSP, TxStats), "TxStats:tOCTVC1_HW_RF_PORT_TX_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HW_RF_PORT_TX_STATS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_LIST_CMD, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_LIST_RSP, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_LIST_RSP, IndexList), "IndexList:tOCTVC1_LIST_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD, SubIndexGet), "SubIndexGet:tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP, SubIndexGet), "SubIndexGet:tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP, SubIndexList), "SubIndexList:tOCTVC1_LIST_INDEX_GET_SUB_INDEX"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_INDEX_GET_SUB_INDEX( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD, ulAntennaIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP, ulAntennaIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP, ulEnableFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP, ulEnableFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP, lRxGaindB); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP, ulRxGainMode); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD, ulAntennaIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD, lRxGaindB); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD, ulRxGainMode); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP, ulAntennaIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD, ulAntennaIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP, ulAntennaIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP, ulEnableFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP, ulEnableFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP, lTxGaindB); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD, ulAntennaIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD, lTxGaindB); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP, ulPortIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP, ulAntennaIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP, ulClkSourceRef); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP, ulClkSourceSelection); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD, ulResetStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD, ulResetStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP, ulState); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP, lClockError); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP, lDroppedCycles); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP, ulPllFreqHz); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP, ulPllFractionalFreqHz); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP, ulSlipCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[6], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP, ulSyncLosseCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[7], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP, ulSourceState); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP[8], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP, ulDacValue); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP, ulClkSourceRef); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP, ulSourceState); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_DO_NOT_MODIFY) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD, ulClkSourceRef),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD, ulClkSourceRef); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_DO_NOT_MODIFY) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD, ulSourceState),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD[1], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD, ulSourceState); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD, ulDacInitValue); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD, ulSyncWindowSize); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_int(field_tree, ahf_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD, lSyncThreshold); + + } + + + return 0; + +}; +/**************************************************************************** + MODULE REGISTERED EXPORTED FUNCTION + ****************************************************************************/ + +void ws_register_OCTVC1_HW(void) +{ + /**************************************************************************** + Register Common struct + ****************************************************************************/ + register_tOCTVC1_HW_CPU_CORE_STATS(); + register_tOCTVC1_HW_CPU_CORE_INFO(); + register_tOCTVC1_HW_ETH_PORT_CONFIG(); + register_tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS(); + register_tOCTVC1_HW_ETH_PORT_TX_STATS(); + register_tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS(); + register_tOCTVC1_HW_ETH_PORT_RX_STATS(); + register_tOCTVC1_HW_RF_PORT_RX_STATS(); + register_tOCTVC1_HW_RF_PORT_TX_STATS(); + + /**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + register_tOCTVC1_HW_MSG_PCB_INFO_RSP(); + register_tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD(); + register_tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP(); + register_tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD(); + register_tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP(); + register_tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD(); + register_tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP(); + register_tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD(); + register_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP(); + register_tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD(); + register_tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP(); + register_tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD(); + register_tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP(); + register_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD(); + register_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP(); + register_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD(); + register_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP(); + register_tOCTVC1_HW_MSG_RF_PORT_INFO_CMD(); + register_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP(); + register_tOCTVC1_HW_MSG_RF_PORT_STATS_CMD(); + register_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP(); + register_tOCTVC1_HW_MSG_RF_PORT_LIST_CMD(); + register_tOCTVC1_HW_MSG_RF_PORT_LIST_RSP(); + register_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD(); + register_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP(); + register_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD(); + register_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP(); + register_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD(); + register_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP(); + register_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD(); + register_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP(); + register_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD(); + register_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP(); + register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP(); + register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD(); + register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP(); + register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP(); + register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD(); + register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD(); + + /**************************************************************************** + Event Registered + ****************************************************************************/ + register_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT(); + register_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT(); + +} + +/**************************************************************************** + MODULE DISSECTOR FUNCTIONS + ****************************************************************************/ +int ws_dissect_OCTVC1_HW_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + case cOCTVC1_HW_MSG_PCB_INFO_CID: return 0; break; + case cOCTVC1_HW_MSG_CPU_CORE_STATS_CID: return dissect_tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CPU_CORE_INFO_CID: return dissect_tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CPU_CORE_LIST_CID: return dissect_tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_INFO_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_LIST_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_STATS_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_MODIFY_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_INFO_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_STATS_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_STATS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_LIST_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_LIST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CID: return 0; break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CID: return dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CID: return 0; break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CID: return dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CID: return dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CID: return 0; break; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_HW_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + case cOCTVC1_HW_MSG_PCB_INFO_CID: return dissect_tOCTVC1_HW_MSG_PCB_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CPU_CORE_STATS_CID: return dissect_tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CPU_CORE_INFO_CID: return dissect_tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CPU_CORE_LIST_CID: return dissect_tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_INFO_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_LIST_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_STATS_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_ETH_PORT_MODIFY_CID: return dissect_tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_INFO_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_STATS_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_STATS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_LIST_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_LIST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CID: return dissect_tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CID: return dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CID: return dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CID: return dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CID: return 0; break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CID: return 0; break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CID: return 0; break; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_HW_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + case cOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EID: return dissect_tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EID: return dissect_tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT( tvb, pinfo, tree, 0 ); break; + default: return 1; + } + } + return 0; + +} + +/**************************************************************************** + MODULE DISSECTOR EXPORTED FUNCTION + ****************************************************************************/ + +int ws_dissect_OCTVC1_HW( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if (message_type == cOCTVC1_MSG_TYPE_RESPONSE) + return ws_dissect_OCTVC1_HW_RSP( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_COMMAND) + return ws_dissect_OCTVC1_HW_CMD( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_NOTIFICATION ) + return ws_dissect_OCTVC1_HW_EVT( CID, tvb, pinfo, tree); + else + return 1; + +} + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_irsc.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_irsc.c new file mode 100644 index 0000000..94cff27 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_irsc.c @@ -0,0 +1,3845 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_module_irsc.c + + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contain the wireshark module dissector related functions + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +/***************************** INCLUDE FILES *******************************/ + +#include +#include +#include "../../../include/oct_ws_macro.h" +#include "../include/module.h" +#include "../include/octvc1_common.h" + +#include + + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_IRSC_IPC_PORT_TYPE_ENUM[] = + { + { cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_INVALID, "cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_INVALID" }, + { cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_UNIDIR_RECV, "cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_UNIDIR_RECV" }, + { cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_UNIDIR_SEND, "cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_UNIDIR_SEND" }, + { cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_BIDIR, "cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_BIDIR" }, + { cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_LOCAL, "cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_LOCAL" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_IRSC_IPC_PORT_STATE_ENUM[] = + { + { cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_INVALID, "cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_INVALID" }, + { cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_ERROR, "cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_ERROR" }, + { cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_CONFIG, "cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_CONFIG" }, + { cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_WAIT_REMOTE, "cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_WAIT_REMOTE" }, + { cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_READY, "cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_READY" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_IRSC_API_STATS[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_API_STATS; + +void register_tOCTVC1_IRSC_API_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_API_STATS[0], + { "ulMaxProcessingTimeUs", "octvc1.irsc.api_stats.ulmaxprocessingtimeus", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxProcessingTimeUs",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_API_STATS[1], + { "ulMinProcessingTimeUs", "octvc1.irsc.api_stats.ulminprocessingtimeus", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMinProcessingTimeUs",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_API_STATS[2], + { "ulTotalProcessingTimeUs", "octvc1.irsc.api_stats.ultotalprocessingtimeus", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTotalProcessingTimeUs",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_API_STATS[3], + { "ulCmdCnt", "octvc1.irsc.api_stats.ulcmdcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulCmdCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_API_STATS[4], + { "ulL1CacheMissCnt", "octvc1.irsc.api_stats.ull1cachemisscnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulL1CacheMissCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_API_STATS[5], + { "ulTlbCacheMissCnt", "octvc1.irsc.api_stats.ultlbcachemisscnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulTlbCacheMissCnt",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_API_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_SESSION_STATS[10]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_SESSION_STATS; + +void register_tOCTVC1_IRSC_SESSION_STATS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[0], + { "ulLastCmdTimestamp", "octvc1.irsc.session_stats.ullastcmdtimestamp", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulLastCmdTimestamp",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[1], + { "ulExpTransactionId", "octvc1.irsc.session_stats.ulexptransactionid", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulExpTransactionId",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[2], + { "ulAcceptedCmdCnt", "octvc1.irsc.session_stats.ulacceptedcmdcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulAcceptedCmdCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[3], + { "ulRejectedCmdCnt", "octvc1.irsc.session_stats.ulrejectedcmdcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRejectedCmdCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[4], + { "ulRetryCmdCnt", "octvc1.irsc.session_stats.ulretrycmdcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRetryCmdCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[5], + { "ulResyncCnt", "octvc1.irsc.session_stats.ulresynccnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulResyncCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[6], + { "ulSessionCnt", "octvc1.irsc.session_stats.ulsessioncnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[7], + { "ulEvtSentCnt", "octvc1.irsc.session_stats.ulevtsentcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulEvtSentCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[8], + { "ulEvtSentErrCnt", "octvc1.irsc.session_stats.ulevtsenterrcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulEvtSentErrCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_SESSION_STATS[9], + { "ulLastEvtTimestamp", "octvc1.irsc.session_stats.ullastevttimestamp", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulLastEvtTimestamp",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_SESSION_STATS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + Event Registered + ****************************************************************************/ + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT; + +void register_tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT[0], + { "hProcess", "octvc1.irsc.process.dump.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_CMD; + +void register_tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD[0], + { "hProcess", "octvc1.irsc.process.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_RSP; + +void register_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP[0], + { "hProcess", "octvc1.irsc.process.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP[1], + { "szName", "octvc1.irsc.process.info.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP[2], + { "szProcessImageName", "octvc1.irsc.process.info.szprocessimagename", + FT_STRING, BASE_NONE, NULL, 0x0, + "szProcessImageName",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP[3], + { "ulType", "octvc1.irsc.process.info.ultype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_PROCESS_TYPE_ENUM), 0x0, + "ulType",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_CMD; + +void register_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[0], + { "hProcess", "octvc1.irsc.process.stats.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[1], + { "ulResetProcessStatsFlag", "octvc1.irsc.process.stats.ulresetprocessstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetProcessStatsFlag",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[2], + { "ulResetIpcStatsFlag", "octvc1.irsc.process.stats.ulresetipcstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetIpcStatsFlag",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[3], + { "ulResetTaskStatsFlag", "octvc1.irsc.process.stats.ulresettaskstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetTaskStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_RSP; + +void register_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP[0], + { "hProcess", "octvc1.irsc.process.stats.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP[1], + { "State", "octvc1.irsc.process.stats.state", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_PROCESS_STATE_ENUM), 0x0, + "State",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP[2], + { "Error", "octvc1.irsc.process.stats.error", + FT_NONE, BASE_NONE, NULL, 0x0, + "Error",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_CMD; + +void register_tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD[0], + { "ObjectCursor", "octvc1.irsc.process.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_RSP; + +void register_tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP[0], + { "ObjectCursor", "octvc1.irsc.process.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP[1], + { "ObjectNameList", "octvc1.irsc.process.list.objectnamelist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectNameList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD; + +void register_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD[0], + { "hProcess", "octvc1.irsc.process.ipc_port.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD[1], + { "ulPortId", "octvc1.irsc.process.ipc_port.info.ulportid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[14]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP; + +void register_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[0], + { "hProcess", "octvc1.irsc.process.ipc_port.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[1], + { "ulPortId", "octvc1.irsc.process.ipc_port.info.ulportid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortId",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[2], + { "ulUserId", "octvc1.irsc.process.ipc_port.info.uluserid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulUserId",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[3], + { "hRemoteProcess", "octvc1.irsc.process.ipc_port.info.hremoteprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hRemoteProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[4], + { "ulRemotePortId", "octvc1.irsc.process.ipc_port.info.ulremoteportid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulRemotePortId",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[5], + { "ulRemoteUserId", "octvc1.irsc.process.ipc_port.info.ulremoteuserid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulRemoteUserId",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[6], + { "szName", "octvc1.irsc.process.ipc_port.info.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[7], + { "ulPortIdx", "octvc1.irsc.process.ipc_port.info.ulportidx", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulPortIdx",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[8], + { "ulType", "octvc1.irsc.process.ipc_port.info.ultype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_IRSC_IPC_PORT_TYPE_ENUM), 0x0, + "ulType",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[9], + { "ulSystemFlag", "octvc1.irsc.process.ipc_port.info.ulsystemflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulSystemFlag",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[10], + { "ulGhostFlag", "octvc1.irsc.process.ipc_port.info.ulghostflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulGhostFlag",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[11], + { "ulRecvMsgNum", "octvc1.irsc.process.ipc_port.info.ulrecvmsgnum", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRecvMsgNum",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[12], + { "ulRecvMsgSize", "octvc1.irsc.process.ipc_port.info.ulrecvmsgsize", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRecvMsgSize",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD; + +void register_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD[0], + { "hProcess", "octvc1.irsc.process.ipc_port.stats.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD[1], + { "ulPortId", "octvc1.irsc.process.ipc_port.stats.ulportid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortId",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD[2], + { "ulResetStatsFlag", "octvc1.irsc.process.ipc_port.stats.ulresetstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[7]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP; + +void register_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[0], + { "hProcess", "octvc1.irsc.process.ipc_port.stats.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[1], + { "ulPortId", "octvc1.irsc.process.ipc_port.stats.ulportid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPortId",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[2], + { "ulState", "octvc1.irsc.process.ipc_port.stats.ulstate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_IRSC_IPC_PORT_STATE_ENUM), 0x0, + "ulState",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[3], + { "ulSendMsgCnt", "octvc1.irsc.process.ipc_port.stats.ulsendmsgcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSendMsgCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[4], + { "ulRecvMsgCnt", "octvc1.irsc.process.ipc_port.stats.ulrecvmsgcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRecvMsgCnt",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[5], + { "ulRecvMsgMissCnt", "octvc1.irsc.process.ipc_port.stats.ulrecvmsgmisscnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulRecvMsgMissCnt",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD; + +void register_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD[0], + { "SubObjectIdGet", "octvc1.irsc.process.ipc_port.list.subobjectidget", + FT_NONE, BASE_NONE, NULL, 0x0, + "SubObjectIdGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP; + +void register_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP[0], + { "SubObjectIdGet", "octvc1.irsc.process.ipc_port.list.subobjectidget", + FT_NONE, BASE_NONE, NULL, 0x0, + "SubObjectIdGet",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP[1], + { "ObjectNameList", "octvc1.irsc.process.ipc_port.list.objectnamelist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectNameList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD; + +void register_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD[0], + { "hProcess", "octvc1.irsc.process.task.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD[1], + { "ulTaskIndex", "octvc1.irsc.process.task.info.ultaskindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulTaskIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP; + +void register_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP[0], + { "hProcess", "octvc1.irsc.process.task.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP[1], + { "ulTaskIndex", "octvc1.irsc.process.task.info.ultaskindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulTaskIndex",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP[2], + { "szName", "octvc1.irsc.process.task.info.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD; + +void register_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD[0], + { "hProcess", "octvc1.irsc.process.task.stats.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD[1], + { "ulTaskIndex", "octvc1.irsc.process.task.stats.ultaskindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulTaskIndex",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD[2], + { "ulResetStatsFlag", "octvc1.irsc.process.task.stats.ulresetstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP; + +void register_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP[0], + { "hProcess", "octvc1.irsc.process.task.stats.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP[1], + { "ulTaskIndex", "octvc1.irsc.process.task.stats.ultaskindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulTaskIndex",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP[2], + { "Stats", "octvc1.irsc.process.task.stats.stats", + FT_NONE, BASE_NONE, NULL, 0x0, + "Stats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD; + +void register_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD[0], + { "SubObjectIdGet", "octvc1.irsc.process.task.list.subobjectidget", + FT_NONE, BASE_NONE, NULL, 0x0, + "SubObjectIdGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP; + +void register_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP[0], + { "SubObjectIdGet", "octvc1.irsc.process.task.list.subobjectidget", + FT_NONE, BASE_NONE, NULL, 0x0, + "SubObjectIdGet",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP[1], + { "ObjectNameList", "octvc1.irsc.process.task.list.objectnamelist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectNameList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD; + +void register_tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD[0], + { "ulObjType", "octvc1.irsc.objmgr.info.ulobjtype", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulObjType",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP; + +void register_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP[0], + { "ulObjType", "octvc1.irsc.objmgr.info.ulobjtype", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulObjType",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP[1], + { "ulMaxNumObj", "octvc1.irsc.objmgr.info.ulmaxnumobj", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxNumObj",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP[2], + { "ulObjByteSize", "octvc1.irsc.objmgr.info.ulobjbytesize", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulObjByteSize",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP[3], + { "szName", "octvc1.irsc.objmgr.info.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD; + +void register_tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD[0], + { "ulObjType", "octvc1.irsc.objmgr.stats.ulobjtype", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulObjType",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP; + +void register_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP[0], + { "ulObjType", "octvc1.irsc.objmgr.stats.ulobjtype", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulObjType",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP[1], + { "ulMaxNumObj", "octvc1.irsc.objmgr.stats.ulmaxnumobj", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxNumObj",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP[2], + { "ulNumObj", "octvc1.irsc.objmgr.stats.ulnumobj", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulNumObj",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD; + +void register_tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD[0], + { "ObjectCursor", "octvc1.irsc.objmgr.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP; + +void register_tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP[0], + { "ObjectCursor", "octvc1.irsc.objmgr.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP[1], + { "ObjectNameList", "octvc1.irsc.objmgr.list.objectnamelist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectNameList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD[0], + { "ulResetStatsFlag", "octvc1.irsc.api_system.monitoring.start.ulresetstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD[0], + { "ObjectCursor", "octvc1.irsc.api_system.command.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP[0], + { "ObjectCursor", "octvc1.irsc.api_system.command.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP[1], + { "ObjectList", "octvc1.irsc.api_system.command.list.objectlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD[0], + { "hCmdId", "octvc1.irsc.api_system.command.stats.hcmdid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hCmdId",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD[1], + { "ulResetStatsFlag", "octvc1.irsc.api_system.command.stats.ulresetstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP[0], + { "hCmdId", "octvc1.irsc.api_system.command.stats.hcmdid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hCmdId",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP[1], + { "CommandStats", "octvc1.irsc.api_system.command.stats.commandstats", + FT_NONE, BASE_NONE, NULL, 0x0, + "CommandStats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD[0], + { "IndexGet", "octvc1.irsc.api_system.session.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP[0], + { "IndexGet", "octvc1.irsc.api_system.session.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP[1], + { "IndexList", "octvc1.irsc.api_system.session.list.indexlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD[0], + { "ulSessionIndex", "octvc1.irsc.api_system.session.info.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP[0], + { "ulSessionIndex", "octvc1.irsc.api_system.session.info.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP[1], + { "SessionInfo", "octvc1.irsc.api_system.session.info.sessioninfo", + FT_NONE, BASE_NONE, NULL, 0x0, + "SessionInfo",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD[0], + { "ulSessionIndex", "octvc1.irsc.api_system.session.stats.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD[1], + { "ulResetStatsFlag", "octvc1.irsc.api_system.session.stats.ulresetstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP[0], + { "ulSessionIndex", "octvc1.irsc.api_system.session.stats.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP[1], + { "SessionStats", "octvc1.irsc.api_system.session.stats.sessionstats", + FT_NONE, BASE_NONE, NULL, 0x0, + "SessionStats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD[0], + { "ulSessionIndex", "octvc1.irsc.api_system.session.evt.info.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP[0], + { "ulSessionIndex", "octvc1.irsc.api_system.session.evt.info.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP[1], + { "EvtInfo", "octvc1.irsc.api_system.session.evt.info.evtinfo", + FT_NONE, BASE_NONE, NULL, 0x0, + "EvtInfo",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD[0], + { "ulSessionIndex", "octvc1.irsc.api_system.session.evt.stats.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP; + +void register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP[0], + { "ulSessionIndex", "octvc1.irsc.api_system.session.evt.stats.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP[1], + { "Stats", "octvc1.irsc.api_system.session.evt.stats.stats", + FT_NONE, BASE_NONE, NULL, 0x0, + "Stats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_IRSC_API_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_API_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_API_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_API_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_IRSC_API_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_API_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulMaxProcessingTimeUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_API_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulMaxProcessingTimeUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_API_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulMinProcessingTimeUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_API_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulMinProcessingTimeUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_API_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulTotalProcessingTimeUs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_API_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulTotalProcessingTimeUs); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_API_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulCmdCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_API_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulCmdCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_API_STATS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulL1CacheMissCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_API_STATS[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulL1CacheMissCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_API_STATS[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulTlbCacheMissCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_API_STATS[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_API_STATS, ulTlbCacheMissCnt); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_SESSION_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_SESSION_STATS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_SESSION_STATS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_SESSION_STATS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_IRSC_SESSION_STATS); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulLastCmdTimestamp), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulLastCmdTimestamp); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulExpTransactionId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulExpTransactionId); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulAcceptedCmdCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulAcceptedCmdCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulRejectedCmdCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulRejectedCmdCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulRetryCmdCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulRetryCmdCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulResyncCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulResyncCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulSessionCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[6], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulSessionCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[7], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulEvtSentCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[7], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulEvtSentCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[8], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulEvtSentErrCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[8], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulEvtSentErrCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[9], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulLastEvtTimestamp), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_SESSION_STATS[9], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_SESSION_STATS, ulLastEvtTimestamp); + + } + + + return offset; + +}; + +/**************************************************************************** + Event dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT, hProcess); + + } + + + return 0; + +}; + +/**************************************************************************** + CMD/RSP dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD, hProcess),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD, hProcess); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP, hProcess); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP, szName); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP, szProcessImageName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP, szProcessImageName); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP, ulType); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD, hProcess),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD, ulResetProcessStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD, ulResetProcessStatsFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD, ulResetIpcStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD, ulResetIpcStatsFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD, ulResetTaskStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD, ulResetTaskStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP, State); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP, Error), "Error:tOCTVC1_PROCESS_ERROR"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_PROCESS_ERROR( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP, ObjectNameList), "ObjectNameList:tOCTVC1_LIST_NAME_OBJECT32_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_NAME_OBJECT32_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD, ulPortId); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulPortId); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulUserId); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, hRemoteProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulRemotePortId); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulRemoteUserId); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[6], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, szName); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[7], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulPortIdx); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[8], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulType); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[9], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulSystemFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulSystemFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[10], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulGhostFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulGhostFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[11], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulRecvMsgNum); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP[12], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP, ulRecvMsgSize); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD, ulPortId); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD, ulResetStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD, ulResetStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP, ulPortId); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP, ulState); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP, ulSendMsgCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP, ulRecvMsgCnt); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP, ulRecvMsgMissCnt); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP, ObjectNameList), "ObjectNameList:tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD, ulTaskIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP, ulTaskIndex); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP, szName); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD, ulTaskIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD, ulResetStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD, ulResetStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP, ulTaskIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP, Stats), "Stats:tOCTVC1_PROCESS_TASK_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_PROCESS_TASK_STATS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP, ObjectNameList), "ObjectNameList:tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD, ulObjType),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD, ulObjType); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP, ulObjType); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP, ulMaxNumObj); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP, ulObjByteSize); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP, szName); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD, ulObjType); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP, ulObjType); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP, ulMaxNumObj); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP, ulNumObj); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP, ObjectNameList), "ObjectNameList:tOCTVC1_LIST_NAME_OBJECT32_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_NAME_OBJECT32_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD, ulResetStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD, ulResetStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP, ObjectList), "ObjectList:tOCTVC1_LIST_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD, hCmdId); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD, ulResetStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD, ulResetStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP, hCmdId); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP, CommandStats), "CommandStats:tOCTVC1_IRSC_API_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_IRSC_API_STATS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP, IndexList), "IndexList:tOCTVC1_LIST_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD, ulSessionIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP, ulSessionIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP, SessionInfo), "SessionInfo:tOCTVC1_API_SESSION_INFO"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_API_SESSION_INFO( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD, ulSessionIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD, ulResetStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD, ulResetStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP, ulSessionIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP, SessionStats), "SessionStats:tOCTVC1_IRSC_SESSION_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_IRSC_SESSION_STATS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD, ulSessionIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP, ulSessionIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP, EvtInfo), "EvtInfo:tOCTVC1_API_SESSION_EVT_INFO"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_API_SESSION_EVT_INFO( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD, ulSessionIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP, ulSessionIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP, Stats), "Stats:tOCTVC1_IRSC_API_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_IRSC_API_STATS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; +/**************************************************************************** + MODULE REGISTERED EXPORTED FUNCTION + ****************************************************************************/ + +void ws_register_OCTVC1_IRSC(void) +{ + /**************************************************************************** + Register Common struct + ****************************************************************************/ + register_tOCTVC1_IRSC_API_STATS(); + register_tOCTVC1_IRSC_SESSION_STATS(); + + /**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + register_tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD(); + register_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP(); + register_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD(); + register_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP(); + register_tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD(); + register_tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP(); + register_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD(); + register_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP(); + register_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD(); + register_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP(); + register_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD(); + register_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP(); + register_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD(); + register_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP(); + register_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD(); + register_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP(); + register_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD(); + register_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP(); + register_tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD(); + register_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP(); + register_tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD(); + register_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP(); + register_tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD(); + register_tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD(); + register_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP(); + + /**************************************************************************** + Event Registered + ****************************************************************************/ + register_tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT(); + +} + +/**************************************************************************** + MODULE DISSECTOR FUNCTIONS + ****************************************************************************/ +int ws_dissect_OCTVC1_IRSC_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + case cOCTVC1_IRSC_MSG_PROCESS_INFO_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_STATS_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_LIST_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_OBJMGR_INFO_CID: return dissect_tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_OBJMGR_STATS_CID: return dissect_tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_OBJMGR_LIST_CID: return dissect_tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CID: return 0; break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD( tvb, pinfo, tree, 0 ); break; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_IRSC_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + case cOCTVC1_IRSC_MSG_PROCESS_INFO_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_STATS_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_LIST_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_OBJMGR_INFO_CID: return dissect_tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_OBJMGR_STATS_CID: return dissect_tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_OBJMGR_LIST_CID: return dissect_tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CID: return 0; break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CID: return 0; break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CID: return dissect_tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP( tvb, pinfo, tree, 0 ); break; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_IRSC_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + case cOCTVC1_IRSC_MSG_PROCESS_DUMP_EID: return dissect_tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT( tvb, pinfo, tree, 0 ); break; + default: return 1; + } + } + return 0; + +} + +/**************************************************************************** + MODULE DISSECTOR EXPORTED FUNCTION + ****************************************************************************/ + +int ws_dissect_OCTVC1_IRSC( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if (message_type == cOCTVC1_MSG_TYPE_RESPONSE) + return ws_dissect_OCTVC1_IRSC_RSP( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_COMMAND) + return ws_dissect_OCTVC1_IRSC_CMD( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_NOTIFICATION ) + return ws_dissect_OCTVC1_IRSC_EVT( CID, tvb, pinfo, tree); + else + return 1; + +} + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_main.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_main.c index 4cb5e9b..e3cdef3 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_main.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_main.c @@ -2,24 +2,26 @@ File: octvc1_module_main.c -Copyright (c) 2014 Octasic Inc. All rights reserved. + +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark module dissector related functions -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -33,251 +35,25 @@ $Octasic_Revision: $ #include "../include/module.h" #include "../include/octvc1_common.h" -#include
+#include
/**************************************************************************** MODULE API ENUMERATION STRING VALUES ****************************************************************************/ -const value_string vals_tOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM[] = +const value_string vals_tOCTVC1_MAIN_APPLICATION_STATE_ENUM[] = { - { cOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM_LOW, "cOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM_LOW" }, - { cOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM_HIGH, "cOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM_HIGH" }, + { cOCTVC1_MAIN_APPLICATION_STATE_ENUM_STOPPED, "cOCTVC1_MAIN_APPLICATION_STATE_ENUM_STOPPED" }, + { cOCTVC1_MAIN_APPLICATION_STATE_ENUM_STARTED, "cOCTVC1_MAIN_APPLICATION_STATE_ENUM_STARTED" }, + { cOCTVC1_MAIN_APPLICATION_STATE_ENUM_BOOTED, "cOCTVC1_MAIN_APPLICATION_STATE_ENUM_BOOTED" }, { 0, NULL } }; -const value_string vals_tOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM[] = +const value_string vals_tOCTVC1_MAIN_HEARTBEAT_STATE_ENUM[] = { - { cOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM_CHIP_SELECT_EDGE, "cOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM_CHIP_SELECT_EDGE" }, - { cOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM_CLOCK_TRANSITION, "cOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM_CLOCK_TRANSITION" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM[] = - { - { cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_FLAG, "cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_FLAG" }, - { cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_COUNT, "cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_COUNT" }, - { cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_MIN, "cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_MIN" }, - { cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_MAX, "cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_MAX" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_BOOT_PROGRESS_ENUM[] = - { - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_DONE, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_DONE" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_CONTROL, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_CONTROL" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_REMAPPING_CONTROL, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_REMAPPING_CONTROL" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_ALLOCATING_LOCAL_MEMORY, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_ALLOCATING_LOCAL_MEMORY" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_VALIDATING_LICENSE, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_VALIDATING_LICENSE" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_PARSING_CONFIG_FILE, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_PARSING_CONFIG_FILE" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_CONTROL_FIFO, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_CONTROL_FIFO" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_GPIO, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_GPIO" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_MAIN_API, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_MAIN_API" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_CPP_API, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_CPP_API" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_NET_API, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_NET_API" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VOC_MANAGEMENT, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VOC_MANAGEMENT" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VID_MANAGEMENT, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VID_MANAGEMENT" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_TDM_DRIVER_MEMORY, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_TDM_DRIVER_MEMORY" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_AF_SERVER_MEMORY, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_AF_SERVER_MEMORY" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_ALLOCATING_VSPMGR_MEMORY, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_ALLOCATING_VSPMGR_MEMORY" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_ROUTER, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_ROUTER" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_SCHEDULER, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_SCHEDULER" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_VSPMGR, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_VSPMGR" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VOC_MEMORY, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VOC_MEMORY" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VID_MEMORY, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VID_MEMORY" }, - { cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_VALIDATING_SYSTEM_CLOCK, "cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_VALIDATING_SYSTEM_CLOCK" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_SYSLOG_MSG_ENUM[] = - { - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_BASE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_BASE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_ERROR, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_ERROR" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_FIRMWARE_UPDATE_SUCCESSFUL, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_FIRMWARE_UPDATE_SUCCESSFUL" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_VALIDATION_ERROR_LOOPBACK, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_VALIDATION_ERROR_LOOPBACK" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_BASE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_BASE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_FILE_NOT_FOUND, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_FILE_NOT_FOUND" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_INVALID_XML_VERSION, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_INVALID_XML_VERSION" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_MALFORMED_XML, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_MALFORMED_XML" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_NO_ETHERNET_PORTS, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_NO_ETHERNET_PORTS" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_NO_UNRESTRICTED_ETHERNET_PORTS, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_NO_UNRESTRICTED_ETHERNET_PORTS" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_INVALID_ETHERNET_PORT_INTERFACE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_INVALID_ETHERNET_PORT_INTERFACE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ETH_PORTS_DEFAULT, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ETH_PORTS_DEFAULT" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FATAL_VSP_COMMAND_TIMEOUT, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FATAL_VSP_COMMAND_TIMEOUT" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FATAL_VSP_COMMAND_SEQUENCE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FATAL_VSP_COMMAND_SEQUENCE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_VSP_CORE_ALLOC, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_VSP_CORE_ALLOC" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_RESET, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_RESET" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_INIT_DONE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_INIT_DONE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_EXT_MEM_ALLOC, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_EXT_MEM_ALLOC" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_PROCESS_CREATE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_PROCESS_CREATE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_THREAD_CREATE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_THREAD_CREATE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_TOO_MANY_VSP_CHANNELS, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_TOO_MANY_VSP_CHANNELS" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ETH_QUEUE_ALLOC, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ETH_QUEUE_ALLOC" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_VSPMGR_ALLOC, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_VSPMGR_ALLOC" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_MAIN_ALLOC, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_MAIN_ALLOC" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_NET_ALLOC, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_NET_ALLOC" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_AF_ALLOC, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_AF_ALLOC" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_TDM_ALLOC, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_TDM_ALLOC" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FIFO_ALLOC, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FIFO_ALLOC" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CORE_MONITORING, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CORE_MONITORING" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_IO_MONITORING, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_IO_MONITORING" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ETH_PORT_MONITORING, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ETH_PORT_MONITORING" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ROUTER_MONITORING, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ROUTER_MONITORING" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CORE_REMAP, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CORE_REMAP" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ROUTER_RESOURCES, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ROUTER_RESOURCES" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_SCHED_CREATE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_SCHED_CREATE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_TDM_RESET, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_TDM_RESET" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_DIRECTORY_TREE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_DIRECTORY_TREE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILURE_RECOVERED, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILURE_RECOVERED" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILURE_CORE_DISABLED, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILURE_CORE_DISABLED" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CAMERA_DRIVER_CREATE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CAMERA_DRIVER_CREATE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CORE_HALTED_AND_DUMPED, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CORE_HALTED_AND_DUMPED" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILOVER_STARTED, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILOVER_STARTED" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILOVER_SUCCESS, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILOVER_SUCCESS" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILOVER_ERROR, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILOVER_ERROR" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_BASE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_BASE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_BOOT_IMAGE_UPDATE_DONE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_BOOT_IMAGE_UPDATE_DONE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_OCT1010ID_UPDATE_DONE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_OCT1010ID_UPDATE_DONE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_MALFORMED_TARBALL, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_MALFORMED_TARBALL" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LOG_BASE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LOG_BASE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LOG_RESET, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LOG_RESET" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_BASE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_BASE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_ARP_MODULE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_ARP_MODULE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_ND_MODULE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_ND_MODULE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_RTCP_TIMER, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_RTCP_TIMER" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_BASE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_BASE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_MAX_TSST, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_MAX_TSST" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_NO_CLOCK, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_NO_CLOCK" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_UNSUPPORTED_CLOCK_SPEED_AUTO_DETECT, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_UNSUPPORTED_CLOCK_SPEED_AUTO_DETECT" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_INVALID_MODULE_TYPE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_INVALID_MODULE_TYPE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_TRI_STATE_NOT_SUPPORTED, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_TRI_STATE_NOT_SUPPORTED" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LICENSING_BASE, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LICENSING_BASE" }, - { cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LICENSING_FORMAT_ERROR, "cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LICENSING_FORMAT_ERROR" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_EVT_MASK[] = - { - { cOCTVC1_MAIN_EVT_MASK_NONE, "cOCTVC1_MAIN_EVT_MASK_NONE" }, - { cOCTVC1_MAIN_EVT_MASK_GPIO_CHANGE, "cOCTVC1_MAIN_EVT_MASK_GPIO_CHANGE" }, - { cOCTVC1_MAIN_EVT_MASK_PHY_STATUS, "cOCTVC1_MAIN_EVT_MASK_PHY_STATUS" }, - { cOCTVC1_MAIN_EVT_MASK_CORE_STATUS, "cOCTVC1_MAIN_EVT_MASK_CORE_STATUS" }, - { cOCTVC1_MAIN_EVT_MASK_PROCESS_CPU_USAGE, "cOCTVC1_MAIN_EVT_MASK_PROCESS_CPU_USAGE" }, - { cOCTVC1_MAIN_EVT_MASK_TRACING_BUFFER_FULL, "cOCTVC1_MAIN_EVT_MASK_TRACING_BUFFER_FULL" }, - { cOCTVC1_MAIN_EVT_MASK_TRACING_STOP, "cOCTVC1_MAIN_EVT_MASK_TRACING_STOP" }, - { cOCTVC1_MAIN_EVT_MASK_REDUNDANCY_SERVER_MGW_FAILOVER_DONE, "cOCTVC1_MAIN_EVT_MASK_REDUNDANCY_SERVER_MGW_FAILOVER_DONE" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_PROCESS_TYPE_ENUM[] = - { - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_INVALID, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_INVALID" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_CONTROL, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_CONTROL" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_TDM_DRIVER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_TDM_DRIVER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_ROUTER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_ROUTER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_SCHEDULER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_SCHEDULER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_VSPMGR, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_VSPMGR" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_AF_SRV, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_AF_SRV" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_CAMERA_DRIVER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_CAMERA_DRIVER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_SCHEDULER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_SCHEDULER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_L1C_APAPTATION_LAYER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_L1C_APAPTATION_LAYER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_RACH, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_RACH" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_MASTER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_MASTER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_RFI, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_RFI" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_SLAVE, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_SLAVE" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULOM_MASTER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULOM_MASTER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULOM_SLAVE, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULOM_SLAVE" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLIM_MASTER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLIM_MASTER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLIM_SLAVE, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLIM_SLAVE" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLOM_MASTER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLOM_MASTER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLOM_SLAVE, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLOM_SLAVE" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_RFI, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_RFI" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_ETH, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_ETH" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_HSDLOM, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_HSDLOM" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_HSDLIM, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_HSDLIM" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_SSE, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_SSE" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_CTRL, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_CTRL" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_SCHEDULER, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_SCHEDULER" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_DL, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_DL" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_ULIM, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_ULIM" }, - { cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_ULOM, "cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_ULOM" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM[] = - { - { cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_RESET, "cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_RESET" }, - { cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_RUNNING, "cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_RUNNING" }, - { cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_HALT, "cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_HALT" }, - { cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_TRAP, "cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_TRAP" }, - { cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_ACCESS_VIOLATION, "cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_ACCESS_VIOLATION" }, - { cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_NOT_PRESENT, "cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_NOT_PRESENT" }, - { cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_FAILURE_DETECTED, "cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_FAILURE_DETECTED" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM[] = - { - { cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_RESET, "cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_RESET" }, - { cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_RUNNING, "cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_RUNNING" }, - { cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_HALT, "cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_HALT" }, - { cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_TRAP, "cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_TRAP" }, - { cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_ACCESS_VIOLATION, "cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_ACCESS_VIOLATION" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_FAILURE_MASK[] = - { - { cOCTVC1_MAIN_FAILURE_MASK_NONE, "cOCTVC1_MAIN_FAILURE_MASK_NONE" }, - { cOCTVC1_MAIN_FAILURE_MASK_MEMORY, "cOCTVC1_MAIN_FAILURE_MASK_MEMORY" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM[] = - { - { cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_2MHZ, "cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_2MHZ" }, - { cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_4MHZ, "cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_4MHZ" }, - { cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_8MHZ, "cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_8MHZ" }, - { cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_16MHZ, "cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_16MHZ" }, - { cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_RESERVED, "cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_RESERVED" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM[] = - { - { cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_INVALID, "cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_INVALID" }, - { cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES0, "cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES0" }, - { cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES1, "cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES1" }, - { cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES2, "cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES2" }, - { cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES3, "cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES3" }, - { cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_ETH0, "cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_ETH0" }, - { cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_ETH1, "cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_ETH1" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_ETH_PORT_MODE_ENUM[] = - { - { cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_INVALID, "cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_INVALID" }, - { cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_MII_10, "cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_MII_10" }, - { cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_MII_100, "cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_MII_100" }, - { cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_RMII_100, "cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_RMII_100" }, - { cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_GMII_1000, "cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_GMII_1000" }, - { cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_RGMII_1000, "cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_RGMII_1000" }, - { cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_SGMII_1000, "cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_SGMII_1000" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_ETH_MODE_ENUM[] = - { - { cOCTVC1_MAIN_ETH_MODE_ENUM_INVALID, "cOCTVC1_MAIN_ETH_MODE_ENUM_INVALID" }, - { cOCTVC1_MAIN_ETH_MODE_ENUM_MII, "cOCTVC1_MAIN_ETH_MODE_ENUM_MII" }, - { cOCTVC1_MAIN_ETH_MODE_ENUM_RMII, "cOCTVC1_MAIN_ETH_MODE_ENUM_RMII" }, - { cOCTVC1_MAIN_ETH_MODE_ENUM_GMII, "cOCTVC1_MAIN_ETH_MODE_ENUM_GMII" }, - { cOCTVC1_MAIN_ETH_MODE_ENUM_RGMII, "cOCTVC1_MAIN_ETH_MODE_ENUM_RGMII" }, - { cOCTVC1_MAIN_ETH_MODE_ENUM_SGMII, "cOCTVC1_MAIN_ETH_MODE_ENUM_SGMII" }, + { cOCTVC1_MAIN_HEARTBEAT_STATE_ENUM_STOP, "cOCTVC1_MAIN_HEARTBEAT_STATE_ENUM_STOP" }, + { cOCTVC1_MAIN_HEARTBEAT_STATE_ENUM_START, "cOCTVC1_MAIN_HEARTBEAT_STATE_ENUM_START" }, { 0, NULL } }; @@ -288,87 +64,6 @@ const value_string vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[] = { 0, NULL } }; -const value_string vals_tOCTVC1_MAIN_OPUS_CORE_MASK[] = - { - { cOCTVC1_MAIN_OPUS_CORE_MASK_1, "cOCTVC1_MAIN_OPUS_CORE_MASK_1" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_2, "cOCTVC1_MAIN_OPUS_CORE_MASK_2" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_3, "cOCTVC1_MAIN_OPUS_CORE_MASK_3" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_4, "cOCTVC1_MAIN_OPUS_CORE_MASK_4" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_5, "cOCTVC1_MAIN_OPUS_CORE_MASK_5" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_6, "cOCTVC1_MAIN_OPUS_CORE_MASK_6" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_7, "cOCTVC1_MAIN_OPUS_CORE_MASK_7" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_8, "cOCTVC1_MAIN_OPUS_CORE_MASK_8" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_9, "cOCTVC1_MAIN_OPUS_CORE_MASK_9" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_10, "cOCTVC1_MAIN_OPUS_CORE_MASK_10" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_11, "cOCTVC1_MAIN_OPUS_CORE_MASK_11" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_12, "cOCTVC1_MAIN_OPUS_CORE_MASK_12" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_13, "cOCTVC1_MAIN_OPUS_CORE_MASK_13" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_14, "cOCTVC1_MAIN_OPUS_CORE_MASK_14" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_15, "cOCTVC1_MAIN_OPUS_CORE_MASK_15" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_16, "cOCTVC1_MAIN_OPUS_CORE_MASK_16" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_17, "cOCTVC1_MAIN_OPUS_CORE_MASK_17" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_18, "cOCTVC1_MAIN_OPUS_CORE_MASK_18" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_19, "cOCTVC1_MAIN_OPUS_CORE_MASK_19" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_20, "cOCTVC1_MAIN_OPUS_CORE_MASK_20" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_21, "cOCTVC1_MAIN_OPUS_CORE_MASK_21" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_22, "cOCTVC1_MAIN_OPUS_CORE_MASK_22" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_23, "cOCTVC1_MAIN_OPUS_CORE_MASK_23" }, - { cOCTVC1_MAIN_OPUS_CORE_MASK_24, "cOCTVC1_MAIN_OPUS_CORE_MASK_24" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_OCT1010_CORE_MASK[] = - { - { cOCTVC1_MAIN_OCT1010_CORE_MASK_1, "cOCTVC1_MAIN_OCT1010_CORE_MASK_1" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_2, "cOCTVC1_MAIN_OCT1010_CORE_MASK_2" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_3, "cOCTVC1_MAIN_OCT1010_CORE_MASK_3" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_4, "cOCTVC1_MAIN_OCT1010_CORE_MASK_4" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_5, "cOCTVC1_MAIN_OCT1010_CORE_MASK_5" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_6, "cOCTVC1_MAIN_OCT1010_CORE_MASK_6" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_7, "cOCTVC1_MAIN_OCT1010_CORE_MASK_7" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_8, "cOCTVC1_MAIN_OCT1010_CORE_MASK_8" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_9, "cOCTVC1_MAIN_OCT1010_CORE_MASK_9" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_10, "cOCTVC1_MAIN_OCT1010_CORE_MASK_10" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_11, "cOCTVC1_MAIN_OCT1010_CORE_MASK_11" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_12, "cOCTVC1_MAIN_OCT1010_CORE_MASK_12" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_13, "cOCTVC1_MAIN_OCT1010_CORE_MASK_13" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_14, "cOCTVC1_MAIN_OCT1010_CORE_MASK_14" }, - { cOCTVC1_MAIN_OCT1010_CORE_MASK_15, "cOCTVC1_MAIN_OCT1010_CORE_MASK_15" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_TRACING_MODE_ENUM[] = - { - { cOCTVC1_MAIN_TRACING_MODE_ENUM_NORMAL, "cOCTVC1_MAIN_TRACING_MODE_ENUM_NORMAL" }, - { cOCTVC1_MAIN_TRACING_MODE_ENUM_WRAP, "cOCTVC1_MAIN_TRACING_MODE_ENUM_WRAP" }, - { cOCTVC1_MAIN_TRACING_MODE_ENUM_AUTO_WRAP, "cOCTVC1_MAIN_TRACING_MODE_ENUM_AUTO_WRAP" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_TRACING_TYPE_ENUM[] = - { - { cOCTVC1_MAIN_TRACING_TYPE_ENUM_CONTROL_ONLY, "cOCTVC1_MAIN_TRACING_TYPE_ENUM_CONTROL_ONLY" }, - { cOCTVC1_MAIN_TRACING_TYPE_ENUM_HEADER, "cOCTVC1_MAIN_TRACING_TYPE_ENUM_HEADER" }, - { cOCTVC1_MAIN_TRACING_TYPE_ENUM_ALL, "cOCTVC1_MAIN_TRACING_TYPE_ENUM_ALL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM[] = - { - { cOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM_STOPPED, "cOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM_STOPPED" }, - { cOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM_STARTED, "cOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM_STARTED" }, - { cOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM_FAILOVER_EXECUTED, "cOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM_FAILOVER_EXECUTED" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM[] = - { - { cOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM_NONE, "cOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM_NONE" }, - { cOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM_SUCCESS, "cOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM_SUCCESS" }, - { cOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM_ERROR, "cOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM_ERROR" }, - { 0, NULL } - }; - const value_string vals_tOCTVC1_MAIN_LOG_TRACE_STATE_ENUM[] = { { cOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_STOP, "cOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_STOP" }, @@ -376,42 +71,6 @@ const value_string vals_tOCTVC1_MAIN_LOG_TRACE_STATE_ENUM[] = { 0, NULL } }; -const value_string vals_tOCTVC1_MAIN_FILE_SEEK_ENUM[] = - { - { cOCTVC1_MAIN_FILE_SEEK_ENUM_SET, "cOCTVC1_MAIN_FILE_SEEK_ENUM_SET" }, - { cOCTVC1_MAIN_FILE_SEEK_ENUM_CUR, "cOCTVC1_MAIN_FILE_SEEK_ENUM_CUR" }, - { cOCTVC1_MAIN_FILE_SEEK_ENUM_END, "cOCTVC1_MAIN_FILE_SEEK_ENUM_END" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_TDM_FRAME_ACTIVE_ENUM[] = - { - { cOCTVC1_MAIN_TDM_FRAME_ACTIVE_ENUM_LOW, "cOCTVC1_MAIN_TDM_FRAME_ACTIVE_ENUM_LOW" }, - { cOCTVC1_MAIN_TDM_FRAME_ACTIVE_ENUM_HIGH, "cOCTVC1_MAIN_TDM_FRAME_ACTIVE_ENUM_HIGH" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_TDM_SAMPLE_ENUM[] = - { - { cOCTVC1_MAIN_TDM_SAMPLE_ENUM_AT_FALLING_EDGE, "cOCTVC1_MAIN_TDM_SAMPLE_ENUM_AT_FALLING_EDGE" }, - { cOCTVC1_MAIN_TDM_SAMPLE_ENUM_AT_RISING_EDGE, "cOCTVC1_MAIN_TDM_SAMPLE_ENUM_AT_RISING_EDGE" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_TDM_DISABLED_FRAME_SOURCE_ENUM[] = - { - { cOCTVC1_MAIN_TDM_DISABLED_FRAME_SOURCE_ENUM_INTERNAL, "cOCTVC1_MAIN_TDM_DISABLED_FRAME_SOURCE_ENUM_INTERNAL" }, - { cOCTVC1_MAIN_TDM_DISABLED_FRAME_SOURCE_ENUM_EXTERNAL, "cOCTVC1_MAIN_TDM_DISABLED_FRAME_SOURCE_ENUM_EXTERNAL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_MAIN_TDM_DATA_RESOLUTION_ENUM[] = - { - { cOCTVC1_MAIN_TDM_DATA_RESOLUTION_ENUM_8_BITS_PER_SAMPLE, "cOCTVC1_MAIN_TDM_DATA_RESOLUTION_ENUM_8_BITS_PER_SAMPLE" }, - { cOCTVC1_MAIN_TDM_DATA_RESOLUTION_ENUM_16_BITS_PER_SAMPLE, "cOCTVC1_MAIN_TDM_DATA_RESOLUTION_ENUM_16_BITS_PER_SAMPLE" }, - { 0, NULL } - }; - const value_string vals_tOCTVC1_MAIN_EVT_PHY_MASK[] = { { cOCTVC1_MAIN_EVT_PHY_MASK_UP, "cOCTVC1_MAIN_EVT_PHY_MASK_UP" }, @@ -423,589 +82,64 @@ const value_string vals_tOCTVC1_MAIN_EVT_PHY_MASK[] = COMMON Registered ****************************************************************************/ -int ahf_tOCTVC1_MAIN_LICENSING_CURSOR[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_LICENSING_CURSOR; +int ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG; -void register_tOCTVC1_MAIN_LICENSING_CURSOR(void) +void register_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_LICENSING_CURSOR[0], - { "szFeatureName", "octvc1.main.licensing_cursor.szfeaturename", - FT_STRING, BASE_NONE, NULL, 0x0, - "szFeatureName",HFILL } + &ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG[0], + { "ulWaitTimeMs", "octvc1.main.api_session_heartbeat_config.ulwaittimems", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulWaitTimeMs",HFILL } }, { - &ahf_tOCTVC1_MAIN_LICENSING_CURSOR[1], - { "ulGetMode", "octvc1.main.licensing_cursor.ulgetmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, - "ulGetMode",HFILL } + &ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG[1], + { "ulIdleOnlyFlag", "octvc1.main.api_session_heartbeat_config.ulidleonlyflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulIdleOnlyFlag",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_LICENSING_CURSOR.ett + &ws_htOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_THREAD_CPU_USAGE[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_THREAD_CPU_USAGE; +int ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS; -void register_tOCTVC1_MAIN_THREAD_CPU_USAGE(void) +void register_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_THREAD_CPU_USAGE[0], - { "hThread", "octvc1.main.thread_cpu_usage.hthread", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hThread",HFILL } + &ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS[0], + { "ulState", "octvc1.main.api_session_heartbeat_stats.ulstate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_HEARTBEAT_STATE_ENUM), 0x0, + "ulState",HFILL } }, { - &ahf_tOCTVC1_MAIN_THREAD_CPU_USAGE[1], - { "ulCpuUsagePercent", "octvc1.main.thread_cpu_usage.ulcpuusagepercent", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulCpuUsagePercent",HFILL } + &ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS[1], + { "ulHeartbeatSentCnt", "octvc1.main.api_session_heartbeat_stats.ulheartbeatsentcnt", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulHeartbeatSentCnt",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_THREAD_CPU_USAGE.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_OPUS_CORE_STATUS; - -void register_tOCTVC1_MAIN_OPUS_CORE_STATUS(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[0], - { "ulCoreStatus", "octvc1.main.opus_core_status.ulcorestatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM), 0x0, - "ulCoreStatus",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[1], - { "ulProgramCounter", "octvc1.main.opus_core_status.ulprogramcounter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulProgramCounter",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[2], - { "ulFailureMask", "octvc1.main.opus_core_status.ulfailuremask", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFailureMask",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[3], - { "ulAccessViolationAddress", "octvc1.main.opus_core_status.ulaccessviolationaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAccessViolationAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_OPUS_CORE_STATUS.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_OCT1010_CORE_STATUS; - -void register_tOCTVC1_MAIN_OCT1010_CORE_STATUS(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[0], - { "ulCoreStatus", "octvc1.main.oct1010_core_status.ulcorestatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM), 0x0, - "ulCoreStatus",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[1], - { "ulProgramCounter", "octvc1.main.oct1010_core_status.ulprogramcounter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulProgramCounter",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[2], - { "ulAccessViolationAddress", "octvc1.main.oct1010_core_status.ulaccessviolationaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAccessViolationAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_OCT1010_CORE_STATUS.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_OPUS_CORE_INFO; - -void register_tOCTVC1_MAIN_OPUS_CORE_INFO(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[0], - { "hProcess", "octvc1.main.opus_core_info.hprocess", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hProcess",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[1], - { "ulPhysicalCoreId", "octvc1.main.opus_core_info.ulphysicalcoreid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPhysicalCoreId",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[2], - { "ulProcessImageType", "octvc1.main.opus_core_info.ulprocessimagetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_PROCESS_TYPE_ENUM), 0x0, - "ulProcessImageType",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_OPUS_CORE_INFO.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_OCT1010_CORE_INFO; - -void register_tOCTVC1_MAIN_OCT1010_CORE_INFO(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[0], - { "hProcess", "octvc1.main.oct1010_core_info.hprocess", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hProcess",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[1], - { "hThread", "octvc1.main.oct1010_core_info.hthread", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hThread",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[2], - { "ulProcessImageType", "octvc1.main.oct1010_core_info.ulprocessimagetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_PROCESS_TYPE_ENUM), 0x0, - "ulProcessImageType",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[3], - { "szProcessImageName", "octvc1.main.oct1010_core_info.szprocessimagename", - FT_STRING, BASE_NONE, NULL, 0x0, - "szProcessImageName",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_OCT1010_CORE_INFO.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[12]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC; - -void register_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[0], - { "ulEthPortEnableFlag", "octvc1.main.eth_port_config_dynamic.ulethportenableflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulEthPortEnableFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[1], - { "MacAddress", "octvc1.main.eth_port_config_dynamic.macaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "MacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[2], - { "ulAcceptAllMacFlag", "octvc1.main.eth_port_config_dynamic.ulacceptallmacflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAcceptAllMacFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[3], - { "ulAcceptUnicastFlag", "octvc1.main.eth_port_config_dynamic.ulacceptunicastflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAcceptUnicastFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[4], - { "ulAcceptMulticastFlag", "octvc1.main.eth_port_config_dynamic.ulacceptmulticastflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAcceptMulticastFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[5], - { "ulAcceptBadCrcPktFlag", "octvc1.main.eth_port_config_dynamic.ulacceptbadcrcpktflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAcceptBadCrcPktFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[6], - { "ulAcceptLongPktFormatFlag", "octvc1.main.eth_port_config_dynamic.ulacceptlongpktformatflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAcceptLongPktFormatFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[7], - { "ulBroadcastForwardPort", "octvc1.main.eth_port_config_dynamic.ulbroadcastforwardport", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_ETH_PORT_ID_ENUM), 0x0, - "ulBroadcastForwardPort",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[8], - { "ulMulticastForwardPort", "octvc1.main.eth_port_config_dynamic.ulmulticastforwardport", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_ETH_PORT_ID_ENUM), 0x0, - "ulMulticastForwardPort",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[9], - { "ulUnicastForwardPort", "octvc1.main.eth_port_config_dynamic.ulunicastforwardport", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_ETH_PORT_ID_ENUM), 0x0, - "ulUnicastForwardPort",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[10], - { "ulRxMirrorForwardPort", "octvc1.main.eth_port_config_dynamic.ulrxmirrorforwardport", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_ETH_PORT_ID_ENUM), 0x0, - "ulRxMirrorForwardPort",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[11], - { "ulRestrictedApiFlag", "octvc1.main.eth_port_config_dynamic.ulrestrictedapiflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulRestrictedApiFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC; - -void register_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[0], - { "ulInterfaceType", "octvc1.main.eth_port_config_static.ulinterfacetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM), 0x0, - "ulInterfaceType",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[1], - { "ulMode", "octvc1.main.eth_port_config_static.ulmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_ETH_MODE_ENUM), 0x0, - "ulMode",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[2], - { "ulSpeed", "octvc1.main.eth_port_config_static.ulspeed", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSpeed",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[3], - { "ulFullDuplexFlag", "octvc1.main.eth_port_config_static.ulfullduplexflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulFullDuplexFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[4], - { "ulPhyAddress", "octvc1.main.eth_port_config_static.ulphyaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPhyAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[5], - { "ulPktQueuesByteSize", "octvc1.main.eth_port_config_static.ulpktqueuesbytesize", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPktQueuesByteSize",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_ETH_PORT_STATS[25]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_ETH_PORT_STATS; - -void register_tOCTVC1_MAIN_ETH_PORT_STATS(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[0], - { "ulRxPktErrorCnt", "octvc1.main.eth_port_stats.ulrxpkterrorcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxPktErrorCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[1], - { "ulRxOddNibbleCnt", "octvc1.main.eth_port_stats.ulrxoddnibblecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxOddNibbleCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[2], - { "ulRxCrcErrorCnt", "octvc1.main.eth_port_stats.ulrxcrcerrorcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxCrcErrorCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[3], - { "ulRxSfdAbsentCnt", "octvc1.main.eth_port_stats.ulrxsfdabsentcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxSfdAbsentCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[4], - { "ulRxShortFrameCnt", "octvc1.main.eth_port_stats.ulrxshortframecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxShortFrameCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[5], - { "ulRxLongFrameCnt", "octvc1.main.eth_port_stats.ulrxlongframecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxLongFrameCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[6], - { "ulRxFalseCarrierCnt", "octvc1.main.eth_port_stats.ulrxfalsecarriercnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxFalseCarrierCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[7], - { "ulTxFalseCarrierCnt", "octvc1.main.eth_port_stats.ultxfalsecarriercnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulTxFalseCarrierCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[8], - { "ulRxMemOverflowCnt", "octvc1.main.eth_port_stats.ulrxmemoverflowcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxMemOverflowCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[9], - { "ulRxBufferOverflowCnt", "octvc1.main.eth_port_stats.ulrxbufferoverflowcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxBufferOverflowCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[10], - { "ulRxPauseFrameCnt", "octvc1.main.eth_port_stats.ulrxpauseframecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxPauseFrameCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[11], - { "ulTxPauseFrameCnt", "octvc1.main.eth_port_stats.ultxpauseframecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulTxPauseFrameCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[12], - { "ulTxMemChecksum", "octvc1.main.eth_port_stats.ultxmemchecksum", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulTxMemChecksum",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[13], - { "ulTxBufferUnderflowCnt", "octvc1.main.eth_port_stats.ultxbufferunderflowcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulTxBufferUnderflowCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[14], - { "ulDefaultMacAddressUsedFlag", "octvc1.main.eth_port_stats.uldefaultmacaddressusedflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulDefaultMacAddressUsedFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[15], - { "ulTxLateCollisionCnt", "octvc1.main.eth_port_stats.ultxlatecollisioncnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTxLateCollisionCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[16], - { "ulTxExcessCollisionCnt", "octvc1.main.eth_port_stats.ultxexcesscollisioncnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTxExcessCollisionCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[17], - { "ulTxExcessDeferralCnt", "octvc1.main.eth_port_stats.ultxexcessdeferralcnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTxExcessDeferralCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[18], - { "ulRxAlignmentErrorCnt", "octvc1.main.eth_port_stats.ulrxalignmenterrorcnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRxAlignmentErrorCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[19], - { "ulRxJabberErrorCnt", "octvc1.main.eth_port_stats.ulrxjabbererrorcnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRxJabberErrorCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[20], - { "ulRxLengthErrorCnt", "octvc1.main.eth_port_stats.ulrxlengtherrorcnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRxLengthErrorCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[21], - { "ulRxOutOfRangeTypeCnt", "octvc1.main.eth_port_stats.ulrxoutofrangetypecnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRxOutOfRangeTypeCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[22], - { "ulRxWatchdogErrorCnt", "octvc1.main.eth_port_stats.ulrxwatchdogerrorcnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRxWatchdogErrorCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[23], - { "ulRxIPv4HeaderErrorCnt", "octvc1.main.eth_port_stats.ulrxipv4headererrorcnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRxIPv4HeaderErrorCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_ETH_PORT_STATS[24], - { "ulRxIPv6HeaderErrorCnt", "octvc1.main.eth_port_stats.ulrxipv6headererrorcnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRxIPv6HeaderErrorCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_ETH_PORT_STATS.ett + &ws_htOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -1044,85 +178,99 @@ void register_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR(void) }; -int ahf_tOCTVC1_MAIN_LOG_ENTRY[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_LOG_ENTRY; +int ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_LOG_TRACE_STATS; -void register_tOCTVC1_MAIN_LOG_ENTRY(void) +void register_tOCTVC1_MAIN_LOG_TRACE_STATS(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_LOG_ENTRY[0], - { "ulLogSeqNumber", "octvc1.main.log_entry.ullogseqnumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLogSeqNumber",HFILL } + &ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[0], + { "ulCurrentFileSize", "octvc1.main.log_trace_stats.ulcurrentfilesize", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulCurrentFileSize",HFILL } }, { - &ahf_tOCTVC1_MAIN_LOG_ENTRY[1], - { "ulLogTimestamp", "octvc1.main.log_entry.ullogtimestamp", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLogTimestamp",HFILL } + &ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[1], + { "ulCurrentFileIndex", "octvc1.main.log_trace_stats.ulcurrentfileindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulCurrentFileIndex",HFILL } }, { - &ahf_tOCTVC1_MAIN_LOG_ENTRY[2], - { "ulLogReserved0", "octvc1.main.log_entry.ullogreserved0", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLogReserved0",HFILL } + &ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[2], + { "ulFileOverwriteCnt", "octvc1.main.log_trace_stats.ulfileoverwritecnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulFileOverwriteCnt",HFILL } }, { - &ahf_tOCTVC1_MAIN_LOG_ENTRY[3], - { "ulLogReserved1", "octvc1.main.log_entry.ullogreserved1", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLogReserved1",HFILL } + &ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[3], + { "ulNumFiles", "octvc1.main.log_trace_stats.ulnumfiles", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulNumFiles",HFILL } }, { - &ahf_tOCTVC1_MAIN_LOG_ENTRY[4], - { "achLogMsg", "octvc1.main.log_entry.achlogmsg", + &ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[4], + { "abyFileIndexes", "octvc1.main.log_trace_stats.abyfileindexes", + FT_UINT8,BASE_HEX, NULL, 0x0, + "abyFileIndexes",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[5], + { "szFileNamePrefix", "octvc1.main.log_trace_stats.szfilenameprefix", FT_STRING, BASE_NONE, NULL, 0x0, - "achLogMsg",HFILL } + "szFileNamePrefix",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_LOG_ENTRY.ett + &ws_htOCTVC1_MAIN_LOG_TRACE_STATS.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_FILE_CURSOR[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_FILE_CURSOR; +int ahf_tOCTVC1_MAIN_LOG_TRACE_INFO[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_LOG_TRACE_INFO; -void register_tOCTVC1_MAIN_FILE_CURSOR(void) +void register_tOCTVC1_MAIN_LOG_TRACE_INFO(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_FILE_CURSOR[0], - { "szFileName", "octvc1.main.file_cursor.szfilename", - FT_STRING, BASE_NONE, NULL, 0x0, - "szFileName",HFILL } + &ahf_tOCTVC1_MAIN_LOG_TRACE_INFO[0], + { "ulMaxFileSize", "octvc1.main.log_trace_info.ulmaxfilesize", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxFileSize",HFILL } }, { - &ahf_tOCTVC1_MAIN_FILE_CURSOR[1], - { "ulGetMode", "octvc1.main.file_cursor.ulgetmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, - "ulGetMode",HFILL } + &ahf_tOCTVC1_MAIN_LOG_TRACE_INFO[1], + { "ulMaxNumFiles", "octvc1.main.log_trace_info.ulmaxnumfiles", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxNumFiles",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_LOG_TRACE_INFO[2], + { "szFileNamePrefix", "octvc1.main.log_trace_info.szfilenameprefix", + FT_STRING, BASE_NONE, NULL, 0x0, + "szFileNamePrefix",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_FILE_CURSOR.ett + &ws_htOCTVC1_MAIN_LOG_TRACE_INFO.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -1133,128 +281,7 @@ void register_tOCTVC1_MAIN_FILE_CURSOR(void) Event Registered ****************************************************************************/ -int ahf_tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT; - -void register_tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT[0], - { "BufferId", "octvc1.main.module.tracing.buffer_full.bufferid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "BufferId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT; - -void register_tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT[0], - { "ulCoreUseMask", "octvc1.main.device.opus_core.exec_report.ulcoreusemask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulCoreUseMask",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT[1], - { "ulCoreHaltMask", "octvc1.main.device.opus_core.exec_report.ulcorehaltmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulCoreHaltMask",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT; - -void register_tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT[0], - { "ulBank", "octvc1.main.gpio.bank.change.ulbank", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBank",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT[1], - { "ulPortValue", "octvc1.main.gpio.bank.change.ulportvalue", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPortValue",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT; - -void register_tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT[0], - { "ulPhyAddress", "octvc1.main.mdio.phy.change.ulphyaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPhyAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT[1], - { "ulEvents", "octvc1.main.mdio.phy.change.ulevents", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulEvents",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[5]; +int ahf_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[4]; tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT; void register_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT(void) @@ -1271,7 +298,7 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT(void) { &ahf_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[1], { "ulProcessImageType", "octvc1.main.process.cpu_usage.report.ulprocessimagetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_PROCESS_TYPE_ENUM), 0x0, + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_PROCESS_TYPE_ENUM), 0x0, "ulProcessImageType",HFILL } }, @@ -1282,13 +309,6 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT(void) "ulProcessCpuUsagePercent",HFILL } }, - { - &ahf_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[3], - { "ulNumThread", "octvc1.main.process.cpu_usage.report.ulnumthread", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNumThread",HFILL } - - }, }; static gint* ett[] = @@ -1300,46 +320,82 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT(void) }; -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT; +int ahf_tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT; -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT(void) +void register_tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT[0], - { "hMgw", "octvc1.main.redundancy_server.mgw.failover_done.hmgw", + &ahf_tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT[0], + { "hProcess", "octvc1.main.process.dump.hprocess", FT_UINT32,BASE_HEX, NULL, 0x0, - "hMgw",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT[1], - { "ulDurationMs", "octvc1.main.redundancy_server.mgw.failover_done.uldurationms", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulDurationMs",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT[2], - { "FailoverStatus", "octvc1.main.redundancy_server.mgw.failover_done.failoverstatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM), 0x0, - "FailoverStatus",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT[3], - { "ulFailoverReturnCode", "octvc1.main.redundancy_server.mgw.failover_done.ulfailoverreturncode", - FT_STRING, BASE_NONE, NULL, 0x0, - "ulFailoverReturnCode",HFILL } + "hProcess",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT.ett + &ws_htOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT; + +void register_tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT[0], + { "ulState", "octvc1.main.application.state_change.ulstate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_APPLICATION_STATE_ENUM), 0x0, + "ulState",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT[1], + { "szAppName", "octvc1.main.application.state_change.szappname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szAppName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -1350,757 +406,30 @@ void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT(void) CMD/RSP Registered ****************************************************************************/ -int ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD; +int ahf_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_TARGET_INFO_RSP; -void register_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD(void) +void register_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[0], - { "ulEventMask", "octvc1.main.module.evt.modify.uleventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[1], - { "ulUserEventId", "octvc1.main.module.evt.modify.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[2], - { "hEventDestObj", "octvc1.main.module.evt.modify.heventdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hEventDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[3], - { "ulEventDestObjPort", "octvc1.main.module.evt.modify.uleventdestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[4], - { "ulEventDestObjFifoId", "octvc1.main.module.evt.modify.uleventdestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP; - -void register_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[0], - { "ulEventMask", "octvc1.main.module.evt.info.uleventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[1], - { "ulUserEventId", "octvc1.main.module.evt.info.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[2], - { "hEventDestObj", "octvc1.main.module.evt.info.heventdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hEventDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[3], - { "ulEventDestObjPort", "octvc1.main.module.evt.info.uleventdestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[4], - { "ulEventDestObjFifoId", "octvc1.main.module.evt.info.uleventdestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD; - -void register_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD[0], - { "ulTracingMode", "octvc1.main.module.tracing.start.ultracingmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_TRACING_MODE_ENUM), 0x0, - "ulTracingMode",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD[1], - { "ulTracingType", "octvc1.main.module.tracing.start.ultracingtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_TRACING_TYPE_ENUM), 0x0, - "ulTracingType",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD[2], - { "ulNumBuffer", "octvc1.main.module.tracing.start.ulnumbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumBuffer",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD[3], - { "aBufferId", "octvc1.main.module.tracing.start.abufferid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aBufferId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD; - -void register_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD[0], - { "ulFormat", "octvc1.main.buffer.open.ulformat", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_BUFFER_FORMAT_ENUM), 0x0, - "ulFormat",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD[1], - { "ulByteLength", "octvc1.main.buffer.open.ulbytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD[2], - { "szBufferName", "octvc1.main.buffer.open.szbuffername", - FT_STRING, BASE_NONE, NULL, 0x0, - "szBufferName",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP; - -void register_tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP[0], - { "hBuffer", "octvc1.main.buffer.open.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP[1], - { "ulAllocatedByteLength", "octvc1.main.buffer.open.ulallocatedbytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAllocatedByteLength",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD; - -void register_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD[0], - { "hBuffer", "octvc1.main.buffer.close.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP; - -void register_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP[0], - { "hBuffer", "octvc1.main.buffer.close.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_INFO_CMD; - -void register_tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD[0], - { "hBuffer", "octvc1.main.buffer.info.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_INFO_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_INFO_RSP; - -void register_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[0], - { "hBuffer", "octvc1.main.buffer.info.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[1], - { "ulFormat", "octvc1.main.buffer.info.ulformat", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_BUFFER_FORMAT_ENUM), 0x0, - "ulFormat",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[2], - { "szBufferName", "octvc1.main.buffer.info.szbuffername", - FT_STRING, BASE_NONE, NULL, 0x0, - "szBufferName",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[3], - { "ulUsedByteLength", "octvc1.main.buffer.info.ulusedbytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUsedByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[4], - { "ulAllocatedByteLength", "octvc1.main.buffer.info.ulallocatedbytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAllocatedByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[5], - { "ulDependencyCount", "octvc1.main.buffer.info.uldependencycount", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDependencyCount",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_LIST_CMD; - -void register_tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD[0], - { "ObjectCursor", "octvc1.main.buffer.list.objectcursor", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectCursor",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_LIST_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_LIST_RSP; - -void register_tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP[0], - { "ObjectCursor", "octvc1.main.buffer.list.objectcursor", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectCursor",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP[1], - { "ObjectList", "octvc1.main.buffer.list.objectlist", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectList",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_LIST_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD; - -void register_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[0], - { "hBuffer", "octvc1.main.buffer.modify.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[1], - { "ulFormat", "octvc1.main.buffer.modify.ulformat", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_BUFFER_FORMAT_ENUM), 0x0, - "ulFormat",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[2], - { "ulUsedByteSize", "octvc1.main.buffer.modify.ulusedbytesize", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUsedByteSize",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP; - -void register_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP[0], - { "hBuffer", "octvc1.main.buffer.modify.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD; - -void register_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[0], - { "hBuffer", "octvc1.main.buffer.write.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[1], - { "ulWriteByteLength", "octvc1.main.buffer.write.ulwritebytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulWriteByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[2], - { "ulWriteByteOffset", "octvc1.main.buffer.write.ulwritebyteoffset", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulWriteByteOffset",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[3], - { "abyWriteData", "octvc1.main.buffer.write.abywritedata", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyWriteData",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP; - -void register_tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP[0], - { "hBuffer", "octvc1.main.buffer.write.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP[1], - { "ulNumByteWritten", "octvc1.main.buffer.write.ulnumbytewritten", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumByteWritten",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_READ_CMD; - -void register_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD[0], - { "hBuffer", "octvc1.main.buffer.read.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD[1], - { "ulMaxReadByteLength", "octvc1.main.buffer.read.ulmaxreadbytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxReadByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD[2], - { "ulReadByteOffset", "octvc1.main.buffer.read.ulreadbyteoffset", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulReadByteOffset",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_READ_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_READ_RSP; - -void register_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP[0], - { "hBuffer", "octvc1.main.buffer.read.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP[1], - { "ulDoneFlag", "octvc1.main.buffer.read.uldoneflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulDoneFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP[2], - { "ulNumByteRead", "octvc1.main.buffer.read.ulnumbyteread", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumByteRead",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP[3], - { "abyData", "octvc1.main.buffer.read.abydata", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyData",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_READ_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD; - -void register_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD[0], - { "szBufferName", "octvc1.main.buffer.info_by_name.szbuffername", - FT_STRING, BASE_NONE, NULL, 0x0, - "szBufferName",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP; - -void register_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[0], - { "hBuffer", "octvc1.main.buffer.info_by_name.hbuffer", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hBuffer",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[1], - { "ulFormat", "octvc1.main.buffer.info_by_name.ulformat", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_BUFFER_FORMAT_ENUM), 0x0, - "ulFormat",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[2], - { "szBufferName", "octvc1.main.buffer.info_by_name.szbuffername", - FT_STRING, BASE_NONE, NULL, 0x0, - "szBufferName",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[3], - { "ulUsedByteLength", "octvc1.main.buffer.info_by_name.ulusedbytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUsedByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[4], - { "ulAllocatedByteLength", "octvc1.main.buffer.info_by_name.ulallocatedbytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAllocatedByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[5], - { "ulDependencyCount", "octvc1.main.buffer.info_by_name.uldependencycount", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDependencyCount",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEVICE_INFO_RSP; - -void register_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP[0], - { "ulDeviceType", "octvc1.main.device.info.uldevicetype", + &ahf_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP[0], + { "ulTargetType", "octvc1.main.target.info.ultargettype", FT_UINT32,BASE_HEX, VALS(vals_tOCTDEV_DEVICES_TYPE_ENUM), 0x0, - "ulDeviceType",HFILL } + "ulTargetType",HFILL } }, { - &ahf_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP[1], - { "abyDeviceInfo", "octvc1.main.device.info.abydeviceinfo", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyDeviceInfo",HFILL } + &ahf_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP[1], + { "abyTargetInfo", "octvc1.main.target.info.abytargetinfo", + FT_STRING, BASE_NONE, NULL, 0x0, + "abyTargetInfo",HFILL } }, { - &ahf_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP[2], - { "abyUserInfo", "octvc1.main.device.info.abyuserinfo", + &ahf_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP[2], + { "abyUserInfo", "octvc1.main.target.info.abyuserinfo", FT_BYTES, BASE_NONE, NULL, 0x0, "abyUserInfo",HFILL } @@ -2109,458 +438,7 @@ void register_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP(void) static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_DEVICE_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP; - -void register_tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP[0], - { "aCoreStatus", "octvc1.main.device.opus_core.status.acorestatus", - FT_NONE, BASE_NONE, NULL, 0x0, - "aCoreStatus",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP; - -void register_tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP[0], - { "aCoreInfo", "octvc1.main.device.opus_core.info.acoreinfo", - FT_NONE, BASE_NONE, NULL, 0x0, - "aCoreInfo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[12]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_OCT1010_INFO_RSP; - -void register_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[0], - { "ulOCT1010VersionId", "octvc1.main.oct1010.info.uloct1010versionid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulOCT1010VersionId",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[1], - { "szOCT1010Version", "octvc1.main.oct1010.info.szoct1010version", - FT_STRING, BASE_NONE, NULL, 0x0, - "szOCT1010Version",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[2], - { "ulSerialNumber", "octvc1.main.oct1010.info.ulserialnumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSerialNumber",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[3], - { "ulProjectNumber", "octvc1.main.oct1010.info.ulprojectnumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulProjectNumber",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[4], - { "aOCT1010MacAddress", "octvc1.main.oct1010.info.aoct1010macaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "aOCT1010MacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[5], - { "ulOCT1010IDVersionId", "octvc1.main.oct1010.info.uloct1010idversionid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulOCT1010IDVersionId",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[6], - { "szOCT1010IDVersion", "octvc1.main.oct1010.info.szoct1010idversion", - FT_STRING, BASE_NONE, NULL, 0x0, - "szOCT1010IDVersion",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[7], - { "ulTdmNumStream", "octvc1.main.oct1010.info.ultdmnumstream", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTdmNumStream",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[8], - { "ulTdmStreamFrequency", "octvc1.main.oct1010.info.ultdmstreamfrequency", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM), 0x0, - "ulTdmStreamFrequency",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[9], - { "aMacAddress", "octvc1.main.oct1010.info.amacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "aMacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[10], - { "aulUserInfo", "octvc1.main.oct1010.info.auluserinfo", - FT_BYTES, BASE_NONE, NULL, 0x0, - "aulUserInfo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_OCT1010_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_OCT1010_STATS_CMD; - -void register_tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD[0], - { "ulResetStatsFlag", "octvc1.main.oct1010.stats.ulresetstatsflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulResetStatsFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_OCT1010_STATS_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_OCT1010_STATS_RSP; - -void register_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP[0], - { "ulOCT1010MonitorNumber", "octvc1.main.oct1010.stats.uloct1010monitornumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulOCT1010MonitorNumber",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP[1], - { "ulTdmCpyOutOfBandwidthCnt", "octvc1.main.oct1010.stats.ultdmcpyoutofbandwidthcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulTdmCpyOutOfBandwidthCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP[2], - { "ulTdmTxTimeslotPtrOutOfSyncCnt", "octvc1.main.oct1010.stats.ultdmtxtimeslotptroutofsynccnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulTdmTxTimeslotPtrOutOfSyncCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP[3], - { "ulTdmTimestampIncrementErrorCnt", "octvc1.main.oct1010.stats.ultdmtimestampincrementerrorcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulTdmTimestampIncrementErrorCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_OCT1010_STATS_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP; - -void register_tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP[0], - { "aCoreStatus", "octvc1.main.oct1010.core.status.acorestatus", - FT_NONE, BASE_NONE, NULL, 0x0, - "aCoreStatus",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP; - -void register_tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP[0], - { "aCoreInfo", "octvc1.main.oct1010.core.info.acoreinfo", - FT_NONE, BASE_NONE, NULL, 0x0, - "aCoreInfo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP; - -void register_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP[0], - { "ulOct1010IdType", "octvc1.main.oct1010.oct1010id.info.uloct1010idtype", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulOct1010IdType",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP[1], - { "szOct1010IdType", "octvc1.main.oct1010.oct1010id.info.szoct1010idtype", - FT_STRING, BASE_NONE, NULL, 0x0, - "szOct1010IdType",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP[2], - { "ulTdmOutputEnableSupportFlag", "octvc1.main.oct1010.oct1010id.info.ultdmoutputenablesupportflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulTdmOutputEnableSupportFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP[3], - { "ulTdmOutputEnableDeviceFlag", "octvc1.main.oct1010.oct1010id.info.ultdmoutputenabledeviceflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulTdmOutputEnableDeviceFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_ETH_STATS_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_ETH_STATS_CMD; - -void register_tOCTVC1_MAIN_MSG_ETH_STATS_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_ETH_STATS_CMD[0], - { "ulResetStatsFlag", "octvc1.main.eth.stats.ulresetstatsflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulResetStatsFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_ETH_STATS_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_ETH_STATS_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_ETH_STATS_RSP; - -void register_tOCTVC1_MAIN_MSG_ETH_STATS_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_ETH_STATS_RSP[0], - { "aStats", "octvc1.main.eth.stats.astats", - FT_NONE, BASE_NONE, NULL, 0x0, - "aStats",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_ETH_STATS_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD; - -void register_tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD[0], - { "aDynamic", "octvc1.main.eth.port_config.modify.adynamic", - FT_NONE, BASE_NONE, NULL, 0x0, - "aDynamic",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP; - -void register_tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP[0], - { "aDynamic", "octvc1.main.eth.port_config.info.adynamic", - FT_NONE, BASE_NONE, NULL, 0x0, - "aDynamic",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP[1], - { "aStatic", "octvc1.main.eth.port_config.info.astatic", - FT_NONE, BASE_NONE, NULL, 0x0, - "aStatic",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_REGISTER_READ_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REGISTER_READ_RSP; - -void register_tOCTVC1_MAIN_MSG_REGISTER_READ_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_REGISTER_READ_RSP[0], - { "ulTdmTimestampReg", "octvc1.main.register.read.ultdmtimestampreg", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTdmTimestampReg",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_REGISTER_READ_RSP[1], - { "ulNanoSecondCounterReg", "octvc1.main.register.read.ulnanosecondcounterreg", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNanoSecondCounterReg",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_REGISTER_READ_RSP.ett + &ws_htOCTVC1_MAIN_MSG_TARGET_INFO_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -2802,7 +680,7 @@ void register_tOCTVC1_MAIN_MSG_FILE_INFO_CMD(void) }; -int ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[4]; +int ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[5]; tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_INFO_RSP; void register_tOCTVC1_MAIN_MSG_FILE_INFO_RSP(void) @@ -2830,6 +708,13 @@ void register_tOCTVC1_MAIN_MSG_FILE_INFO_RSP(void) "ulAccessMode",HFILL } }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[3], + { "ulMinAlignBytes", "octvc1.main.file.info.ulminalignbytes", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMinAlignBytes",HFILL } + + }, }; static gint* ett[] = @@ -3030,675 +915,181 @@ void register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP(void) }; -int ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD; +int ahf_tOCTVC1_MAIN_MSG_LOG_INFO_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LOG_INFO_RSP; -void register_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD(void) +void register_tOCTVC1_MAIN_MSG_LOG_INFO_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD[0], - { "ulGetNewestFlag", "octvc1.main.log.entry.read.ulgetnewestflag", + &ahf_tOCTVC1_MAIN_MSG_LOG_INFO_RSP[0], + { "LogInfo", "octvc1.main.log.info.loginfo", + FT_NONE, BASE_NONE, NULL, 0x0, + "LogInfo",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_LOG_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_LOG_STATS_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LOG_STATS_RSP; + +void register_tOCTVC1_MAIN_MSG_LOG_STATS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_LOG_STATS_RSP[0], + { "LogStats", "octvc1.main.log.stats.logstats", + FT_NONE, BASE_NONE, NULL, 0x0, + "LogStats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_LOG_STATS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP; + +void register_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP[0], + { "ulFullAutoStopFlag", "octvc1.main.log.trace.info.ulfullautostopflag", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulFullAutoStopFlag",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP[1], + { "ulTraceMask", "octvc1.main.log.trace.info.ultracemask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulTraceMask",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP[2], + { "TraceInfo", "octvc1.main.log.trace.info.traceinfo", + FT_NONE, BASE_NONE, NULL, 0x0, + "TraceInfo",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD; + +void register_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD[0], + { "ulFullAutoStopFlag", "octvc1.main.log.trace.start.ulfullautostopflag", FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulGetNewestFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP; - -void register_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP[0], - { "ulNumLogEntry", "octvc1.main.log.entry.read.ulnumlogentry", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNumLogEntry",HFILL } + "ulFullAutoStopFlag",HFILL } }, { - &ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP[1], - { "aLogEntry", "octvc1.main.log.entry.read.alogentry", + &ahf_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD[1], + { "ulTraceMask", "octvc1.main.log.trace.start.ultracemask", FT_NONE, BASE_NONE, NULL, 0x0, - "aLogEntry",HFILL } + "ulTraceMask",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD[2], + { "ulFileSize", "octvc1.main.log.trace.start.ulfilesize", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulFileSize",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD[3], + { "ulFileNumber", "octvc1.main.log.trace.start.ulfilenumber", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulFileNumber",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP.ett + &ws_htOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LICENSING_INFO_CMD; +int ahf_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP; -void register_tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD(void) +void register_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD[0], - { "ObjectGet", "octvc1.main.licensing.info.objectget", + &ahf_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP[0], + { "ulState", "octvc1.main.log.trace.stats.ulstate", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_LOG_TRACE_STATE_ENUM), 0x0, + "ulState",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP[1], + { "ulFullAutoStopFlag", "octvc1.main.log.trace.stats.ulfullautostopflag", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulFullAutoStopFlag",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP[2], + { "ulTraceMask", "octvc1.main.log.trace.stats.ultracemask", FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } + "ulTraceMask",HFILL } }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_LICENSING_INFO_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LICENSING_INFO_RSP; - -void register_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP(void) -{ - static hf_register_info hf[] = - { { - &ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[0], - { "ObjectGet", "octvc1.main.licensing.info.objectget", + &ahf_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP[3], + { "TraceStats", "octvc1.main.log.trace.stats.tracestats", FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[1], - { "ulFeatureType", "octvc1.main.licensing.info.ulfeaturetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM), 0x0, - "ulFeatureType",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[2], - { "ulManagedFlag", "octvc1.main.licensing.info.ulmanagedflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulManagedFlag",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[3], - { "ulLicenseValue", "octvc1.main.licensing.info.ullicensevalue", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLicenseValue",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[4], - { "ulCurrentCount", "octvc1.main.licensing.info.ulcurrentcount", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulCurrentCount",HFILL } + "TraceStats",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_LICENSING_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD; - -void register_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD[0], - { "ulBank", "octvc1.main.gpio.bank.read.ulbank", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBank",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP; - -void register_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP[0], - { "ulBank", "octvc1.main.gpio.bank.read.ulbank", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBank",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP[1], - { "ulValue", "octvc1.main.gpio.bank.read.ulvalue", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulValue",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD; - -void register_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD[0], - { "ulBank", "octvc1.main.gpio.bank.write.ulbank", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBank",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD[1], - { "ulValue", "octvc1.main.gpio.bank.write.ulvalue", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulValue",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP; - -void register_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP[0], - { "ulBank", "octvc1.main.gpio.bank.write.ulbank", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBank",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD; - -void register_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD[0], - { "ulBank", "octvc1.main.gpio.bank.monitor.ulbank", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBank",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD[1], - { "ulMonitor", "octvc1.main.gpio.bank.monitor.ulmonitor", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMonitor",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP; - -void register_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP[0], - { "ulBank", "octvc1.main.gpio.bank.monitor.ulbank", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBank",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD; - -void register_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD[0], - { "ulBank", "octvc1.main.gpio.bank.config.modify.ulbank", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBank",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD[1], - { "ulDirection", "octvc1.main.gpio.bank.config.modify.uldirection", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDirection",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD[2], - { "ulTriStateHigh", "octvc1.main.gpio.bank.config.modify.ultristatehigh", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTriStateHigh",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP; - -void register_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP[0], - { "ulBank", "octvc1.main.gpio.bank.config.modify.ulbank", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBank",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[13]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_SPI_ACCESS_CMD; - -void register_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[0], - { "ulChipSelectPin", "octvc1.main.spi.access.ulchipselectpin", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulChipSelectPin",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[1], - { "ulClockPin", "octvc1.main.spi.access.ulclockpin", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulClockPin",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[2], - { "ulDataOutPin", "octvc1.main.spi.access.uldataoutpin", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDataOutPin",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[3], - { "ulDataInPin", "octvc1.main.spi.access.uldatainpin", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDataInPin",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[4], - { "ulDivider", "octvc1.main.spi.access.uldivider", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDivider",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[5], - { "ulSlaveSelectId", "octvc1.main.spi.access.ulslaveselectid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSlaveSelectId",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[6], - { "ulClockFrequency", "octvc1.main.spi.access.ulclockfrequency", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulClockFrequency",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[7], - { "ulClockPolarity", "octvc1.main.spi.access.ulclockpolarity", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM), 0x0, - "ulClockPolarity",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[8], - { "ulClockPhase", "octvc1.main.spi.access.ulclockphase", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM), 0x0, - "ulClockPhase",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[9], - { "ulReadByteCnt", "octvc1.main.spi.access.ulreadbytecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulReadByteCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[10], - { "ulWriteByteCnt", "octvc1.main.spi.access.ulwritebytecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulWriteByteCnt",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[11], - { "aulWriteData", "octvc1.main.spi.access.aulwritedata", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulWriteData",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_SPI_ACCESS_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_SPI_ACCESS_RSP; - -void register_tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP[0], - { "aulReadData", "octvc1.main.spi.access.aulreaddata", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulReadData",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_SPI_ACCESS_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD; - -void register_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD[0], - { "ulPhyAddress", "octvc1.main.mdio.phy.read.ulphyaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPhyAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD[1], - { "ulRegisterAddress", "octvc1.main.mdio.phy.read.ulregisteraddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRegisterAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP; - -void register_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP[0], - { "ulPhyAddress", "octvc1.main.mdio.phy.read.ulphyaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPhyAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP[1], - { "ulReadData", "octvc1.main.mdio.phy.read.ulreaddata", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulReadData",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD; - -void register_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD[0], - { "ulPhyAddress", "octvc1.main.mdio.phy.write.ulphyaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPhyAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD[1], - { "ulRegisterAddress", "octvc1.main.mdio.phy.write.ulregisteraddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRegisterAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD[2], - { "ulWriteData", "octvc1.main.mdio.phy.write.ulwritedata", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulWriteData",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP; - -void register_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP[0], - { "ulPhyAddress", "octvc1.main.mdio.phy.write.ulphyaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPhyAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD; - -void register_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD[0], - { "aulPhyAddress", "octvc1.main.mdio.phy.monitor.aulphyaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulPhyAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP; - -void register_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP[0], - { "aulPhyAddress", "octvc1.main.mdio.phy.monitor.aulphyaddress", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulPhyAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP.ett + &ws_htOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -3730,7 +1121,7 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD(void) }; -int ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[3]; +int ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[5]; tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_RSP; void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP(void) @@ -3746,11 +1137,25 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP(void) }, { &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[1], + { "szName", "octvc1.main.process.info.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[2], { "szProcessImageName", "octvc1.main.process.info.szprocessimagename", FT_STRING, BASE_NONE, NULL, 0x0, "szProcessImageName",HFILL } }, + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[3], + { "ulType", "octvc1.main.process.info.ultype", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_PROCESS_TYPE_ENUM), 0x0, + "ulType",HFILL } + + }, }; static gint* ett[] = @@ -3803,9 +1208,9 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP(void) }, { &ahf_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP[1], - { "ObjectList", "octvc1.main.process.list.objectlist", + { "ObjectNameList", "octvc1.main.process.list.objectnamelist", FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectList",HFILL } + "ObjectNameList",HFILL } }, }; @@ -3819,7 +1224,7 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP(void) }; -int ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[4]; +int ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[5]; tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD; void register_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD(void) @@ -3847,6 +1252,13 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD(void) "ulAlarmThresholdLowPercent",HFILL } }, + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[3], + { "ulMonitorEnableFlag", "octvc1.main.process.cpu_usage.monitor.ulmonitorenableflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulMonitorEnableFlag",HFILL } + + }, }; static gint* ett[] = @@ -3858,7 +1270,7 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD(void) }; -int ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP[3]; +int ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP[2]; tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP; void register_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP(void) @@ -3872,13 +1284,6 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP(void) "hProcess",HFILL } }, - { - &ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP[1], - { "ulProcessImageType", "octvc1.main.process.cpu_usage.monitor.ulprocessimagetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_PROCESS_TYPE_ENUM), 0x0, - "ulProcessImageType",HFILL } - - }, }; static gint* ett[] = @@ -3915,7 +1320,7 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD(void) }; -int ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[9]; +int ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[5]; tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP; void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP(void) @@ -3931,51 +1336,23 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP(void) }, { &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[1], - { "ulProcessImageType", "octvc1.main.process.cpu_usage.info.ulprocessimagetype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_PROCESS_TYPE_ENUM), 0x0, - "ulProcessImageType",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[2], { "ulAlarmThresholdHighPercent", "octvc1.main.process.cpu_usage.info.ulalarmthresholdhighpercent", FT_UINT32,BASE_DEC, NULL, 0x0, "ulAlarmThresholdHighPercent",HFILL } }, { - &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[3], + &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[2], { "ulAlarmThresholdLowPercent", "octvc1.main.process.cpu_usage.info.ulalarmthresholdlowpercent", FT_UINT32,BASE_DEC, NULL, 0x0, "ulAlarmThresholdLowPercent",HFILL } }, { - &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[4], - { "ulProcessCpuUsagePercent", "octvc1.main.process.cpu_usage.info.ulprocesscpuusagepercent", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulProcessCpuUsagePercent",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[5], - { "ulProcessCpuUsageMinPercent", "octvc1.main.process.cpu_usage.info.ulprocesscpuusageminpercent", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulProcessCpuUsageMinPercent",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[6], - { "ulProcessCpuUsageMaxPercent", "octvc1.main.process.cpu_usage.info.ulprocesscpuusagemaxpercent", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulProcessCpuUsageMaxPercent",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[7], - { "ulNumThread", "octvc1.main.process.cpu_usage.info.ulnumthread", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNumThread",HFILL } + &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[3], + { "ulMonitorEnableFlag", "octvc1.main.process.cpu_usage.info.ulmonitorenableflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulMonitorEnableFlag",HFILL } }, }; @@ -3989,606 +1366,680 @@ void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP(void) }; -int ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD; +int ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD; -void register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD(void) +void register_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[0], - { "hDestObj", "octvc1.main.debug_forward.open.hdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[1], - { "ulDestObjPort", "octvc1.main.debug_forward.open.uldestobjport", + &ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD[0], + { "hProcess", "octvc1.main.process.cpu_usage.stats.hprocess", FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjPort",HFILL } + "hProcess",HFILL } }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP; + +void register_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP(void) +{ + static hf_register_info hf[] = + { { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[2], - { "ulDestObjFifoId", "octvc1.main.debug_forward.open.uldestobjfifoid", + &ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP[0], + { "hProcess", "octvc1.main.process.cpu_usage.stats.hprocess", FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjFifoId",HFILL } + "hProcess",HFILL } }, { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[3], - { "DestMacAddress", "octvc1.main.debug_forward.open.destmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestMacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[4], - { "SrcMacAddress", "octvc1.main.debug_forward.open.srcmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "SrcMacAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP; - -void register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP[0], - { "hForward", "octvc1.main.debug_forward.open.hforward", - FT_NONE, BASE_NONE, NULL, 0x0, - "hForward",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP[1], - { "ulFifoId", "octvc1.main.debug_forward.open.ulfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD; - -void register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD[0], - { "hForward", "octvc1.main.debug_forward.close.hforward", - FT_NONE, BASE_NONE, NULL, 0x0, - "hForward",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP; - -void register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP[0], - { "hForward", "octvc1.main.debug_forward.close.hforward", - FT_NONE, BASE_NONE, NULL, 0x0, - "hForward",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD; - -void register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD[0], - { "ObjectGet", "octvc1.main.debug_forward.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP; - -void register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP[0], - { "ObjectGet", "octvc1.main.debug_forward.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD; - -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD[0], - { "ulMaxNumServerMgw", "octvc1.main.redundancy_server.start.ulmaxnumservermgw", + &ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP[1], + { "ulProcessCpuUsagePercent", "octvc1.main.process.cpu_usage.stats.ulprocesscpuusagepercent", FT_UINT32,BASE_DEC, NULL, 0x0, - "ulMaxNumServerMgw",HFILL } + "ulProcessCpuUsagePercent",HFILL } }, { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD[1], - { "ulForceApiResourceCleanUpFlag", "octvc1.main.redundancy_server.start.ulforceapiresourcecleanupflag", + &ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP[2], + { "ulProcessCpuUsageMinPercent", "octvc1.main.process.cpu_usage.stats.ulprocesscpuusageminpercent", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulProcessCpuUsageMinPercent",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP[3], + { "ulProcessCpuUsageMaxPercent", "octvc1.main.process.cpu_usage.stats.ulprocesscpuusagemaxpercent", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulProcessCpuUsageMaxPercent",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD[0], + { "IndexGet", "octvc1.main.api_system.session.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP[0], + { "IndexGet", "octvc1.main.api_system.session.list.indexget", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexGet",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP[1], + { "IndexList", "octvc1.main.api_system.session.list.indexlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "IndexList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD[0], + { "ulSessionIndex", "octvc1.main.api_system.session.info.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP[0], + { "ulSessionIndex", "octvc1.main.api_system.session.info.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP[1], + { "SessionInfo", "octvc1.main.api_system.session.info.sessioninfo", + FT_NONE, BASE_NONE, NULL, 0x0, + "SessionInfo",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD[0], + { "ulSessionIndex", "octvc1.main.api_system.session.evt.info.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP[0], + { "ulSessionIndex", "octvc1.main.api_system.session.evt.info.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP[1], + { "EvtInfo", "octvc1.main.api_system.session.evt.info.evtinfo", + FT_NONE, BASE_NONE, NULL, 0x0, + "EvtInfo",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD[0], + { "ulSessionIndex", "octvc1.main.api_system.session.evt.modify.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD[1], + { "ulEvtActiveFlag", "octvc1.main.api_system.session.evt.modify.ulevtactiveflag", FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulForceApiResourceCleanUpFlag",HFILL } + "ulEvtActiveFlag",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD.ett + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP; +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP; -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP(void) +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[0], - { "ulMaxNumSystemMgw", "octvc1.main.redundancy_server.info.ulmaxnumsystemmgw", + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP[0], + { "ulSessionIndex", "octvc1.main.api_system.session.evt.modify.ulsessionindex", FT_UINT32,BASE_DEC, NULL, 0x0, - "ulMaxNumSystemMgw",HFILL } + "ulSessionIndex",HFILL } }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD(void) +{ + static hf_register_info hf[] = + { { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[1], - { "ulMaxNumServerMgw", "octvc1.main.redundancy_server.info.ulmaxnumservermgw", + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.info.ulsessionindex", FT_UINT32,BASE_DEC, NULL, 0x0, - "ulMaxNumServerMgw",HFILL } + "ulSessionIndex",HFILL } }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP(void) +{ + static hf_register_info hf[] = + { { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[2], - { "ulMgwCnt", "octvc1.main.redundancy_server.info.ulmgwcnt", + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.info.ulsessionindex", FT_UINT32,BASE_DEC, NULL, 0x0, - "ulMgwCnt",HFILL } + "ulSessionIndex",HFILL } }, { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[3], - { "State", "octvc1.main.redundancy_server.info.state", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM), 0x0, - "State",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[4], - { "hFailoverMgw", "octvc1.main.redundancy_server.info.hfailovermgw", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hFailoverMgw",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[5], - { "FailoverStatus", "octvc1.main.redundancy_server.info.failoverstatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM), 0x0, - "FailoverStatus",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[6], - { "ulFailoverReturnCode", "octvc1.main.redundancy_server.info.ulfailoverreturncode", - FT_STRING, BASE_NONE, NULL, 0x0, - "ulFailoverReturnCode",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD; - -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD[0], - { "hMgw", "octvc1.main.redundancy_server.mgw.add.hmgw", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hMgw",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP; - -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP[0], - { "hMgw", "octvc1.main.redundancy_server.mgw.add.hmgw", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hMgw",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD; - -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD[0], - { "hMgw", "octvc1.main.redundancy_server.mgw.remove.hmgw", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hMgw",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP; - -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP[0], - { "hMgw", "octvc1.main.redundancy_server.mgw.remove.hmgw", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hMgw",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD; - -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD[0], - { "ObjectCursor", "octvc1.main.redundancy_server.mgw.list.objectcursor", + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP[1], + { "Config", "octvc1.main.api_system.session.heartbeat.info.config", FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectCursor",HFILL } + "Config",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD.ett + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP; +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD; -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP(void) +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP[0], - { "ObjectCursor", "octvc1.main.redundancy_server.mgw.list.objectcursor", + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.stats.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.stats.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP[1], + { "Stats", "octvc1.main.api_system.session.heartbeat.stats.stats", FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectCursor",HFILL } + "Stats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD; + +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.start.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } }, { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP[1], - { "ObjectList", "octvc1.main.redundancy_server.mgw.list.objectlist", + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD[1], + { "Config", "octvc1.main.api_system.session.heartbeat.start.config", FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectList",HFILL } + "Config",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP.ett + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD; +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP; -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD(void) +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD[0], - { "hMgw", "octvc1.main.redundancy_server.mgw.info.hmgw", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hMgw",HFILL } + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.start.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD.ett + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP; +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD; -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP(void) +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP[0], - { "hMgw", "octvc1.main.redundancy_server.mgw.info.hmgw", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hMgw",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP[1], - { "FailoverStatus", "octvc1.main.redundancy_server.mgw.info.failoverstatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM), 0x0, - "FailoverStatus",HFILL } - - }, - { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP[2], - { "ulFailoverReturnCode", "octvc1.main.redundancy_server.mgw.info.ulfailoverreturncode", - FT_STRING, BASE_NONE, NULL, 0x0, - "ulFailoverReturnCode",HFILL } + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.stop.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP.ett + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD; +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP; -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD(void) +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD[0], - { "hMgw", "octvc1.main.redundancy_server.mgw.failover.execute.hmgw", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hMgw",HFILL } + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.stop.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD.ett + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP; +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD; -void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP(void) +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP[0], - { "hMgw", "octvc1.main.redundancy_server.mgw.failover.execute.hmgw", - FT_UINT32,BASE_HEX, NULL, 0x0, - "hMgw",HFILL } + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.modify.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD[1], + { "Config", "octvc1.main.api_system.session.heartbeat.modify.config", + FT_NONE, BASE_NONE, NULL, 0x0, + "Config",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP.ett + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; +int ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP; -int ahf_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_OCT2200_STATS_CMD; - -void register_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD(void) +void register_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD[0], - { "ulResetStatsFlag", "octvc1.main.oct2200.stats.ulresetstatsflag", + &ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP[0], + { "ulSessionIndex", "octvc1.main.api_system.session.heartbeat.modify.ulsessionindex", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulSessionIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD; + +void register_tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD[0], + { "ulQuit", "octvc1.main.application.stop.ulquit", FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulResetStatsFlag",HFILL } + "ulQuit",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_OCT2200_STATS_CMD.ett + &ws_htOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); }; -int ahf_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_OCT2200_STATS_RSP; +int ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP; -void register_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP(void) +void register_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP(void) { static hf_register_info hf[] = { { - &ahf_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP[0], - { "ulOCT2200MonitorNumber", "octvc1.main.oct2200.stats.uloct2200monitornumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulOCT2200MonitorNumber",HFILL } + &ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP[0], + { "szName", "octvc1.main.application.info.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP[1], + { "szDescription", "octvc1.main.application.info.szdescription", + FT_STRING, BASE_NONE, NULL, 0x0, + "szDescription",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP[2], + { "szVersion", "octvc1.main.application.info.szversion", + FT_STRING, BASE_NONE, NULL, 0x0, + "szVersion",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP[3], + { "abyInfo", "octvc1.main.application.info.abyinfo", + FT_BYTES, BASE_NONE, NULL, 0x0, + "abyInfo",HFILL } }, }; static gint* ett[] = { - &ws_htOCTVC1_MAIN_MSG_OCT2200_STATS_RSP.ett + &ws_htOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP; + +void register_tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP[0], + { "szPlatform", "octvc1.main.application.system.info.szplatform", + FT_STRING, BASE_NONE, NULL, 0x0, + "szPlatform",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP[1], + { "szVersion", "octvc1.main.application.system.info.szversion", + FT_STRING, BASE_NONE, NULL, 0x0, + "szVersion",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP.ett }; proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); @@ -4600,40 +2051,52 @@ void register_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP(void) ****************************************************************************/ -unsigned int dissect_tOCTVC1_MAIN_LICENSING_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +unsigned int dissect_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_LICENSING_CURSOR))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_LICENSING_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_LICENSING_CURSOR)); + sizeof(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG)); return 1; } else { int temp_data = 0; proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_LICENSING_CURSOR); - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_LICENSING_CURSOR[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_LICENSING_CURSOR, szFeatureName), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LICENSING_CURSOR, szFeatureName); + bytes = sizeof(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG, ulWaitTimeMs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG[0], tvb, offset, + 4, temp_data); + if( ( (unsigned int)temp_data < 500) || ( (unsigned int)temp_data > 10000 ) ) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (500..10000)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG, ulWaitTimeMs); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LICENSING_CURSOR[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_LICENSING_CURSOR, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG, ulIdleOnlyFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LICENSING_CURSOR[1], tvb, offset, - 4, temp_data); + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG, ulIdleOnlyFlag), temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LICENSING_CURSOR, ulGetMode); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG, ulIdleOnlyFlag); } @@ -4643,981 +2106,47 @@ unsigned int dissect_tOCTVC1_MAIN_LICENSING_CURSOR(tvbuff_t *tvb, packet_info * }; -unsigned int dissect_tOCTVC1_MAIN_THREAD_CPU_USAGE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +unsigned int dissect_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_THREAD_CPU_USAGE))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_THREAD_CPU_USAGE (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_THREAD_CPU_USAGE)); + sizeof(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS)); return 1; } else { int temp_data = 0; proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_THREAD_CPU_USAGE); + bytes = sizeof(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_THREAD_CPU_USAGE[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_THREAD_CPU_USAGE, hThread), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS, ulState), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_THREAD_CPU_USAGE[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS[0], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_THREAD_CPU_USAGE, hThread); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS, ulState); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_THREAD_CPU_USAGE[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_THREAD_CPU_USAGE, ulCpuUsagePercent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS, ulHeartbeatSentCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_THREAD_CPU_USAGE[1], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS[1], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_THREAD_CPU_USAGE, ulCpuUsagePercent); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_OPUS_CORE_STATUS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_OPUS_CORE_STATUS))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_OPUS_CORE_STATUS (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_OPUS_CORE_STATUS)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_OPUS_CORE_STATUS); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_STATUS, ulCoreStatus), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_STATUS, ulCoreStatus); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_STATUS, ulProgramCounter), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_STATUS, ulProgramCounter); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_STATUS, ulFailureMask), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_STATUS, ulFailureMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_STATUS, ulAccessViolationAddress), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_STATUS[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_STATUS, ulAccessViolationAddress); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_OCT1010_CORE_STATUS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_OCT1010_CORE_STATUS))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_OCT1010_CORE_STATUS (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_OCT1010_CORE_STATUS)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_OCT1010_CORE_STATUS); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_STATUS, ulCoreStatus), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_STATUS, ulCoreStatus); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_STATUS, ulProgramCounter), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_STATUS, ulProgramCounter); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_STATUS, ulAccessViolationAddress), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_STATUS[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_STATUS, ulAccessViolationAddress); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_OPUS_CORE_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_OPUS_CORE_INFO))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_OPUS_CORE_INFO (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_OPUS_CORE_INFO)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_OPUS_CORE_INFO); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_INFO, hProcess),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_INFO, hProcess), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[0], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_INFO, hProcess); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_INFO, ulPhysicalCoreId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_INFO, ulPhysicalCoreId); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_INFO, ulProcessImageType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OPUS_CORE_INFO[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OPUS_CORE_INFO, ulProcessImageType); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_OCT1010_CORE_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_OCT1010_CORE_INFO))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_OCT1010_CORE_INFO (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_OCT1010_CORE_INFO)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_OCT1010_CORE_INFO); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, hProcess),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, hProcess), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[0], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, hProcess); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, hThread),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, hThread), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[1], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, hThread); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, ulProcessImageType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, ulProcessImageType); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_OCT1010_CORE_INFO[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, szProcessImageName), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_OCT1010_CORE_INFO, szProcessImageName); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulEthPortEnableFlag),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulEthPortEnableFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulEthPortEnableFlag), temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulEthPortEnableFlag); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[1], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","MacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptAllMacFlag),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptAllMacFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptAllMacFlag), temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptAllMacFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptUnicastFlag),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptUnicastFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptUnicastFlag), temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptUnicastFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptMulticastFlag),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptMulticastFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptMulticastFlag), temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptMulticastFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptBadCrcPktFlag),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptBadCrcPktFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptBadCrcPktFlag), temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptBadCrcPktFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptLongPktFormatFlag),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptLongPktFormatFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptLongPktFormatFlag), temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulAcceptLongPktFormatFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulBroadcastForwardPort),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulBroadcastForwardPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[7], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulBroadcastForwardPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulMulticastForwardPort),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulMulticastForwardPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[8], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulMulticastForwardPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulUnicastForwardPort),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulUnicastForwardPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[9], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulUnicastForwardPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulRxMirrorForwardPort),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulRxMirrorForwardPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[10], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulRxMirrorForwardPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulRestrictedApiFlag),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulRestrictedApiFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulRestrictedApiFlag), temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC, ulRestrictedApiFlag); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulInterfaceType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulInterfaceType); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulMode); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulSpeed), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulSpeed); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulFullDuplexFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulFullDuplexFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulFullDuplexFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulPhyAddress), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulPhyAddress); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulPktQueuesByteSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC, ulPktQueuesByteSize); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_ETH_PORT_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_ETH_PORT_STATS))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_ETH_PORT_STATS (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_ETH_PORT_STATS)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_ETH_PORT_STATS); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxPktErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxPktErrorCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxOddNibbleCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxOddNibbleCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxCrcErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxCrcErrorCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxSfdAbsentCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxSfdAbsentCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxShortFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxShortFrameCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxLongFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxLongFrameCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxFalseCarrierCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxFalseCarrierCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxFalseCarrierCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxFalseCarrierCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxMemOverflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxMemOverflowCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxBufferOverflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxBufferOverflowCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxPauseFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxPauseFrameCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxPauseFrameCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[11], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxPauseFrameCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[12], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxMemChecksum), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[12], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxMemChecksum); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[13], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxBufferUnderflowCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[13], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxBufferUnderflowCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[14], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulDefaultMacAddressUsedFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[14], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulDefaultMacAddressUsedFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulDefaultMacAddressUsedFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[15], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxLateCollisionCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[15], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxLateCollisionCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[16], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxExcessCollisionCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[16], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxExcessCollisionCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[17], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxExcessDeferralCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[17], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulTxExcessDeferralCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[18], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxAlignmentErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[18], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxAlignmentErrorCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[19], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxJabberErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[19], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxJabberErrorCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[20], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxLengthErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[20], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxLengthErrorCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[21], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxOutOfRangeTypeCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[21], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxOutOfRangeTypeCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[22], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxWatchdogErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[22], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxWatchdogErrorCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[23], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxIPv4HeaderErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[23], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxIPv4HeaderErrorCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[24], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxIPv6HeaderErrorCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_ETH_PORT_STATS[24], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_ETH_PORT_STATS, ulRxIPv6HeaderErrorCnt); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS, ulHeartbeatSentCnt); } @@ -5670,76 +2199,96 @@ unsigned int dissect_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR(tvbuff_t *tvb, packet }; -unsigned int dissect_tOCTVC1_MAIN_LOG_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +unsigned int dissect_tOCTVC1_MAIN_LOG_TRACE_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_LOG_ENTRY))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_LOG_TRACE_STATS))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_LOG_ENTRY (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_LOG_TRACE_STATS (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_LOG_ENTRY)); + sizeof(tOCTVC1_MAIN_LOG_TRACE_STATS)); return 1; } else { int temp_data = 0; proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_LOG_ENTRY); + bytes = sizeof(tOCTVC1_MAIN_LOG_TRACE_STATS); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogSeqNumber), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, ulCurrentFileSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[0], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogSeqNumber); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, ulCurrentFileSize); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogTimestamp), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, ulCurrentFileIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[1], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[1], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogTimestamp); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, ulCurrentFileIndex); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogReserved0), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, ulFileOverwriteCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[2], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[2], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogReserved0); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, ulFileOverwriteCnt); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogReserved1), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, ulNumFiles), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[3], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[3], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogReserved1); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, ulNumFiles); - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, achLogMsg), FALSE); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, abyFileIndexes), "abyFileIndexes"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<32; i++ ) + { + temp_data = tvb_get_guint8( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, abyFileIndexes), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[4], tvb, offset, + 1, temp_data, "[%d]: 0x%02x", i, temp_data ); + } + offset+=1; + } + } + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_STATS[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, szFileNamePrefix), FALSE); - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, achLogMsg); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_STATS, szFileNamePrefix); } @@ -5749,40 +2298,52 @@ unsigned int dissect_tOCTVC1_MAIN_LOG_ENTRY(tvbuff_t *tvb, packet_info *pinfo, }; -unsigned int dissect_tOCTVC1_MAIN_FILE_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +unsigned int dissect_tOCTVC1_MAIN_LOG_TRACE_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_FILE_CURSOR))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_LOG_TRACE_INFO))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_FILE_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_LOG_TRACE_INFO (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_FILE_CURSOR)); + sizeof(tOCTVC1_MAIN_LOG_TRACE_INFO)); return 1; } else { int temp_data = 0; proto_item *ti; - bytes = sizeof(tOCTVC1_MAIN_FILE_CURSOR); - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_FILE_CURSOR[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_FILE_CURSOR, szFileName), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_FILE_CURSOR, szFileName); + bytes = sizeof(tOCTVC1_MAIN_LOG_TRACE_INFO); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_INFO, ulMaxFileSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_INFO[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_INFO, ulMaxFileSize); temp_data = tvb_get_ntohl( tvb, offset ); if( pExtValue && (pExtValue->lValue == temp_data ) ) { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_FILE_CURSOR[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_FILE_CURSOR, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_INFO[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_INFO, ulMaxNumFiles), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); }else { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_FILE_CURSOR[1], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_INFO[1], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_FILE_CURSOR, ulGetMode); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_INFO, ulMaxNumFiles); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_LOG_TRACE_INFO[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_INFO, szFileNamePrefix), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_TRACE_INFO, szFileNamePrefix); } @@ -5796,213 +2357,6 @@ unsigned int dissect_tOCTVC1_MAIN_FILE_CURSOR(tvbuff_t *tvb, packet_info *pinfo ****************************************************************************/ -unsigned int dissect_tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT, BufferId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT[0], tvb, offset, - 4,"ulCoreUseMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_MAIN_OPUS_CORE_MASK); i++ ) - { - if( ( vals_tOCTVC1_MAIN_OPUS_CORE_MASK[i].value && - ( vals_tOCTVC1_MAIN_OPUS_CORE_MASK[i].value & temp_data ) == - vals_tOCTVC1_MAIN_OPUS_CORE_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_MAIN_OPUS_CORE_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_MAIN_OPUS_CORE_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT, ulCoreUseMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT[1], tvb, offset, - 4,"ulCoreHaltMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_MAIN_OPUS_CORE_MASK); i++ ) - { - if( ( vals_tOCTVC1_MAIN_OPUS_CORE_MASK[i].value && - ( vals_tOCTVC1_MAIN_OPUS_CORE_MASK[i].value & temp_data ) == - vals_tOCTVC1_MAIN_OPUS_CORE_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_MAIN_OPUS_CORE_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_MAIN_OPUS_CORE_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT, ulCoreHaltMask); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT, ulBank); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT, ulPortValue); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT, ulPhyAddress); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT[1], tvb, offset, - 4,"ulEvents: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_MAIN_EVT_PHY_MASK); i++ ) - { - if( ( vals_tOCTVC1_MAIN_EVT_PHY_MASK[i].value && - ( vals_tOCTVC1_MAIN_EVT_PHY_MASK[i].value & temp_data ) == - vals_tOCTVC1_MAIN_EVT_PHY_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_MAIN_EVT_PHY_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_MAIN_EVT_PHY_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT, ulEvents); - - } - - - return 0; - -}; - - unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; @@ -6045,13 +2399,6 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT(tvbuff_t *tv } offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT, ulProcessCpuUsagePercent); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT, ulNumThread); - } @@ -6060,17 +2407,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT(tvbuff_t *tv }; -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); return 1; } else @@ -6078,37 +2425,16 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT(t int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT[0], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT, hMgw); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT, hProcess); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT, ulDurationMs); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT, FailoverStatus); - - { - int ulRc = tvb_get_ntohl( tvb, offset ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT[3], tvb, offset, - 4, "","ulFailoverReturnCode: %s (0x%08X)", - dissect_OCTVC1_Return_Code(ulRc), ulRc ); - } - offset += 4; } @@ -6117,22 +2443,98 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT(t }; +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT, ulSessionIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT, ulState); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT, szAppName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT, szAppName); + + } + + + return 0; + +}; + /**************************************************************************** CMD/RSP dissectors ****************************************************************************/ -unsigned int dissect_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_TARGET_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_TARGET_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_TARGET_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -6140,1727 +2542,25 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD(tvbuff_t *tvb, pack int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_TARGET_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[0], tvb, offset, - 4,"ulEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_MAIN_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_MAIN_EVT_MASK[i].value && - ( vals_tOCTVC1_MAIN_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_MAIN_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_MAIN_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_MAIN_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD, ulEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[1], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP[0], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD, ulUserEventId); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_TARGET_INFO_RSP, ulTargetType); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD, hEventDestObj), "hEventDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD, ulEventDestObjPort); + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_TARGET_INFO_RSP, abyTargetInfo), FALSE); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD, ulEventDestObjFifoId); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_TARGET_INFO_RSP, abyTargetInfo); - } + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_TARGET_INFO_RSP, abyUserInfo), FALSE); - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[0], tvb, offset, - 4,"ulEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_MAIN_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_MAIN_EVT_MASK[i].value && - ( vals_tOCTVC1_MAIN_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_MAIN_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_MAIN_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_MAIN_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP, ulEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP, ulUserEventId); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP, hEventDestObj), "hEventDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP, ulEventDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP, ulEventDestObjFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD, ulTracingMode); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD, ulTracingType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD, ulNumBuffer); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD, aBufferId), "aBufferId"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD[3], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD, ulFormat); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD, ulByteLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD, szBufferName), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD, szBufferName); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP, hBuffer); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP, ulAllocatedByteLength); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD, hBuffer),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD[0], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD, hBuffer); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP, hBuffer); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD, hBuffer),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD[0], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD, hBuffer); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP, hBuffer); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP, ulFormat); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP, szBufferName), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP, szBufferName); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP, ulUsedByteLength); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP, ulAllocatedByteLength); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP, ulDependencyCount); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP, ObjectList), "ObjectList:tOCTVC1_LIST_HANDLE_OBJECT_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD, hBuffer),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[0], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD, hBuffer); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD, ulFormat),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[1], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD, ulFormat); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD, ulUsedByteSize),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD[2], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD, ulUsedByteSize); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP, hBuffer); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD, hBuffer),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[0], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD, hBuffer); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD, ulWriteByteLength); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD, ulWriteByteOffset); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD, abyWriteData), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD, abyWriteData); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP, hBuffer); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP, ulNumByteWritten); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_READ_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_READ_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_READ_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_READ_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_CMD, hBuffer),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD[0], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_CMD, hBuffer); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_MAIN_BUFFER_MAX_DATA_BYTE_SIZE) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_CMD, ulMaxReadByteLength),temp_data, "cOCTVC1_MAIN_BUFFER_MAX_DATA_BYTE_SIZE (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD[1], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_CMD, ulMaxReadByteLength); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_CMD, ulReadByteOffset); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_READ_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_READ_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_READ_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_READ_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_RSP, hBuffer); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_RSP, ulDoneFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_RSP, ulDoneFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_RSP, ulNumByteRead); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_RSP, abyData), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_READ_RSP, abyData); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD, szBufferName), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD, szBufferName); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP, hBuffer); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP, ulFormat); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP, szBufferName), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP, szBufferName); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP, ulUsedByteLength); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP, ulAllocatedByteLength); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP, ulDependencyCount); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP, ulDeviceType); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP, abyDeviceInfo), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP, abyDeviceInfo); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP, abyUserInfo), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP, abyUserInfo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP, aCoreStatus), "aCoreStatus:tOCTVC1_MAIN_OPUS_CORE_STATUS"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<24; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_MAIN_OPUS_CORE_STATUS), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_OPUS_CORE_STATUS( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP, aCoreInfo), "aCoreInfo:tOCTVC1_MAIN_OPUS_CORE_INFO"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<24; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_MAIN_OPUS_CORE_INFO), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_OPUS_CORE_INFO( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, ulOCT1010VersionId); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, szOCT1010Version), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, szOCT1010Version); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, ulSerialNumber); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, ulProjectNumber); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, aOCT1010MacAddress), "aOCT1010MacAddress:tOCTVC1_MAC_ADDRESS"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<8; i++ ) - { - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(sub_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[4], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","[%d]: %02x:%02x:%02x:%02x:%02x:%02x", i, - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, ulOCT1010IDVersionId); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, szOCT1010IDVersion), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, szOCT1010IDVersion); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, ulTdmNumStream); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, ulTdmStreamFrequency); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, aMacAddress), "aMacAddress:tOCTVC1_MAC_ADDRESS"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(sub_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[9], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","[%d]: %02x:%02x:%02x:%02x:%02x:%02x", i, - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - } - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, aulUserInfo), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP, aulUserInfo); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD, ulResetStatsFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD, ulResetStatsFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP, ulOCT1010MonitorNumber); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP, ulTdmCpyOutOfBandwidthCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP, ulTdmTxTimeslotPtrOutOfSyncCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP, ulTdmTimestampIncrementErrorCnt); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP, aCoreStatus), "aCoreStatus:tOCTVC1_MAIN_OCT1010_CORE_STATUS"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<15; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_MAIN_OCT1010_CORE_STATUS), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_OCT1010_CORE_STATUS( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP, aCoreInfo), "aCoreInfo:tOCTVC1_MAIN_OCT1010_CORE_INFO"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<15; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_MAIN_OCT1010_CORE_INFO), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_OCT1010_CORE_INFO( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP, ulOct1010IdType); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP, szOct1010IdType), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP, szOct1010IdType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP, ulTdmOutputEnableSupportFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP, ulTdmOutputEnableSupportFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP, ulTdmOutputEnableDeviceFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP, ulTdmOutputEnableDeviceFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_ETH_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_ETH_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_ETH_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_ETH_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_ETH_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_ETH_STATS_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_ETH_STATS_CMD, ulResetStatsFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_ETH_STATS_CMD, ulResetStatsFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_ETH_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_ETH_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_ETH_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_ETH_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_ETH_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_ETH_STATS_RSP, aStats), "aStats:tOCTVC1_MAIN_ETH_PORT_STATS"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - { - proto_tree* sub_tree2; - tWS_EXTRA_VALUE ExtraVal; - ExtraVal.lValue = 0; - ExtraVal.pszValue = "0"; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_MAIN_ETH_PORT_STATS), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_ETH_PORT_STATS( tvb, pinfo, sub_tree2, offset, &ExtraVal ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD, aDynamic), "aDynamic:tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP, aDynamic), "aDynamic:tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - { - proto_tree* sub_tree2; - tWS_EXTRA_VALUE ExtraVal; - ExtraVal.lValue = 0; - ExtraVal.pszValue = "0"; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC( tvb, pinfo, sub_tree2, offset, &ExtraVal ); - } - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP, aStatic), "aStatic:tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_REGISTER_READ_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REGISTER_READ_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REGISTER_READ_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REGISTER_READ_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REGISTER_READ_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REGISTER_READ_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REGISTER_READ_RSP, ulTdmTimestampReg); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REGISTER_READ_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REGISTER_READ_RSP, ulNanoSecondCounterReg); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_TARGET_INFO_RSP, abyUserInfo); } @@ -8280,6 +2980,13 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_INFO_RSP(tvbuff_t *tvb, packet_info } offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_INFO_RSP, ulAccessMode); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_INFO_RSP, ulMinAlignBytes); + } @@ -8564,17 +3271,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP(tvbuff_t *tvb }; -unsigned int dissect_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_LOG_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_LOG_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_LOG_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_LOG_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -8582,103 +3289,15 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD(tvbuff_t *tvb, packet_ int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD, ulGetNewestFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD, ulGetNewestFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP, ulNumLogEntry); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP, aLogEntry), "aLogEntry:tOCTVC1_MAIN_LOG_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<5; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_MAIN_LOG_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_LOG_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_LOG_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD, ObjectGet), "ObjectGet:tOCTVC1_MAIN_LICENSING_CURSOR"); + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_INFO_RSP, LogInfo), "LogInfo:tOCTVC1_MAIN_LOG_TRACE_INFO"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_LICENSING_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_MAIN_LOG_TRACE_INFO( tvb, pinfo, sub_tree2, offset, NULL ); } } @@ -8688,17 +3307,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD(tvbuff_t *tvb, packet_ }; -unsigned int dissect_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_LOG_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_LOG_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_LOG_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_LOG_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -8706,44 +3325,16 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP(tvbuff_t *tvb, packet_ int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_LOG_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP, ObjectGet), "ObjectGet:tOCTVC1_MAIN_LICENSING_CURSOR"); + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_STATS_RSP, LogStats), "LogStats:tOCTVC1_MAIN_LOG_TRACE_STATS"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_MAIN_LICENSING_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_MAIN_LOG_TRACE_STATS( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP, ulFeatureType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP, ulManagedFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP, ulManagedFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP, ulLicenseValue); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP, ulCurrentCount); - } @@ -8752,17 +3343,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP(tvbuff_t *tvb, packet_ }; -unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -8770,424 +3361,44 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD(tvbuff_t *tvb, packet_ int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP[0], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD, ulBank); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP, ulBank); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP, ulFullAutoStopFlag); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP, ulValue); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP[1], tvb, offset, + 4,"ulTraceMask: (0x%08x)", temp_data); + if(temp_data) { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD, ulBank); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD, ulValue); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP, ulBank); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD, ulBank); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD, ulMonitor); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP, ulBank); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD, ulBank); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD, ulDirection); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD, ulTriStateHigh); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP, ulBank); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulChipSelectPin); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulClockPin); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulDataOutPin); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulDataInPin); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulDivider); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulSlaveSelectId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulClockFrequency); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulClockPolarity); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulClockPhase); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulReadByteCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, ulWriteByteCnt); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD, aulWriteData), "aulWriteData"); - { - int i, ofs=offset; + int i; proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<16; i++ ) + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_LOG_TRACE_MASK); i++ ) { - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD[11], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; + if( ( vals_tOCTVC1_LOG_TRACE_MASK[i].value && + ( vals_tOCTVC1_LOG_TRACE_MASK[i].value & temp_data ) == + vals_tOCTVC1_LOG_TRACE_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_LOG_TRACE_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_LOG_TRACE_MASK),"%s")); } } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP, ulTraceMask); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP, TraceInfo), "TraceInfo:tOCTVC1_MAIN_LOG_TRACE_INFO"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_MAIN_LOG_TRACE_INFO( tvb, pinfo, sub_tree2, offset, NULL ); + } } @@ -9196,17 +3407,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD(tvbuff_t *tvb, packet_info }; -unsigned int dissect_tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -9214,66 +3425,50 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP(tvbuff_t *tvb, packet_info int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP, aulReadData), "aulReadData"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<16; i++ ) - { temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP[0], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD, ulFullAutoStopFlag), temp_data); } - offset+=4; + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD, ulFullAutoStopFlag); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD[1], tvb, offset, + 4,"ulTraceMask: (0x%08x)", temp_data); + if(temp_data) + { + int i; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_LOG_TRACE_MASK); i++ ) + { + if( ( vals_tOCTVC1_LOG_TRACE_MASK[i].value && + ( vals_tOCTVC1_LOG_TRACE_MASK[i].value & temp_data ) == + vals_tOCTVC1_LOG_TRACE_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_LOG_TRACE_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_LOG_TRACE_MASK),"%s")); } } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD[0], tvb, offset, - 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD, ulPhyAddress); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD, ulTraceMask); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD[1], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD[2], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD, ulRegisterAddress); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD, ulFileSize); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD, ulFileNumber); } @@ -9283,17 +3478,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD(tvbuff_t *tvb, packet_i }; -unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -9301,201 +3496,50 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP(tvbuff_t *tvb, packet_i int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP[0], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP, ulPhyAddress); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP, ulState); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP[1], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP[1], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP, ulReadData); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD, ulPhyAddress); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP, ulFullAutoStopFlag); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD, ulRegisterAddress); - - temp_data = tvb_get_ntohl( tvb, offset ); + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP[2], tvb, offset, + 4,"ulTraceMask: (0x%08x)", temp_data); + if(temp_data) { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD, ulWriteData); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP, ulPhyAddress); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD, aulPhyAddress), "aulPhyAddress"); - { - int i, ofs=offset; + int i; proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) + for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_LOG_TRACE_MASK); i++ ) { - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_INDEX_INVALID) - { ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD, aulPhyAddress),temp_data, "cOCTVC1_INDEX_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD[0], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - } - offset+=4; + if( ( vals_tOCTVC1_LOG_TRACE_MASK[i].value && + ( vals_tOCTVC1_LOG_TRACE_MASK[i].value & temp_data ) == + vals_tOCTVC1_LOG_TRACE_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_LOG_TRACE_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_LOG_TRACE_MASK),"%s")); } } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP, aulPhyAddress), "aulPhyAddress"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP[0], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); } - offset+=4; - } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP, ulTraceMask); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP, TraceStats), "TraceStats:tOCTVC1_MAIN_LOG_TRACE_STATS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_MAIN_LOG_TRACE_STATS( tvb, pinfo, sub_tree2, offset, NULL ); } } @@ -9575,10 +3619,22 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP(tvbuff_t *tvb, packet_in offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP, hProcess); ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP, szName); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[2], tvb, offset, mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP, szProcessImageName), FALSE); offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP, szProcessImageName); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP, ulType); + } @@ -9652,11 +3708,11 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP(tvbuff_t *tvb, packet_in offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); } ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP, ObjectList), "ObjectList:tOCTVC1_LIST_HANDLE_OBJECT_GET"); + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP, ObjectNameList), "ObjectNameList:tOCTVC1_LIST_NAME_OBJECT32_GET"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_LIST_NAME_OBJECT32_GET( tvb, pinfo, sub_tree2, offset, NULL ); } } @@ -9698,6 +3754,11 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD(tvbuff_t *t { ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[1], tvb, offset, 4, temp_data); + if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 100 ) ) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (0..100)]" ); + } } offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD, ulAlarmThresholdHighPercent); @@ -9705,9 +3766,26 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD(tvbuff_t *t { ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[2], tvb, offset, 4, temp_data); + if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 100 ) ) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (0..100)]" ); + } } offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD, ulAlarmThresholdLowPercent); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_DO_NOT_MODIFY) + { ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD, ulMonitorEnableFlag),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD, ulMonitorEnableFlag), temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD, ulMonitorEnableFlag); + } @@ -9744,13 +3822,6 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP(tvbuff_t *t } offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP, hProcess); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP, ulProcessImageType); - } @@ -9828,49 +3899,21 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP(tvbuff_t *tvb, ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[1], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulProcessImageType); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulAlarmThresholdHighPercent); temp_data = tvb_get_ntohl( tvb, offset ); { ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[2], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulAlarmThresholdHighPercent); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[3], tvb, offset, - 4, temp_data); - } offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulAlarmThresholdLowPercent); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[4], tvb, offset, - 4, temp_data); + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulMonitorEnableFlag), temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulProcessCpuUsagePercent); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulProcessCpuUsageMinPercent); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulProcessCpuUsageMaxPercent); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulNumThread); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, ulMonitorEnableFlag); } @@ -9880,17 +3923,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP(tvbuff_t *tvb, }; -unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -9898,68 +3941,192 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD(tvbuff_t *tvb, pac int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD, hProcess); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP, ulProcessCpuUsagePercent); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP, ulProcessCpuUsageMinPercent); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP, ulProcessCpuUsageMaxPercent); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD, hDestObj), "hDestObj:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD, ulDestObjPort); + } + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP, IndexGet), "IndexGet:tOCTVC1_CURSOR_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP, IndexList), "IndexList:tOCTVC1_LIST_INDEX_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_INDEX_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_FIFO_ID_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD, ulDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); }else { { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[2], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD[0], tvb, offset, 4, temp_data); } } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD, ulDestObjFifoId); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[3], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","DestMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[4], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","SrcMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD, ulSessionIndex); } @@ -9969,17 +4136,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD(tvbuff_t *tvb, pac }; -unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -9987,58 +4154,22 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP(tvbuff_t *tvb, pac int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP, ulSessionIndex); + ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP, hForward), "hForward:tOCTVC1_HANDLE"); + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP, SessionInfo), "SessionInfo:tOCTVC1_API_SESSION_INFO"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP, ulFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD, hForward), "hForward:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_API_SESSION_INFO( tvb, pinfo, sub_tree2, offset, NULL ); } } @@ -10048,17 +4179,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD(tvbuff_t *tvb, pa }; -unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -10066,254 +4197,20 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP(tvbuff_t *tvb, pa int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP, hForward), "hForward:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD[0], tvb, offset, - 4, temp_data); - if( (unsigned int)temp_data < 1) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (1..)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD, ulMaxNumServerMgw); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD, ulForceApiResourceCleanUpFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD, ulForceApiResourceCleanUpFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP, ulMaxNumSystemMgw); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP, ulMaxNumServerMgw); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP, ulMgwCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP, State); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP, hFailoverMgw); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP, FailoverStatus); - - { - int ulRc = tvb_get_ntohl( tvb, offset ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[6], tvb, offset, - 4, "","ulFailoverReturnCode: %s (0x%08X)", - dissect_OCTVC1_Return_Code(ulRc), ulRc ); - } - offset += 4; - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD, hMgw),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); }else { { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD[0], tvb, offset, 4, temp_data); } } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD, hMgw); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD, ulSessionIndex); } @@ -10323,17 +4220,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD(tvbuff_t *t }; -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -10341,128 +4238,22 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP(tvbuff_t *t int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP[0], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP, hMgw); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP, ulSessionIndex); - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD, hMgw),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD[0], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD, hMgw); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP, hMgw); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP, EvtInfo), "EvtInfo:tOCTVC1_API_SESSION_EVT_INFO"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_API_SESSION_EVT_INFO( tvb, pinfo, sub_tree2, offset, NULL ); } } @@ -10472,17 +4263,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD(tvbuff_t * }; -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -10490,22 +4281,236 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP(tvbuff_t * int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD, ulSessionIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_DO_NOT_MODIFY) + { ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD, ulEvtActiveFlag),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD, ulEvtActiveFlag), temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD, ulEvtActiveFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP, ulSessionIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD, ulSessionIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP, ulSessionIndex); + ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP, Config), "Config:tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD, ulSessionIndex); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP, ulSessionIndex); + ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP, ObjectList), "ObjectList:tOCTVC1_LIST_HANDLE_OBJECT_GET"); + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP, Stats), "Stats:tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS"); { proto_tree* sub_tree2; sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + offset = dissect_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS( tvb, pinfo, sub_tree2, offset, NULL ); } } @@ -10515,17 +4520,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP(tvbuff_t * }; -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -10533,106 +4538,63 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD(tvbuff_t * int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD, hMgw); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP, hMgw); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP, FailoverStatus); - - { - int ulRc = tvb_get_ntohl( tvb, offset ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP[2], tvb, offset, - 4, "","ulFailoverReturnCode: %s (0x%08X)", - dissect_OCTVC1_Return_Code(ulRc), ulRc ); - } - offset += 4; - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD, hMgw),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); }else { { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD[0], tvb, offset, 4, temp_data); } } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD, hMgw); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD, ulSessionIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD, Config), "Config:tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP, ulSessionIndex); } @@ -10642,17 +4604,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CM }; -unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -10660,20 +4622,20 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RS int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_HANDLE_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP, hMgw),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); }else { { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD[0], tvb, offset, 4, temp_data); } } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP, hMgw); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD, ulSessionIndex); } @@ -10683,17 +4645,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RS }; -unsigned int dissect_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -10701,15 +4663,15 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD(tvbuff_t *tvb, packet_i int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD, ulResetStatsFlag), temp_data); + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP[0], tvb, offset, + 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD, ulResetStatsFlag); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP, ulSessionIndex); } @@ -10719,17 +4681,17 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD(tvbuff_t *tvb, packet_i }; -unsigned int dissect_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) { proto_tree *field_tree = tree; unsigned int offset_0 = offset; gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER))) { proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + "tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD (%d byte%s) - Malformated packet...expected(%ld)", bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD)-sizeof(tOCTVC1_MSG_HEADER)); return 1; } else @@ -10737,15 +4699,63 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP(tvbuff_t *tvb, packet_i int temp_data = 0; proto_item *ti; ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + "tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD, ulSessionIndex),temp_data, "cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD, ulSessionIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD, Config), "Config:tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); temp_data = tvb_get_ntohl( tvb, offset ); { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP[0], tvb, offset, + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP[0], tvb, offset, 4, temp_data); } - offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP, ulOCT2200MonitorNumber); + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP, ulSessionIndex); } @@ -10754,6 +4764,129 @@ unsigned int dissect_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP(tvbuff_t *tvb, packet_i }; + +unsigned int dissect_tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD, ulQuit), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD, ulQuit); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP, szName); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP, szDescription), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP, szDescription); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP, szVersion), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP, szVersion); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP, abyInfo), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP, abyInfo); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP, szPlatform), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP, szPlatform); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP, szVersion), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP, szVersion); + + } + + + return 0; + +}; /**************************************************************************** MODULE REGISTERED EXPORTED FUNCTION ****************************************************************************/ @@ -10763,55 +4896,16 @@ void ws_register_OCTVC1_MAIN(void) /**************************************************************************** Register Common struct ****************************************************************************/ - register_tOCTVC1_MAIN_LICENSING_CURSOR(); - register_tOCTVC1_MAIN_THREAD_CPU_USAGE(); - register_tOCTVC1_MAIN_OPUS_CORE_STATUS(); - register_tOCTVC1_MAIN_OCT1010_CORE_STATUS(); - register_tOCTVC1_MAIN_OPUS_CORE_INFO(); - register_tOCTVC1_MAIN_OCT1010_CORE_INFO(); - register_tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC(); - register_tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC(); - register_tOCTVC1_MAIN_ETH_PORT_STATS(); + register_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG(); + register_tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS(); register_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR(); - register_tOCTVC1_MAIN_LOG_ENTRY(); - register_tOCTVC1_MAIN_FILE_CURSOR(); + register_tOCTVC1_MAIN_LOG_TRACE_STATS(); + register_tOCTVC1_MAIN_LOG_TRACE_INFO(); /**************************************************************************** CMD/RSP Registered ****************************************************************************/ - register_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD(); - register_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP(); - register_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD(); - register_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD(); - register_tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP(); - register_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD(); - register_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP(); - register_tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD(); - register_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP(); - register_tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD(); - register_tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP(); - register_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD(); - register_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP(); - register_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD(); - register_tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP(); - register_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD(); - register_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP(); - register_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD(); - register_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP(); - register_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP(); - register_tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP(); - register_tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP(); - register_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP(); - register_tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD(); - register_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP(); - register_tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP(); - register_tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP(); - register_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP(); - register_tOCTVC1_MAIN_MSG_ETH_STATS_CMD(); - register_tOCTVC1_MAIN_MSG_ETH_STATS_RSP(); - register_tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD(); - register_tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP(); - register_tOCTVC1_MAIN_MSG_REGISTER_READ_RSP(); + register_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP(); register_tOCTVC1_MAIN_MSG_FILE_OPEN_CMD(); register_tOCTVC1_MAIN_MSG_FILE_OPEN_RSP(); register_tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD(); @@ -10828,26 +4922,11 @@ void ws_register_OCTVC1_MAIN(void) register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP(); register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD(); register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP(); - register_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD(); - register_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP(); - register_tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD(); - register_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP(); - register_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD(); - register_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP(); - register_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD(); - register_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP(); - register_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD(); - register_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP(); - register_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD(); - register_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP(); - register_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD(); - register_tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP(); - register_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD(); - register_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP(); - register_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD(); - register_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP(); - register_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD(); - register_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP(); + register_tOCTVC1_MAIN_MSG_LOG_INFO_RSP(); + register_tOCTVC1_MAIN_MSG_LOG_STATS_RSP(); + register_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP(); + register_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD(); + register_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP(); register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD(); register_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP(); register_tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD(); @@ -10856,37 +4935,38 @@ void ws_register_OCTVC1_MAIN(void) register_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP(); register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD(); register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP(); - register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD(); - register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP(); - register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD(); - register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP(); - register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD(); - register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP(); - register_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD(); - register_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP(); + register_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD(); + register_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP(); + register_tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD(); + register_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP(); + register_tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP(); /**************************************************************************** Event Registered ****************************************************************************/ - register_tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT(); - register_tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT(); - register_tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT(); - register_tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT(); register_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT(); - register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT(); - + register_tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT(); + register_tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT(); + register_tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT(); + } /**************************************************************************** @@ -10897,32 +4977,8 @@ int ws_dissect_OCTVC1_MAIN_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, if( tree ) { switch( CID ) { - case cOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CID: return dissect_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CID: return 0; break; - case cOCTVC1_MAIN_MSG_MODULE_START_TRACING_CID: return dissect_tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CID: return 0; break; - case cOCTVC1_MAIN_MSG_BUFFER_OPEN_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_CLOSE_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_LIST_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_MODIFY_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_WRITE_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_READ_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_READ_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEVICE_INFO_CID: return 0; break; - case cOCTVC1_MAIN_MSG_DEVICE_RESET_CID: return 0; break; - case cOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CID: return 0; break; - case cOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CID: return 0; break; - case cOCTVC1_MAIN_MSG_OCT1010_INFO_CID: return 0; break; - case cOCTVC1_MAIN_MSG_OCT1010_RESET_CID: return 0; break; - case cOCTVC1_MAIN_MSG_OCT1010_STATS_CID: return dissect_tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CID: return 0; break; - case cOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CID: return 0; break; - case cOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CID: return 0; break; - case cOCTVC1_MAIN_MSG_ETH_STATS_CID: return dissect_tOCTVC1_MAIN_MSG_ETH_STATS_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CID: return dissect_tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CID: return 0; break; - case cOCTVC1_MAIN_MSG_REGISTER_READ_CID: return 0; break; + case cOCTVC1_MAIN_MSG_TARGET_INFO_CID: return 0; break; + case cOCTVC1_MAIN_MSG_TARGET_RESET_CID: return 0; break; case cOCTVC1_MAIN_MSG_FILE_OPEN_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_OPEN_CMD( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_FILE_CLOSE_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_FILE_WRITE_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD( tvb, pinfo, tree, 0 ); break; @@ -10933,32 +4989,31 @@ int ws_dissect_OCTVC1_MAIN_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, case cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_LOG_ERASE_CID: return 0; break; - case cOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CID: return dissect_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_LICENSING_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_GPIO_READ_BANK_CID: return dissect_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CID: return dissect_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CID: return dissect_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CID: return dissect_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_SPI_ACCESS_CID: return dissect_tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MDIO_READ_PHY_CID: return dissect_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CID: return dissect_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CID: return dissect_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_LOG_INFO_CID: return 0; break; + case cOCTVC1_MAIN_MSG_LOG_STATS_CID: return 0; break; + case cOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CID: return 0; break; + case cOCTVC1_MAIN_MSG_LOG_START_TRACE_CID: return dissect_tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CID: return 0; break; + case cOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CID: return 0; break; + case cOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CID: return 0; break; case cOCTVC1_MAIN_MSG_PROCESS_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_PROCESS_LIST_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CID: return dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CID: return dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CID: return 0; break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CID: return 0; break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_OCT2200_STATS_CID: return dissect_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_APPLICATION_START_CID: return 0; break; + case cOCTVC1_MAIN_MSG_APPLICATION_STOP_CID: return dissect_tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_APPLICATION_INFO_CID: return 0; break; + case cOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CID: return 0; break; default: return 1; } } @@ -10970,32 +5025,8 @@ int ws_dissect_OCTVC1_MAIN_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, if( tree ) { switch( CID ) { - case cOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CID: return 0; break; - case cOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CID: return dissect_tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MODULE_START_TRACING_CID: return 0; break; - case cOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CID: return 0; break; - case cOCTVC1_MAIN_MSG_BUFFER_OPEN_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_CLOSE_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_LIST_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_MODIFY_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_WRITE_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_READ_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_READ_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CID: return dissect_tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEVICE_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEVICE_RESET_CID: return 0; break; - case cOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CID: return dissect_tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CID: return dissect_tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_OCT1010_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_OCT1010_RESET_CID: return 0; break; - case cOCTVC1_MAIN_MSG_OCT1010_STATS_CID: return dissect_tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CID: return dissect_tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CID: return dissect_tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CID: return dissect_tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_ETH_STATS_CID: return dissect_tOCTVC1_MAIN_MSG_ETH_STATS_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CID: return 0; break; - case cOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CID: return dissect_tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REGISTER_READ_CID: return dissect_tOCTVC1_MAIN_MSG_REGISTER_READ_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_TARGET_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_TARGET_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_TARGET_RESET_CID: return 0; break; case cOCTVC1_MAIN_MSG_FILE_OPEN_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_OPEN_RSP( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_FILE_CLOSE_CID: return 0; break; case cOCTVC1_MAIN_MSG_FILE_WRITE_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_WRITE_RSP( tvb, pinfo, tree, 0 ); break; @@ -11006,32 +5037,31 @@ int ws_dissect_OCTVC1_MAIN_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, case cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_LOG_ERASE_CID: return 0; break; - case cOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CID: return dissect_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_LICENSING_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_GPIO_READ_BANK_CID: return dissect_tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CID: return dissect_tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CID: return dissect_tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CID: return dissect_tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_SPI_ACCESS_CID: return dissect_tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MDIO_READ_PHY_CID: return dissect_tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CID: return dissect_tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CID: return dissect_tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_LOG_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_LOG_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_LOG_STATS_CID: return dissect_tOCTVC1_MAIN_MSG_LOG_STATS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CID: return dissect_tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_LOG_START_TRACE_CID: return 0; break; + case cOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CID: return 0; break; + case cOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CID: return 0; break; + case cOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CID: return dissect_tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_PROCESS_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_PROCESS_LIST_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CID: return dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CID: return dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CID: return 0; break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CID: return 0; break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_OCT2200_STATS_CID: return dissect_tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_APPLICATION_START_CID: return 0; break; + case cOCTVC1_MAIN_MSG_APPLICATION_STOP_CID: return 0; break; + case cOCTVC1_MAIN_MSG_APPLICATION_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CID: return dissect_tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP( tvb, pinfo, tree, 0 ); break; default: return 1; } } @@ -11043,13 +5073,10 @@ int ws_dissect_OCTVC1_MAIN_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, if( tree ) { switch( CID ) { - case cOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EID: return dissect_tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EID: return 0; break; - case cOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EID: return dissect_tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EID: return dissect_tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EID: return dissect_tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT( tvb, pinfo, tree, 0 ); break; case cOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EID: return dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_PROCESS_DUMP_EID: return dissect_tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EID: return dissect_tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EID: return dissect_tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT( tvb, pinfo, tree, 0 ); break; default: return 1; } } diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_net.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_net.c deleted file mode 100644 index 5c49057..0000000 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_net.c +++ /dev/null @@ -1,16794 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: octvc1_module_net.c - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contain the wireshark module dissector related functions - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -/***************************** INCLUDE FILES *******************************/ - -#include -#include -#include "../../../include/oct_ws_macro.h" -#include "../include/module.h" -#include "../include/octvc1_common.h" - -#include - - -/**************************************************************************** - MODULE API ENUMERATION STRING VALUES - ****************************************************************************/ - -const value_string vals_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM[] = - { - { cOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM_RTP_PAYLOAD_TYPE, "cOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM_RTP_PAYLOAD_TYPE" }, - { cOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM_PKT_ENCODING_TYPE, "cOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM_PKT_ENCODING_TYPE" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM[] = - { - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_NONE, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_NONE" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_TENTATIVE, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_TENTATIVE" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_VALID, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_VALID" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_INVALID, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_INVALID" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM[] = - { - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV4_DAD_PASSED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV4_DAD_PASSED" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV4_DAD_FAILED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV4_DAD_FAILED" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_DAD_PASSED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_DAD_PASSED" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_DAD_FAILED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_DAD_FAILED" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_AUTO_CONFIG_PREFIX_FOUND, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_AUTO_CONFIG_PREFIX_FOUND" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_PREFER_EXPIRED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_PREFER_EXPIRED" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_VALID_EXPIRED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_VALID_EXPIRED" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_ROUTER_ADVERTISEMENT, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_ROUTER_ADVERTISEMENT" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_USER_REMOVED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_USER_REMOVED" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_USER_ADDED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_USER_ADDED" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_LEASE_EXPIRED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_LEASE_EXPIRED" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_RENEW_REQUEST_SENT, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_RENEW_REQUEST_SENT" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_REBIND_REQUEST_SENT, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_REBIND_REQUEST_SENT" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_OFFER_REQUEST_SENT, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_OFFER_REQUEST_SENT" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_ADDR_LEASED, "cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_ADDR_LEASED" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM[] = - { - { cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_ARP_PROBE, "cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_ARP_PROBE" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_ARP_REQUEST, "cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_ARP_REQUEST" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_ARP_REPLY, "cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_ARP_REPLY" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_GARP_REQUEST, "cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_GARP_REQUEST" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_GARP_REPLY, "cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_GARP_REPLY" }, - { cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_NEIGHBOR_ADVERTISEMENT, "cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_NEIGHBOR_ADVERTISEMENT" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_ICMP_ENUM[] = - { - { cOCTVC1_NET_ICMP_ENUM_OK, "cOCTVC1_NET_ICMP_ENUM_OK" }, - { cOCTVC1_NET_ICMP_ENUM_NO_REPLY, "cOCTVC1_NET_ICMP_ENUM_NO_REPLY" }, - { cOCTVC1_NET_ICMP_ENUM_DEST_UNREACHABLE, "cOCTVC1_NET_ICMP_ENUM_DEST_UNREACHABLE" }, - { cOCTVC1_NET_ICMP_ENUM_TIME_EXCEEDED, "cOCTVC1_NET_ICMP_ENUM_TIME_EXCEEDED" }, - { cOCTVC1_NET_ICMP_ENUM_UNKNOWN_ERROR, "cOCTVC1_NET_ICMP_ENUM_UNKNOWN_ERROR" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK[] = - { - { cOCTVC1_NET_LOCAL_HOST_EVT_MASK_NONE, "cOCTVC1_NET_LOCAL_HOST_EVT_MASK_NONE" }, - { cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_DEST_UNREACHABLE, "cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_DEST_UNREACHABLE" }, - { cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_TIME_EXCEEDED, "cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_TIME_EXCEEDED" }, - { cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_UNKNOWN_ERROR, "cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_UNKNOWN_ERROR" }, - { cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_REDIRECT, "cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_REDIRECT" }, - { cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ADDR_STATUS_CHANGE, "cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ADDR_STATUS_CHANGE" }, - { cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ADDR_DUPLICATE_FOUND, "cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ADDR_DUPLICATE_FOUND" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_LINK_EVT_MASK[] = - { - { cOCTVC1_NET_LINK_EVT_MASK_NONE, "cOCTVC1_NET_LINK_EVT_MASK_NONE" }, - { cOCTVC1_NET_LINK_EVT_MASK_GATEWAY_STATUS_CHANGE, "cOCTVC1_NET_LINK_EVT_MASK_GATEWAY_STATUS_CHANGE" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM[] = - { - { cOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM_TENTATIVE, "cOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM_TENTATIVE" }, - { cOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM_REACHABLE, "cOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM_REACHABLE" }, - { cOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM_UNREACHABLE, "cOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM_UNREACHABLE" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RTP_EVT_MASK[] = - { - { cOCTVC1_NET_RTP_EVT_MASK_NONE, "cOCTVC1_NET_RTP_EVT_MASK_NONE" }, - { cOCTVC1_NET_RTP_EVT_MASK_RX_ALARM, "cOCTVC1_NET_RTP_EVT_MASK_RX_ALARM" }, - { cOCTVC1_NET_RTP_EVT_MASK_TX_STATE_CHANGE, "cOCTVC1_NET_RTP_EVT_MASK_TX_STATE_CHANGE" }, - { cOCTVC1_NET_RTP_EVT_MASK_REMOTE_AUTO_DETECT, "cOCTVC1_NET_RTP_EVT_MASK_REMOTE_AUTO_DETECT" }, - { cOCTVC1_NET_RTP_EVT_MASK_ALL, "cOCTVC1_NET_RTP_EVT_MASK_ALL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RX_PKT_FILTER_ENUM[] = - { - { cOCTVC1_NET_RX_PKT_FILTER_ENUM_NONE, "cOCTVC1_NET_RX_PKT_FILTER_ENUM_NONE" }, - { cOCTVC1_NET_RX_PKT_FILTER_ENUM_SRCIPUDP, "cOCTVC1_NET_RX_PKT_FILTER_ENUM_SRCIPUDP" }, - { cOCTVC1_NET_RX_PKT_FILTER_ENUM_SSRC, "cOCTVC1_NET_RX_PKT_FILTER_ENUM_SSRC" }, - { cOCTVC1_NET_RX_PKT_FILTER_ENUM_SRCIPUDP_SSRC, "cOCTVC1_NET_RX_PKT_FILTER_ENUM_SRCIPUDP_SSRC" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RTCP_EVT_MASK[] = - { - { cOCTVC1_NET_RTCP_EVT_MASK_NONE, "cOCTVC1_NET_RTCP_EVT_MASK_NONE" }, - { cOCTVC1_NET_RTCP_EVT_MASK_PKT_ERROR, "cOCTVC1_NET_RTCP_EVT_MASK_PKT_ERROR" }, - { cOCTVC1_NET_RTCP_EVT_MASK_PKT_COMPOUND, "cOCTVC1_NET_RTCP_EVT_MASK_PKT_COMPOUND" }, - { cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_SR, "cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_SR" }, - { cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_RR, "cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_RR" }, - { cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_SDES, "cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_SDES" }, - { cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_BYE, "cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_BYE" }, - { cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_APP, "cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_APP" }, - { cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_FEEDBACK_MSG, "cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_FEEDBACK_MSG" }, - { cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_UNKNOWN, "cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_UNKNOWN" }, - { cOCTVC1_NET_RTCP_EVT_MASK_SSRC_CHANGE_LOCAL, "cOCTVC1_NET_RTCP_EVT_MASK_SSRC_CHANGE_LOCAL" }, - { cOCTVC1_NET_RTCP_EVT_MASK_SSRC_CHANGE_REMOTE, "cOCTVC1_NET_RTCP_EVT_MASK_SSRC_CHANGE_REMOTE" }, - { cOCTVC1_NET_RTCP_EVT_MASK_REMOTE_MEMBER_DETECTED, "cOCTVC1_NET_RTCP_EVT_MASK_REMOTE_MEMBER_DETECTED" }, - { cOCTVC1_NET_RTCP_EVT_MASK_ALL, "cOCTVC1_NET_RTCP_EVT_MASK_ALL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_EVT_MASK[] = - { - { cOCTVC1_NET_SRTP_EVT_MASK_NONE, "cOCTVC1_NET_SRTP_EVT_MASK_NONE" }, - { cOCTVC1_NET_SRTP_EVT_MASK_MASTER_RE_KEY_THRESHOLD_REACHED, "cOCTVC1_NET_SRTP_EVT_MASK_MASTER_RE_KEY_THRESHOLD_REACHED" }, - { cOCTVC1_NET_SRTP_EVT_MASK_MASTER_KEY_EXPIRED, "cOCTVC1_NET_SRTP_EVT_MASK_MASTER_KEY_EXPIRED" }, - { cOCTVC1_NET_SRTP_EVT_MASK_MASTER_KEY_CHANGE_DETECTED, "cOCTVC1_NET_SRTP_EVT_MASK_MASTER_KEY_CHANGE_DETECTED" }, - { cOCTVC1_NET_SRTP_EVT_MASK_REPLAY_ATTACK_DETECTED, "cOCTVC1_NET_SRTP_EVT_MASK_REPLAY_ATTACK_DETECTED" }, - { cOCTVC1_NET_SRTP_EVT_MASK_UNAUTH_PKT_DETECTED, "cOCTVC1_NET_SRTP_EVT_MASK_UNAUTH_PKT_DETECTED" }, - { cOCTVC1_NET_SRTP_EVT_MASK_UNKNOWN_MKI_RECEIVED, "cOCTVC1_NET_SRTP_EVT_MASK_UNKNOWN_MKI_RECEIVED" }, - { cOCTVC1_NET_SRTP_EVT_MASK_SESSION_SSRC_VIOLATION, "cOCTVC1_NET_SRTP_EVT_MASK_SESSION_SSRC_VIOLATION" }, - { cOCTVC1_NET_SRTP_EVT_MASK_ALL, "cOCTVC1_NET_SRTP_EVT_MASK_ALL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[] = - { - { cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_NONE, "cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_NONE" }, - { cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_SSRC, "cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_SSRC" }, - { cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_INITIAL_SEQ_NUMBER, "cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_INITIAL_SEQ_NUMBER" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RTCP_PKT_TYPE_ENUM[] = - { - { cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_COMPOUND, "cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_COMPOUND" }, - { cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_COMPOUND_WITH_ERROR, "cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_COMPOUND_WITH_ERROR" }, - { cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_RR, "cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_RR" }, - { cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_SR, "cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_SR" }, - { cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_SDES, "cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_SDES" }, - { cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_BYE, "cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_BYE" }, - { cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_APP, "cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_APP" }, - { cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_FEEDBACK_MSG, "cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_FEEDBACK_MSG" }, - { cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_UNKNOWN, "cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_UNKNOWN" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RTP_SENDER_STATE_ENUM[] = - { - { cOCTVC1_NET_RTP_SENDER_STATE_ENUM_PENDING, "cOCTVC1_NET_RTP_SENDER_STATE_ENUM_PENDING" }, - { cOCTVC1_NET_RTP_SENDER_STATE_ENUM_INACTIVE, "cOCTVC1_NET_RTP_SENDER_STATE_ENUM_INACTIVE" }, - { cOCTVC1_NET_RTP_SENDER_STATE_ENUM_ACTIVE, "cOCTVC1_NET_RTP_SENDER_STATE_ENUM_ACTIVE" }, - { cOCTVC1_NET_RTP_SENDER_STATE_ENUM_UNRESOLVED, "cOCTVC1_NET_RTP_SENDER_STATE_ENUM_UNRESOLVED" }, - { cOCTVC1_NET_RTP_SENDER_STATE_ENUM_PAUSED, "cOCTVC1_NET_RTP_SENDER_STATE_ENUM_PAUSED" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_OPERATION_MODE_ENUM[] = - { - { cOCTVC1_NET_OPERATION_MODE_ENUM_ENDPOINT, "cOCTVC1_NET_OPERATION_MODE_ENUM_ENDPOINT" }, - { cOCTVC1_NET_OPERATION_MODE_ENUM_RTP_ONLY, "cOCTVC1_NET_OPERATION_MODE_ENUM_RTP_ONLY" }, - { cOCTVC1_NET_OPERATION_MODE_ENUM_FULL_TRANSLATOR, "cOCTVC1_NET_OPERATION_MODE_ENUM_FULL_TRANSLATOR" }, - { cOCTVC1_NET_OPERATION_MODE_ENUM_HALF_TRANSLATOR, "cOCTVC1_NET_OPERATION_MODE_ENUM_HALF_TRANSLATOR" }, - { cOCTVC1_NET_OPERATION_MODE_ENUM_RECOVER_NTP_FROM_RTP_TS, "cOCTVC1_NET_OPERATION_MODE_ENUM_RECOVER_NTP_FROM_RTP_TS" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM[] = - { - { cOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM_DISCONNECTED, "cOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM_DISCONNECTED" }, - { cOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM_CONNECTED, "cOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM_CONNECTED" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RX_ALARM_MASK[] = - { - { cOCTVC1_NET_RX_ALARM_MASK_NONE, "cOCTVC1_NET_RX_ALARM_MASK_NONE" }, - { cOCTVC1_NET_RX_ALARM_MASK_THRESH_FRACTION_LOST, "cOCTVC1_NET_RX_ALARM_MASK_THRESH_FRACTION_LOST" }, - { cOCTVC1_NET_RX_ALARM_MASK_THRESH_JITTER, "cOCTVC1_NET_RX_ALARM_MASK_THRESH_JITTER" }, - { cOCTVC1_NET_RX_ALARM_MASK_THRESH_RTT, "cOCTVC1_NET_RX_ALARM_MASK_THRESH_RTT" }, - { cOCTVC1_NET_RX_ALARM_MASK_THRESH_CUMUL_PKT_LOST, "cOCTVC1_NET_RX_ALARM_MASK_THRESH_CUMUL_PKT_LOST" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM[] = - { - { cOCTVC1_NET_SRTP_STREAM_TYPE_ENUM_SENDER, "cOCTVC1_NET_SRTP_STREAM_TYPE_ENUM_SENDER" }, - { cOCTVC1_NET_SRTP_STREAM_TYPE_ENUM_RECEIVER, "cOCTVC1_NET_SRTP_STREAM_TYPE_ENUM_RECEIVER" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM[] = - { - { cOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM_MKI, "cOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM_MKI" }, - { cOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM_FROM_TO, "cOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM_FROM_TO" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM[] = - { - { cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_NULL, "cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_NULL" }, - { cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_AES_CM, "cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_AES_CM" }, - { cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_AES_F8, "cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_AES_F8" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM[] = - { - { cOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM_NULL, "cOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM_NULL" }, - { cOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM_HMAC_SHA1, "cOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM_HMAC_SHA1" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_STREAM_STATE_ENUM[] = - { - { cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_INVALID, "cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_INVALID" }, - { cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_INACTIVE, "cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_INACTIVE" }, - { cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_ACTIVE, "cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_ACTIVE" }, - { cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_ERROR, "cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_ERROR" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_KEY_STATE_ENUM[] = - { - { cOCTVC1_NET_SRTP_KEY_STATE_ENUM_INVALID, "cOCTVC1_NET_SRTP_KEY_STATE_ENUM_INVALID" }, - { cOCTVC1_NET_SRTP_KEY_STATE_ENUM_INACTIVE, "cOCTVC1_NET_SRTP_KEY_STATE_ENUM_INACTIVE" }, - { cOCTVC1_NET_SRTP_KEY_STATE_ENUM_ACTIVE, "cOCTVC1_NET_SRTP_KEY_STATE_ENUM_ACTIVE" }, - { cOCTVC1_NET_SRTP_KEY_STATE_ENUM_ACTIVE_THRESHOLD_REACH, "cOCTVC1_NET_SRTP_KEY_STATE_ENUM_ACTIVE_THRESHOLD_REACH" }, - { cOCTVC1_NET_SRTP_KEY_STATE_ENUM_EXPIRE, "cOCTVC1_NET_SRTP_KEY_STATE_ENUM_EXPIRE" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM[] = - { - { cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_128, "cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_128" }, - { cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_192, "cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_192" }, - { cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_256, "cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_256" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM[] = - { - { cOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM_0, "cOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM_0" }, - { cOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM_112, "cOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM_112" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_SRTP_SERVICE_MASK[] = - { - { cOCTVC1_NET_SRTP_SERVICE_MASK_NONE, "cOCTVC1_NET_SRTP_SERVICE_MASK_NONE" }, - { cOCTVC1_NET_SRTP_SERVICE_MASK_CONFIDENTIALITY, "cOCTVC1_NET_SRTP_SERVICE_MASK_CONFIDENTIALITY" }, - { cOCTVC1_NET_SRTP_SERVICE_MASK_AUTHENTICATION, "cOCTVC1_NET_SRTP_SERVICE_MASK_AUTHENTICATION" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK[] = - { - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_NONE, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_NONE" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_RTP, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_RTP" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_RTCP, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_RTCP" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_T38, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_T38" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_CNAME, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_CNAME" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_STREAM_CONFIG_SENDER, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_STREAM_CONFIG_SENDER" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_KEY_ENTRY_SENDER, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_KEY_ENTRY_SENDER" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_STREAM_CONFIG_RECEIVER, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_STREAM_CONFIG_RECEIVER" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_KEY_ENTRY_RECEIVER, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_KEY_ENTRY_RECEIVER" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_LOCAL_RTP, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_LOCAL_RTP" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_LOCAL_RTCP, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_LOCAL_RTCP" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_LOCAL_T38, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_LOCAL_T38" }, - { cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_ALL, "cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_ALL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK[] = - { - { cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_NONE, "cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_NONE" }, - { cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_PLI, "cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_PLI" }, - { cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_FIR, "cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_FIR" }, - { cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_ALL, "cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_ALL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_ETHERTYPE_ENCODING_ENUM[] = - { - { cOCTVC1_NET_ETHERTYPE_ENCODING_ENUM_ETH_II, "cOCTVC1_NET_ETHERTYPE_ENCODING_ENUM_ETH_II" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM[] = - { - { cOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM_RTP, "cOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM_RTP" }, - { cOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM_RTCP, "cOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM_RTCP" }, - { cOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM_T38_UDPTL, "cOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM_T38_UDPTL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK[] = - { - { cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_NONE, "cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_NONE" }, - { cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_STREAM_RTP, "cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_STREAM_RTP" }, - { cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_STREAM_RTCP, "cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_STREAM_RTCP" }, - { cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_STREAM_T38_UDPTL, "cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_STREAM_T38_UDPTL" }, - { cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_LOCAL, "cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_LOCAL" }, - { cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_REMOTE, "cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_REMOTE" }, - { cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_ALL, "cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_ALL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK[] = - { - { cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_NONE, "cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_NONE" }, - { cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_TX_PKT_ENABLE_FLAG, "cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_TX_PKT_ENABLE_FLAG" }, - { cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_RX_PKT_FILTER, "cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_RX_PKT_FILTER" }, - { cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_PKT_HEADER, "cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_PKT_HEADER" }, - { cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_ALL, "cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_ALL" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM[] = - { - { cOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM_DHCP, "cOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM_DHCP" }, - { cOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED, "cOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM[] = - { - { cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_STATELESS, "cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_STATELESS" }, - { cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_STATEFUL, "cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_STATEFUL" }, - { cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED, "cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED" }, - { 0, NULL } - }; - -const value_string vals_tOCTVC1_NET_REMOTE_ADDRESS_ENUM[] = - { - { cOCTVC1_NET_REMOTE_ADDRESS_ENUM_RTP, "cOCTVC1_NET_REMOTE_ADDRESS_ENUM_RTP" }, - { cOCTVC1_NET_REMOTE_ADDRESS_ENUM_RTCP, "cOCTVC1_NET_REMOTE_ADDRESS_ENUM_RTCP" }, - { cOCTVC1_NET_REMOTE_ADDRESS_ENUM_T38_UDPTL, "cOCTVC1_NET_REMOTE_ADDRESS_ENUM_T38_UDPTL" }, - { 0, NULL } - }; - -/**************************************************************************** - COMMON Registered - ****************************************************************************/ - -int ahf_tOCTVC1_NET_IP_CURSOR[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_IP_CURSOR; - -void register_tOCTVC1_NET_IP_CURSOR(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_IP_CURSOR[0], - { "hLink", "octvc1.net.ip_cursor.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_IP_CURSOR[1], - { "IpAddress", "octvc1.net.ip_cursor.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_IP_CURSOR[2], - { "ulGetMode", "octvc1.net.ip_cursor.ulgetmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, - "ulGetMode",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_IP_CURSOR.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_RTP_PROFILE_ENTRY[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_RTP_PROFILE_ENTRY; - -void register_tOCTVC1_NET_RTP_PROFILE_ENTRY(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_RTP_PROFILE_ENTRY[0], - { "ulRtpPayloadType", "octvc1.net.rtp_profile_entry.ulrtppayloadtype", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtpPayloadType",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTP_PROFILE_ENTRY[1], - { "ulPktEncodingType", "octvc1.net.rtp_profile_entry.ulpktencodingtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVOCNET_PKT_D_TYPE_ENUM), 0x0, - "ulPktEncodingType",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_RTP_PROFILE_ENTRY.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY; - -void register_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY[0], - { "ulModifyType", "octvc1.net.rtp_profile_modify_entry.ulmodifytype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM), 0x0, - "ulModifyType",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY[1], - { "Entry", "octvc1.net.rtp_profile_modify_entry.entry", - FT_NONE, BASE_NONE, NULL, 0x0, - "Entry",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[14]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_SRTP_KEY_ENTRY; - -void register_tOCTVC1_NET_SRTP_KEY_ENTRY(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[0], - { "ulMasterKeyBitSize", "octvc1.net.srtp_key_entry.ulmasterkeybitsize", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM), 0x0, - "ulMasterKeyBitSize",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[1], - { "abyMasterKey", "octvc1.net.srtp_key_entry.abymasterkey", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyMasterKey",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[2], - { "ulMasterSaltBitSize", "octvc1.net.srtp_key_entry.ulmastersaltbitsize", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM), 0x0, - "ulMasterSaltBitSize",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[3], - { "abyMasterSalt", "octvc1.net.srtp_key_entry.abymastersalt", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyMasterSalt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[4], - { "ulKeyDerivationRateLog2", "octvc1.net.srtp_key_entry.ulkeyderivationratelog2", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulKeyDerivationRateLog2",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[5], - { "aulRtpMasterKeyMaxLifeTime", "octvc1.net.srtp_key_entry.aulrtpmasterkeymaxlifetime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulRtpMasterKeyMaxLifeTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[6], - { "aulRtpMasterKeyFromLifeTime", "octvc1.net.srtp_key_entry.aulrtpmasterkeyfromlifetime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulRtpMasterKeyFromLifeTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[7], - { "aulRtpMasterKeyToLifeTime", "octvc1.net.srtp_key_entry.aulrtpmasterkeytolifetime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulRtpMasterKeyToLifeTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[8], - { "aulRtpReKeyEventThreshold", "octvc1.net.srtp_key_entry.aulrtprekeyeventthreshold", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulRtpReKeyEventThreshold",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[9], - { "ulRtcpMasterKeyMaxLifeTime", "octvc1.net.srtp_key_entry.ulrtcpmasterkeymaxlifetime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtcpMasterKeyMaxLifeTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[10], - { "ulRtcpMasterKeyFromLifeTime", "octvc1.net.srtp_key_entry.ulrtcpmasterkeyfromlifetime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtcpMasterKeyFromLifeTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[11], - { "ulRtcpMasterKeyToLifeTime", "octvc1.net.srtp_key_entry.ulrtcpmasterkeytolifetime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtcpMasterKeyToLifeTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[12], - { "ulRtcpReKeyEventThreshold", "octvc1.net.srtp_key_entry.ulrtcprekeyeventthreshold", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtcpReKeyEventThreshold",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[13], - { "abyMkiValue", "octvc1.net.srtp_key_entry.abymkivalue", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyMkiValue",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_SRTP_KEY_ENTRY.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[10]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_SRTP_STREAM_CONFIG; - -void register_tOCTVC1_NET_SRTP_STREAM_CONFIG(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[0], - { "ulCryptoTransform", "octvc1.net.srtp_stream_config.ulcryptotransform", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM), 0x0, - "ulCryptoTransform",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[1], - { "ulAuthTransform", "octvc1.net.srtp_stream_config.ulauthtransform", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM), 0x0, - "ulAuthTransform",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[2], - { "ulAuthTagBitSize", "octvc1.net.srtp_stream_config.ulauthtagbitsize", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAuthTagBitSize",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[3], - { "ulMkiByteSize", "octvc1.net.srtp_stream_config.ulmkibytesize", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMkiByteSize",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[4], - { "ulSessionCryptoKeyBitSize", "octvc1.net.srtp_stream_config.ulsessioncryptokeybitsize", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM), 0x0, - "ulSessionCryptoKeyBitSize",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[5], - { "ulSessionSaltKeyBitSize", "octvc1.net.srtp_stream_config.ulsessionsaltkeybitsize", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSessionSaltKeyBitSize",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[6], - { "ulSessionAuthKeyBitSize", "octvc1.net.srtp_stream_config.ulsessionauthkeybitsize", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSessionAuthKeyBitSize",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[7], - { "ulInitialRoc", "octvc1.net.srtp_stream_config.ulinitialroc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulInitialRoc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[8], - { "ulSrtpServiceMask", "octvc1.net.srtp_stream_config.ulsrtpservicemask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulSrtpServiceMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[9], - { "ulSrtcpServiceMask", "octvc1.net.srtp_stream_config.ulsrtcpservicemask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulSrtcpServiceMask",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_SRTP_STREAM_CONFIG.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_SRTP_KEY_STATS[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_SRTP_KEY_STATS; - -void register_tOCTVC1_NET_SRTP_KEY_STATS(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_SRTP_KEY_STATS[0], - { "ulKeyState", "octvc1.net.srtp_key_stats.ulkeystate", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_KEY_STATE_ENUM), 0x0, - "ulKeyState",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_STATS[1], - { "aulSrtpPacketCnt", "octvc1.net.srtp_key_stats.aulsrtppacketcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "aulSrtpPacketCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_KEY_STATS[2], - { "ulSrtcpPacketCnt", "octvc1.net.srtp_key_stats.ulsrtcppacketcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulSrtcpPacketCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_SRTP_KEY_STATS.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_SRTP_STREAM_STATS[13]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_SRTP_STREAM_STATS; - -void register_tOCTVC1_NET_SRTP_STREAM_STATS(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[0], - { "ulSrtpState", "octvc1.net.srtp_stream_stats.ulsrtpstate", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_STREAM_STATE_ENUM), 0x0, - "ulSrtpState",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[1], - { "ulSsrc", "octvc1.net.srtp_stream_stats.ulssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSsrc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[2], - { "ulLastRoc", "octvc1.net.srtp_stream_stats.ullastroc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLastRoc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[3], - { "ulLastSeq", "octvc1.net.srtp_stream_stats.ullastseq", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLastSeq",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[4], - { "ulLastSrtcpIndex", "octvc1.net.srtp_stream_stats.ullastsrtcpindex", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLastSrtcpIndex",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[5], - { "aulTotalSrtpPktCnt", "octvc1.net.srtp_stream_stats.aultotalsrtppktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "aulTotalSrtpPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[6], - { "aulTotalSrtcpPktCnt", "octvc1.net.srtp_stream_stats.aultotalsrtcppktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "aulTotalSrtcpPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[7], - { "ulUnAuthPktCnt", "octvc1.net.srtp_stream_stats.ulunauthpktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulUnAuthPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[8], - { "ulReplayPktCnt", "octvc1.net.srtp_stream_stats.ulreplaypktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulReplayPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[9], - { "ulReKeyCnt", "octvc1.net.srtp_stream_stats.ulrekeycnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulReKeyCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[10], - { "ulActiveKeyIdx", "octvc1.net.srtp_stream_stats.ulactivekeyidx", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulActiveKeyIdx",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[11], - { "ulSrtpKeyNum", "octvc1.net.srtp_stream_stats.ulsrtpkeynum", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulSrtpKeyNum",HFILL } - - }, - { - &ahf_tOCTVC1_NET_SRTP_STREAM_STATS[12], - { "aSrtpKeyStats", "octvc1.net.srtp_stream_stats.asrtpkeystats", - FT_NONE, BASE_NONE, NULL, 0x0, - "aSrtpKeyStats",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_SRTP_STREAM_STATS.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_CONFIG_STATIC[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_CONFIG_STATIC; - -void register_tOCTVC1_NET_CONFIG_STATIC(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_CONFIG_STATIC[0], - { "ulMaxRtpMember", "octvc1.net.config_static.ulmaxrtpmember", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRtpMember",HFILL } - - }, - { - &ahf_tOCTVC1_NET_CONFIG_STATIC[1], - { "ulMaxRtpSession", "octvc1.net.config_static.ulmaxrtpsession", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_CONFIG_STATIC[2], - { "ulMaxLocalIpHost", "octvc1.net.config_static.ulmaxlocaliphost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxLocalIpHost",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_CONFIG_STATIC.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_RTP_MEMBER_CONN_INFO[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_RTP_MEMBER_CONN_INFO; - -void register_tOCTVC1_NET_RTP_MEMBER_CONN_INFO(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_RTP_MEMBER_CONN_INFO[0], - { "ulConnectionState", "octvc1.net.rtp_member_conn_info.ulconnectionstate", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM), 0x0, - "ulConnectionState",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTP_MEMBER_CONN_INFO[1], - { "hConnectedRtpSession", "octvc1.net.rtp_member_conn_info.hconnectedrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hConnectedRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTP_MEMBER_CONN_INFO[2], - { "ulConnectedMemberId", "octvc1.net.rtp_member_conn_info.ulconnectedmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulConnectedMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_RTP_MEMBER_CONN_INFO.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_RTCP_SENDER_STATS[10]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_RTCP_SENDER_STATS; - -void register_tOCTVC1_NET_RTCP_SENDER_STATS(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[0], - { "aulSentPktCnt", "octvc1.net.rtcp_sender_stats.aulsentpktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "aulSentPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[1], - { "aulSentByteCnt", "octvc1.net.rtcp_sender_stats.aulsentbytecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "aulSentByteCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[2], - { "aulNtpTimestamp", "octvc1.net.rtcp_sender_stats.aulntptimestamp", - FT_UINT32,BASE_HEX, NULL, 0x0, - "aulNtpTimestamp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[3], - { "ulRtpTimestamp", "octvc1.net.rtcp_sender_stats.ulrtptimestamp", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtpTimestamp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[4], - { "ulSenderSsrc", "octvc1.net.rtcp_sender_stats.ulsenderssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderSsrc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[5], - { "ulSenderStartTime", "octvc1.net.rtcp_sender_stats.ulsenderstarttime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderStartTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[6], - { "ulSenderReportCnt", "octvc1.net.rtcp_sender_stats.ulsenderreportcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulSenderReportCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[7], - { "ulSenderState", "octvc1.net.rtcp_sender_stats.ulsenderstate", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_RTP_SENDER_STATE_ENUM), 0x0, - "ulSenderState",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[8], - { "ulLastSenderReportTime", "octvc1.net.rtcp_sender_stats.ullastsenderreporttime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLastSenderReportTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_SENDER_STATS[9], - { "ulSsrcChangeCnt", "octvc1.net.rtcp_sender_stats.ulssrcchangecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulSsrcChangeCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_RTCP_SENDER_STATS.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[14]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_RTCP_RECEIVER_STATS; - -void register_tOCTVC1_NET_RTCP_RECEIVER_STATS(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[0], - { "ulHighestSeqNumber", "octvc1.net.rtcp_receiver_stats.ulhighestseqnumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighestSeqNumber",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[1], - { "ulCumulativeLostCnt", "octvc1.net.rtcp_receiver_stats.ulcumulativelostcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulCumulativeLostCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[2], - { "ulFractionLost", "octvc1.net.rtcp_receiver_stats.ulfractionlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFractionLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[3], - { "ulInterArrivalJitter", "octvc1.net.rtcp_receiver_stats.ulinterarrivaljitter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulInterArrivalJitter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[4], - { "ulMaxFractionLost", "octvc1.net.rtcp_receiver_stats.ulmaxfractionlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxFractionLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[5], - { "ulMaxInterArrivalJitter", "octvc1.net.rtcp_receiver_stats.ulmaxinterarrivaljitter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxInterArrivalJitter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[6], - { "ulAverageFractionLost", "octvc1.net.rtcp_receiver_stats.ulaveragefractionlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAverageFractionLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[7], - { "ulAverageInterArrivalJitter", "octvc1.net.rtcp_receiver_stats.ulaverageinterarrivaljitter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAverageInterArrivalJitter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[8], - { "ulReceiverStartTime", "octvc1.net.rtcp_receiver_stats.ulreceiverstarttime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulReceiverStartTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[9], - { "ulReceiverReportCnt", "octvc1.net.rtcp_receiver_stats.ulreceiverreportcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulReceiverReportCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[10], - { "ulLastReceiverReportTime", "octvc1.net.rtcp_receiver_stats.ullastreceiverreporttime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLastReceiverReportTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[11], - { "ulRemoteSenderSsrc", "octvc1.net.rtcp_receiver_stats.ulremotesenderssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteSenderSsrc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[12], - { "ulAlarmRxThreshold", "octvc1.net.rtcp_receiver_stats.ulalarmrxthreshold", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulAlarmRxThreshold",HFILL } - - }, - { - &ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[13], - { "ulAlarmRxThresholdCnt", "octvc1.net.rtcp_receiver_stats.ulalarmrxthresholdcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulAlarmRxThresholdCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_RTCP_RECEIVER_STATS.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_VLAN_TAG[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_VLAN_TAG; - -void register_tOCTVC1_NET_VLAN_TAG(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_VLAN_TAG[0], - { "ulPriority", "octvc1.net.vlan_tag.ulpriority", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPriority",HFILL } - - }, - { - &ahf_tOCTVC1_NET_VLAN_TAG[1], - { "ulVlanId", "octvc1.net.vlan_tag.ulvlanid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulVlanId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_VLAN_TAG.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_HEADER_INFO_ETHERNET; - -void register_tOCTVC1_NET_HEADER_INFO_ETHERNET(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[0], - { "ulEthertypeEncoding", "octvc1.net.header_info_ethernet.ulethertypeencoding", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_ETHERTYPE_ENCODING_ENUM), 0x0, - "ulEthertypeEncoding",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[1], - { "ulEthertype", "octvc1.net.header_info_ethernet.ulethertype", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEthertype",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[2], - { "LocalMacAddress", "octvc1.net.header_info_ethernet.localmacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "LocalMacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[3], - { "RemoteMacAddress", "octvc1.net.header_info_ethernet.remotemacaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteMacAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_HEADER_INFO_ETHERNET.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_HEADER_INFO_VLAN[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_HEADER_INFO_VLAN; - -void register_tOCTVC1_NET_HEADER_INFO_VLAN(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_HEADER_INFO_VLAN[0], - { "ulNumVlanTag", "octvc1.net.header_info_vlan.ulnumvlantag", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumVlanTag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_VLAN[1], - { "aVlanTag", "octvc1.net.header_info_vlan.avlantag", - FT_NONE, BASE_NONE, NULL, 0x0, - "aVlanTag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_HEADER_INFO_VLAN.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_HEADER_INFO_IP[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_HEADER_INFO_IP; - -void register_tOCTVC1_NET_HEADER_INFO_IP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_HEADER_INFO_IP[0], - { "ulIpVersion", "octvc1.net.header_info_ip.ulipversion", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_IP_VERSION_ENUM), 0x0, - "ulIpVersion",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_IP[1], - { "ulTypeOfService", "octvc1.net.header_info_ip.ultypeofservice", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTypeOfService",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_IP[2], - { "ulTimeToLive", "octvc1.net.header_info_ip.ultimetolive", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTimeToLive",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_IP[3], - { "ulIpv6FlowLabel", "octvc1.net.header_info_ip.ulipv6flowlabel", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv6FlowLabel",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_IP[4], - { "LocalIpAddress", "octvc1.net.header_info_ip.localipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "LocalIpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_IP[5], - { "RemoteIpAddress", "octvc1.net.header_info_ip.remoteipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteIpAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_HEADER_INFO_IP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_HEADER_INFO_UDP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_HEADER_INFO_UDP; - -void register_tOCTVC1_NET_HEADER_INFO_UDP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_HEADER_INFO_UDP[0], - { "ulLocalUdpPort", "octvc1.net.header_info_udp.ullocaludpport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalUdpPort",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_INFO_UDP[1], - { "ulRemoteUdpPort", "octvc1.net.header_info_udp.ulremoteudpport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteUdpPort",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_HEADER_INFO_UDP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_HEADER_IPUDP[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_HEADER_IPUDP; - -void register_tOCTVC1_NET_HEADER_IPUDP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_HEADER_IPUDP[0], - { "Ethernet", "octvc1.net.header_ipudp.ethernet", - FT_NONE, BASE_NONE, NULL, 0x0, - "Ethernet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_IPUDP[1], - { "Vlan", "octvc1.net.header_ipudp.vlan", - FT_NONE, BASE_NONE, NULL, 0x0, - "Vlan",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_IPUDP[2], - { "Ip", "octvc1.net.header_ipudp.ip", - FT_NONE, BASE_NONE, NULL, 0x0, - "Ip",HFILL } - - }, - { - &ahf_tOCTVC1_NET_HEADER_IPUDP[3], - { "Udp", "octvc1.net.header_ipudp.udp", - FT_NONE, BASE_NONE, NULL, 0x0, - "Udp",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_HEADER_IPUDP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_CACHE_ENTRY_CURSOR; - -void register_tOCTVC1_NET_CACHE_ENTRY_CURSOR(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[0], - { "hLink", "octvc1.net.cache_entry_cursor.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[1], - { "Vlan", "octvc1.net.cache_entry_cursor.vlan", - FT_NONE, BASE_NONE, NULL, 0x0, - "Vlan",HFILL } - - }, - { - &ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[2], - { "IpAddress", "octvc1.net.cache_entry_cursor.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[3], - { "ulGetMode", "octvc1.net.cache_entry_cursor.ulgetmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, - "ulGetMode",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_CACHE_ENTRY_CURSOR.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_ETH_LINK_CACHE_ENTRY; - -void register_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[0], - { "hLink", "octvc1.net.eth_link_cache_entry.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[1], - { "Vlan", "octvc1.net.eth_link_cache_entry.vlan", - FT_NONE, BASE_NONE, NULL, 0x0, - "Vlan",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[2], - { "IpAddress", "octvc1.net.eth_link_cache_entry.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[3], - { "MacAddress", "octvc1.net.eth_link_cache_entry.macaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "MacAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[4], - { "ulStaticFlag", "octvc1.net.eth_link_cache_entry.ulstaticflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulStaticFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[5], - { "ulReachableFlag", "octvc1.net.eth_link_cache_entry.ulreachableflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulReachableFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_ETH_LINK_CACHE_ENTRY.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_LINK_GATEWAY_INFO[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_LINK_GATEWAY_INFO; - -void register_tOCTVC1_NET_LINK_GATEWAY_INFO(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_LINK_GATEWAY_INFO[0], - { "IpAddress", "octvc1.net.link_gateway_info.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_LINK_GATEWAY_INFO[1], - { "ulLifetimeSec", "octvc1.net.link_gateway_info.ullifetimesec", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLifetimeSec",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_LINK_GATEWAY_INFO.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_LINK_IPV6_PREFIX[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_LINK_IPV6_PREFIX; - -void register_tOCTVC1_NET_LINK_IPV6_PREFIX(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_LINK_IPV6_PREFIX[0], - { "IpAddress", "octvc1.net.link_ipv6_prefix.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_LINK_IPV6_PREFIX[1], - { "ulBitLength", "octvc1.net.link_ipv6_prefix.ulbitlength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulBitLength",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_LINK_IPV6_PREFIX.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_LINK_IPV6_PREFIX_INFO; - -void register_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[0], - { "IPv6Prefix", "octvc1.net.link_ipv6_prefix_info.ipv6prefix", - FT_NONE, BASE_NONE, NULL, 0x0, - "IPv6Prefix",HFILL } - - }, - { - &ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[1], - { "ulOnLinkFlag", "octvc1.net.link_ipv6_prefix_info.ulonlinkflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulOnLinkFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[2], - { "ulAddrAutoConfigFlag", "octvc1.net.link_ipv6_prefix_info.uladdrautoconfigflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAddrAutoConfigFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[3], - { "ulValidLifetimeSec", "octvc1.net.link_ipv6_prefix_info.ulvalidlifetimesec", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulValidLifetimeSec",HFILL } - - }, - { - &ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[4], - { "ulPreferredLifetimeSec", "octvc1.net.link_ipv6_prefix_info.ulpreferredlifetimesec", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPreferredLifetimeSec",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_LINK_IPV6_PREFIX_INFO.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_IPV6_PREFIX_CURSOR[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_IPV6_PREFIX_CURSOR; - -void register_tOCTVC1_NET_IPV6_PREFIX_CURSOR(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_IPV6_PREFIX_CURSOR[0], - { "hLink", "octvc1.net.ipv6_prefix_cursor.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_IPV6_PREFIX_CURSOR[1], - { "IPv6Prefix", "octvc1.net.ipv6_prefix_cursor.ipv6prefix", - FT_NONE, BASE_NONE, NULL, 0x0, - "IPv6Prefix",HFILL } - - }, - { - &ahf_tOCTVC1_NET_IPV6_PREFIX_CURSOR[2], - { "ulGetMode", "octvc1.net.ipv6_prefix_cursor.ulgetmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, - "ulGetMode",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_IPV6_PREFIX_CURSOR.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[11]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_ETH_LINK_CONFIG_IPV4; - -void register_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[0], - { "ulEnableFlag", "octvc1.net.eth_link_config_ipv4.ulenableflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulEnableFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[1], - { "ulAddrAutoconfigMode", "octvc1.net.eth_link_config_ipv4.uladdrautoconfigmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM), 0x0, - "ulAddrAutoconfigMode",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[2], - { "ulNDPBaseReachableTimeMs", "octvc1.net.eth_link_config_ipv4.ulndpbasereachabletimems", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNDPBaseReachableTimeMs",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[3], - { "ulARPRefreshTimeMs", "octvc1.net.eth_link_config_ipv4.ularprefreshtimems", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulARPRefreshTimeMs",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[4], - { "ulARPReplyTimeMs", "octvc1.net.eth_link_config_ipv4.ularpreplytimems", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulARPReplyTimeMs",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[5], - { "ulARPUnusedTimeMs", "octvc1.net.eth_link_config_ipv4.ularpunusedtimems", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulARPUnusedTimeMs",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[6], - { "ulARPReqCreateCnt", "octvc1.net.eth_link_config_ipv4.ularpreqcreatecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulARPReqCreateCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[7], - { "ulARPReqRefreshCnt", "octvc1.net.eth_link_config_ipv4.ularpreqrefreshcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulARPReqRefreshCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[8], - { "ulARPReqRefreshBroadcastCnt", "octvc1.net.eth_link_config_ipv4.ularpreqrefreshbroadcastcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulARPReqRefreshBroadcastCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[9], - { "ulARPReqDupAddrCnt", "octvc1.net.eth_link_config_ipv4.ularpreqdupaddrcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulARPReqDupAddrCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[10], - { "ulGARPRequestCnt", "octvc1.net.eth_link_config_ipv4.ulgarprequestcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulGARPRequestCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_ETH_LINK_CONFIG_IPV4.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[11]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_ETH_LINK_CONFIG_IPV6; - -void register_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[0], - { "ulEnableFlag", "octvc1.net.eth_link_config_ipv6.ulenableflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulEnableFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[1], - { "ulCreateLoopbackEntryFlag", "octvc1.net.eth_link_config_ipv6.ulcreateloopbackentryflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulCreateLoopbackEntryFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[2], - { "ulAddrAutoconfigMode", "octvc1.net.eth_link_config_ipv6.uladdrautoconfigmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM), 0x0, - "ulAddrAutoconfigMode",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[3], - { "ulNDPBaseReachableTimeMs", "octvc1.net.eth_link_config_ipv6.ulndpbasereachabletimems", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNDPBaseReachableTimeMs",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[4], - { "ulNDPRetransTimeMs", "octvc1.net.eth_link_config_ipv6.ulndpretranstimems", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNDPRetransTimeMs",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[5], - { "ulNDPUnusedTimeMs", "octvc1.net.eth_link_config_ipv6.ulndpunusedtimems", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNDPUnusedTimeMs",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[6], - { "ulNDPSolicitCreateCnt", "octvc1.net.eth_link_config_ipv6.ulndpsolicitcreatecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNDPSolicitCreateCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[7], - { "ulNDPSolicitDupAddrCnt", "octvc1.net.eth_link_config_ipv6.ulndpsolicitdupaddrcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNDPSolicitDupAddrCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[8], - { "ulNDPSolicitProbeCnt", "octvc1.net.eth_link_config_ipv6.ulndpsolicitprobecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNDPSolicitProbeCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[9], - { "ulNDPSolicitProbeMulticastCnt", "octvc1.net.eth_link_config_ipv6.ulndpsolicitprobemulticastcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNDPSolicitProbeMulticastCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[10], - { "ulNDPSolicitRouterCnt", "octvc1.net.eth_link_config_ipv6.ulndpsolicitroutercnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNDPSolicitRouterCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_ETH_LINK_CONFIG_IPV6.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ; - -void register_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[0], - { "ulEnableFlag", "octvc1.net.eth_link_config_eth_802_1pq.ulenableflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulEnableFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[1], - { "ulDefaultUserPriority", "octvc1.net.eth_link_config_eth_802_1pq.uldefaultuserpriority", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDefaultUserPriority",HFILL } - - }, - { - &ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[2], - { "ulVlanId", "octvc1.net.eth_link_config_eth_802_1pq.ulvlanid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulVlanId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_EUI64_INTERFACE_ID[1]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_EUI64_INTERFACE_ID; - -void register_tOCTVC1_NET_EUI64_INTERFACE_ID(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_EUI64_INTERFACE_ID[0], - { "ausInterfaceId", "octvc1.net.eui64_interface_id.ausinterfaceid", - FT_UINT16,BASE_HEX, NULL, 0x0, - "ausInterfaceId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_EUI64_INTERFACE_ID.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM; - -void register_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[0], - { "ulEnableFlag", "octvc1.net.custom_member_ipudp_stream.ulenableflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulEnableFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[1], - { "ulTxPktEnableFlag", "octvc1.net.custom_member_ipudp_stream.ultxpktenableflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulTxPktEnableFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[2], - { "ulRxPktFilter", "octvc1.net.custom_member_ipudp_stream.ulrxpktfilter", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_RX_PKT_FILTER_ENUM), 0x0, - "ulRxPktFilter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[3], - { "Header", "octvc1.net.custom_member_ipudp_stream.header", - FT_NONE, BASE_NONE, NULL, 0x0, - "Header",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY; - -void register_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY[0], - { "ulModifyMask", "octvc1.net.custom_member_ipudp_stream_modify.ulmodifymask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulModifyMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY[1], - { "Modify", "octvc1.net.custom_member_ipudp_stream_modify.modify", - FT_NONE, BASE_NONE, NULL, 0x0, - "Modify",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -/**************************************************************************** - Event Registered - ****************************************************************************/ - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.rtcp_pkt.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.rtcp_pkt.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[2], - { "ulPktType", "octvc1.net.rtp_session.member.rtcp_pkt.ulpkttype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_RTCP_PKT_TYPE_ENUM), 0x0, - "ulPktType",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[3], - { "ulPktByteLength", "octvc1.net.rtp_session.member.rtcp_pkt.ulpktbytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPktByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[4], - { "abyRtcpPkt", "octvc1.net.rtp_session.member.rtcp_pkt.abyrtcppkt", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyRtcpPkt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.rtcp_remote_detected.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.rtcp_remote_detected.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT[2], - { "ulCnameLength", "octvc1.net.rtp_session.member.rtcp_remote_detected.ulcnamelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulCnameLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT[3], - { "achCname", "octvc1.net.rtp_session.member.rtcp_remote_detected.achcname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achCname",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.rtcp_ssrc_change.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.rtcp_ssrc_change.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[2], - { "ulLocalFlag", "octvc1.net.rtp_session.member.rtcp_ssrc_change.ullocalflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulLocalFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[3], - { "ulPreviousSsrc", "octvc1.net.rtp_session.member.rtcp_ssrc_change.ulpreviousssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPreviousSsrc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[4], - { "ulNewSsrc", "octvc1.net.rtp_session.member.rtcp_ssrc_change.ulnewssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNewSsrc",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.rtcp_receiver_alarm.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.rtcp_receiver_alarm.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[2], - { "ulLocalFlag", "octvc1.net.rtp_session.member.rtcp_receiver_alarm.ullocalflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulLocalFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[3], - { "ulRoundTripTime", "octvc1.net.rtp_session.member.rtcp_receiver_alarm.ulroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[4], - { "ulMaxRoundTripTime", "octvc1.net.rtp_session.member.rtcp_receiver_alarm.ulmaxroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[5], - { "ulAverageRoundTripTime", "octvc1.net.rtp_session.member.rtcp_receiver_alarm.ulaverageroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAverageRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[6], - { "StatsReceiver", "octvc1.net.rtp_session.member.rtcp_receiver_alarm.statsreceiver", - FT_NONE, BASE_NONE, NULL, 0x0, - "StatsReceiver",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.rtcp_sender_state_change.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.rtcp_sender_state_change.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[2], - { "ulLocalFlag", "octvc1.net.rtp_session.member.rtcp_sender_state_change.ullocalflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulLocalFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[3], - { "ulPreviousSenderState", "octvc1.net.rtp_session.member.rtcp_sender_state_change.ulprevioussenderstate", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_RTP_SENDER_STATE_ENUM), 0x0, - "ulPreviousSenderState",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[4], - { "ulNewSenderState", "octvc1.net.rtp_session.member.rtcp_sender_state_change.ulnewsenderstate", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_RTP_SENDER_STATE_ENUM), 0x0, - "ulNewSenderState",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.remote_auto_detect.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.remote_auto_detect.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[2], - { "ulRemoteAddress", "octvc1.net.rtp_session.member.remote_auto_detect.ulremoteaddress", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_REMOTE_ADDRESS_ENUM), 0x0, - "ulRemoteAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[3], - { "RemoteUdpAddress", "octvc1.net.rtp_session.member.remote_auto_detect.remoteudpaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.srtp.master_re_key_threshold_reached.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.srtp.master_re_key_threshold_reached.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[2], - { "ulSrtpStreamType", "octvc1.net.rtp_session.member.srtp.master_re_key_threshold_reached.ulsrtpstreamtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM), 0x0, - "ulSrtpStreamType",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[3], - { "ActiveSrtpKey", "octvc1.net.rtp_session.member.srtp.master_re_key_threshold_reached.activesrtpkey", - FT_NONE, BASE_NONE, NULL, 0x0, - "ActiveSrtpKey",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[4], - { "aulSrtpPacketCnt", "octvc1.net.rtp_session.member.srtp.master_re_key_threshold_reached.aulsrtppacketcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "aulSrtpPacketCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[5], - { "ulSrtcpPacketCnt", "octvc1.net.rtp_session.member.srtp.master_re_key_threshold_reached.ulsrtcppacketcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulSrtcpPacketCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.srtp.master_key_expired.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.srtp.master_key_expired.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[2], - { "ulSrtpStreamType", "octvc1.net.rtp_session.member.srtp.master_key_expired.ulsrtpstreamtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM), 0x0, - "ulSrtpStreamType",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[3], - { "ActiveSrtpKey", "octvc1.net.rtp_session.member.srtp.master_key_expired.activesrtpkey", - FT_NONE, BASE_NONE, NULL, 0x0, - "ActiveSrtpKey",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[4], - { "aulSrtpPacketCnt", "octvc1.net.rtp_session.member.srtp.master_key_expired.aulsrtppacketcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "aulSrtpPacketCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[5], - { "ulSrtcpPacketCnt", "octvc1.net.rtp_session.member.srtp.master_key_expired.ulsrtcppacketcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulSrtcpPacketCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.srtp.master_key_change_detected.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.srtp.master_key_change_detected.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[2], - { "ulSrtpStreamType", "octvc1.net.rtp_session.member.srtp.master_key_change_detected.ulsrtpstreamtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM), 0x0, - "ulSrtpStreamType",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[3], - { "ulKeyChangeReason", "octvc1.net.rtp_session.member.srtp.master_key_change_detected.ulkeychangereason", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM), 0x0, - "ulKeyChangeReason",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[4], - { "ActiveSrtpKey", "octvc1.net.rtp_session.member.srtp.master_key_change_detected.activesrtpkey", - FT_NONE, BASE_NONE, NULL, 0x0, - "ActiveSrtpKey",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[5], - { "PreviousSrtpKey", "octvc1.net.rtp_session.member.srtp.master_key_change_detected.previoussrtpkey", - FT_NONE, BASE_NONE, NULL, 0x0, - "PreviousSrtpKey",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.srtp.replay_attack_detected.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.srtp.replay_attack_detected.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT[2], - { "ulSrtpStreamType", "octvc1.net.rtp_session.member.srtp.replay_attack_detected.ulsrtpstreamtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM), 0x0, - "ulSrtpStreamType",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.srtp.unauth_pkt_detected.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.srtp.unauth_pkt_detected.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT[2], - { "ulSrtpStreamType", "octvc1.net.rtp_session.member.srtp.unauth_pkt_detected.ulsrtpstreamtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM), 0x0, - "ulSrtpStreamType",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.srtp.unknown_mki_received.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.srtp.unknown_mki_received.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[2], - { "ulSrtpStreamType", "octvc1.net.rtp_session.member.srtp.unknown_mki_received.ulsrtpstreamtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM), 0x0, - "ulSrtpStreamType",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[3], - { "ulUnknownMkiByteSize", "octvc1.net.rtp_session.member.srtp.unknown_mki_received.ulunknownmkibytesize", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUnknownMkiByteSize",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[4], - { "abyUnknownMkiValue", "octvc1.net.rtp_session.member.srtp.unknown_mki_received.abyunknownmkivalue", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyUnknownMkiValue",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT[0], - { "hRtpSession", "octvc1.net.rtp_session.member.srtp.ssrc_violation_detected.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT[1], - { "ulMemberId", "octvc1.net.rtp_session.member.srtp.ssrc_violation_detected.ulmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT[2], - { "ulSrtpStreamType", "octvc1.net.rtp_session.member.srtp.ssrc_violation_detected.ulsrtpstreamtype", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM), 0x0, - "ulSrtpStreamType",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT[3], - { "ulSsrc", "octvc1.net.rtp_session.member.srtp.ssrc_violation_detected.ulssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSsrc",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[0], - { "hLocalHost", "octvc1.net.local_host.icmp.alarm.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[1], - { "RemoteIpAddr", "octvc1.net.local_host.icmp.alarm.remoteipaddr", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteIpAddr",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[2], - { "ulAlarmType", "octvc1.net.local_host.icmp.alarm.ulalarmtype", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAlarmType",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[3], - { "ulAlarmCode", "octvc1.net.local_host.icmp.alarm.ulalarmcode", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAlarmCode",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[4], - { "ulPktHeaderByteLength", "octvc1.net.local_host.icmp.alarm.ulpktheaderbytelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPktHeaderByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[5], - { "abyPktHeader", "octvc1.net.local_host.icmp.alarm.abypktheader", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyPktHeader",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[6]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[0], - { "hLocalHost", "octvc1.net.local_host.icmp.redirect.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[1], - { "ulRedirectCode", "octvc1.net.local_host.icmp.redirect.ulredirectcode", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRedirectCode",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[2], - { "NewGatewayIpAddress", "octvc1.net.local_host.icmp.redirect.newgatewayipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "NewGatewayIpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[3], - { "PrevGatewayIpAddress", "octvc1.net.local_host.icmp.redirect.prevgatewayipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "PrevGatewayIpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[4], - { "DestinationIpAddress", "octvc1.net.local_host.icmp.redirect.destinationipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "DestinationIpAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[0], - { "hLink", "octvc1.net.local_host.addr.status_change.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[1], - { "hLocalHost", "octvc1.net.local_host.addr.status_change.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[2], - { "IpAddress", "octvc1.net.local_host.addr.status_change.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[3], - { "ulAddrAutoConfigFlag", "octvc1.net.local_host.addr.status_change.uladdrautoconfigflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAddrAutoConfigFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[4], - { "ulPreviousAddrStatus", "octvc1.net.local_host.addr.status_change.ulpreviousaddrstatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM), 0x0, - "ulPreviousAddrStatus",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[5], - { "ulNewAddrStatus", "octvc1.net.local_host.addr.status_change.ulnewaddrstatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM), 0x0, - "ulNewAddrStatus",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[6], - { "ulStatusChangeCause", "octvc1.net.local_host.addr.status_change.ulstatuschangecause", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM), 0x0, - "ulStatusChangeCause",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT[0], - { "hLocalHost", "octvc1.net.local_host.addr.duplicate_found.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT[1], - { "IpAddress", "octvc1.net.local_host.addr.duplicate_found.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT[2], - { "ulDuplicateSource", "octvc1.net.local_host.addr.duplicate_found.ulduplicatesource", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM), 0x0, - "ulDuplicateSource",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT; - -void register_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[0], - { "hEthLink", "octvc1.net.link.gateway.status_change.hethlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hEthLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[1], - { "IpAddress", "octvc1.net.link.gateway.status_change.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[2], - { "ulPreviousStatus", "octvc1.net.link.gateway.status_change.ulpreviousstatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM), 0x0, - "ulPreviousStatus",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[3], - { "ulNewStatus", "octvc1.net.link.gateway.status_change.ulnewstatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM), 0x0, - "ulNewStatus",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -/**************************************************************************** - CMD/RSP Registered - ****************************************************************************/ - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[22]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[0], - { "hLocalHost", "octvc1.net.rtp_session.open.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[1], - { "ulRtpEventMask", "octvc1.net.rtp_session.open.ulrtpeventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulRtpEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[2], - { "ulRtcpEventMask", "octvc1.net.rtp_session.open.ulrtcpeventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulRtcpEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[3], - { "ulSrtpEventMask", "octvc1.net.rtp_session.open.ulsrtpeventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulSrtpEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[4], - { "ulUserEventId", "octvc1.net.rtp_session.open.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[5], - { "ulInitialOperationMode", "octvc1.net.rtp_session.open.ulinitialoperationmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_OPERATION_MODE_ENUM), 0x0, - "ulInitialOperationMode",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[6], - { "ulSenderMaxPendingTimeSec", "octvc1.net.rtp_session.open.ulsendermaxpendingtimesec", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderMaxPendingTimeSec",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[7], - { "ulSenderMaxInactiveTimeSec", "octvc1.net.rtp_session.open.ulsendermaxinactivetimesec", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderMaxInactiveTimeSec",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[8], - { "ulRtcpEnableFlag", "octvc1.net.rtp_session.open.ulrtcpenableflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulRtcpEnableFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[9], - { "ulRtcpVideoFeedbackEnableFlagMask", "octvc1.net.rtp_session.open.ulrtcpvideofeedbackenableflagmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulRtcpVideoFeedbackEnableFlagMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[10], - { "ulRtpSessionBandwidth", "octvc1.net.rtp_session.open.ulrtpsessionbandwidth", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtpSessionBandwidth",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[11], - { "ulHighFractionLost", "octvc1.net.rtp_session.open.ulhighfractionlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighFractionLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[12], - { "ulHighCumulativePacketLost", "octvc1.net.rtp_session.open.ulhighcumulativepacketlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighCumulativePacketLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[13], - { "ulHighJitter", "octvc1.net.rtp_session.open.ulhighjitter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighJitter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[14], - { "ulHighRoundTripTime", "octvc1.net.rtp_session.open.ulhighroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[15], - { "ulLowFractionLost", "octvc1.net.rtp_session.open.ullowfractionlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLowFractionLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[16], - { "ulLowJitter", "octvc1.net.rtp_session.open.ullowjitter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLowJitter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[17], - { "ulLowRoundTripTime", "octvc1.net.rtp_session.open.ullowroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLowRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[18], - { "hEventDestObj", "octvc1.net.rtp_session.open.heventdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hEventDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[19], - { "ulEventDestObjPort", "octvc1.net.rtp_session.open.uleventdestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[20], - { "ulEventDestObjFifoId", "octvc1.net.rtp_session.open.uleventdestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.open.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP[1], - { "ulFifoId", "octvc1.net.rtp_session.open.ulfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.close.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.close.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[9]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[1], - { "ulHighFractionLost", "octvc1.net.rtp_session.modify.ulhighfractionlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighFractionLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[2], - { "ulHighCumulativePacketLost", "octvc1.net.rtp_session.modify.ulhighcumulativepacketlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighCumulativePacketLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[3], - { "ulHighJitter", "octvc1.net.rtp_session.modify.ulhighjitter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighJitter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[4], - { "ulHighRoundTripTime", "octvc1.net.rtp_session.modify.ulhighroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[5], - { "ulLowFractionLost", "octvc1.net.rtp_session.modify.ullowfractionlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLowFractionLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[6], - { "ulLowJitter", "octvc1.net.rtp_session.modify.ullowjitter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLowJitter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[7], - { "ulLowRoundTripTime", "octvc1.net.rtp_session.modify.ullowroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLowRoundTripTime",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD[0], - { "ObjectGet", "octvc1.net.rtp_session.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[23]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[0], - { "ObjectGet", "octvc1.net.rtp_session.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[1], - { "hLocalHost", "octvc1.net.rtp_session.info.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[2], - { "ulFifoId", "octvc1.net.rtp_session.info.ulfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulFifoId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[3], - { "ulRtpEventMask", "octvc1.net.rtp_session.info.ulrtpeventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulRtpEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[4], - { "ulRtcpEventMask", "octvc1.net.rtp_session.info.ulrtcpeventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulRtcpEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[5], - { "ulSrtpEventMask", "octvc1.net.rtp_session.info.ulsrtpeventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulSrtpEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[6], - { "ulUserEventId", "octvc1.net.rtp_session.info.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[7], - { "ulInitialOperationMode", "octvc1.net.rtp_session.info.ulinitialoperationmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_OPERATION_MODE_ENUM), 0x0, - "ulInitialOperationMode",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[8], - { "ulSenderMaxPendingTimeSec", "octvc1.net.rtp_session.info.ulsendermaxpendingtimesec", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderMaxPendingTimeSec",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[9], - { "ulSenderMaxInactiveTimeSec", "octvc1.net.rtp_session.info.ulsendermaxinactivetimesec", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderMaxInactiveTimeSec",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[10], - { "ulRtcpEnableFlag", "octvc1.net.rtp_session.info.ulrtcpenableflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulRtcpEnableFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[11], - { "ulRtpSessionBandwidth", "octvc1.net.rtp_session.info.ulrtpsessionbandwidth", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRtpSessionBandwidth",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[12], - { "ulHighFractionLost", "octvc1.net.rtp_session.info.ulhighfractionlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighFractionLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[13], - { "ulHighCumulativePacketLost", "octvc1.net.rtp_session.info.ulhighcumulativepacketlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighCumulativePacketLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[14], - { "ulHighJitter", "octvc1.net.rtp_session.info.ulhighjitter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighJitter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[15], - { "ulHighRoundTripTime", "octvc1.net.rtp_session.info.ulhighroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulHighRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[16], - { "ulLowFractionLost", "octvc1.net.rtp_session.info.ullowfractionlost", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLowFractionLost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[17], - { "ulLowJitter", "octvc1.net.rtp_session.info.ullowjitter", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLowJitter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[18], - { "ulLowRoundTripTime", "octvc1.net.rtp_session.info.ullowroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLowRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[19], - { "hEventDestObj", "octvc1.net.rtp_session.info.heventdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hEventDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[20], - { "ulEventDestObjPort", "octvc1.net.rtp_session.info.uleventdestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[21], - { "ulEventDestObjFifoId", "octvc1.net.rtp_session.info.uleventdestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD[0], - { "ObjectGet", "octvc1.net.rtp_session.stats.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[11]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[0], - { "ObjectGet", "octvc1.net.rtp_session.stats.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[1], - { "ulNumMember", "octvc1.net.rtp_session.stats.ulnummember", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumMember",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[2], - { "ulNumSender", "octvc1.net.rtp_session.stats.ulnumsender", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumSender",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[3], - { "ulSessionStartTime", "octvc1.net.rtp_session.stats.ulsessionstarttime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSessionStartTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[4], - { "ulRxByePktCnt", "octvc1.net.rtp_session.stats.ulrxbyepktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxByePktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[5], - { "ulRxSenderJoinCnt", "octvc1.net.rtp_session.stats.ulrxsenderjoincnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxSenderJoinCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[6], - { "ulRxMemberJoinCnt", "octvc1.net.rtp_session.stats.ulrxmemberjoincnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRxMemberJoinCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[7], - { "ulErrCollisionCnt", "octvc1.net.rtp_session.stats.ulerrcollisioncnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulErrCollisionCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[8], - { "ulErrLoopCnt", "octvc1.net.rtp_session.stats.ulerrloopcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulErrLoopCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[9], - { "ulErrRtcpPktInvalidCnt", "octvc1.net.rtp_session.stats.ulerrrtcppktinvalidcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulErrRtcpPktInvalidCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.rtcp.pause.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD[1], - { "ulTxRtcpPauseFlag", "octvc1.net.rtp_session.rtcp.pause.ultxrtcppauseflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulTxRtcpPauseFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.rtcp.pause.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[32]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.member.activate.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[1], - { "hTerm", "octvc1.net.rtp_session.member.activate.hterm", - FT_NONE, BASE_NONE, NULL, 0x0, - "hTerm",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[2], - { "ulRxPktFilter", "octvc1.net.rtp_session.member.activate.ulrxpktfilter", - FT_UINT32,BASE_DEC, VALS(vals_tOCTVC1_NET_RX_PKT_FILTER_ENUM), 0x0, - "ulRxPktFilter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[3], - { "ulLocalUdpPortRtp", "octvc1.net.rtp_session.member.activate.ullocaludpportrtp", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalUdpPortRtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[4], - { "ulLocalUdpPortRtcp", "octvc1.net.rtp_session.member.activate.ullocaludpportrtcp", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalUdpPortRtcp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[5], - { "ulLocalUdpPortT38", "octvc1.net.rtp_session.member.activate.ullocaludpportt38", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalUdpPortT38",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[6], - { "ulLocalCnameLength", "octvc1.net.rtp_session.member.activate.ullocalcnamelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalCnameLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[7], - { "achLocalCname", "octvc1.net.rtp_session.member.activate.achlocalcname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achLocalCname",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[8], - { "ulLocalForcedRtpParmMask", "octvc1.net.rtp_session.member.activate.ullocalforcedrtpparmmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulLocalForcedRtpParmMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[9], - { "ulLocalForcedSsrc", "octvc1.net.rtp_session.member.activate.ullocalforcedssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalForcedSsrc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[10], - { "ulLocalForcedInitialSeqNumber", "octvc1.net.rtp_session.member.activate.ullocalforcedinitialseqnumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalForcedInitialSeqNumber",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[11], - { "ulRemoteAutoDetectFlag", "octvc1.net.rtp_session.member.activate.ulremoteautodetectflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulRemoteAutoDetectFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[12], - { "RemoteUdpAddressRtp", "octvc1.net.rtp_session.member.activate.remoteudpaddressrtp", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddressRtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[13], - { "RemoteUdpAddressRtcp", "octvc1.net.rtp_session.member.activate.remoteudpaddressrtcp", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddressRtcp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[14], - { "RemoteUdpAddressT38", "octvc1.net.rtp_session.member.activate.remoteudpaddresst38", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddressT38",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[15], - { "ulRemoteCnameLength", "octvc1.net.rtp_session.member.activate.ulremotecnamelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteCnameLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[16], - { "achRemoteCname", "octvc1.net.rtp_session.member.activate.achremotecname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achRemoteCname",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[17], - { "ulRemoteForcedRtpParmMask", "octvc1.net.rtp_session.member.activate.ulremoteforcedrtpparmmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulRemoteForcedRtpParmMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[18], - { "ulRemoteForcedSsrc", "octvc1.net.rtp_session.member.activate.ulremoteforcedssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteForcedSsrc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[19], - { "ulRemoteForcedInitialSeqNumber", "octvc1.net.rtp_session.member.activate.ulremoteforcedinitialseqnumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteForcedInitialSeqNumber",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[20], - { "ulIpv4TimeToLive", "octvc1.net.rtp_session.member.activate.ulipv4timetolive", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv4TimeToLive",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[21], - { "ulIpv4TypeOfService", "octvc1.net.rtp_session.member.activate.ulipv4typeofservice", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv4TypeOfService",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[22], - { "ulIpv6HopLimit", "octvc1.net.rtp_session.member.activate.ulipv6hoplimit", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv6HopLimit",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[23], - { "ulIpv6FlowLabel", "octvc1.net.rtp_session.member.activate.ulipv6flowlabel", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv6FlowLabel",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[24], - { "ulIpv6TrafficClass", "octvc1.net.rtp_session.member.activate.ulipv6trafficclass", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv6TrafficClass",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[25], - { "ulNumProfEntry", "octvc1.net.rtp_session.member.activate.ulnumprofentry", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumProfEntry",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[26], - { "aRtpProfEntry", "octvc1.net.rtp_session.member.activate.artpprofentry", - FT_NONE, BASE_NONE, NULL, 0x0, - "aRtpProfEntry",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[27], - { "SenderSrtp", "octvc1.net.rtp_session.member.activate.sendersrtp", - FT_NONE, BASE_NONE, NULL, 0x0, - "SenderSrtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[28], - { "SenderSrtpKey", "octvc1.net.rtp_session.member.activate.sendersrtpkey", - FT_NONE, BASE_NONE, NULL, 0x0, - "SenderSrtpKey",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[29], - { "ReceiverSrtp", "octvc1.net.rtp_session.member.activate.receiversrtp", - FT_NONE, BASE_NONE, NULL, 0x0, - "ReceiverSrtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[30], - { "ReceiverSrtpKey", "octvc1.net.rtp_session.member.activate.receiversrtpkey", - FT_NONE, BASE_NONE, NULL, 0x0, - "ReceiverSrtpKey",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.member.activate.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.activate.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP[2], - { "ulLocalSsrc", "octvc1.net.rtp_session.member.activate.ullocalssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalSsrc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP[3], - { "ulLocalInitialSeqNumber", "octvc1.net.rtp_session.member.activate.ullocalinitialseqnumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalInitialSeqNumber",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.member.deactivate.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.deactivate.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.member.deactivate.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.deactivate.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.member.pause.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.pause.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD[2], - { "ulTxRtpPauseFlag", "octvc1.net.rtp_session.member.pause.ultxrtppauseflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulTxRtpPauseFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.member.pause.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.pause.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[20]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.member.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.modify.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[2], - { "ulModifyMask", "octvc1.net.rtp_session.member.modify.ulmodifymask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulModifyMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[3], - { "ulRemoteAutoDetectFlag", "octvc1.net.rtp_session.member.modify.ulremoteautodetectflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulRemoteAutoDetectFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[4], - { "ulLocalUdpPortRtp", "octvc1.net.rtp_session.member.modify.ullocaludpportrtp", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalUdpPortRtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[5], - { "ulLocalUdpPortRtcp", "octvc1.net.rtp_session.member.modify.ullocaludpportrtcp", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalUdpPortRtcp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[6], - { "ulLocalUdpPortT38", "octvc1.net.rtp_session.member.modify.ullocaludpportt38", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalUdpPortT38",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[7], - { "RemoteUdpAddressRtp", "octvc1.net.rtp_session.member.modify.remoteudpaddressrtp", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddressRtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[8], - { "RemoteUdpAddressRtcp", "octvc1.net.rtp_session.member.modify.remoteudpaddressrtcp", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddressRtcp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[9], - { "RemoteUdpAddressT38", "octvc1.net.rtp_session.member.modify.remoteudpaddresst38", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddressT38",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[10], - { "ulRemoteCnameLength", "octvc1.net.rtp_session.member.modify.ulremotecnamelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteCnameLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[11], - { "achRemoteCname", "octvc1.net.rtp_session.member.modify.achremotecname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achRemoteCname",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[12], - { "ulRemoteForcedRtpParmMask", "octvc1.net.rtp_session.member.modify.ulremoteforcedrtpparmmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulRemoteForcedRtpParmMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[13], - { "ulRemoteForcedSsrc", "octvc1.net.rtp_session.member.modify.ulremoteforcedssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteForcedSsrc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[14], - { "ulRemoteForcedInitialSeqNumber", "octvc1.net.rtp_session.member.modify.ulremoteforcedinitialseqnumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteForcedInitialSeqNumber",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[15], - { "SenderSrtp", "octvc1.net.rtp_session.member.modify.sendersrtp", - FT_NONE, BASE_NONE, NULL, 0x0, - "SenderSrtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[16], - { "SenderSrtpKey", "octvc1.net.rtp_session.member.modify.sendersrtpkey", - FT_NONE, BASE_NONE, NULL, 0x0, - "SenderSrtpKey",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[17], - { "ReceiverSrtp", "octvc1.net.rtp_session.member.modify.receiversrtp", - FT_NONE, BASE_NONE, NULL, 0x0, - "ReceiverSrtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[18], - { "ReceiverSrtpKey", "octvc1.net.rtp_session.member.modify.receiversrtpkey", - FT_NONE, BASE_NONE, NULL, 0x0, - "ReceiverSrtpKey",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.member.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.modify.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[0], - { "ulForceFlag", "octvc1.net.rtp_session.member.connect.ulforceflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulForceFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[1], - { "ulRecoverNtpFromRtpTsFlag", "octvc1.net.rtp_session.member.connect.ulrecoverntpfromrtptsflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulRecoverNtpFromRtpTsFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[2], - { "hRtpSession", "octvc1.net.rtp_session.member.connect.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[3], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.connect.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[4], - { "hRtpSessionAssociated", "octvc1.net.rtp_session.member.connect.hrtpsessionassociated", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSessionAssociated",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[5], - { "ulLocalMemberIdAssociated", "octvc1.net.rtp_session.member.connect.ullocalmemberidassociated", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberIdAssociated",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.member.connect.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.connect.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP[2], - { "RtpMemberPrevConnInfo", "octvc1.net.rtp_session.member.connect.rtpmemberprevconninfo", - FT_NONE, BASE_NONE, NULL, 0x0, - "RtpMemberPrevConnInfo",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP[3], - { "hRtpSessionAssociated", "octvc1.net.rtp_session.member.connect.hrtpsessionassociated", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSessionAssociated",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP[4], - { "ulLocalMemberIdAssociated", "octvc1.net.rtp_session.member.connect.ullocalmemberidassociated", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberIdAssociated",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP[5], - { "RtpMemberPrevConnInfoAssociated", "octvc1.net.rtp_session.member.connect.rtpmemberprevconninfoassociated", - FT_NONE, BASE_NONE, NULL, 0x0, - "RtpMemberPrevConnInfoAssociated",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.member.disconnect.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.disconnect.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.member.disconnect.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.disconnect.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP[2], - { "RtpMemberPrevConnInfo", "octvc1.net.rtp_session.member.disconnect.rtpmemberprevconninfo", - FT_NONE, BASE_NONE, NULL, 0x0, - "RtpMemberPrevConnInfo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.info.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[30]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.info.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[1], - { "ulOperationMode", "octvc1.net.rtp_session.member.info.uloperationmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_OPERATION_MODE_ENUM), 0x0, - "ulOperationMode",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[2], - { "ulTxRtpPauseFlag", "octvc1.net.rtp_session.member.info.ultxrtppauseflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulTxRtpPauseFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[3], - { "ulTxRtcpPauseFlag", "octvc1.net.rtp_session.member.info.ultxrtcppauseflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulTxRtcpPauseFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[4], - { "hTerm", "octvc1.net.rtp_session.member.info.hterm", - FT_NONE, BASE_NONE, NULL, 0x0, - "hTerm",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[5], - { "hDestObj", "octvc1.net.rtp_session.member.info.hdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[6], - { "ulDestObjPort", "octvc1.net.rtp_session.member.info.uldestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[7], - { "ulRxPktFilter", "octvc1.net.rtp_session.member.info.ulrxpktfilter", - FT_UINT32,BASE_DEC, VALS(vals_tOCTVC1_NET_RX_PKT_FILTER_ENUM), 0x0, - "ulRxPktFilter",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[8], - { "ulDestObjFifoId", "octvc1.net.rtp_session.member.info.uldestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulDestObjFifoId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[9], - { "ulLocalUdpPortRtp", "octvc1.net.rtp_session.member.info.ullocaludpportrtp", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalUdpPortRtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[10], - { "ulLocalUdpPortRtcp", "octvc1.net.rtp_session.member.info.ullocaludpportrtcp", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalUdpPortRtcp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[11], - { "ulLocalUdpPortT38", "octvc1.net.rtp_session.member.info.ullocaludpportt38", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalUdpPortT38",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[12], - { "ulLocalCnameLength", "octvc1.net.rtp_session.member.info.ullocalcnamelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalCnameLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[13], - { "achLocalCname", "octvc1.net.rtp_session.member.info.achlocalcname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achLocalCname",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[14], - { "ulRemoteAutoDetectFlag", "octvc1.net.rtp_session.member.info.ulremoteautodetectflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulRemoteAutoDetectFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[15], - { "ulValidRemoteFlag", "octvc1.net.rtp_session.member.info.ulvalidremoteflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulValidRemoteFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[16], - { "RemoteUdpAddressRtp", "octvc1.net.rtp_session.member.info.remoteudpaddressrtp", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddressRtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[17], - { "RemoteUdpAddressRtcp", "octvc1.net.rtp_session.member.info.remoteudpaddressrtcp", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddressRtcp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[18], - { "RemoteUdpAddressT38", "octvc1.net.rtp_session.member.info.remoteudpaddresst38", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteUdpAddressT38",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[19], - { "ulRemoteCnameLength", "octvc1.net.rtp_session.member.info.ulremotecnamelength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteCnameLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[20], - { "achRemoteCname", "octvc1.net.rtp_session.member.info.achremotecname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achRemoteCname",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[21], - { "ulIpv4TimeToLive", "octvc1.net.rtp_session.member.info.ulipv4timetolive", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv4TimeToLive",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[22], - { "ulIpv4TypeOfService", "octvc1.net.rtp_session.member.info.ulipv4typeofservice", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv4TypeOfService",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[23], - { "ulIpv6HopLimit", "octvc1.net.rtp_session.member.info.ulipv6hoplimit", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv6HopLimit",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[24], - { "ulIpv6FlowLabel", "octvc1.net.rtp_session.member.info.ulipv6flowlabel", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv6FlowLabel",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[25], - { "ulIpv6TrafficClass", "octvc1.net.rtp_session.member.info.ulipv6trafficclass", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulIpv6TrafficClass",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[26], - { "ulNumProfEntry", "octvc1.net.rtp_session.member.info.ulnumprofentry", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumProfEntry",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[27], - { "aRtpProfEntry", "octvc1.net.rtp_session.member.info.artpprofentry", - FT_NONE, BASE_NONE, NULL, 0x0, - "aRtpProfEntry",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[28], - { "RtpMemberConnInfo", "octvc1.net.rtp_session.member.info.rtpmemberconninfo", - FT_NONE, BASE_NONE, NULL, 0x0, - "RtpMemberConnInfo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.local.stats.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.local.stats.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[1], - { "ulRemoteMemberId", "octvc1.net.rtp_session.member.local.stats.ulremotememberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRemoteMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[2], - { "aulReceivedPktCnt", "octvc1.net.rtp_session.member.local.stats.aulreceivedpktcnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "aulReceivedPktCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[3], - { "aulReceivedByteCnt", "octvc1.net.rtp_session.member.local.stats.aulreceivedbytecnt", - FT_UINT32,BASE_DEC, NULL, 0x0, - "aulReceivedByteCnt",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[4], - { "SenderStats", "octvc1.net.rtp_session.member.local.stats.senderstats", - FT_NONE, BASE_NONE, NULL, 0x0, - "SenderStats",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[5], - { "ReceiverStats", "octvc1.net.rtp_session.member.local.stats.receiverstats", - FT_NONE, BASE_NONE, NULL, 0x0, - "ReceiverStats",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.remote.stats.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.remote.stats.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[1], - { "ulRoundTripTime", "octvc1.net.rtp_session.member.remote.stats.ulroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[2], - { "ulMaxRoundTripTime", "octvc1.net.rtp_session.member.remote.stats.ulmaxroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulMaxRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[3], - { "ulAverageRoundTripTime", "octvc1.net.rtp_session.member.remote.stats.ulaverageroundtriptime", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulAverageRoundTripTime",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[4], - { "SenderStats", "octvc1.net.rtp_session.member.remote.stats.senderstats", - FT_NONE, BASE_NONE, NULL, 0x0, - "SenderStats",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[5], - { "ReceiverStats", "octvc1.net.rtp_session.member.remote.stats.receiverstats", - FT_NONE, BASE_NONE, NULL, 0x0, - "ReceiverStats",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.srtp.info.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[10]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.srtp.info.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[1], - { "SenderSrtp", "octvc1.net.rtp_session.member.srtp.info.sendersrtp", - FT_NONE, BASE_NONE, NULL, 0x0, - "SenderSrtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[2], - { "ulSenderSrtpKeyActiveIdx", "octvc1.net.rtp_session.member.srtp.info.ulsendersrtpkeyactiveidx", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderSrtpKeyActiveIdx",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[3], - { "ulSenderSrtpKeyNum", "octvc1.net.rtp_session.member.srtp.info.ulsendersrtpkeynum", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderSrtpKeyNum",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[4], - { "aSenderSrtpKeyList", "octvc1.net.rtp_session.member.srtp.info.asendersrtpkeylist", - FT_NONE, BASE_NONE, NULL, 0x0, - "aSenderSrtpKeyList",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[5], - { "ReceiverSrtp", "octvc1.net.rtp_session.member.srtp.info.receiversrtp", - FT_NONE, BASE_NONE, NULL, 0x0, - "ReceiverSrtp",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[6], - { "ulReceiverSrtpKeyActiveIdx", "octvc1.net.rtp_session.member.srtp.info.ulreceiversrtpkeyactiveidx", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulReceiverSrtpKeyActiveIdx",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[7], - { "ulReceiverSrtpKeyNum", "octvc1.net.rtp_session.member.srtp.info.ulreceiversrtpkeynum", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulReceiverSrtpKeyNum",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[8], - { "aReceiverSrtpKeyList", "octvc1.net.rtp_session.member.srtp.info.areceiversrtpkeylist", - FT_NONE, BASE_NONE, NULL, 0x0, - "aReceiverSrtpKeyList",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.srtp.stats.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.member.srtp.stats.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP[1], - { "SenderSrtpStats", "octvc1.net.rtp_session.member.srtp.stats.sendersrtpstats", - FT_NONE, BASE_NONE, NULL, 0x0, - "SenderSrtpStats",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP[2], - { "ReceiverSrtpStats", "octvc1.net.rtp_session.member.srtp.stats.receiversrtpstats", - FT_NONE, BASE_NONE, NULL, 0x0, - "ReceiverSrtpStats",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[9]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.member.srtp_key_list.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.srtp_key_list.modify.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[2], - { "ulSenderSrtpKeyActiveIdx", "octvc1.net.rtp_session.member.srtp_key_list.modify.ulsendersrtpkeyactiveidx", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderSrtpKeyActiveIdx",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[3], - { "ulSenderSrtpKeyNum", "octvc1.net.rtp_session.member.srtp_key_list.modify.ulsendersrtpkeynum", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulSenderSrtpKeyNum",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[4], - { "aSenderSrtpKeyList", "octvc1.net.rtp_session.member.srtp_key_list.modify.asendersrtpkeylist", - FT_NONE, BASE_NONE, NULL, 0x0, - "aSenderSrtpKeyList",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[5], - { "ulReceiverSrtpKeyActiveIdx", "octvc1.net.rtp_session.member.srtp_key_list.modify.ulreceiversrtpkeyactiveidx", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulReceiverSrtpKeyActiveIdx",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[6], - { "ulReceiverSrtpKeyNum", "octvc1.net.rtp_session.member.srtp_key_list.modify.ulreceiversrtpkeynum", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulReceiverSrtpKeyNum",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[7], - { "aReceiverSrtpKeyList", "octvc1.net.rtp_session.member.srtp_key_list.modify.areceiversrtpkeylist", - FT_NONE, BASE_NONE, NULL, 0x0, - "aReceiverSrtpKeyList",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.member.srtp_key_list.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.srtp_key_list.modify.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD[5]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.member.rtp_profile_entry.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.rtp_profile_entry.modify.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD[2], - { "ulNumEntry", "octvc1.net.rtp_session.member.rtp_profile_entry.modify.ulnumentry", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumEntry",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD[3], - { "aEntry", "octvc1.net.rtp_session.member.rtp_profile_entry.modify.aentry", - FT_NONE, BASE_NONE, NULL, 0x0, - "aEntry",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.member.rtp_profile_entry.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.member.rtp_profile_entry.modify.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[13]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.custom_member_ipudp.activate.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[1], - { "hTerm", "octvc1.net.rtp_session.custom_member_ipudp.activate.hterm", - FT_NONE, BASE_NONE, NULL, 0x0, - "hTerm",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[2], - { "aStream", "octvc1.net.rtp_session.custom_member_ipudp.activate.astream", - FT_NONE, BASE_NONE, NULL, 0x0, - "aStream",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[3], - { "ulLocalForcedRtpParmMask", "octvc1.net.rtp_session.custom_member_ipudp.activate.ullocalforcedrtpparmmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulLocalForcedRtpParmMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[4], - { "ulLocalForcedSsrc", "octvc1.net.rtp_session.custom_member_ipudp.activate.ullocalforcedssrc", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalForcedSsrc",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[5], - { "ulLocalForcedInitialSeqNumber", "octvc1.net.rtp_session.custom_member_ipudp.activate.ullocalforcedinitialseqnumber", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalForcedInitialSeqNumber",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[6], - { "ulNumRtpProfEntry", "octvc1.net.rtp_session.custom_member_ipudp.activate.ulnumrtpprofentry", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumRtpProfEntry",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[7], - { "aRtpProfEntry", "octvc1.net.rtp_session.custom_member_ipudp.activate.artpprofentry", - FT_NONE, BASE_NONE, NULL, 0x0, - "aRtpProfEntry",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[8], - { "ulLocalCnameByteLength", "octvc1.net.rtp_session.custom_member_ipudp.activate.ullocalcnamebytelength", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalCnameByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[9], - { "achLocalCname", "octvc1.net.rtp_session.custom_member_ipudp.activate.achlocalcname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achLocalCname",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[10], - { "ulRemoteCnameByteLength", "octvc1.net.rtp_session.custom_member_ipudp.activate.ulremotecnamebytelength", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRemoteCnameByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[11], - { "achRemoteCname", "octvc1.net.rtp_session.custom_member_ipudp.activate.achremotecname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achRemoteCname",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.custom_member_ipudp.activate.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.custom_member_ipudp.activate.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[9]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[0], - { "hRtpSession", "octvc1.net.rtp_session.custom_member_ipudp.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.custom_member_ipudp.modify.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[2], - { "ulModifyMask", "octvc1.net.rtp_session.custom_member_ipudp.modify.ulmodifymask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulModifyMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[3], - { "aStream", "octvc1.net.rtp_session.custom_member_ipudp.modify.astream", - FT_NONE, BASE_NONE, NULL, 0x0, - "aStream",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[4], - { "ulLocalCnameByteLength", "octvc1.net.rtp_session.custom_member_ipudp.modify.ullocalcnamebytelength", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalCnameByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[5], - { "achLocalCname", "octvc1.net.rtp_session.custom_member_ipudp.modify.achlocalcname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achLocalCname",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[6], - { "ulRemoteCnameByteLength", "octvc1.net.rtp_session.custom_member_ipudp.modify.ulremotecnamebytelength", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRemoteCnameByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[7], - { "achRemoteCname", "octvc1.net.rtp_session.custom_member_ipudp.modify.achremotecname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achRemoteCname",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP[0], - { "hRtpSession", "octvc1.net.rtp_session.custom_member_ipudp.modify.hrtpsession", - FT_NONE, BASE_NONE, NULL, 0x0, - "hRtpSession",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP[1], - { "ulLocalMemberId", "octvc1.net.rtp_session.custom_member_ipudp.modify.ullocalmemberid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulLocalMemberId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.custom_member_ipudp.info.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[11]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP; - -void register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[0], - { "SubObjectIdGet", "octvc1.net.rtp_session.custom_member_ipudp.info.subobjectidget", - FT_NONE, BASE_NONE, NULL, 0x0, - "SubObjectIdGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[1], - { "ulOperationMode", "octvc1.net.rtp_session.custom_member_ipudp.info.uloperationmode", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_OPERATION_MODE_ENUM), 0x0, - "ulOperationMode",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[2], - { "hTerm", "octvc1.net.rtp_session.custom_member_ipudp.info.hterm", - FT_NONE, BASE_NONE, NULL, 0x0, - "hTerm",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[3], - { "aStream", "octvc1.net.rtp_session.custom_member_ipudp.info.astream", - FT_NONE, BASE_NONE, NULL, 0x0, - "aStream",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[4], - { "ulNumRtpProfEntry", "octvc1.net.rtp_session.custom_member_ipudp.info.ulnumrtpprofentry", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulNumRtpProfEntry",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[5], - { "aRtpProfEntry", "octvc1.net.rtp_session.custom_member_ipudp.info.artpprofentry", - FT_NONE, BASE_NONE, NULL, 0x0, - "aRtpProfEntry",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[6], - { "ulLocalCnameByteLength", "octvc1.net.rtp_session.custom_member_ipudp.info.ullocalcnamebytelength", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulLocalCnameByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[7], - { "achLocalCname", "octvc1.net.rtp_session.custom_member_ipudp.info.achlocalcname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achLocalCname",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[8], - { "ulRemoteCnameByteLength", "octvc1.net.rtp_session.custom_member_ipudp.info.ulremotecnamebytelength", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulRemoteCnameByteLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[9], - { "achRemoteCname", "octvc1.net.rtp_session.custom_member_ipudp.info.achremotecname", - FT_STRING, BASE_NONE, NULL, 0x0, - "achRemoteCname",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[12]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[0], - { "IpAddress", "octvc1.net.local_host.open.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[1], - { "NetworkMask", "octvc1.net.local_host.open.networkmask", - FT_STRING, BASE_NONE, NULL, 0x0, - "NetworkMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[2], - { "ulAddrAutoConfigFlag", "octvc1.net.local_host.open.uladdrautoconfigflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAddrAutoConfigFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[3], - { "ulMuteOnAddrExpireFlag", "octvc1.net.local_host.open.ulmuteonaddrexpireflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulMuteOnAddrExpireFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[4], - { "hLink", "octvc1.net.local_host.open.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[5], - { "ulUserEventId", "octvc1.net.local_host.open.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[6], - { "ulEventMask", "octvc1.net.local_host.open.uleventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[7], - { "ulEventThrottle", "octvc1.net.local_host.open.uleventthrottle", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventThrottle",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[8], - { "hEventDestObj", "octvc1.net.local_host.open.heventdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hEventDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[9], - { "ulEventDestObjPort", "octvc1.net.local_host.open.uleventdestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[10], - { "ulEventDestObjFifoId", "octvc1.net.local_host.open.uleventdestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP[0], - { "hLocalHost", "octvc1.net.local_host.open.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP[1], - { "ulAddrStatus", "octvc1.net.local_host.open.uladdrstatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM), 0x0, - "ulAddrStatus",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD[0], - { "hLocalHost", "octvc1.net.local_host.close.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP[0], - { "hLocalHost", "octvc1.net.local_host.close.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD[0], - { "ObjectGet", "octvc1.net.local_host.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[13]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[0], - { "ObjectGet", "octvc1.net.local_host.info.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[1], - { "ulAddrAutoConfigFlag", "octvc1.net.local_host.info.uladdrautoconfigflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAddrAutoConfigFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[2], - { "IpAddress", "octvc1.net.local_host.info.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[3], - { "NetworkMask", "octvc1.net.local_host.info.networkmask", - FT_STRING, BASE_NONE, NULL, 0x0, - "NetworkMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[4], - { "hLink", "octvc1.net.local_host.info.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[5], - { "ulAddrStatus", "octvc1.net.local_host.info.uladdrstatus", - FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM), 0x0, - "ulAddrStatus",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[6], - { "ulUserEventId", "octvc1.net.local_host.info.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[7], - { "ulEventThrottle", "octvc1.net.local_host.info.uleventthrottle", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventThrottle",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[8], - { "ulEventMask", "octvc1.net.local_host.info.uleventmask", - FT_NONE, BASE_NONE, NULL, 0x0, - "ulEventMask",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[9], - { "hEventDestObj", "octvc1.net.local_host.info.heventdestobj", - FT_NONE, BASE_NONE, NULL, 0x0, - "hEventDestObj",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[10], - { "ulEventDestObjPort", "octvc1.net.local_host.info.uleventdestobjport", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjPort",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[11], - { "ulEventDestObjFifoId", "octvc1.net.local_host.info.uleventdestobjfifoid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulEventDestObjFifoId",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD[0], - { "ObjectGet", "octvc1.net.local_host.stats.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD[1], - { "ulResetStatsFlag", "octvc1.net.local_host.stats.ulresetstatsflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulResetStatsFlag",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP[0], - { "ObjectGet", "octvc1.net.local_host.stats.objectget", - FT_NONE, BASE_NONE, NULL, 0x0, - "ObjectGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP[1], - { "ulApiEventCnt", "octvc1.net.local_host.stats.ulapieventcnt", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulApiEventCnt",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[8]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[0], - { "hLocalHost", "octvc1.net.local_host.icmp_ping.send.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[1], - { "RemoteIpAddress", "octvc1.net.local_host.icmp_ping.send.remoteipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "RemoteIpAddress",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[2], - { "ulTimeout", "octvc1.net.local_host.icmp_ping.send.ultimeout", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTimeout",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[3], - { "ulTimeToLive", "octvc1.net.local_host.icmp_ping.send.ultimetolive", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulTimeToLive",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[4], - { "ulUserEventId", "octvc1.net.local_host.icmp_ping.send.ulusereventid", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulUserEventId",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[5], - { "ulPayloadLength", "octvc1.net.local_host.icmp_ping.send.ulpayloadlength", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPayloadLength",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[6], - { "abyPayload", "octvc1.net.local_host.icmp_ping.send.abypayload", - FT_BYTES, BASE_NONE, NULL, 0x0, - "abyPayload",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP[0], - { "hLocalHost", "octvc1.net.local_host.icmp_ping.send.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD[4]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD[0], - { "hLocalHost", "octvc1.net.local_host.addr_validate.start.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD[1], - { "ulProbeIntervalMs", "octvc1.net.local_host.addr_validate.start.ulprobeintervalms", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulProbeIntervalMs",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD[2], - { "ulNumProbe", "octvc1.net.local_host.addr_validate.start.ulnumprobe", - FT_UINT32,BASE_DEC, NULL, 0x0, - "ulNumProbe",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP; - -void register_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP[0], - { "hLocalHost", "octvc1.net.local_host.addr_validate.start.hlocalhost", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLocalHost",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD; - -void register_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD[0], - { "hLink", "octvc1.net.link.gateway.add.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD[1], - { "IpAddress", "octvc1.net.link.gateway.add.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP; - -void register_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP[0], - { "hLink", "octvc1.net.link.gateway.add.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP[1], - { "IpAddress", "octvc1.net.link.gateway.add.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD; - -void register_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD[0], - { "hLink", "octvc1.net.link.gateway.remove.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD[1], - { "IpAddress", "octvc1.net.link.gateway.remove.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP; - -void register_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP[0], - { "hLink", "octvc1.net.link.gateway.remove.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP[1], - { "IpAddress", "octvc1.net.link.gateway.remove.ipaddress", - FT_STRING, BASE_NONE, NULL, 0x0, - "IpAddress",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD; - -void register_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD[0], - { "GatewayGet", "octvc1.net.link.gateway.info.gatewayget", - FT_NONE, BASE_NONE, NULL, 0x0, - "GatewayGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP; - -void register_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP[0], - { "GatewayGet", "octvc1.net.link.gateway.info.gatewayget", - FT_NONE, BASE_NONE, NULL, 0x0, - "GatewayGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[7]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD; - -void register_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[0], - { "hLink", "octvc1.net.link.ipv6_prefix.add.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[1], - { "IPv6Prefix", "octvc1.net.link.ipv6_prefix.add.ipv6prefix", - FT_NONE, BASE_NONE, NULL, 0x0, - "IPv6Prefix",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[2], - { "ulOnLinkFlag", "octvc1.net.link.ipv6_prefix.add.ulonlinkflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulOnLinkFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[3], - { "ulAddrAutoConfigFlag", "octvc1.net.link.ipv6_prefix.add.uladdrautoconfigflag", - FT_BOOLEAN, BASE_NONE, NULL, 0x0, - "ulAddrAutoConfigFlag",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[4], - { "ulValidLifetimeSec", "octvc1.net.link.ipv6_prefix.add.ulvalidlifetimesec", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulValidLifetimeSec",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[5], - { "ulPreferredLifetimeSec", "octvc1.net.link.ipv6_prefix.add.ulpreferredlifetimesec", - FT_UINT32,BASE_HEX, NULL, 0x0, - "ulPreferredLifetimeSec",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP; - -void register_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP[0], - { "hLink", "octvc1.net.link.ipv6_prefix.add.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP[1], - { "IPv6Prefix", "octvc1.net.link.ipv6_prefix.add.ipv6prefix", - FT_NONE, BASE_NONE, NULL, 0x0, - "IPv6Prefix",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD; - -void register_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD[0], - { "hLink", "octvc1.net.link.ipv6_prefix.remove.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD[1], - { "IPv6Prefix", "octvc1.net.link.ipv6_prefix.remove.ipv6prefix", - FT_NONE, BASE_NONE, NULL, 0x0, - "IPv6Prefix",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP; - -void register_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP[0], - { "hLink", "octvc1.net.link.ipv6_prefix.remove.hlink", - FT_NONE, BASE_NONE, NULL, 0x0, - "hLink",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP[1], - { "IPv6Prefix", "octvc1.net.link.ipv6_prefix.remove.ipv6prefix", - FT_NONE, BASE_NONE, NULL, 0x0, - "IPv6Prefix",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD[2]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD; - -void register_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD[0], - { "IPv6PrefixGet", "octvc1.net.link.ipv6_prefix.info.ipv6prefixget", - FT_NONE, BASE_NONE, NULL, 0x0, - "IPv6PrefixGet",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - -int ahf_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP[3]; -tWS_ENTITY_HANDLE ws_htOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP; - -void register_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP(void) -{ - static hf_register_info hf[] = - { - { - &ahf_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP[0], - { "IPv6PrefixGet", "octvc1.net.link.ipv6_prefix.info.ipv6prefixget", - FT_NONE, BASE_NONE, NULL, 0x0, - "IPv6PrefixGet",HFILL } - - }, - { - &ahf_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP[1], - { "IPv6PrefixInfo", "octvc1.net.link.ipv6_prefix.info.ipv6prefixinfo", - FT_NONE, BASE_NONE, NULL, 0x0, - "IPv6PrefixInfo",HFILL } - - }, - }; - - static gint* ett[] = - { - &ws_htOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP.ett - }; - - proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); - -}; - - -/**************************************************************************** - COMMON dissectors - ****************************************************************************/ - - -unsigned int dissect_tOCTVC1_NET_IP_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_IP_CURSOR))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_IP_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_IP_CURSOR)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_IP_CURSOR); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_IP_CURSOR, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_IP_CURSOR[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_IP_CURSOR[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_IP_CURSOR[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_IP_CURSOR[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_IP_CURSOR, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_IP_CURSOR[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_IP_CURSOR, ulGetMode); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_RTP_PROFILE_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_RTP_PROFILE_ENTRY))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_RTP_PROFILE_ENTRY (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_RTP_PROFILE_ENTRY)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_RTP_PROFILE_ENTRY); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTP_PROFILE_ENTRY[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTP_PROFILE_ENTRY, ulRtpPayloadType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTP_PROFILE_ENTRY[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTP_PROFILE_ENTRY, ulRtpPayloadType); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTP_PROFILE_ENTRY[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTP_PROFILE_ENTRY, ulPktEncodingType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTP_PROFILE_ENTRY[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTP_PROFILE_ENTRY, ulPktEncodingType); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY, ulModifyType), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY, ulModifyType); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY, Entry), "Entry:tOCTVC1_NET_RTP_PROFILE_ENTRY"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_PROFILE_ENTRY( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_SRTP_KEY_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_SRTP_KEY_ENTRY))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_SRTP_KEY_ENTRY (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_SRTP_KEY_ENTRY)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_SRTP_KEY_ENTRY); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulMasterKeyBitSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulMasterKeyBitSize); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, abyMasterKey), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, abyMasterKey); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulMasterSaltBitSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulMasterSaltBitSize); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, abyMasterSalt), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, abyMasterSalt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulKeyDerivationRateLog2), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[4], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 24 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..24)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulKeyDerivationRateLog2); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, aulRtpMasterKeyMaxLifeTime), "aulRtpMasterKeyMaxLifeTime"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, aulRtpMasterKeyMaxLifeTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[5], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, aulRtpMasterKeyFromLifeTime), "aulRtpMasterKeyFromLifeTime"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, aulRtpMasterKeyFromLifeTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[6], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, aulRtpMasterKeyToLifeTime), "aulRtpMasterKeyToLifeTime"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, aulRtpMasterKeyToLifeTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[7], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, aulRtpReKeyEventThreshold), "aulRtpReKeyEventThreshold"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, aulRtpReKeyEventThreshold), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[8], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulRtcpMasterKeyMaxLifeTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[9], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 0x7FFFFFFF ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..0x7FFFFFFF)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulRtcpMasterKeyMaxLifeTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulRtcpMasterKeyFromLifeTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[10], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 0x7FFFFFFF ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..0x7FFFFFFF)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulRtcpMasterKeyFromLifeTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulRtcpMasterKeyToLifeTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[11], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 0x7FFFFFFF ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..0x7FFFFFFF)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulRtcpMasterKeyToLifeTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[12], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulRtcpReKeyEventThreshold), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[12], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 0x7FFFFFFF ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..0x7FFFFFFF)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, ulRtcpReKeyEventThreshold); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_ENTRY[13], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, abyMkiValue), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_ENTRY, abyMkiValue); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_SRTP_STREAM_CONFIG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_SRTP_STREAM_CONFIG))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_SRTP_STREAM_CONFIG (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_SRTP_STREAM_CONFIG)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_SRTP_STREAM_CONFIG); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulCryptoTransform), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulCryptoTransform); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulAuthTransform), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulAuthTransform); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulAuthTagBitSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[2], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 160 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..160)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulAuthTagBitSize); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulMkiByteSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[3], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 4 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..4)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulMkiByteSize); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulSessionCryptoKeyBitSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulSessionCryptoKeyBitSize); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulSessionSaltKeyBitSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[5], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 112 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..112)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulSessionSaltKeyBitSize); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulSessionAuthKeyBitSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[6], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 512 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..512)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulSessionAuthKeyBitSize); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulInitialRoc), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulInitialRoc); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[8], tvb, offset, - 4,"ulSrtpServiceMask:%s (0x%08x)", pExtValue->pszValue, temp_data); - }else{ - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[8], tvb, offset, - 4,"ulSrtpServiceMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_SRTP_SERVICE_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_SRTP_SERVICE_MASK[i].value && - ( vals_tOCTVC1_NET_SRTP_SERVICE_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_SRTP_SERVICE_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_SRTP_SERVICE_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_SRTP_SERVICE_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulSrtpServiceMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[9], tvb, offset, - 4,"ulSrtcpServiceMask:%s (0x%08x)", pExtValue->pszValue, temp_data); - }else{ - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_CONFIG[9], tvb, offset, - 4,"ulSrtcpServiceMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_SRTP_SERVICE_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_SRTP_SERVICE_MASK[i].value && - ( vals_tOCTVC1_NET_SRTP_SERVICE_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_SRTP_SERVICE_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_SRTP_SERVICE_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_SRTP_SERVICE_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_CONFIG, ulSrtcpServiceMask); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_SRTP_KEY_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_SRTP_KEY_STATS))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_SRTP_KEY_STATS (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_SRTP_KEY_STATS)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_SRTP_KEY_STATS); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_STATS[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_STATS, ulKeyState), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_STATS[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_STATS, ulKeyState); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_STATS, aulSrtpPacketCnt), "aulSrtpPacketCnt"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_STATS[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_STATS, aulSrtpPacketCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_SRTP_KEY_STATS[1], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_STATS[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_STATS, ulSrtcpPacketCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_KEY_STATS[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_KEY_STATS, ulSrtcpPacketCnt); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_SRTP_STREAM_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_SRTP_STREAM_STATS))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_SRTP_STREAM_STATS (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_SRTP_STREAM_STATS)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_SRTP_STREAM_STATS); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulSrtpState), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulSrtpState); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulSsrc), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulSsrc); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulLastRoc), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulLastRoc); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulLastSeq), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulLastSeq); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulLastSrtcpIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulLastSrtcpIndex); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, aulTotalSrtpPktCnt), "aulTotalSrtpPktCnt"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, aulTotalSrtpPktCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[5], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, aulTotalSrtcpPktCnt), "aulTotalSrtcpPktCnt"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, aulTotalSrtcpPktCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[6], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulUnAuthPktCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulUnAuthPktCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulReplayPktCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulReplayPktCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulReKeyCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulReKeyCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulActiveKeyIdx), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulActiveKeyIdx); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulSrtpKeyNum), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_SRTP_STREAM_STATS[11], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, ulSrtpKeyNum); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_SRTP_STREAM_STATS, aSrtpKeyStats), "aSrtpKeyStats:tOCTVC1_NET_SRTP_KEY_STATS"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_SRTP_KEY_STATS), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_STATS( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - } - } - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_CONFIG_STATIC(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_CONFIG_STATIC))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_CONFIG_STATIC (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_CONFIG_STATIC)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_CONFIG_STATIC); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_CONFIG_STATIC[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CONFIG_STATIC, ulMaxRtpMember), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_CONFIG_STATIC[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_CONFIG_STATIC, ulMaxRtpMember); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_CONFIG_STATIC[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CONFIG_STATIC, ulMaxRtpSession), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_CONFIG_STATIC[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_CONFIG_STATIC, ulMaxRtpSession); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_CONFIG_STATIC[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CONFIG_STATIC, ulMaxLocalIpHost), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_CONFIG_STATIC[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_CONFIG_STATIC, ulMaxLocalIpHost); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_RTP_MEMBER_CONN_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_RTP_MEMBER_CONN_INFO))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_RTP_MEMBER_CONN_INFO (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_RTP_MEMBER_CONN_INFO)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_RTP_MEMBER_CONN_INFO); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTP_MEMBER_CONN_INFO[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTP_MEMBER_CONN_INFO, ulConnectionState), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTP_MEMBER_CONN_INFO[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTP_MEMBER_CONN_INFO, ulConnectionState); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTP_MEMBER_CONN_INFO, hConnectedRtpSession), "hConnectedRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTP_MEMBER_CONN_INFO[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTP_MEMBER_CONN_INFO, ulConnectedMemberId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTP_MEMBER_CONN_INFO[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTP_MEMBER_CONN_INFO, ulConnectedMemberId); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_RTCP_SENDER_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_RTCP_SENDER_STATS))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_RTCP_SENDER_STATS (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_RTCP_SENDER_STATS)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_RTCP_SENDER_STATS); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, aulSentPktCnt), "aulSentPktCnt"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, aulSentPktCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[0], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, aulSentByteCnt), "aulSentByteCnt"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, aulSentByteCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[1], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, aulNtpTimestamp), "aulNtpTimestamp"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, aulNtpTimestamp), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[2], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulRtpTimestamp), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulRtpTimestamp); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSenderSsrc), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSenderSsrc); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSenderStartTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSenderStartTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSenderReportCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSenderReportCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSenderState), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSenderState); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulLastSenderReportTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulLastSenderReportTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSsrcChangeCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_SENDER_STATS[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_SENDER_STATS, ulSsrcChangeCnt); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_RTCP_RECEIVER_STATS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_RTCP_RECEIVER_STATS))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_RTCP_RECEIVER_STATS (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_RTCP_RECEIVER_STATS)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_RTCP_RECEIVER_STATS); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulHighestSeqNumber), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulHighestSeqNumber); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulCumulativeLostCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulCumulativeLostCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulFractionLost), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulFractionLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulInterArrivalJitter), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulInterArrivalJitter); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulMaxFractionLost), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulMaxFractionLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulMaxInterArrivalJitter), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulMaxInterArrivalJitter); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulAverageFractionLost), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulAverageFractionLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulAverageInterArrivalJitter), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulAverageInterArrivalJitter); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulReceiverStartTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulReceiverStartTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulReceiverReportCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulReceiverReportCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulLastReceiverReportTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulLastReceiverReportTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulRemoteSenderSsrc), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[11], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulRemoteSenderSsrc); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[12], tvb, offset, - 4,"ulAlarmRxThreshold:%s (0x%08x)", pExtValue->pszValue, temp_data); - }else{ - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[12], tvb, offset, - 4,"ulAlarmRxThreshold: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RX_ALARM_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RX_ALARM_MASK[i].value && - ( vals_tOCTVC1_NET_RX_ALARM_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RX_ALARM_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RX_ALARM_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RX_ALARM_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulAlarmRxThreshold); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[13], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulAlarmRxThresholdCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_RTCP_RECEIVER_STATS[13], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_RTCP_RECEIVER_STATS, ulAlarmRxThresholdCnt); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_VLAN_TAG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_VLAN_TAG))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_VLAN_TAG (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_VLAN_TAG)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_VLAN_TAG); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_VLAN_TAG[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_VLAN_TAG, ulPriority), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_VLAN_TAG[0], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 7 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..7)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_VLAN_TAG, ulPriority); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_VLAN_TAG[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_VLAN_TAG, ulVlanId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_VLAN_TAG[1], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 4095 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..4095)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_VLAN_TAG, ulVlanId); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_HEADER_INFO_ETHERNET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_HEADER_INFO_ETHERNET))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_HEADER_INFO_ETHERNET (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_HEADER_INFO_ETHERNET)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_HEADER_INFO_ETHERNET); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_ETHERNET, ulEthertypeEncoding), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_ETHERNET, ulEthertypeEncoding); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_ETHERNET, ulEthertype), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[1], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 0xFFFF ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..0xFFFF)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_ETHERNET, ulEthertype); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[2], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","LocalMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_ETHERNET[3], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","RemoteMacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_HEADER_INFO_VLAN(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_HEADER_INFO_VLAN))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_HEADER_INFO_VLAN (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_HEADER_INFO_VLAN)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_HEADER_INFO_VLAN); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_VLAN[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_VLAN, ulNumVlanTag), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_VLAN[0], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > cOCTVC1_NET_MAX_VLAN_TAG ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..cOCTVC1_NET_MAX_VLAN_TAG)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_VLAN, ulNumVlanTag); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_VLAN, aVlanTag), "aVlanTag:tOCTVC1_NET_VLAN_TAG"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_VLAN_TAG), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_VLAN_TAG( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - } - } - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_HEADER_INFO_IP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_HEADER_INFO_IP))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_HEADER_INFO_IP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_HEADER_INFO_IP)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_HEADER_INFO_IP); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_IP, ulIpVersion), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[0], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_IP, ulIpVersion); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_IP, ulTypeOfService), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[1], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 255 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..255)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_IP, ulTypeOfService); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_IP, ulTimeToLive), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[2], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 1) || ( (unsigned int)temp_data > 255 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (1..255)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_IP, ulTimeToLive); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_IP, ulIpv6FlowLabel), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[3], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 1048575 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..1048575)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_IP, ulIpv6FlowLabel); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[4], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","LocalIpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[4], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","LocalIpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[4], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","LocalIpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[5], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","RemoteIpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[5], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","RemoteIpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_IP[5], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","RemoteIpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_HEADER_INFO_UDP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_HEADER_INFO_UDP))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_HEADER_INFO_UDP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_HEADER_INFO_UDP)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_HEADER_INFO_UDP); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_UDP[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_UDP, ulLocalUdpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_UDP[0], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0x0000) || ( (unsigned int)temp_data > 0xFFFF ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0x0000..0xFFFF)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_UDP, ulLocalUdpPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_UDP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_UDP, ulRemoteUdpPort), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_HEADER_INFO_UDP[1], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0x0000) || ( (unsigned int)temp_data > 0xFFFF ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0x0000..0xFFFF)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_HEADER_INFO_UDP, ulRemoteUdpPort); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_HEADER_IPUDP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_HEADER_IPUDP))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_HEADER_IPUDP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_HEADER_IPUDP)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_HEADER_IPUDP); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_IPUDP, Ethernet), "Ethernet:tOCTVC1_NET_HEADER_INFO_ETHERNET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_HEADER_INFO_ETHERNET( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_IPUDP, Vlan), "Vlan:tOCTVC1_NET_HEADER_INFO_VLAN"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_HEADER_INFO_VLAN( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_IPUDP, Ip), "Ip:tOCTVC1_NET_HEADER_INFO_IP"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_HEADER_INFO_IP( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_HEADER_IPUDP, Udp), "Udp:tOCTVC1_NET_HEADER_INFO_UDP"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_HEADER_INFO_UDP( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_CACHE_ENTRY_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_CACHE_ENTRY_CURSOR))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_CACHE_ENTRY_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_CACHE_ENTRY_CURSOR)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_CACHE_ENTRY_CURSOR); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CACHE_ENTRY_CURSOR, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CACHE_ENTRY_CURSOR, Vlan), "Vlan:tOCTVC1_NET_HEADER_INFO_VLAN"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_HEADER_INFO_VLAN( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CACHE_ENTRY_CURSOR, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_CACHE_ENTRY_CURSOR[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_CACHE_ENTRY_CURSOR, ulGetMode); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_ETH_LINK_CACHE_ENTRY (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY, Vlan), "Vlan:tOCTVC1_NET_HEADER_INFO_VLAN"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_HEADER_INFO_VLAN( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - { - int ulMac0, ulMac1; - unsigned int offs = offset; - ulMac0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulMac1 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[3], tvb, offset, - sizeof(tOCTVC1_MAC_ADDRESS), "","MacAddress: %02x:%02x:%02x:%02x:%02x:%02x", - (( ulMac0 & 0x0000FF00 ) >> 8 ), - ( ulMac0 & 0x000000FF ), - (( ulMac1 & 0xFF000000 ) >> 24 ), - (( ulMac1 & 0x00FF0000 ) >> 16 ), - (( ulMac1 & 0x0000FF00 ) >> 8 ), - ( ulMac1 & 0x000000FF ) ); - } - offset += sizeof(tOCTVC1_MAC_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY, ulStaticFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY, ulStaticFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY, ulStaticFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY, ulReachableFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY, ulReachableFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CACHE_ENTRY, ulReachableFlag); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_LINK_GATEWAY_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_LINK_GATEWAY_INFO))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_LINK_GATEWAY_INFO (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_LINK_GATEWAY_INFO)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_LINK_GATEWAY_INFO); - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_LINK_GATEWAY_INFO[0], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_LINK_GATEWAY_INFO[0], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_LINK_GATEWAY_INFO[0], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_LINK_GATEWAY_INFO[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_GATEWAY_INFO, ulLifetimeSec), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_LINK_GATEWAY_INFO[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_LINK_GATEWAY_INFO, ulLifetimeSec); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_LINK_IPV6_PREFIX(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_LINK_IPV6_PREFIX))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_LINK_IPV6_PREFIX (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_LINK_IPV6_PREFIX)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_LINK_IPV6_PREFIX); - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX[0], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX[0], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX[0], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX, ulBitLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX, ulBitLength); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_LINK_IPV6_PREFIX_INFO (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, IPv6Prefix), "IPv6Prefix:tOCTVC1_NET_LINK_IPV6_PREFIX"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_LINK_IPV6_PREFIX( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulOnLinkFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulOnLinkFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulOnLinkFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulAddrAutoConfigFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulAddrAutoConfigFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulAddrAutoConfigFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_NET_INFINITE) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulValidLifetimeSec),temp_data, "cOCTVC1_NET_INFINITE (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulValidLifetimeSec), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[3], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulValidLifetimeSec); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_NET_INFINITE) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulPreferredLifetimeSec),temp_data, "cOCTVC1_NET_INFINITE (0x%08x)",temp_data); - }else { - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulPreferredLifetimeSec), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO[4], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_LINK_IPV6_PREFIX_INFO, ulPreferredLifetimeSec); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_IPV6_PREFIX_CURSOR(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_IPV6_PREFIX_CURSOR))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_IPV6_PREFIX_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_IPV6_PREFIX_CURSOR)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_IPV6_PREFIX_CURSOR); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_IPV6_PREFIX_CURSOR, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_IPV6_PREFIX_CURSOR, IPv6Prefix), "IPv6Prefix:tOCTVC1_NET_LINK_IPV6_PREFIX"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_LINK_IPV6_PREFIX( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_IPV6_PREFIX_CURSOR[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_IPV6_PREFIX_CURSOR, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_IPV6_PREFIX_CURSOR[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_IPV6_PREFIX_CURSOR, ulGetMode); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulEnableFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulEnableFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulEnableFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulAddrAutoconfigMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulAddrAutoconfigMode); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulNDPBaseReachableTimeMs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulNDPBaseReachableTimeMs); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPRefreshTimeMs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPRefreshTimeMs); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReplyTimeMs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReplyTimeMs); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPUnusedTimeMs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPUnusedTimeMs); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReqCreateCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReqCreateCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReqRefreshCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReqRefreshCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReqRefreshBroadcastCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReqRefreshBroadcastCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReqDupAddrCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[9], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 15 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..15)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulARPReqDupAddrCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulGARPRequestCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV4, ulGARPRequestCnt); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulEnableFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulEnableFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulEnableFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulCreateLoopbackEntryFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulCreateLoopbackEntryFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulCreateLoopbackEntryFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulAddrAutoconfigMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulAddrAutoconfigMode); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPBaseReachableTimeMs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPBaseReachableTimeMs); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPRetransTimeMs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPRetransTimeMs); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPUnusedTimeMs), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPUnusedTimeMs); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitCreateCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitCreateCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitDupAddrCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitDupAddrCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitProbeCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitProbeCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitProbeMulticastCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitProbeMulticastCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitRouterCnt), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_IPV6, ulNDPSolicitRouterCnt); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ, ulEnableFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ, ulEnableFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ, ulEnableFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ, ulDefaultUserPriority), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ, ulDefaultUserPriority); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ, ulVlanId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ, ulVlanId); - - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_EUI64_INTERFACE_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_EUI64_INTERFACE_ID))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_EUI64_INTERFACE_ID (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_EUI64_INTERFACE_ID)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_EUI64_INTERFACE_ID); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_EUI64_INTERFACE_ID, ausInterfaceId), "ausInterfaceId"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - temp_data = tvb_get_ntohs( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_NET_EUI64_INTERFACE_ID[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_EUI64_INTERFACE_ID, ausInterfaceId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_EUI64_INTERFACE_ID[0], tvb, offset, - 2, temp_data, "[%d]: 0x%04x", i, temp_data ); - } - offset+=2; - } - } - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM, ulEnableFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM, ulEnableFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM, ulEnableFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_boolean_format_value(field_tree, ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM, ulTxPktEnableFlag), temp_data, "%s (0x%x)", pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM, ulTxPktEnableFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM, ulTxPktEnableFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM, ulRxPktFilter), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); - }else - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM, ulRxPktFilter); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM, Header), "Header:tOCTVC1_NET_HEADER_IPUDP"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_HEADER_IPUDP( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - } - - - return offset; - -}; - - -unsigned int dissect_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - bytes = sizeof(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY); - temp_data = tvb_get_ntohl( tvb, offset ); - if( pExtValue && (pExtValue->lValue == temp_data ) ) - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY[0], tvb, offset, - 4,"ulModifyMask:%s (0x%08x)", pExtValue->pszValue, temp_data); - }else{ - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY[0], tvb, offset, - 4,"ulModifyMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK[i].value && - ( vals_tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY, ulModifyMask); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY, Modify), "Modify:tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM( tvb, pinfo, sub_tree2, offset, pExtValue ); - } - } - - - return offset; - -}; - -/**************************************************************************** - Event dissectors - ****************************************************************************/ - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT, ulPktType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT, ulPktByteLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT, abyRtcpPkt), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT, abyRtcpPkt); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT, ulCnameLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT, achCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT, achCname); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT, ulLocalFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT, ulLocalFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT, ulPreviousSsrc); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT, ulNewSsrc); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT, ulLocalFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT, ulLocalFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT, ulRoundTripTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT, ulMaxRoundTripTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT, ulAverageRoundTripTime); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT, StatsReceiver), "StatsReceiver:tOCTVC1_NET_RTCP_RECEIVER_STATS"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTCP_RECEIVER_STATS( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT, ulLocalFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT, ulLocalFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT, ulPreviousSenderState); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT, ulNewSenderState); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT, ulRemoteAddress); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[3], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddress: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[3], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT[3], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT, ulSrtpStreamType); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT, ActiveSrtpKey), "ActiveSrtpKey:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT, aulSrtpPacketCnt), "aulSrtpPacketCnt"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[4], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT, ulSrtcpPacketCnt); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT, ulSrtpStreamType); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT, ActiveSrtpKey), "ActiveSrtpKey:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT, aulSrtpPacketCnt), "aulSrtpPacketCnt"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[4], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT, ulSrtcpPacketCnt); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT, ulSrtpStreamType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT, ulKeyChangeReason); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT, ActiveSrtpKey), "ActiveSrtpKey:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT, PreviousSrtpKey), "PreviousSrtpKey:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT, ulSrtpStreamType); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT, ulSrtpStreamType); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT, ulSrtpStreamType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT, ulUnknownMkiByteSize); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT, abyUnknownMkiValue), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT, abyUnknownMkiValue); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT, ulMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT, ulSrtpStreamType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT, ulSsrc); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","RemoteIpAddr: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","RemoteIpAddr: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","RemoteIpAddr: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT, ulAlarmType); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT, ulAlarmCode); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT, ulPktHeaderByteLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT, abyPktHeader), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT, abyPktHeader); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT, ulRedirectCode); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","NewGatewayIpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","NewGatewayIpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","NewGatewayIpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[3], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","PrevGatewayIpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[3], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","PrevGatewayIpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[3], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","PrevGatewayIpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[4], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","DestinationIpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[4], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","DestinationIpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT[4], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","DestinationIpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT, ulAddrAutoConfigFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT, ulAddrAutoConfigFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT, ulPreviousAddrStatus); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT, ulNewAddrStatus); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT, ulStatusChangeCause); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT, ulDuplicateSource); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT)-sizeof(tOCTVC1_EVENT_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT, hEthLink), "hEthLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT, ulPreviousStatus); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT, ulNewStatus); - - } - - - return 0; - -}; - -/**************************************************************************** - CMD/RSP dissectors - ****************************************************************************/ - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[1], tvb, offset, - 4,"ulRtpEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RTP_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RTP_EVT_MASK[i].value && - ( vals_tOCTVC1_NET_RTP_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RTP_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RTP_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RTP_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulRtpEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[2], tvb, offset, - 4,"ulRtcpEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RTCP_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RTCP_EVT_MASK[i].value && - ( vals_tOCTVC1_NET_RTCP_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RTCP_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RTCP_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RTCP_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulRtcpEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[3], tvb, offset, - 4,"ulSrtpEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_SRTP_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_SRTP_EVT_MASK[i].value && - ( vals_tOCTVC1_NET_SRTP_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_SRTP_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_SRTP_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_SRTP_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulSrtpEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulUserEventId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulInitialOperationMode); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulSenderMaxPendingTimeSec); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulSenderMaxInactiveTimeSec); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[8], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulRtcpEnableFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulRtcpEnableFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[9], tvb, offset, - 4,"ulRtcpVideoFeedbackEnableFlagMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK[i].value && - ( vals_tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulRtcpVideoFeedbackEnableFlagMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulRtpSessionBandwidth); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[11], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulHighFractionLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[12], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulHighCumulativePacketLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[13], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulHighJitter); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[14], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulHighRoundTripTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[15], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulLowFractionLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[16], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulLowJitter); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[17], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulLowRoundTripTime); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, hEventDestObj), "hEventDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[19], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulEventDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_FIFO_ID_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[20], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulEventDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD[20], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD, ulEventDestObjFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP, ulFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD, ulHighFractionLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD, ulHighCumulativePacketLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD, ulHighJitter); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD, ulHighRoundTripTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD, ulLowFractionLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD, ulLowJitter); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD, ulLowRoundTripTime); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulFifoId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[3], tvb, offset, - 4,"ulRtpEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RTP_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RTP_EVT_MASK[i].value && - ( vals_tOCTVC1_NET_RTP_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RTP_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RTP_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RTP_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulRtpEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[4], tvb, offset, - 4,"ulRtcpEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RTCP_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RTCP_EVT_MASK[i].value && - ( vals_tOCTVC1_NET_RTCP_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RTCP_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RTCP_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RTCP_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulRtcpEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[5], tvb, offset, - 4,"ulSrtpEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_SRTP_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_SRTP_EVT_MASK[i].value && - ( vals_tOCTVC1_NET_SRTP_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_SRTP_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_SRTP_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_SRTP_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulSrtpEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulUserEventId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulInitialOperationMode); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulSenderMaxPendingTimeSec); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulSenderMaxInactiveTimeSec); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulRtcpEnableFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulRtcpEnableFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[11], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulRtpSessionBandwidth); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[12], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulHighFractionLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[13], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulHighCumulativePacketLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[14], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulHighJitter); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[15], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulHighRoundTripTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[16], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulLowFractionLost); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[17], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulLowJitter); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[18], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulLowRoundTripTime); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, hEventDestObj), "hEventDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[20], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulEventDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP[21], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP, ulEventDestObjFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ulNumMember); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ulNumSender); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ulSessionStartTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ulRxByePktCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ulRxSenderJoinCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ulRxMemberJoinCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ulErrCollisionCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ulErrLoopCnt); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP, ulErrRtcpPktInvalidCnt); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD, ulTxRtcpPauseFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD, ulTxRtcpPauseFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, hTerm), "hTerm:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulRxPktFilter); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_UDP_PORT_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalUdpPortRtp),temp_data, "cOCTVC1_UDP_PORT_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[3], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 65535 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..65535)]" ); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalUdpPortRtp); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_UDP_PORT_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalUdpPortRtcp),temp_data, "cOCTVC1_UDP_PORT_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[4], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 65535 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..65535)]" ); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalUdpPortRtcp); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_UDP_PORT_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalUdpPortT38),temp_data, "cOCTVC1_UDP_PORT_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[5], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalUdpPortT38); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[6], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 255 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..255)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalCnameLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, achLocalCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, achLocalCname); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[8], tvb, offset, - 4,"ulLocalForcedRtpParmMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value && - ( vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalForcedRtpParmMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalForcedSsrc); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulLocalForcedInitialSeqNumber); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulRemoteAutoDetectFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulRemoteAutoDetectFlag); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[12], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtp: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[12], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtp: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[12], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtp: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[13], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtcp: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[13], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtcp: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[13], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtcp: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[14], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressT38: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[14], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressT38: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[14], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressT38: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[15], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 255 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..255)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulRemoteCnameLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[16], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, achRemoteCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, achRemoteCname); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[17], tvb, offset, - 4,"ulRemoteForcedRtpParmMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value && - ( vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulRemoteForcedRtpParmMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[18], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulRemoteForcedSsrc); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[19], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulRemoteForcedInitialSeqNumber); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[20], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 1) || ( (unsigned int)temp_data > 255 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (1..255)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulIpv4TimeToLive); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[21], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 255 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..255)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulIpv4TypeOfService); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[22], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 1) || ( (unsigned int)temp_data > 255 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (1..255)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulIpv6HopLimit); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[23], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 1048575 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..1048575)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulIpv6FlowLabel); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[24], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 255 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..255)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulIpv6TrafficClass); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD[25], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 8 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..8)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ulNumProfEntry); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, aRtpProfEntry), "aRtpProfEntry:tOCTVC1_NET_RTP_PROFILE_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<8; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_RTP_PROFILE_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_PROFILE_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, SenderSrtp), "SenderSrtp:tOCTVC1_NET_SRTP_STREAM_CONFIG"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_STREAM_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, SenderSrtpKey), "SenderSrtpKey:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ReceiverSrtp), "ReceiverSrtp:tOCTVC1_NET_SRTP_STREAM_CONFIG"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_STREAM_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD, ReceiverSrtpKey), "ReceiverSrtpKey:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP, ulLocalMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP, ulLocalSsrc); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP, ulLocalInitialSeqNumber); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD, ulLocalMemberId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP, ulLocalMemberId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD, ulLocalMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD, ulTxRtpPauseFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD, ulTxRtpPauseFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP, ulLocalMemberId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulLocalMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[2], tvb, offset, - 4,"ulModifyMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK[i].value && - ( vals_tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulModifyMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulRemoteAutoDetectFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulRemoteAutoDetectFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_UDP_PORT_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[4], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulLocalUdpPortRtp),temp_data, "cOCTVC1_UDP_PORT_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[4], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 65535 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..65535)]" ); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulLocalUdpPortRtp); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_UDP_PORT_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulLocalUdpPortRtcp),temp_data, "cOCTVC1_UDP_PORT_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[5], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 65535 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..65535)]" ); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulLocalUdpPortRtcp); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_UDP_PORT_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulLocalUdpPortT38),temp_data, "cOCTVC1_UDP_PORT_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[6], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulLocalUdpPortT38); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[7], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtp: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[7], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtp: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[7], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtp: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[8], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtcp: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[8], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtcp: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[8], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtcp: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[9], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressT38: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[9], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressT38: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[9], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressT38: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulRemoteCnameLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, achRemoteCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, achRemoteCname); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[12], tvb, offset, - 4,"ulRemoteForcedRtpParmMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value && - ( vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulRemoteForcedRtpParmMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[13], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulRemoteForcedSsrc); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD[14], tvb, offset, - 4, temp_data); - if( (unsigned int)temp_data > 0xFFFF) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (..0xFFFF)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ulRemoteForcedInitialSeqNumber); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, SenderSrtp), "SenderSrtp:tOCTVC1_NET_SRTP_STREAM_CONFIG"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_STREAM_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, SenderSrtpKey), "SenderSrtpKey:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ReceiverSrtp), "ReceiverSrtp:tOCTVC1_NET_SRTP_STREAM_CONFIG"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_STREAM_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD, ReceiverSrtpKey), "ReceiverSrtpKey:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP, ulLocalMemberId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[0], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD, ulForceFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD, ulForceFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD, ulRecoverNtpFromRtpTsFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD, ulRecoverNtpFromRtpTsFlag); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - tWS_EXTRA_VALUE ExtraVal; - ExtraVal.lValue = cOCTVC1_HANDLE_INVALID; - ExtraVal.pszValue = "cOCTVC1_HANDLE_INVALID"; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, &ExtraVal ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD, ulLocalMemberId); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD, hRtpSessionAssociated), "hRtpSessionAssociated:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - tWS_EXTRA_VALUE ExtraVal; - ExtraVal.lValue = cOCTVC1_HANDLE_INVALID; - ExtraVal.pszValue = "cOCTVC1_HANDLE_INVALID"; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, &ExtraVal ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD, ulLocalMemberIdAssociated); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP, ulLocalMemberId); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP, RtpMemberPrevConnInfo), "RtpMemberPrevConnInfo:tOCTVC1_NET_RTP_MEMBER_CONN_INFO"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_MEMBER_CONN_INFO( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP, hRtpSessionAssociated), "hRtpSessionAssociated:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP, ulLocalMemberIdAssociated); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP, RtpMemberPrevConnInfoAssociated), "RtpMemberPrevConnInfoAssociated:tOCTVC1_NET_RTP_MEMBER_CONN_INFO"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_MEMBER_CONN_INFO( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - tWS_EXTRA_VALUE ExtraVal; - ExtraVal.lValue = cOCTVC1_HANDLE_INVALID; - ExtraVal.pszValue = "cOCTVC1_HANDLE_INVALID"; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, &ExtraVal ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD, ulLocalMemberId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP, ulLocalMemberId); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP, RtpMemberPrevConnInfo), "RtpMemberPrevConnInfo:tOCTVC1_NET_RTP_MEMBER_CONN_INFO"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_MEMBER_CONN_INFO( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulOperationMode); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulTxRtpPauseFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulTxRtpPauseFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulTxRtcpPauseFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulTxRtcpPauseFlag); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, hTerm), "hTerm:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, hDestObj), "hDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulRxPktFilter); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulDestObjFifoId); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_UDP_PORT_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulLocalUdpPortRtp),temp_data, "cOCTVC1_UDP_PORT_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[9], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulLocalUdpPortRtp); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_UDP_PORT_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulLocalUdpPortRtcp),temp_data, "cOCTVC1_UDP_PORT_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[10], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulLocalUdpPortRtcp); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_UDP_PORT_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulLocalUdpPortT38),temp_data, "cOCTVC1_UDP_PORT_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[11], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulLocalUdpPortT38); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[12], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulLocalCnameLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[13], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, achLocalCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, achLocalCname); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[14], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulRemoteAutoDetectFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulRemoteAutoDetectFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[15], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulValidRemoteFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulValidRemoteFlag); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[16], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtp: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[16], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtp: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[16], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtp: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[17], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtcp: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[17], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtcp: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[17], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressRtcp: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 16; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[18], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressT38: %d.%d.%d.%d:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), ulUdpPort ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3,ulUdpPort; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulUdpPort = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[18], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressT38: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]:%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF ), ulUdpPort ); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[18], tvb, offset, - sizeof(tOCTVC1_UDP_ADDRESS), "","RemoteUdpAddressT38: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_UDP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[19], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulRemoteCnameLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[20], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, achRemoteCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, achRemoteCname); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[21], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulIpv4TimeToLive); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[22], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulIpv4TypeOfService); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[23], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulIpv6HopLimit); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[24], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulIpv6FlowLabel); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[25], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulIpv6TrafficClass); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP[26], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, ulNumProfEntry); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, aRtpProfEntry), "aRtpProfEntry:tOCTVC1_NET_RTP_PROFILE_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<8; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_RTP_PROFILE_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_PROFILE_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP, RtpMemberConnInfo), "RtpMemberConnInfo:tOCTVC1_NET_RTP_MEMBER_CONN_INFO"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_MEMBER_CONN_INFO( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP, ulRemoteMemberId); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP, aulReceivedPktCnt), "aulReceivedPktCnt"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[2], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP, aulReceivedByteCnt), "aulReceivedByteCnt"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<2; i++ ) - { - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP[3], tvb, offset, - 4, temp_data, "[%d]: 0x%08x", i, temp_data ); - } - offset+=4; - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP, SenderStats), "SenderStats:tOCTVC1_NET_RTCP_SENDER_STATS"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTCP_SENDER_STATS( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP, ReceiverStats), "ReceiverStats:tOCTVC1_NET_RTCP_RECEIVER_STATS"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTCP_RECEIVER_STATS( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP, ulRoundTripTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP, ulMaxRoundTripTime); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP, ulAverageRoundTripTime); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP, SenderStats), "SenderStats:tOCTVC1_NET_RTCP_SENDER_STATS"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTCP_SENDER_STATS( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP, ReceiverStats), "ReceiverStats:tOCTVC1_NET_RTCP_RECEIVER_STATS"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTCP_RECEIVER_STATS( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP, SenderSrtp), "SenderSrtp:tOCTVC1_NET_SRTP_STREAM_CONFIG"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_STREAM_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP, ulSenderSrtpKeyActiveIdx); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP, ulSenderSrtpKeyNum); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP, aSenderSrtpKeyList), "aSenderSrtpKeyList:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_SRTP_KEY_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP, ReceiverSrtp), "ReceiverSrtp:tOCTVC1_NET_SRTP_STREAM_CONFIG"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_STREAM_CONFIG( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP, ulReceiverSrtpKeyActiveIdx); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP, ulReceiverSrtpKeyNum); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP, aReceiverSrtpKeyList), "aReceiverSrtpKeyList:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_SRTP_KEY_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP, SenderSrtpStats), "SenderSrtpStats:tOCTVC1_NET_SRTP_STREAM_STATS"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_STREAM_STATS( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP, ReceiverSrtpStats), "ReceiverSrtpStats:tOCTVC1_NET_SRTP_STREAM_STATS"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_STREAM_STATS( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - tWS_EXTRA_VALUE ExtraVal; - ExtraVal.lValue = cOCTVC1_HANDLE_INVALID; - ExtraVal.pszValue = "cOCTVC1_HANDLE_INVALID"; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, &ExtraVal ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, ulLocalMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, ulSenderSrtpKeyActiveIdx),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[2], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, ulSenderSrtpKeyActiveIdx); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, ulSenderSrtpKeyNum),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[3], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 1) || ( (unsigned int)temp_data > 4 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (1..4)]" ); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, ulSenderSrtpKeyNum); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, aSenderSrtpKeyList), "aSenderSrtpKeyList:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_SRTP_KEY_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, ulReceiverSrtpKeyActiveIdx),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[5], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, ulReceiverSrtpKeyActiveIdx); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_DO_NOT_MODIFY) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, ulReceiverSrtpKeyNum),temp_data, "cOCTVC1_DO_NOT_MODIFY (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD[6], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 1) || ( (unsigned int)temp_data > 4 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (1..4)]" ); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, ulReceiverSrtpKeyNum); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD, aReceiverSrtpKeyList), "aReceiverSrtpKeyList:tOCTVC1_NET_SRTP_KEY_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<4; i++ ) - { - { - proto_tree* sub_tree2; - tWS_EXTRA_VALUE ExtraVal; - ExtraVal.lValue = cOCTVC1_DO_NOT_MODIFY; - ExtraVal.pszValue = "cOCTVC1_DO_NOT_MODIFY"; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_SRTP_KEY_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_SRTP_KEY_ENTRY( tvb, pinfo, sub_tree2, offset, &ExtraVal ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP, ulLocalMemberId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD, ulLocalMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD, ulNumEntry); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD, aEntry), "aEntry:tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<8; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP, ulLocalMemberId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, hTerm), "hTerm:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, aStream), "aStream:tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<3; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[3], tvb, offset, - 4,"ulLocalForcedRtpParmMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value && - ( vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, ulLocalForcedRtpParmMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, ulLocalForcedSsrc); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, ulLocalForcedInitialSeqNumber); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, ulNumRtpProfEntry); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, aRtpProfEntry), "aRtpProfEntry:tOCTVC1_NET_RTP_PROFILE_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<8; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_RTP_PROFILE_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_PROFILE_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, ulLocalCnameByteLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, achLocalCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, achLocalCname); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, ulRemoteCnameByteLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD[11], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, achRemoteCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD, achRemoteCname); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP, ulLocalMemberId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, ulLocalMemberId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[2], tvb, offset, - 4,"ulModifyMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK[i].value && - ( vals_tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, ulModifyMask); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, aStream), "aStream:tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<3; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, ulLocalCnameByteLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[5], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, achLocalCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, achLocalCname); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, ulRemoteCnameByteLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, achRemoteCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD, achRemoteCname); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP, hRtpSession), "hRtpSession:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP, ulLocalMemberId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, SubObjectIdGet), "SubObjectIdGet:tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, ulOperationMode); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, hTerm), "hTerm:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, aStream), "aStream:tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<3; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, ulNumRtpProfEntry); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, aRtpProfEntry), "aRtpProfEntry:tOCTVC1_NET_RTP_PROFILE_ENTRY"); - { - int i, ofs=offset; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i<8; i++ ) - { - { - proto_tree* sub_tree2; - ti = proto_tree_add_text(sub_tree, tvb, offset, - sizeof(tOCTVC1_NET_RTP_PROFILE_ENTRY), "[%d]:", i); - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_RTP_PROFILE_ENTRY( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, ulLocalCnameByteLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[7], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, achLocalCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, achLocalCname); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[8], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, ulRemoteCnameByteLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP[9], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, achRemoteCname), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP, achRemoteCname); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[0], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[0], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[0], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","NetworkMask: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","NetworkMask: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","NetworkMask: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulAddrAutoConfigFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulAddrAutoConfigFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulMuteOnAddrExpireFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulMuteOnAddrExpireFlag); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulUserEventId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[6], tvb, offset, - 4,"ulEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK[i].value && - ( vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulEventMask); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulEventThrottle); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, hEventDestObj), "hEventDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[9], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulEventDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - if( temp_data == cOCTVC1_FIFO_ID_INVALID) - { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[10], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulEventDestObjFifoId),temp_data, "cOCTVC1_FIFO_ID_INVALID (0x%08x)",temp_data); - }else { - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD[10], tvb, offset, - 4, temp_data); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD, ulEventDestObjFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP, ulAddrStatus); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, ulAddrAutoConfigFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, ulAddrAutoConfigFlag); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[2], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[3], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","NetworkMask: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[3], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","NetworkMask: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[3], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","NetworkMask: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, ulAddrStatus); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[6], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, ulUserEventId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[7], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, ulEventThrottle); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[8], tvb, offset, - 4,"ulEventMask: (0x%08x)", temp_data); - if(temp_data) - { - int i; - proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - for( i=0; i< mWS_COUNTOF(vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK); i++ ) - { - if( ( vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK[i].value && - ( vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK[i].value & temp_data ) == - vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK[i].value)) - proto_tree_add_text(sub_tree, tvb, offset,4,"%s", - decode_enumerated_bitfield(vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK[i].value, 0xFFFFFFFF, (4*8), - VALS(vals_tOCTVC1_NET_LOCAL_HOST_EVT_MASK),"%s")); - } - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, ulEventMask); - - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, hEventDestObj), "hEventDestObj:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[10], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, ulEventDestObjPort); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP[11], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP, ulEventDestObjFifoId); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD[1], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD, ulResetStatsFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD, ulResetStatsFlag); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP, ObjectGet), "ObjectGet:tOCTVC1_CURSOR_HANDLE_GET"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_CURSOR_HANDLE_GET( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP, ulApiEventCnt); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","RemoteIpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","RemoteIpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","RemoteIpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[2], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD, ulTimeout); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[3], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD, ulTimeToLive); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD, ulUserEventId); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD, ulPayloadLength); - - ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD[6], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD, abyPayload), FALSE); - - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD, abyPayload); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD[1], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD, ulProbeIntervalMs); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD[2], tvb, offset, - 4, temp_data); - if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 15 ) ) - { - proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); - proto_item_append_text(ti," [Out of range - (0..15)]" ); - } - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD, ulNumProbe); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP, hLocalHost), "hLocalHost:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - { - int ulVers; - unsigned int offs = offset; - ulVers = tvb_get_ntohl( tvb, offs ); - if( ulVers == cOCTVC1_IP_VERSION_ENUM_4 ) - { unsigned int ulIp0; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: %d.%d.%d.%d", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ) ); - }else if( ulVers == cOCTVC1_IP_VERSION_ENUM_6 ) - { unsigned int ulIp0,ulIp1,ulIp2,ulIp3; - offs += 4; - ulIp0 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp1 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp2 = tvb_get_ntohl( tvb, offs ); - offs += 4; - ulIp3 = tvb_get_ntohl( tvb, offs ); - ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: [%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X:%02X%02X]", - (( ulIp0 & 0xFF000000 ) >> 24 ), - (( ulIp0 & 0x00FF0000 ) >> 16 ), - (( ulIp0 & 0x0000FF00 ) >> 8 ), - ( ulIp0 & 0x000000FF ), - (( ulIp1 & 0xFF000000 ) >> 24 ), - (( ulIp1 & 0x00FF0000 ) >> 16 ), - (( ulIp1 & 0x0000FF00 ) >> 8 ), - ( ulIp1 & 0x000000FF ), - (( ulIp2 & 0xFF000000 ) >> 24 ), - (( ulIp2 & 0x00FF0000 ) >> 16 ), - (( ulIp2 & 0x0000FF00 ) >> 8 ), - ( ulIp2 & 0x000000FF ), - (( ulIp3 & 0xFF000000 ) >> 24 ), - (( ulIp3 & 0x00FF0000 ) >> 16 ), - (( ulIp3 & 0x0000FF00 ) >> 8 ), - ( ulIp3 & 0x000000FF )); - }else - { ti = proto_tree_add_string_format(field_tree, ahf_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP[1], tvb, offset, - sizeof(tOCTVC1_IP_ADDRESS), "","IpAddress: Unknowned IP format(%d)",ulVers ); - } - } - offset += sizeof(tOCTVC1_IP_ADDRESS); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD, GatewayGet), "GatewayGet:tOCTVC1_NET_IP_CURSOR"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_IP_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP, GatewayGet), "GatewayGet:tOCTVC1_NET_IP_CURSOR"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_IP_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD, IPv6Prefix), "IPv6Prefix:tOCTVC1_NET_LINK_IPV6_PREFIX"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_LINK_IPV6_PREFIX( tvb, pinfo, sub_tree2, offset, NULL ); - } - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[2], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD, ulOnLinkFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD, ulOnLinkFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_boolean(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[3], tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD, ulAddrAutoConfigFlag), temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD, ulAddrAutoConfigFlag); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[4], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD, ulValidLifetimeSec); - - temp_data = tvb_get_ntohl( tvb, offset ); - { - ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD[5], tvb, offset, - 4, temp_data); - } - offset += mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD, ulPreferredLifetimeSec); - - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP, IPv6Prefix), "IPv6Prefix:tOCTVC1_NET_LINK_IPV6_PREFIX"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_LINK_IPV6_PREFIX( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD, IPv6Prefix), "IPv6Prefix:tOCTVC1_NET_LINK_IPV6_PREFIX"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_LINK_IPV6_PREFIX( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP, hLink), "hLink:tOCTVC1_HANDLE"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP, IPv6Prefix), "IPv6Prefix:tOCTVC1_NET_LINK_IPV6_PREFIX"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_LINK_IPV6_PREFIX( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD, IPv6PrefixGet), "IPv6PrefixGet:tOCTVC1_NET_IPV6_PREFIX_CURSOR"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_IPV6_PREFIX_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -unsigned int dissect_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) -{ - proto_tree *field_tree = tree; - unsigned int offset_0 = offset; - gint bytes = tvb_length_remaining(tvb, offset); - if (bytes < (gint)(sizeof(tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP)-sizeof(tOCTVC1_MSG_HEADER))) - { - proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP (%d byte%s) - Malformated packet...expected(%ld)", - bytes, plurality(bytes, "", "s"), - sizeof(tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP)-sizeof(tOCTVC1_MSG_HEADER)); - return 1; - } - else - { - int temp_data = 0; - proto_item *ti; - ti = proto_tree_add_text(tree, tvb, offset, bytes, - "tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); - - field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP, IPv6PrefixGet), "IPv6PrefixGet:tOCTVC1_NET_IPV6_PREFIX_CURSOR"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_IPV6_PREFIX_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); - } - ti = proto_tree_add_text(field_tree, tvb, offset, - mWS_FIELDSIZE(tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP, IPv6PrefixInfo), "IPv6PrefixInfo:tOCTVC1_NET_LINK_IPV6_PREFIX_INFO"); - { - proto_tree* sub_tree2; - sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); - offset = dissect_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO( tvb, pinfo, sub_tree2, offset, NULL ); - } - } - - - return 0; - -}; - - -/**************************************************************************** - MODULE REGISTERED EXPORTED FUNCTION - ****************************************************************************/ - -void ws_register_OCTVC1_NET(void) -{ - /**************************************************************************** - Register Common struct - ****************************************************************************/ - register_tOCTVC1_NET_IP_CURSOR(); - register_tOCTVC1_NET_RTP_PROFILE_ENTRY(); - register_tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY(); - register_tOCTVC1_NET_SRTP_KEY_ENTRY(); - register_tOCTVC1_NET_SRTP_STREAM_CONFIG(); - register_tOCTVC1_NET_SRTP_KEY_STATS(); - register_tOCTVC1_NET_SRTP_STREAM_STATS(); - register_tOCTVC1_NET_CONFIG_STATIC(); - register_tOCTVC1_NET_RTP_MEMBER_CONN_INFO(); - register_tOCTVC1_NET_RTCP_SENDER_STATS(); - register_tOCTVC1_NET_RTCP_RECEIVER_STATS(); - register_tOCTVC1_NET_VLAN_TAG(); - register_tOCTVC1_NET_HEADER_INFO_ETHERNET(); - register_tOCTVC1_NET_HEADER_INFO_VLAN(); - register_tOCTVC1_NET_HEADER_INFO_IP(); - register_tOCTVC1_NET_HEADER_INFO_UDP(); - register_tOCTVC1_NET_HEADER_IPUDP(); - register_tOCTVC1_NET_CACHE_ENTRY_CURSOR(); - register_tOCTVC1_NET_ETH_LINK_CACHE_ENTRY(); - register_tOCTVC1_NET_LINK_GATEWAY_INFO(); - register_tOCTVC1_NET_LINK_IPV6_PREFIX(); - register_tOCTVC1_NET_LINK_IPV6_PREFIX_INFO(); - register_tOCTVC1_NET_IPV6_PREFIX_CURSOR(); - register_tOCTVC1_NET_ETH_LINK_CONFIG_IPV4(); - register_tOCTVC1_NET_ETH_LINK_CONFIG_IPV6(); - register_tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ(); - register_tOCTVC1_NET_EUI64_INTERFACE_ID(); - register_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM(); - register_tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY(); - - /**************************************************************************** - CMD/RSP Registered - ****************************************************************************/ - register_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP(); - register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD(); - register_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP(); - register_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD(); - register_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP(); - register_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD(); - register_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP(); - register_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD(); - register_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP(); - register_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD(); - register_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP(); - register_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD(); - register_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP(); - register_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD(); - register_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP(); - - /**************************************************************************** - Event Registered - ****************************************************************************/ - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT(); - register_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT(); - register_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT(); - register_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT(); - -} - -/**************************************************************************** - MODULE DISSECTOR FUNCTIONS - ****************************************************************************/ -int ws_dissect_OCTVC1_NET_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) -{ - if( tree ) - { - switch( CID ) { - case cOCTVC1_NET_MSG_RTP_SESSION_OPEN_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_INFO_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_STATS_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_INFO_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_STATS_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CID: return dissect_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CID: return dissect_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CID: return dissect_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CID: return dissect_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CID: return dissect_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CID: return dissect_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD( tvb, pinfo, tree, 0 ); break; - default: return 1; - } - } - return 0; - -} -int ws_dissect_OCTVC1_NET_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) -{ - if( tree ) - { - switch( CID ) { - case cOCTVC1_NET_MSG_RTP_SESSION_OPEN_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_INFO_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_STATS_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_INFO_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_STATS_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CID: return dissect_tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CID: return dissect_tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CID: return dissect_tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CID: return dissect_tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CID: return dissect_tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CID: return dissect_tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP( tvb, pinfo, tree, 0 ); break; - default: return 1; - } - } - return 0; - -} -int ws_dissect_OCTVC1_NET_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) -{ - if( tree ) - { - switch( CID ) { - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EID: return dissect_tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EID: return dissect_tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT( tvb, pinfo, tree, 0 ); break; - case cOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EID: return dissect_tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT( tvb, pinfo, tree, 0 ); break; - default: return 1; - } - } - return 0; - -} - -/**************************************************************************** - MODULE DISSECTOR EXPORTED FUNCTION - ****************************************************************************/ - -int ws_dissect_OCTVC1_NET( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) -{ - if (message_type == cOCTVC1_MSG_TYPE_RESPONSE) - return ws_dissect_OCTVC1_NET_RSP( CID, tvb, pinfo, tree); - if (message_type == cOCTVC1_MSG_TYPE_COMMAND) - return ws_dissect_OCTVC1_NET_CMD( CID, tvb, pinfo, tree); - if (message_type == cOCTVC1_MSG_TYPE_NOTIFICATION ) - return ws_dissect_OCTVC1_NET_EVT( CID, tvb, pinfo, tree); - else - return 1; - -} - diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_test.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_test.c new file mode 100644 index 0000000..419cad4 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_test.c @@ -0,0 +1,1802 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_module_test.c + + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contain the wireshark module dissector related functions + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +/***************************** INCLUDE FILES *******************************/ + +#include +#include +#include "../../../include/oct_ws_macro.h" +#include "../include/module.h" +#include "../include/octvc1_common.h" + +#include + + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_TEST_EXEC_PARMS[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_EXEC_PARMS; + +void register_tOCTVC1_TEST_EXEC_PARMS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_EXEC_PARMS[0], + { "ahObj", "octvc1.test.exec_parms.ahobj", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ahObj",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_EXEC_PARMS[1], + { "szParms", "octvc1.test.exec_parms.szparms", + FT_STRING, BASE_NONE, NULL, 0x0, + "szParms",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_EXEC_PARMS.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + +int ahf_tOCTVC1_TEST_MSG_DESCR_LIST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_DESCR_LIST_CMD; + +void register_tOCTVC1_TEST_MSG_DESCR_LIST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_DESCR_LIST_CMD[0], + { "ObjectCursor", "octvc1.test.descr.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_DESCR_LIST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_DESCR_LIST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_DESCR_LIST_RSP; + +void register_tOCTVC1_TEST_MSG_DESCR_LIST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_DESCR_LIST_RSP[0], + { "ObjectCursor", "octvc1.test.descr.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_DESCR_LIST_RSP[1], + { "ObjectNameList", "octvc1.test.descr.list.objectnamelist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectNameList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_DESCR_LIST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_DESCR_INFO_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_DESCR_INFO_CMD; + +void register_tOCTVC1_TEST_MSG_DESCR_INFO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_CMD[0], + { "hDescr", "octvc1.test.descr.info.hdescr", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hDescr",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_DESCR_INFO_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_DESCR_INFO_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_DESCR_INFO_RSP; + +void register_tOCTVC1_TEST_MSG_DESCR_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_RSP[0], + { "hDescr", "octvc1.test.descr.info.hdescr", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hDescr",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_RSP[1], + { "szName", "octvc1.test.descr.info.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_RSP[2], + { "szDescription", "octvc1.test.descr.info.szdescription", + FT_STRING, BASE_NONE, NULL, 0x0, + "szDescription",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_RSP[3], + { "szUsage", "octvc1.test.descr.info.szusage", + FT_STRING, BASE_NONE, NULL, 0x0, + "szUsage",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_DESCR_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD; + +void register_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD[0], + { "szName", "octvc1.test.descr.info_by_name.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP; + +void register_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP[0], + { "hDescr", "octvc1.test.descr.info_by_name.hdescr", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hDescr",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP[1], + { "szName", "octvc1.test.descr.info_by_name.szname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szName",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP[2], + { "szDescription", "octvc1.test.descr.info_by_name.szdescription", + FT_STRING, BASE_NONE, NULL, 0x0, + "szDescription",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP[3], + { "szUsage", "octvc1.test.descr.info_by_name.szusage", + FT_STRING, BASE_NONE, NULL, 0x0, + "szUsage",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_DESCR_STATS_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_DESCR_STATS_CMD; + +void register_tOCTVC1_TEST_MSG_DESCR_STATS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_DESCR_STATS_CMD[0], + { "hDescr", "octvc1.test.descr.stats.hdescr", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hDescr",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_DESCR_STATS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_DESCR_STATS_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_DESCR_STATS_RSP; + +void register_tOCTVC1_TEST_MSG_DESCR_STATS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_DESCR_STATS_RSP[0], + { "hDescr", "octvc1.test.descr.stats.hdescr", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hDescr",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_DESCR_STATS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD[0], + { "hDescr", "octvc1.test.runner_server.test.add.hdescr", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hDescr",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD[1], + { "Parms", "octvc1.test.runner_server.test.add.parms", + FT_NONE, BASE_NONE, NULL, 0x0, + "Parms",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP[0], + { "hTest", "octvc1.test.runner_server.test.add.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP[1], + { "szDisplayName", "octvc1.test.runner_server.test.add.szdisplayname", + FT_STRING, BASE_NONE, NULL, 0x0, + "szDisplayName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD[0], + { "hTest", "octvc1.test.runner_server.test.remove.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP[0], + { "hTest", "octvc1.test.runner_server.test.remove.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD[0], + { "ObjectCursor", "octvc1.test.runner_server.test.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP[0], + { "ObjectCursor", "octvc1.test.runner_server.test.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP[1], + { "ObjectNameList", "octvc1.test.runner_server.test.list.objectnamelist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectNameList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD[0], + { "hTest", "octvc1.test.runner_server.test.info.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP[0], + { "hTest", "octvc1.test.runner_server.test.info.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP[1], + { "hDescr", "octvc1.test.runner_server.test.info.hdescr", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hDescr",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP[2], + { "Parms", "octvc1.test.runner_server.test.info.parms", + FT_NONE, BASE_NONE, NULL, 0x0, + "Parms",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD[0], + { "hTest", "octvc1.test.runner_server.test.stats.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP[0], + { "hTest", "octvc1.test.runner_server.test.stats.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP[1], + { "szStats", "octvc1.test.runner_server.test.stats.szstats", + FT_STRING, BASE_NONE, NULL, 0x0, + "szStats",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD[0], + { "hTest", "octvc1.test.runner_server.test.start.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP[0], + { "hTest", "octvc1.test.runner_server.test.start.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD[0], + { "hTest", "octvc1.test.runner_server.test.stop.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP; + +void register_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP[0], + { "hTest", "octvc1.test.runner_server.test.stop.htest", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hTest",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_TEST_EXEC_PARMS(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_EXEC_PARMS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_EXEC_PARMS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_EXEC_PARMS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_TEST_EXEC_PARMS); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_EXEC_PARMS, ahObj), "ahObj"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<8; i++ ) + { + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_TEST_EXEC_PARMS[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_EXEC_PARMS, ahObj), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_TEST_EXEC_PARMS[0], tvb, offset, + 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + } + offset+=4; + } + } + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_EXEC_PARMS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_EXEC_PARMS, szParms), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_EXEC_PARMS, szParms); + + } + + + return offset; + +}; + +/**************************************************************************** + CMD/RSP dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_TEST_MSG_DESCR_LIST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_DESCR_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_DESCR_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_LIST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_LIST_CMD, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_DESCR_LIST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_DESCR_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_DESCR_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_LIST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_LIST_RSP, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_LIST_RSP, ObjectNameList), "ObjectNameList:tOCTVC1_LIST_NAME_OBJECT32_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_NAME_OBJECT32_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_DESCR_INFO_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_DESCR_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_DESCR_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_INFO_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_CMD, hDescr); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_DESCR_INFO_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_DESCR_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_DESCR_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_INFO_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_RSP, hDescr); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_RSP, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_RSP, szName); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_RSP[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_RSP, szDescription), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_RSP, szDescription); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_RSP[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_RSP, szUsage), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_RSP, szUsage); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD, szName); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP, hDescr); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP, szName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP, szName); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP, szDescription), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP, szDescription); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP, szUsage), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP, szUsage); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_DESCR_STATS_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_DESCR_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_STATS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_DESCR_STATS_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_STATS_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_STATS_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_STATS_CMD, hDescr); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_DESCR_STATS_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_DESCR_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_STATS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_DESCR_STATS_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_DESCR_STATS_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_DESCR_STATS_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_DESCR_STATS_RSP, hDescr); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD, hDescr),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD, hDescr); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD, Parms), "Parms:tOCTVC1_TEST_EXEC_PARMS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_TEST_EXEC_PARMS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP, hTest); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP, szDisplayName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP, szDisplayName); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD, hTest),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD, hTest); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP, hTest); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP, ObjectCursor), "ObjectCursor:tOCTVC1_CURSOR_HANDLE_OBJECT_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP, ObjectNameList), "ObjectNameList:tOCTVC1_LIST_NAME_OBJECT32_GET"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_LIST_NAME_OBJECT32_GET( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD, hTest),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD, hTest); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP, hTest); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP, hDescr),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP[1], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP, hDescr); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP, Parms), "Parms:tOCTVC1_TEST_EXEC_PARMS"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_TEST_EXEC_PARMS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD, hTest),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD, hTest); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP, hTest); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP, szStats), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP, szStats); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD, hTest),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD, hTest); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP, hTest); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_HANDLE_INVALID) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD, hTest),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD, hTest); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP)-sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP (%d byte%s)", bytes, plurality(bytes, "", "s")); + + field_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP, hTest); + + } + + + return 0; + +}; +/**************************************************************************** + MODULE REGISTERED EXPORTED FUNCTION + ****************************************************************************/ + +void ws_register_OCTVC1_TEST(void) +{ + /**************************************************************************** + Register Common struct + ****************************************************************************/ + register_tOCTVC1_TEST_EXEC_PARMS(); + + /**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + register_tOCTVC1_TEST_MSG_DESCR_LIST_CMD(); + register_tOCTVC1_TEST_MSG_DESCR_LIST_RSP(); + register_tOCTVC1_TEST_MSG_DESCR_INFO_CMD(); + register_tOCTVC1_TEST_MSG_DESCR_INFO_RSP(); + register_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD(); + register_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP(); + register_tOCTVC1_TEST_MSG_DESCR_STATS_CMD(); + register_tOCTVC1_TEST_MSG_DESCR_STATS_RSP(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD(); + register_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP(); + +} + +/**************************************************************************** + MODULE DISSECTOR FUNCTIONS + ****************************************************************************/ +int ws_dissect_OCTVC1_TEST_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + case cOCTVC1_TEST_MSG_DESCR_LIST_CID: return dissect_tOCTVC1_TEST_MSG_DESCR_LIST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_DESCR_INFO_CID: return dissect_tOCTVC1_TEST_MSG_DESCR_INFO_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CID: return dissect_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_DESCR_STATS_CID: return dissect_tOCTVC1_TEST_MSG_DESCR_STATS_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CID: return 0; break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CID: return 0; break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_START_CID: return 0; break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CID: return 0; break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD( tvb, pinfo, tree, 0 ); break; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_TEST_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + case cOCTVC1_TEST_MSG_DESCR_LIST_CID: return dissect_tOCTVC1_TEST_MSG_DESCR_LIST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_DESCR_INFO_CID: return dissect_tOCTVC1_TEST_MSG_DESCR_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CID: return dissect_tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_DESCR_STATS_CID: return dissect_tOCTVC1_TEST_MSG_DESCR_STATS_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CID: return 0; break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CID: return 0; break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_START_CID: return 0; break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CID: return 0; break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CID: return dissect_tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP( tvb, pinfo, tree, 0 ); break; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_TEST_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + default: return 1; + } + } + return 0; + +} + +/**************************************************************************** + MODULE DISSECTOR EXPORTED FUNCTION + ****************************************************************************/ + +int ws_dissect_OCTVC1_TEST( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if (message_type == cOCTVC1_MSG_TYPE_RESPONSE) + return ws_dissect_OCTVC1_TEST_RSP( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_COMMAND) + return ws_dissect_OCTVC1_TEST_CMD( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_NOTIFICATION ) + return ws_dissect_OCTVC1_TEST_EVT( CID, tvb, pinfo, tree); + else + return 1; + +} + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_ctrl.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_ctrl.c index 06a3529..b4f342b 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_ctrl.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_ctrl.c @@ -1,30 +1,27 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: octvc1_msg_ctrl.c - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Routines for vocallonet dissection - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - +/* octvc1_msg_ctrl.c + * Routines for vocallonet dissection + * Copyright 2004, Ocatasic inc. + * + * $Id: README.developer 11475 2004-07-23 01:37:35Z guy $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ #include #include diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_event.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_event.c index 2208cd7..2d7bc44 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_event.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_event.c @@ -1,30 +1,28 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: octvc1_msg_event.c - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Routines for vocallonet dissection - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - #include +/* octvc1_msg_event.c + * Routines for vocallonet dissection + * Copyright 2004, Ocatasic inc. + * + * $Id: README.developer 11475 2004-07-23 01:37:35Z guy $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#include #include #include #include diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_plugin.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_plugin.c index 5284f54..4adcc3b 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_plugin.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_plugin.c @@ -1,30 +1,6 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: octvc1_plugin.c - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - +/* octvc1_plugin.c + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ #include #include @@ -36,7 +12,7 @@ $Octasic_Revision: $ #include "../include/module.h" #define OCT_DECLARE_COMMON #include "../include/octvc1_common.h" -#include + static int proto_octvc1 = -1; static int fUserRegistered = 0; @@ -54,283 +30,12 @@ dissector_handle_t data_handle; const gchar* octvc1_chck_private( guint32 f_id_code, const value_string *f_PrivateApi, gint32 *f_piRegistered ) { - const gchar* pszValueString; - - //CHck if same as last request - if( l_iRegisteredUserLen && ( l_id_code_Registered == f_id_code ) ) - { - *f_piRegistered = 1; - return l_szAPIStr; - } - - *f_piRegistered = 0; - pszValueString = val_to_str( f_id_code, f_PrivateApi, cOCTVC1_UNKNOWN_STRING ); - if( strcmp( pszValueString, cOCTVC1_UNKNOWN_STRING ) ) - { - // Expect API ID STRING:user,user2,user3 - gchar *pszColumn = strchr( pszValueString, ':' ); - if( pszColumn ) - { - gchar *pszStr; - - // Keep API string - strncpy( l_szAPIStr, pszValueString, (pszColumn-pszValueString) ); - l_szAPIStr[(pszColumn-pszValueString)]=0; - - // Chck if god is register - if( !l_fIsGod ) - pszStr = strstr( pszColumn+1, l_szRegisteredUser ); - - // Find if register for this - if( l_fIsGod || - ( pszStr && ((pszStr==(pszColumn+1)) || (*(pszStr-1)==',') ) && - ( (*(pszStr+l_iRegisteredUserLen)==',') || (*(pszStr+l_iRegisteredUserLen)==0 ) ) ) ) - { - l_id_code_Registered = f_id_code; - *f_piRegistered = 1; - return l_szAPIStr; - } - } - } - return cOCTVC1_UNKNOWN_STRING; +return cOCTVC1_UNKNOWN_STRING; } void pref_proto_octvc1_apply_callback( void ) { - char *pszPath; - - // by default this callback is called at startup ... skip the first call - if( fUserRegistered ) - { - int fReguser=0; - - if( ( strcmp( pszOctvc1_user_name, cOCTVC1_GOD_USER ) == 0 ) && - ( strcmp( pszOctvc1_user_id, cOCTVC1_GOD_USER_ID ) == 0 ) ) - { - fReguser = 1; - l_fIsGod = 1; - } - else - { - int i; - - for( i=0; ; i++ ) - { - if( aOCTVC1_user_list[i][0] == NULL ) - break; - - if( ( strcmp( aOCTVC1_user_list[i][0], pszOctvc1_user_name ) == 0 ) && - ( strcmp( aOCTVC1_user_list[i][1], pszOctvc1_user_id ) == 0 ) ) - { - fReguser = 1; - l_fIsGod = 0; - break; - } - } - } - - if( fReguser ) - { - g_fIsRegistered = 1; - strcpy( l_szRegisteredUser, pszOctvc1_user_name ); - l_iRegisteredUserLen = strlen( l_szRegisteredUser ); - } - else - { - g_fIsRegistered = 0; - l_fIsGod = 0; - } - } - fUserRegistered = 1; - - prefs_set_pref( "octvc1.user_name:user" ); - prefs_set_pref( "octvc1.user_id:****" ); - write_prefs( &pszPath ); - - // Reset last check - l_id_code_Registered = 0; - l_szAPIStr[0] = 0; - - - } - -extern tModuleColInfo aOCTVC1ModuleColInfo[]; -#define mWD_OCTVC1_CID_CODE(uint32) ((uint32) & 0x00000FFF) - - -void dissect_OCTVC1_GSM(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) -{ - int temp_data, ulMsgType, ulCommandId, ulOctvc1MsgType, remaining_length, module_index; - int offset = 0; - tvbuff_t *message_tvb; - const gchar* pszValueString = NULL; - tModuleColInfo GsmModule; - - /* Find Tbl Module Index */ - match_strval_idx( cOCTVC1_GSM_UID, vals_OCTVC1_module_UID, &module_index ); - - /*Get the proper module info */ - GsmModule = aOCTVC1ModuleColInfo[module_index]; - - temp_data = tvb_get_ntohs( tvb, offset ); - proto_tree_add_text(tree, tvb, offset, 2, "reserved %d", temp_data ); - offset += 2; - ulMsgType = tvb_get_guint8( tvb, offset ); - ulCommandId = (ulMsgType & 0x7F) | cOCTVC1_GSM_CID_BASE; - ulOctvc1MsgType = ((ulMsgType & 0x80) == 0 )? cOCTVC1_MSG_TYPE_RESPONSE: cOCTVC1_MSG_TYPE_COMMAND; - - /* Hardcoded event mapping */ - if( ulMsgType == 0x01 || ulMsgType == 0x02 || ulMsgType == 0x07 || ulMsgType == 0x0e || ulMsgType == 0x16 ) - { - ulOctvc1MsgType = cOCTVC1_MSG_TYPE_NOTIFICATION; - ulCommandId = ulMsgType | cOCTVC1_GSM_EID_BASE; - } - - proto_tree_add_text(tree, tvb, offset, 1, "MsgType 0x%02x (CID:0x%08x, type:%d)", ulMsgType, ulCommandId, ulOctvc1MsgType ); - offset += 1; - temp_data = tvb_get_guint8( tvb, offset ); - proto_tree_add_text(tree, tvb, offset, 1, "size: %d", temp_data ); - offset += 1; - temp_data = tvb_get_ntohs( tvb, offset ); - proto_tree_add_text(tree, tvb, offset, 2, "sequence %d", temp_data ); - offset += 2; - - if( (ulMsgType & 0x7F) == 0x00 ) - { - ulCommandId |= 0x100; - } - /*API is not orthogonal!! remap response to proper Ids */ - if( ulOctvc1MsgType == cOCTVC1_MSG_TYPE_RESPONSE ) - { - if( ulMsgType == 0x08 || ulMsgType == 0x09 ) - ulCommandId = ((ulMsgType-1) & 0x7F) | cOCTVC1_GSM_CID_BASE; - - if( ulMsgType == 0x0a ) - ulCommandId = (0x11) | cOCTVC1_GSM_CID_BASE; - } - - if( ulOctvc1MsgType == cOCTVC1_MSG_TYPE_COMMAND ) - { - if( ulMsgType == 0x82 || ulMsgType == 0x81 ) - ulCommandId |= cOCTVC1_MSG_NO_RESPONSE_FLAG; - - } - - if( ulOctvc1MsgType == cOCTVC1_MSG_TYPE_NOTIFICATION ) - { - pszValueString = val_to_str( mWD_OCTVC1_CID_CODE( ulCommandId), GsmModule.apEvtIdValueString, cOCTVC1_UNKNOWN_STRING ); - - }else { - - pszValueString = val_to_str( mWD_OCTVC1_CID_CODE( ulCommandId), GsmModule.apCodeIdValueString, cOCTVC1_UNKNOWN_STRING ); - } - - if ( check_col(pinfo->cinfo, COL_INFO) ) - { - col_add_fstr( pinfo->cinfo, COL_INFO, - "%s_MSG_%s(0x%04X)", - GsmModule.pszModuleName, - pszValueString, - ulCommandId ); - } - - - if ( check_col(pinfo->cinfo, COL_PROTOCOL) ) - col_set_str(pinfo->cinfo, COL_PROTOCOL, "oct_gsm"); - - - remaining_length = tvb_reported_length_remaining(tvb, offset); - message_tvb = tvb_new_subset(tvb, offset, remaining_length, remaining_length); - GsmModule.Dissector_fnc( ulOctvc1MsgType, ulCommandId, message_tvb, pinfo, tree); - - /* We can call the amr plugin */ - /* think it can support IF2 Frame (GPP TS 26.101), need to double check */ -} - - -#ifdef cOCTVC1_WCDMA_UID -void dissect_OCTVC1_WCDMA(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) -{ - int temp_data, ulMsgType, ulCommandId, ulOctvc1MsgType, remaining_length, module_index; - int offset = 0; - tvbuff_t *message_tvb; - const gchar* pszValueString = NULL; - tModuleColInfo WcdmaModule; - - /* Find Tbl Module Index */ - match_strval_idx( cOCTVC1_WCDMA_UID, vals_OCTVC1_module_UID, &module_index ); - - /*Get the proper module info */ - WcdmaModule = aOCTVC1ModuleColInfo[module_index]; - ulMsgType = 0; - - ulOctvc1MsgType = cOCTVC1_MSG_TYPE_COMMAND; - - temp_data = tvb_get_ntohs( tvb, offset ); - proto_tree_add_text(tree, tvb, offset, 1, "L1c etherType 0x%02x", temp_data ); - offset += 2; - temp_data = tvb_get_ntohs( tvb, offset ); - proto_tree_add_text(tree, tvb, offset, 1, "Body Size: %d", temp_data ); - offset += 2; - temp_data = tvb_get_ntohs( tvb, offset ); - proto_tree_add_text(tree, tvb, offset, 2, "Message Type: %d", temp_data ); - offset += 2; - - temp_data = tvb_get_ntohs( tvb, offset ); - proto_tree_add_text(tree, tvb, offset, 2, "Message Id: %d", temp_data ); - ulCommandId = (temp_data & 0x7F) | cOCTVC1_WCDMA_CID_BASE; - - offset += 2; - temp_data = tvb_get_guint8( tvb, offset ); - proto_tree_add_text(tree, tvb, offset, 2, "FP Header size: %d", temp_data ); - offset += 2; - temp_data = tvb_get_guint8( tvb, offset ); - proto_tree_add_text(tree, tvb, offset, 2, "Transaction Id: %d", temp_data ); - offset += 2; - - /*API is not orthogonal!! remap response to proper Ids */ - if( ulOctvc1MsgType == cOCTVC1_MSG_TYPE_RESPONSE ) - { - if( ulMsgType == 0x08 || ulMsgType == 0x09 ) - ulCommandId = ((ulMsgType-1) & 0x7F) | cOCTVC1_GSM_CID_BASE; - - if( ulMsgType == 0x0a ) - ulCommandId = (0x11) | cOCTVC1_GSM_CID_BASE; - } - - if( ulOctvc1MsgType == cOCTVC1_MSG_TYPE_NOTIFICATION ) - { - pszValueString = val_to_str( mWD_OCTVC1_CID_CODE( ulCommandId), WcdmaModule.apEvtIdValueString, cOCTVC1_UNKNOWN_STRING ); - - }else { - - pszValueString = val_to_str( mWD_OCTVC1_CID_CODE( ulCommandId), WcdmaModule.apCodeIdValueString, cOCTVC1_UNKNOWN_STRING ); - } - - if ( check_col(pinfo->cinfo, COL_INFO) ) - { - col_add_fstr( pinfo->cinfo, COL_INFO, - "%s_MSG_%s(0x%04X)", - WcdmaModule.pszModuleName, - pszValueString, - ulCommandId ); - } - - - if ( check_col(pinfo->cinfo, COL_PROTOCOL) ) - col_set_str(pinfo->cinfo, COL_PROTOCOL, "oct_wcdma"); - - - remaining_length = tvb_reported_length_remaining(tvb, offset); - message_tvb = tvb_new_subset(tvb, offset, remaining_length, remaining_length); - WcdmaModule.Dissector_fnc( ulOctvc1MsgType, ulCommandId, message_tvb, pinfo, tree); - - /* We can call the amr plugin */ - /* think it can support IF2 Frame (GPP TS 26.101), need to double check */ -} -#endif - /************************************************************************* * * Code to register the protocol with Wireshark @@ -339,8 +44,6 @@ void dissect_OCTVC1_WCDMA(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) void proto_register_octvc1(void) { module_t *octvc1_module; - int proto_gsm = -1; - int proto_wcdma = -1; proto_octvc1 = proto_register_protocol( "OCTVC1 Packets", "Octasic OCTVC1", "octvc1"); octvc1_module = prefs_register_protocol(proto_octvc1, pref_proto_octvc1_apply_callback); @@ -355,23 +58,10 @@ void proto_register_octvc1(void) /* Call module register fnc */ ws_register_dissector_module(); - - - proto_gsm = proto_register_protocol( "OCTASIC GSM MODULE", "OCTGSM", "oct_gsm"); - register_dissector("OCTGSM", dissect_OCTVC1_GSM, proto_gsm); -#ifdef cOCTVC1_WCDMA_UID - proto_wcdma = proto_register_protocol( "OCTASIC WCDMA MODULE", "OCTWCDMA", "oct_wcdma"); - register_dissector("OCTWCDMA", dissect_OCTVC1_WCDMA, proto_wcdma); -#endif - - } - - - /************************************************************************* * * If this dissector uses sub-dissector registration add a registration routine. diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvocnet_common.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvocnet_common.c index 26ee2af..6b70755 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvocnet_common.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvocnet_common.c @@ -2,24 +2,26 @@ File: octvocnet_common.c -Copyright (c) 2014 Octasic Inc. All rights reserved. + +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contain the wireshark module dissector related functions -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -45,57 +47,3 @@ const value_string vals_tOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM[] = { cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM_OCTVC1, "cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM_OCTVC1" }, { 0, NULL } }; - -const value_string vals_tOCTVOCNET_PKT_D_TYPE_ENUM[] = - { - { cOCTVOCNET_PKT_D_TYPE_ENUM_TONE, "cOCTVOCNET_PKT_D_TYPE_ENUM_TONE" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_GEN_SID, "cOCTVOCNET_PKT_D_TYPE_ENUM_GEN_SID" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_8KSS, "cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_8KSS" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_16KSS, "cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_16KSS" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW, "cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW, "cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW_VBD, "cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW_VBD" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW_VBD, "cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW_VBD" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16, "cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24, "cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32, "cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40, "cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_48, "cOCTVOCNET_PKT_D_TYPE_ENUM_G722_48" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_56, "cOCTVOCNET_PKT_D_TYPE_ENUM_G722_56" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_64, "cOCTVOCNET_PKT_D_TYPE_ENUM_G722_64" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G723_1, "cOCTVOCNET_PKT_D_TYPE_ENUM_G723_1" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G729A, "cOCTVOCNET_PKT_D_TYPE_ENUM_G729A" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G729AB_8, "cOCTVOCNET_PKT_D_TYPE_ENUM_G729AB_8" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_AMR, "cOCTVOCNET_PKT_D_TYPE_ENUM_AMR" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_EFR, "cOCTVOCNET_PKT_D_TYPE_ENUM_EFR" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_EFR_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_EFR_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_FR, "cOCTVOCNET_PKT_D_TYPE_ENUM_FR" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_FR_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_FR_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB, "cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_ILBC, "cOCTVOCNET_PKT_D_TYPE_ENUM_ILBC" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_24, "cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_24" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_32, "cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_32" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G729_1, "cOCTVOCNET_PKT_D_TYPE_ENUM_G729_1" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_G729_1_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_G729_1_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_T38_UDPTL, "cOCTVOCNET_PKT_D_TYPE_ENUM_T38_UDPTL" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_T38_RTP, "cOCTVOCNET_PKT_D_TYPE_ENUM_T38_RTP" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_VOX, "cOCTVOCNET_PKT_D_TYPE_ENUM_VOX" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_YUV_RTP_RFC4175, "cOCTVOCNET_PKT_D_TYPE_ENUM_YUV_RTP_RFC4175" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV, "cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_RGB, "cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_RGB" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV_EXTENDED, "cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV_EXTENDED" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190, "cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190_BYTE_BOUNDARY, "cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190_BYTE_BOUNDARY" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2429, "cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2429" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_MPEG4_RTP_RFC3016, "cOCTVOCNET_PKT_D_TYPE_ENUM_MPEG4_RTP_RFC3016" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_H264_RTP_RFC3984, "cOCTVOCNET_PKT_D_TYPE_ENUM_H264_RTP_RFC3984" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_FAST_YUV, "cOCTVOCNET_PKT_D_TYPE_ENUM_FAST_YUV" }, - { cOCTVOCNET_PKT_D_TYPE_ENUM_UNKNOWN_RTP_PAYLOAD_TYPE, "cOCTVOCNET_PKT_D_TYPE_ENUM_UNKNOWN_RTP_PAYLOAD_TYPE" }, - { 0, NULL } - }; diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/plugin.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/plugin.c index f875024..8b5f7df 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/plugin.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/plugin.c @@ -1,29 +1,5 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: plugin.c - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +/* Do not modify this file. */ +/* It is created automatically by the Makefile. */ #ifdef HAVE_CONFIG_H # include "config.h" diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/ws_util.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/ws_util.c index 0c8cb77..0f1a4fa 100644 --- a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/ws_util.c +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/ws_util.c @@ -1,29 +1,3 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: ws_util.c - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . - -Release: Octasic Application Development Framework OCTADF-01.00.01-B497 (2014/01/09) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ /***************************** INCLUDE FILES *******************************/ #include diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.am b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.am new file mode 100644 index 0000000..285c087 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.am @@ -0,0 +1,100 @@ +# Makefile.am + +OCT_INC = $(OCT_PATH)/software/include + +INCLUDES = -I$(top_srcdir) -I$(includedir) -I$(OCT_INC) -I$(OCT_INC)/octvc1 -I$(OCT_INC)/vocallo -I$(OCT_INC)/octpkt + +include Makefile.common + +AM_CFLAGS=-DTGT_VERSION=$(TGT_VERSION) -DMODULE_VERSION=$(MODULE_VERSION) + +plugindir = @plugindir@ + +plugin_LTLIBRARIES = octvocnet_ws.la +octvocnet_ws_la_SOURCES = \ + source/plugin.c \ + include/moduleinfo.h \ + $(DISSECTOR_SRC) \ + $(DISSECTOR_INCLUDES) +octvocnet_ws_la_LDFLAGS = -module -avoid-version +octvocnet_ws_la_LIBADD = @PLUGIN_LIBS@ + +# Libs must be cleared, or else libtool won't create a shared module. +# If your module needs to be linked against any particular libraries, +# add them here. +LIBS = + +# +# Build plugin.c, which contains the plugin version[] string, a +# function plugin_register() that calls the register routines for all +# protocols, and a function plugin_reg_handoff() that calls the handoff +# registration routines for all protocols. +# +# We do this by scanning sources. If that turns out to be too slow, +# maybe we could just require every .o file to have an register routine +# of a given name (packet-aarp.o -> proto_register_aarp, etc.). +# +# Formatting conventions: The name of the proto_register_* routines an +# proto_reg_handoff_* routines must start in column zero, or must be +# preceded only by "void " starting in column zero, and must not be +# inside #if. +# +# DISSECTOR_SRC is assumed to have all the files that need to be scanned. +# +# For some unknown reason, having a big "for" loop in the Makefile +# to scan all the files doesn't work with some "make"s; they seem to +# pass only the first few names in the list to the shell, for some +# reason. +# +# Therefore, we have a script to generate the plugin.c file. +# The shell script runs slowly, as multiple greps and seds are run +# for each input file; this is especially slow on Windows. Therefore, +# if Python is present (as indicated by PYTHON being defined), we run +# a faster Python script to do that work instead. +# +# The first argument is the directory in which the source files live. +# The second argument is "plugin", to indicate that we should build +# a plugin.c file for a plugin. +# All subsequent arguments are the files to scan. +# +plugin.c: $(DISSECTOR_SRC) $(top_srcdir)/tools/make-dissector-reg \ + $(top_srcdir)/tools/make-dissector-reg.py + @if test -n "$(PYTHON)"; then \ + echo Making plugin.c with python ; \ + $(PYTHON) $(top_srcdir)/tools/make-dissector-reg.py $(srcdir) \ + plugin $(DISSECTOR_SRC) ; \ + else \ + echo Making plugin.c with shell script ; \ + $(top_srcdir)/tools/make-dissector-reg $(srcdir) \ + $(plugin_src) plugin $(DISSECTOR_SRC) ; \ + fi + +# +# Currently plugin.c can be included in the distribution because +# we always build all protocol dissectors. We used to have to check +# whether or not to build the snmp dissector. If we again need to +# variably build something, making plugin.c non-portable, uncomment +# the dist-hook line below. +# +# Oh, yuk. We don't want to include "plugin.c" in the distribution, as +# its contents depend on the configuration, and therefore we want it +# to be built when the first "make" is done; however, Automake insists +# on putting *all* source into the distribution. +# +# We work around this by having a "dist-hook" rule that deletes +# "plugin.c", so that "dist" won't pick it up. +# +#dist-hook: +# @rm -f $(distdir)/plugin.c + +CLEANFILES = \ + octvocnet_ws \ + *~ + +MAINTAINERCLEANFILES = \ + Makefile.in \ + source/plugin.c + +EXTRA_DIST = \ + Makefile.common \ + Makefile.nmake diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.common b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.common new file mode 100644 index 0000000..b9ea79a --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.common @@ -0,0 +1,41 @@ +# Makefile.common for Gryphon plugin +# Contains the stuff from Makefile.am and Makefile.nmake that is +# a) common to both files and +# b) portable between both files +# +# $Id: Makefile.common 27491 2009-02-21 16:33:48Z jake $ +# +# Wireshark - Network traffic analyzer +# By Gerald Combs +# Copyright 1998 Gerald Combs +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# the name of the plugin +PLUGIN_NAME = octvocnet_ws + +# the dissector sources (without any helpers) +DISSECTOR_SRC = \ + source/packet-vocallonet.c \ + source/octvocnet_common.c + +# corresponding headers +DISSECTOR_INCLUDES = + +# Dissector helpers. They're included in the source files in this +# directory, but they're not dissectors themselves, i.e. they're not +# used to generate "plugin.c". +DISSECTOR_SUPPORT_SRC = + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.nmake b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.nmake new file mode 100644 index 0000000..ba9d656 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/Makefile.nmake @@ -0,0 +1,45 @@ +# Makefile.nmake +# nmake file for Wireshark plugin +# +# $Id: Makefile.nmake 24520 2008-03-01 12:31:01Z jake $ +# +!IFNDEF WS_ROOT +WS_ROOT=..\..\.. +!ENDIF + +!include $(WS_ROOT)\$(TGT_WS_VERSION)\config.nmake + + +# +# The RC_VERSION should be comma-separated, not dot-separated, +# as per Graham Bloice's message in +# +# http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html +# +# "The RC_VERSION variable in config.nmake should be comma separated. +# This allows the resources to be built correctly and the version +# number to be correctly displayed in the explorer properties dialog +# for the executables, and XP's tooltip, rather than 0.0.0.0." +# + +MODULE_VERSION=$(MODULE_VERSION_MAJOR)_$(MODULE_VERSION_MINOR)_$(MODULE_VERSION_MICRO)_$(MODULE_VERSION_EXTRA) +RC_MODULE_VERSION=$(MODULE_VERSION_MAJOR),$(MODULE_VERSION_MINOR),$(MODULE_VERSION_MICRO),$(MODULE_VERSION_EXTRA) + +# the name of the plugin +PLUGIN_NAME = octvocnet_ws + + +# the dissector sources (without any helpers) +SRC_PATH=source +DISSECTOR_SRC = source/packet-vocallonet.c \ + source/octvocnet_common.c + +!IF "$(TGT_VERSION)" != "" +LOCAL_CFLAGS=/DTGT_VERSION=$(TGT_VERSION) /DMODULE_VERSION=$(MODULE_VERSION) $(LOCAL_CFLAGS) +RC_INTERNAL_NAME="Base on $(PACKAGE) version $(TGT_VERSION)" +!ELSE +LOCAL_CFLAGS=/DMODULE_VERSION=$(MODULE_VERSION) $(LOCAL_CFLAGS) +RC_INTERNAL_NAME="Base on $(PACKAGE) version $(MODULE_VERSION)" +!ENDIF + +!include ..\..\MakeRules.nmake \ No newline at end of file diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/module.h b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/module.h new file mode 100644 index 0000000..eb8cfab --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/module.h @@ -0,0 +1,40 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: module.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Wireshark module + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) + +$Octasic_Revision: 4 $ + + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __MODULE_H__ +#define __MODULE_H__ + +/***************************** INCLUDE FILES *******************************/ +#include + + +/***************************** INCLUDES *************************************/ +/***************************** DEFINES **************************************/ +/***************************** PROTO **************************************/ + +#endif /* __MODULE_H__ */ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/moduleinfo.h b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/moduleinfo.h new file mode 100644 index 0000000..bf4b197 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/moduleinfo.h @@ -0,0 +1,30 @@ +/* Included *after* config.h, in order to re-define these macros */ +#include "../../../include/oct_ws_version.h" + +#ifdef PACKAGE +#undef PACKAGE +#endif + +/* Name of package */ +#define PACKAGE "vocallonet" + + +#ifdef VERSION +#undef VERSION +#endif + +#ifndef MODULE_VERSION +#define MODULE_VERSION 0_0_1_DEV +#endif + +#define _QUOTEME(x) #x +#define QUOTEME(x) _QUOTEME(x) + +/* Version number of package */ +/* WAS : #if !defined( TGT_VERSION ) || (TGT_VERSION == 0) but TGT_VERSION may be a string ... can't compare */ +#if defined( NO_TGT_VERSION ) +#define VERSION QUOTEME(MODULE_VERSION) +#else +#define VERSION QUOTEME(MODULE_VERSION-TGT_VERSION) +#endif + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/octvocnet_common.h b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/octvocnet_common.h new file mode 100644 index 0000000..3f42501 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/include/octvocnet_common.h @@ -0,0 +1,42 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvocnet_common.h + + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contain the wireshark module dissector related functions + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +/***************************** INCLUDE FILES *******************************/ +#ifndef _OCTVOCNET_COMMON_H__ +#define _OCTVOCNET_COMMON_H__ + +#include + +/**************************************************************************** + COMMON API ENUMERATION STRING VALUES + ****************************************************************************/ +extern const value_string vals_tOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM[]; + +#endif /* _OCTVOCNET_COMMON_H__ */ + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/octvocnet.rc b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/octvocnet.rc new file mode 100644 index 0000000..42a40e4 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/octvocnet.rc @@ -0,0 +1,34 @@ +#include "winver.h" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,1,0 + PRODUCTVERSION 1,0,1,0 + FILEFLAGSMASK 0x0L +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0 +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_DLL +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Octasic, http://www.octasic.com/\0" + VALUE "FileDescription", "octvocnet dissector\0" + VALUE "FileVersion", "1.0.1.2\0" + VALUE "InternalName", "Base on OCTVC1 1.3.0.x-PR\0" + VALUE "LegalCopyright", "Copyright © 2009 Octasic\0" + VALUE "OriginalFilename", "octvocnet.dll\0" + VALUE "ProductName", "Wireshark\0" + VALUE "ProductVersion", "1.0.1\0" + VALUE "Comments", "Build with MSVC6\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/octvocnet_common.c b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/octvocnet_common.c new file mode 100644 index 0000000..6b70755 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/octvocnet_common.c @@ -0,0 +1,49 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvocnet_common.c + + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contain the wireshark module dissector related functions + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +/***************************** INCLUDE FILES *******************************/ + +#include +#include +#include "../../../include/oct_ws_macro.h" +#include "../include/module.h" +#include "../include/octvocnet_common.h" + + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM[] = + { + { cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM_OCTVC1, "cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM_OCTVC1" }, + { 0, NULL } + }; diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/packet-vocallonet.c b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/packet-vocallonet.c new file mode 100644 index 0000000..56c8e38 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/packet-vocallonet.c @@ -0,0 +1,1390 @@ +/* packet-vocallonet.c + * Routines for vocallonet dissection + * Copyright 2004, Ocatasic inc. + * + * $Id: README.developer 11475 2004-07-23 01:37:35Z guy $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include +#include + +#include "../include/moduleinfo.h" +#include "../../../include/oct_ws_macro.h" +#include "../../../include/oct_ws_priv.h" + +#include +#include + +#include +#include +#include +#include + +#include + +/* Define version if we are not building Wireshark statically */ + +/* Initialize the protocol and registered fields */ +static int proto_vocallonet = -1; + +static int hf_vocallonet_format = -1; +static int hf_vocallonet_trace_flag = -1; +static int hf_vocallonet_api_type = -1; +static int hf_vocallonet_size = -1; + +static int proto_vocallonet_control = -1; + +static int hf_vocallonet_control_destination_fifo_id = -1; +static int hf_vocallonet_control_source_fifo_id = -1; +static int hf_vocallonet_control_socket_id = -1; + +/* Packet data external fields (formats a-q) */ +static int proto_vocallonet_data = -1; +static int hf_vocallonet_data_socket_handle = -1; +static int proto_vocallonet_a_data = -1; +static int proto_vocallonet_d_data = -1; +static int proto_vocallonet_ev_data = -1; +static int proto_vocallonet_f_data = -1; + + +/* Packet format A fields (ethernet) */ +/* None other than already defined */ + +/* Packet data fields (formats b-f) */ +static int hf_vocallonet_data_logical_object_handle_high = -1; +static int hf_vocallonet_data_logical_object_handle_middle = -1; +static int hf_vocallonet_data_logical_object_handle_low = -1; +static int hf_vocallonet_data_packet_port = -1; +static int hf_vocallonet_data_dest_fifo_id = -1; + +/* Packet format D fields (voice) */ +static int hf_vocallonet_d_timestamp = -1; +static int hf_vocallonet_d_marker = -1; +static int hf_vocallonet_d_valid_rtp = -1; +static int hf_vocallonet_d_encoding_type = -1; +static int hf_vocallonet_d_sequence_number = -1; +/* Packet format D fields (voice) when valid_rtp is set to 1 */ +static int hf_vocallonet_d_rtp_pad_size = -1; +static int hf_vocallonet_d_rtp_payload_offset = -1; +static int hf_vocallonet_d_rtp_version = -1; +static int hf_vocallonet_d_rtp_padding = -1; +static int hf_vocallonet_d_rtp_extension = -1; +static int hf_vocallonet_d_rtp_csrc_count = -1; +static int hf_vocallonet_d_rtp_payload_type = -1; +static int hf_vocallonet_d_rtp_sync_source = -1; +static int hf_vocallonet_d_VocFlag_BFI = -1; +static int hf_vocallonet_d_VocFlag_TAF = -1; +static int hf_vocallonet_d_VocFlag_SID = -1; + +/* Packet format F fields (raw) */ +static int hf_vocallonet_f_timestamp = -1; +static int hf_vocallonet_f_subtype = -1; + +/* fields defining a subtree */ +static gint ett_vocallonet = -1; + +static gint ett_vocallonet_control = -1; +static gint ett_vocallonet_data = -1; +static gint ett_vocallonet_a_data = -1; +static gint ett_vocallonet_d_data = -1; +static gint ett_vocallonet_f_data = -1; + + +typedef enum { + PACKET_F_UNSPECIFIED, + PACKET_F_LAPD +} Version_Type; + +static gint packet_f_decode = PACKET_F_UNSPECIFIED; + + +static dissector_handle_t data_handle; +static dissector_handle_t rfc4175_yuv_handle; +static dissector_handle_t yuv_extended_handle; +static dissector_handle_t macroblock_handle; +static dissector_handle_t eth_handle; +static dissector_handle_t ip_handle; +static dissector_handle_t lapd_handle; +static dissector_handle_t h263_handle; +static dissector_handle_t h263p_handle; +static dissector_handle_t h264_handle; +static dissector_handle_t hMpeg4_handle; +static dissector_handle_t hT38_handle; + +static dissector_handle_t amr_handle; + +static dissector_handle_t octvc1_ctrl_handle; +static dissector_handle_t octvc1_event_handle; +static dissector_handle_t octpkt_handle; + + + + +// TODO +#define cOCTVOCNET_PKT_API_TYPE_ENUM_OCTVC1 0 + +const value_string vocallonet_api_type_vals[] = +{ + { cOCTVOCNET_PKT_API_TYPE_ENUM_OCTVC1, "OCTVC1" }, + { 0, NULL }, +}; +const value_string vocallonet_format_vals[] = +{ + { cOCTVOCNET_PKT_FORMAT_CTRL, "Control packet" }, + { cOCTVOCNET_PKT_FORMAT_A, "Format A: Normal Ethernet Packet (to/from Ethernet ports)" }, + { cOCTVOCNET_PKT_FORMAT_D, "Format D: Voice/Video in a Packet" }, + { cOCTVOCNET_PKT_FORMAT_F, "Format F: Raw Data Packet" }, + { 0, NULL }, +}; + + +const value_string vocallonet_d_encoding_type_vals[] = +{ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_TONE + + { cOCTVOCNET_PKT_D_TYPE_ENUM_TONE, "Tone event" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_GEN_SID, "Generic SID" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_8KSS, "Linear 16-bits sign extended, 8000Hz sampling" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_16KSS, "Linear 16-bit, 16000Hz sampling" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW, "G.711 PCM, U-law" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW, "G.711 PCM, A-law" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW_VBD, "G.711 PCM, U-law, Voiceband data" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW_VBD, "G.711 PCM, A-law, Voiceband data" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16, "G.726 ADPCM, 16kbps (AAL2)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24, "G.726 ADPCM, 24kbps (AAL2)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32, "G.726 ADPCM, 32kbps (AAL2)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40, "G.726 ADPCM, 40kbps (AAL2)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16_RTP, "G.726 ADPCM, 16kbps (RTP)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24_RTP, "G.726 ADPCM, 24kbps (RTP)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32_RTP, "G.726 ADPCM, 32kbps (RTP)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40_RTP, "G.726 ADPCM, 40kbps (RTP)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_48, "G.722 , 48kbps" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_56, "G.722 , 56kbps" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_64, "G.722 , 64kbps" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G723_1, "G.723.1" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G729A, "G.729a" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G729AB_8, "G.729ab, 8kbps" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_AMR, "AMR" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_RTP, "AMR (IETF RFC 3267)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_EFR, "EFR" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_EFR_RTP, "EFR (IETF RFC 3267)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB, "Wideband AMR" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB_RTP, "Wideband AMR (IETF RFC 3267)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_ILBC, "ILBC (ITEF RFC 3951)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_24, "G.722.1, 24kbps" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_32, "G.722.1, 32kbps" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_T38_UDPTL, "T.38 over UDPTL" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_T38_RTP, "T.38 over RTP" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_VOX, "VOX" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_YUV_RTP_RFC4175, "YUV uncompressed video data (IETF RFC 4175)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV, "YUV uncompressed video data" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV_EXTENDED, "YUV EXTENDED uncompressed video data" }, + + { cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190, "H.263 compressed video data (IETF RFC 2190)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190_BYTE_BOUNDARY, "H.263 compressed video data (IETF RFC 2190). Packetized at Byte boundaries." }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2429, "H.263 compressed video data (IETF RFC 2429 or RFC 4629) )" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_MPEG4_RTP_RFC3016, "MPEG-4 compressed elementary stream video data (IETF RFC 3016)" }, + { cOCTVOCNET_PKT_D_TYPE_ENUM_H264_RTP_RFC3984, "H.264 Video (IETF RFC 3984)" }, +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_TONE */ + { 0, NULL }, +}; + +const value_string vocallonet_f_subtype_vals[] = +{ + { cOCTVOCNET_PKT_SUBTYPE_UNSPECIFIED, "Unspecified" }, + { cOCTVOCNET_PKT_SUBTYPE_API_EVENT, "API Event" }, + { cOCTVOCNET_PKT_SUBTYPE_ETH, "Ethernet" }, + { cOCTVOCNET_PKT_SUBTYPE_IP, "IP" }, + { cOCTVOCNET_PKT_SUBTYPE_UDP_PAYLOAD, "UDP Payload" }, + { cOCTVOCNET_PKT_SUBTYPE_TCP_PAYLOAD, "TCP Payload" }, +#ifdef cOCTVOCNET_PKT_SUBTYPE_VIDEO_IMAGE_DESCRIPTOR + { cOCTVOCNET_PKT_SUBTYPE_VIDEO_IMAGE_DESCRIPTOR, "Video Image Descriptor" }, +#endif /* cOCTVOCNET_PKT_SUBTYPE_VIDEO_IMAGE_DESCRIPTOR */ + { 0, NULL }, +}; + + +#define VOCALLONET_TRACE_BIT(octet) ((octet) & 0x80) +#define VOCALLONET_TOTAL_PACKET_SIZE(uint16) ((uint16) & 0x07ff) +#define VOCALLONET_API_TYPE(octet) (((octet) & 0x78) >> 3 ) + +#define VOCALLONET_B_NUM_CELL(octet) ((octet) & 0x3f) + +#define VOCALLONET_D_VALID_RTP(uint32) ((uint32) & 0x80000000) +#define VOCALLONET_D_ENCODING_TYPE(uint32) ((uint32) & 0x7fc00000) +#define VOCALLONET_D_RTP_PAD_SIZE(uint32) ((uint32) & 0x003fc000) +#define VOCALLONET_D_RTP_PAYLOAD_OFFSET(uint32) ((uint32) & 0x00003fff) + +#define VOCALLONET_D_RTP_VERSION(uint32) ((uint32) & 0xc0000000) >> 16 +#define VOCALLONET_D_RTP_PADDING(uint32) ((uint32) & 0x20000000) >> 16 +#define VOCALLONET_D_RTP_EXTENSION(uint32) ((uint32) & 0x10000000) >> 16 +#define VOCALLONET_D_RTP_CSRC_COUNT(uint32) ((uint32) & 0x0f000000) >> 16 +#define VOCALLONET_D_RTP_MARKER(uint32) ((uint32) & 0x00800000) >> 16 +#define VOCALLONET_D_RTP_PAYLOAD_TYPE(uint32) ((uint32) & 0x007f0000) >> 16 +#define VOCALLONET_D_RTP_SEQ_NUMBER(uint32) ((uint32) & 0x0000ffff) + +#define VOCALLONET_F_SUBTYPE(uint32) ((uint32) & 0x0000000f) +#define VOCALLONET_F_EVENT_ID_BASE(uint32) ((uint32) & 0x0fff0000) +#define VOCALLONET_F_EVENT_ID_CODE(uint32) ((uint32) & 0x0000ffff) + + +/************************************************************************* +* +* Code to dissect the Vocallo data packet header +* +**************************************************************************/ +static void dissect_vocallonet_packet_data(tvbuff_t *tvb, proto_item *ti, + proto_tree *vocallonet_tree, unsigned int offset) +{ + unsigned int packet_offset = offset; + guint32 logical_object_handle_high; + guint32 logical_object_handle_middle; + guint32 logical_object_handle_low; + guint32 packet_port; + guint32 dest_fifo; + proto_tree* vocallonet_data_tree = NULL; + unsigned int layer_length = 0; + + /* dissect the common packet data */ +// packet_offset += 2; Sygag : check if the two first bytes are reserved +// logical_object_handle_high = tvb_get_ntohs( tvb, packet_offset ); + logical_object_handle_high = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(logical_object_handle_high); + layer_length += sizeof(logical_object_handle_high); + + logical_object_handle_middle = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(logical_object_handle_middle); + layer_length += sizeof(logical_object_handle_middle); + + logical_object_handle_low = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(logical_object_handle_low); + layer_length += sizeof(logical_object_handle_low); + + packet_port = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(packet_port); + layer_length += sizeof(packet_port); + + dest_fifo = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(dest_fifo); + layer_length += sizeof(dest_fifo); + + if (vocallonet_tree) { + + /* Add the subtree for struct tOCTVOCNET_PKT_DATA_HEADER under struct tOCTVOCNET_PKT_HEADER */ + ti = proto_tree_add_item( vocallonet_tree, proto_vocallonet_data, tvb, packet_offset-layer_length, packet_offset-offset, FALSE ); + vocallonet_data_tree = proto_item_add_subtree( ti, ett_vocallonet_data ); + + /* Scroll back to the beginning of the packet */ + packet_offset = offset; + +// packet_offset += 2; Sygag : check if the two first bytes are reserved + proto_tree_add_uint( vocallonet_data_tree, hf_vocallonet_data_logical_object_handle_high, tvb, + packet_offset, sizeof(logical_object_handle_high), logical_object_handle_high ); + packet_offset += sizeof(logical_object_handle_high); + + proto_tree_add_uint( vocallonet_data_tree, hf_vocallonet_data_logical_object_handle_middle, tvb, + packet_offset, sizeof(logical_object_handle_middle), logical_object_handle_middle ); + packet_offset += sizeof(logical_object_handle_middle); + + proto_tree_add_uint( vocallonet_data_tree, hf_vocallonet_data_logical_object_handle_low, tvb, + packet_offset, sizeof(logical_object_handle_low), logical_object_handle_low ); + packet_offset += sizeof(logical_object_handle_low); + + proto_tree_add_uint( vocallonet_data_tree, hf_vocallonet_data_packet_port, tvb, + packet_offset, sizeof(packet_port), packet_port ); + packet_offset += sizeof(packet_port); + + proto_tree_add_uint( vocallonet_data_tree, hf_vocallonet_data_dest_fifo_id, tvb, + packet_offset, sizeof(dest_fifo), dest_fifo ); + packet_offset += sizeof(dest_fifo); + } +} + + + + + +/************************************************************************* +* +* Code to actually dissect the Vocallo control packet header +* +**************************************************************************/ +static void dissect_vocallonet_control(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + proto_item* ti = NULL; + proto_tree* vocallonet_control_tree = NULL; + unsigned int packet_offset = 0; + guint32 destination_fifo_id; + guint32 source_fifo_id; + guint32 socket_id; + tOctWsPrivateData * pPrivData = (tOctWsPrivateData *)pinfo->private_data; + + /* Finish dissecting the external packet header */ + destination_fifo_id = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(destination_fifo_id); + source_fifo_id = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(source_fifo_id); + + socket_id = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(socket_id); + + if ( check_col(pinfo->cinfo, COL_PROTOCOL) ) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCTVOCNET_PKT_FORMAT_CTRL"); + + if ( tree ) + { + /* Add the subtree for struct tOCTVOCNET_PKT_CTL_HEADER */ + ti = proto_tree_add_item( tree, proto_vocallonet_control, tvb, 0, -1, FALSE ); + vocallonet_control_tree = proto_item_add_subtree( ti, ett_vocallonet_control ); + + /* Scroll back to the beginning of the packet */ + packet_offset = 0; + + proto_tree_add_uint( vocallonet_control_tree, hf_vocallonet_control_destination_fifo_id, tvb, + packet_offset, 4, destination_fifo_id ); + packet_offset += sizeof(destination_fifo_id); + proto_tree_add_uint( vocallonet_control_tree, hf_vocallonet_control_source_fifo_id, tvb, + packet_offset, 4, source_fifo_id ); + packet_offset += sizeof(source_fifo_id); + proto_tree_add_uint( vocallonet_control_tree, hf_vocallonet_control_socket_id, tvb, + packet_offset, 4, socket_id ); + packet_offset += sizeof(socket_id); + + } + + if (tvb_reported_length_remaining(tvb, packet_offset) > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, -1, -1); + + switch( pPrivData->api_type ) + { + case cOCTVOCNET_PKT_API_TYPE_ENUM_OCTVC1: + if( octvc1_ctrl_handle ) + call_dissector(octvc1_ctrl_handle, tvb, pinfo, vocallonet_control_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_control_tree); + break; + + default: + /* Dump the rest in raw format */ + call_dissector(data_handle, tvb, pinfo, vocallonet_control_tree); + break; + } + } +} + + + +/************************************************************************* +* +* Code to actually dissect the Vocallo A format data packet header +* +**************************************************************************/ +static void dissect_vocallonet_a_packet(tvbuff_t *tvb, packet_info *pinfo, + proto_tree *vocallonet_tree, unsigned int offset) +{ + unsigned int packet_offset = offset; + tOctWsPrivateData * pPrivData = (tOctWsPrivateData *)pinfo->private_data; + + /* Add summary display for the Vocallonet packet */ + if ( check_col( pinfo->cinfo, COL_INFO) ) + { + col_add_fstr( pinfo->cinfo, COL_INFO, + "OCTVOCNET A-packet format(%d), Size=%u bytes%s", + pPrivData->format, + pPrivData->total_packet_size, + pPrivData->trace_flag ? ", Trace" : ""); + } + + /* Remaining bytes are an ethernet packet */ + if (tvb_reported_length_remaining(tvb, packet_offset) > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, -1, -1); + call_dissector(eth_handle, tvb, pinfo, vocallonet_tree); + } +} + + + +/************************************************************************* +* +* Code to actually dissect the Vocallo D format data packet header +* +**************************************************************************/ +static void dissect_vocallonet_d_packet(tvbuff_t *tvb, proto_item *ti, packet_info *pinfo, + proto_tree *vocallonet_tree, unsigned int offset, proto_tree *vocallonet_tree2) +{ + proto_tree* vocallonet_data_tree = NULL; + unsigned int packet_offset = offset; + unsigned int ulReserved_LocalTimestamp; + unsigned int ul_Rtp_PktType_Pad_Offset; + unsigned int ulRtpHeader; + proto_tree* vocallonet_d_tree = NULL; + unsigned int layer_offset = 0; + tOctWsPrivateData * pPrivData = (tOctWsPrivateData *)pinfo->private_data; + + + /* Fields refering to the tOCTVOCNET_PKT_DATA_D_HEADER */ + + /* ul_Rtp_PktType_Pad_Offset */ + guint32 valid_rtp; + guint32 encoding_type; + guint32 rtp_pad_size; /* valid_rtp == 1 */ + guint32 rtp_payload_offset; /* valid_rtp == 1 */ + + /* aulRtp[0] */ + guint16 rtp_version; /* valid_rtp == 1 */ + guint16 rtp_padding; /* valid_rtp == 1 */ + guint16 rtp_extension; /* valid_rtp == 1 */ + guint16 rtp_csrc_count; /* valid_rtp == 1 */ + guint16 rtp_marker; + guint16 rtp_payload_type; /* valid_rtp == 1 */ + guint16 rtp_sequence_number; + + /* aulRtp[1] */ + guint32 timestamp; + + /* aulRtp[2] */ + guint32 rtp_sync_source; /* valid_rtp == 1 */ + + + /* Add summary display for the Vocallonet packet */ + if ( check_col( pinfo->cinfo, COL_INFO) ) + { + col_add_fstr( pinfo->cinfo, COL_INFO, + "OCTVOCNET D-packet format(%d), Size=%u bytes%s", + pPrivData->format, + pPrivData->total_packet_size, + pPrivData->trace_flag ? ", Trace" : ""); + } + + /* !+! LUTAG TEMP BEFORE TO MAKE CHANGES !!!! */ + vocallonet_data_tree = vocallonet_tree; + + /* First, dissect the packet data fields */ + dissect_vocallonet_packet_data(tvb, ti, vocallonet_tree2, packet_offset); + + /* dissect reserved */ + packet_offset += 20; + ulReserved_LocalTimestamp = tvb_get_ntohl( tvb, packet_offset ); + + packet_offset += sizeof(ulReserved_LocalTimestamp); + layer_offset = packet_offset; + + /* dissect packet data */ + ul_Rtp_PktType_Pad_Offset = tvb_get_ntohl( tvb, packet_offset ); + + valid_rtp = VOCALLONET_D_VALID_RTP(ul_Rtp_PktType_Pad_Offset); + encoding_type = VOCALLONET_D_ENCODING_TYPE(ul_Rtp_PktType_Pad_Offset); + rtp_pad_size = VOCALLONET_D_RTP_PAD_SIZE(ul_Rtp_PktType_Pad_Offset); + rtp_payload_offset = VOCALLONET_D_RTP_PAYLOAD_OFFSET(ul_Rtp_PktType_Pad_Offset); + + packet_offset += sizeof(ul_Rtp_PktType_Pad_Offset); + + ulRtpHeader = tvb_get_ntohl( tvb, packet_offset ); + + rtp_version = VOCALLONET_D_RTP_VERSION(ulRtpHeader); + rtp_padding = VOCALLONET_D_RTP_PADDING(ulRtpHeader); + rtp_extension = VOCALLONET_D_RTP_EXTENSION(ulRtpHeader); + rtp_csrc_count = VOCALLONET_D_RTP_CSRC_COUNT(ulRtpHeader); + rtp_marker = VOCALLONET_D_RTP_MARKER(ulRtpHeader); + rtp_payload_type = VOCALLONET_D_RTP_PAYLOAD_TYPE(ulRtpHeader); + rtp_sequence_number = VOCALLONET_D_RTP_SEQ_NUMBER(ulRtpHeader); + + if (rtp_marker) + { + if ( check_col( pinfo->cinfo, COL_INFO) ) + { + col_append_str( pinfo->cinfo, COL_INFO, ", Mark "); + } + } + + packet_offset += sizeof(ulRtpHeader); + + timestamp = tvb_get_ntohl( tvb, packet_offset ); + + packet_offset += sizeof(timestamp); + + rtp_sync_source = tvb_get_ntohl( tvb, packet_offset ); + + packet_offset += sizeof(rtp_sync_source); + + if ( vocallonet_data_tree ) + { + proto_tree* sub_tree2; + + /* Add the subtree for struct tOCTVOCNET_PKT_DATA_D_HEADER */ + ti = proto_tree_add_item( vocallonet_data_tree, proto_vocallonet_d_data, tvb, layer_offset, packet_offset -layer_offset, FALSE ); + vocallonet_d_tree = proto_item_add_subtree( ti, ett_vocallonet_d_data ); + + /* Scroll back to the beginning of the packet */ + packet_offset = offset + 24; + + ti = proto_tree_add_text(vocallonet_d_tree, tvb, packet_offset, + 4, "Encoding Type:%s", val_to_str( (encoding_type>>22), vocallonet_d_encoding_type_vals, + "Unknown (%u)" ) ); + + sub_tree2 = proto_item_add_subtree(ti, ett_vocallonet_d_data); + + proto_tree_add_boolean( sub_tree2, hf_vocallonet_d_valid_rtp, tvb, + packet_offset, 1, valid_rtp ); + + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_encoding_type, tvb, + packet_offset, 2, encoding_type ); + + + if ( valid_rtp ) + { + /* Add the rtp padding length and rtp payload offset */ + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_rtp_pad_size, tvb, + packet_offset+2, 1, rtp_pad_size ); + + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_rtp_payload_offset, tvb, + packet_offset+2, 2, rtp_payload_offset ); + } + + packet_offset += sizeof(encoding_type); + + + + + if ( valid_rtp ) + { + ti = proto_tree_add_text(vocallonet_d_tree, tvb, packet_offset, + 4, "RTP Payload Type:%d", rtp_payload_type ); + + sub_tree2 = proto_item_add_subtree(ti, ett_vocallonet_d_data); + + /* Add the rtp fields */ + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_rtp_version, tvb, + packet_offset, 1, ulRtpHeader ); + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_rtp_padding, tvb, + packet_offset, 1, ulRtpHeader ); + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_rtp_extension, tvb, + packet_offset, 1, ulRtpHeader ); + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_rtp_csrc_count, tvb, + packet_offset, 1, ulRtpHeader ); + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_marker, tvb, + packet_offset+1, 1, ulRtpHeader ); + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_rtp_payload_type, tvb, + packet_offset+1, 1, ulRtpHeader ); + } + else + { + ti = proto_tree_add_text(vocallonet_d_tree, tvb, packet_offset, + 4, "Sequence number:0x%x", rtp_sequence_number & 0x0000FFFF ); + + sub_tree2 = proto_item_add_subtree(ti, ett_vocallonet_d_data); + + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_marker, tvb, + packet_offset+1, 1, ulRtpHeader ); + + } + + packet_offset += sizeof(rtp_payload_type); + + + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_sequence_number, tvb, + packet_offset, sizeof(rtp_sequence_number), rtp_sequence_number ); + + packet_offset += sizeof(rtp_sequence_number); + + proto_tree_add_uint( vocallonet_d_tree, hf_vocallonet_d_timestamp, tvb, + packet_offset, sizeof(timestamp), timestamp ); + + packet_offset += sizeof(timestamp); + + if ( valid_rtp ) + { + proto_tree_add_uint( vocallonet_d_tree, hf_vocallonet_d_rtp_sync_source, tvb, + packet_offset, sizeof(rtp_sync_source), rtp_sync_source ); + + } + else + { + ti = proto_tree_add_text(vocallonet_d_tree, tvb, packet_offset, + 4, "Vocoder Flags:0x%x", rtp_sync_source ); + + sub_tree2 = proto_item_add_subtree(ti, ett_vocallonet_d_data); + + + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_VocFlag_BFI, tvb, + packet_offset+3, 1, rtp_sync_source ); + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_VocFlag_TAF, tvb, + packet_offset+3, 1, rtp_sync_source ); + proto_tree_add_uint( sub_tree2, hf_vocallonet_d_VocFlag_SID, tvb, + packet_offset+3, 1, rtp_sync_source ); + } + + packet_offset += sizeof(rtp_sync_source); + + } + + + /* Dissect the relevant packet format */ + switch( encoding_type >> 22) + { +#ifdef cOCTVOCNET_PKT_SUBTYPE_VIDEO_IMAGE_DESCRIPTOR + case cOCTVOCNET_PKT_D_TYPE_ENUM_YUV_RTP_RFC4175: + { + /* Make entries in Protocol column and Info column on summary display */ + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "YUV RFC4175" ); + + /* If any bytes remain, send it to the generic data dissector */ + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( rfc4175_yuv_handle ) + call_dissector(rfc4175_yuv_handle, tvb, pinfo, vocallonet_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; +#endif /* cOCTVOCNET_PKT_SUBTYPE_VIDEO_IMAGE_DESCRIPTOR */ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV + case cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV: + { + /* Make entries in Protocol column and Info column on summary display */ + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "YUV RAW" ); + + /* If any bytes remain, send it to the generic data dissector */ + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( macroblock_handle ) + call_dissector(macroblock_handle, tvb, pinfo, vocallonet_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV */ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV_EXTENDED + case cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV_EXTENDED: + { + /* Make entries in Protocol column and Info column on summary display */ + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "YUV_EXTENDED" ); + + /* If any bytes remain, send it to the generic data dissector */ + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( yuv_extended_handle ) + call_dissector(yuv_extended_handle, tvb, pinfo, vocallonet_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV_EXTENDED */ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_T38_UDPTL + case cOCTVOCNET_PKT_D_TYPE_ENUM_T38_UDPTL: + { + /* Make entries in Protocol column and Info column on summary display */ + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "T38_UDPTL" ); + + /* If any bytes remain, send it to the generic data dissector */ + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( hT38_handle ) + { + pinfo->ipproto = IP_PROTO_UDP; + call_dissector(hT38_handle, tvb, pinfo, vocallonet_tree); + } + else + { + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + } + break; +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_T38_UDPTL */ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_T38_RTP + case cOCTVOCNET_PKT_D_TYPE_ENUM_T38_RTP: + { + /* Make entries in Protocol column and Info column on summary display */ + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "T38_RTP" ); + + /* If any bytes remain, send it to the generic data dissector */ + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( hT38_handle ) + { + pinfo->ipproto = IP_PROTO_TCP; + call_dissector(hT38_handle, tvb, pinfo, vocallonet_tree); + } + else + { + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + } + break; +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_T38_RTP */ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_MPEG4_RTP_RFC3016 + case cOCTVOCNET_PKT_D_TYPE_ENUM_MPEG4_RTP_RFC3016: + { + /* Make entries in Protocol column and Info column on summary display */ + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "MPEG-4" ); + + /* If any bytes remain, send it to the generic data dissector */ + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( hMpeg4_handle ) + call_dissector(hMpeg4_handle, tvb, pinfo, vocallonet_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_MPEG4_RTP_RFC3016 */ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2429 + case cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2429: + { + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "H263P" ); + + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( h263_handle ) + call_dissector(h263p_handle, tvb, pinfo, vocallonet_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2429 */ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190 + case cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190: + { + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "H263" ); + + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( h263_handle ) + call_dissector(h263_handle, tvb, pinfo, vocallonet_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190 */ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_H264_RTP_RFC3984 + case cOCTVOCNET_PKT_D_TYPE_ENUM_H264_RTP_RFC3984: + { + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "H264" ); + + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( h264_handle ) + call_dissector(h264_handle, tvb, pinfo, vocallonet_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_H264_RTP_RFC3984 */ +#ifdef cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_RTP + case cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_RTP: + case cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB_RTP: + { + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "AMR" ); + + if (pPrivData->total_packet_size - packet_offset > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset, + pPrivData->total_packet_size - pPrivData->pktHdt_size - packet_offset); + if( amr_handle ) + call_dissector(amr_handle, tvb, pinfo, vocallonet_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; +#endif /* cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_RTP */ + default: + { + /* Remaining bytes are the packet's data */ + if (tvb_reported_length_remaining(tvb, packet_offset) > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, -1, -1); + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; + } +} + +/************************************************************************* +* +* Code to actually dissect the Vocallo F format data packet header +* +**************************************************************************/ +static void dissect_vocallonet_f_packet(tvbuff_t *tvb, proto_item *ti, packet_info *pinfo, + proto_tree *vocallonet_tree, unsigned int offset, + proto_tree *vocallonet_tree2 ,guint16 f_padding ) +{ + unsigned int packet_offset = offset; + guint32 timestamp; + guint32 subtype; + proto_tree* vocallonet_control_tree = NULL; + unsigned int layer_offset = 0; + tOctWsPrivateData * pPrivData = (tOctWsPrivateData *)pinfo->private_data; + + /* Add summary display for the Vocallonet packet */ + if ( check_col( pinfo->cinfo, COL_INFO) ) + { + col_add_fstr( pinfo->cinfo, COL_INFO, + "OCTVOCNET F-packet format(%d), Size=%u bytes%s", + pPrivData->format, + pPrivData->total_packet_size, + pPrivData->trace_flag ? ", Trace" : ""); + } + + /* First, dissect the packet data fields */ + dissect_vocallonet_packet_data(tvb, ti, vocallonet_tree2, packet_offset); + packet_offset += 20; + layer_offset = packet_offset; + + timestamp = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(timestamp); + + subtype = tvb_get_ntohl( tvb, packet_offset ); + subtype = VOCALLONET_F_SUBTYPE(subtype); + packet_offset += sizeof(subtype); + + if (vocallonet_tree) + { + + /* Add the subtree for struct tOCTVOCNET_PKT_DATA_F_HEADER */ + ti = proto_tree_add_item( vocallonet_tree, proto_vocallonet_f_data, tvb, layer_offset, pPrivData->total_packet_size - layer_offset, FALSE ); + vocallonet_control_tree = proto_item_add_subtree( ti, ett_vocallonet_control ); + + + /* Scroll back to the beginning of the packet */ + packet_offset = offset + 20; + + proto_tree_add_uint( vocallonet_control_tree, hf_vocallonet_f_timestamp, tvb, + packet_offset, sizeof(timestamp), timestamp ); + packet_offset += sizeof(timestamp); + + proto_tree_add_uint( vocallonet_control_tree, hf_vocallonet_f_subtype, tvb, + packet_offset, sizeof(subtype), subtype ); + packet_offset += sizeof(subtype); + } + + /* Dissect the rest according to the packet subtype */ + switch(subtype) + { + case cOCTVOCNET_PKT_SUBTYPE_API_EVENT: + { + if (tvb_reported_length_remaining(tvb, packet_offset) > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, -1, -1); + + switch( pPrivData->api_type ) + { + case cOCTVOCNET_PKT_API_TYPE_ENUM_OCTVC1: + if( octvc1_event_handle ) + call_dissector(octvc1_event_handle, tvb, pinfo, vocallonet_control_tree); + else + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + break; + + default: + /* If any bytes remain, send it to the generic data dissector */ + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + break; + } + } + } + break; + + case cOCTVOCNET_PKT_SUBTYPE_ETH: + { + if (tvb_reported_length_remaining(tvb, packet_offset) > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, -1, -1); + call_dissector(eth_handle, tvb, pinfo, vocallonet_tree); + } + } + break; + + case cOCTVOCNET_PKT_SUBTYPE_IP: + { + if (tvb_reported_length_remaining(tvb, packet_offset) > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, -1, -1); + call_dissector(ip_handle, tvb, pinfo, vocallonet_tree); + } + } + break; + + case cOCTVOCNET_PKT_SUBTYPE_UNSPECIFIED: + if( packet_f_decode == PACKET_F_LAPD ) + { + guint32 length_remaining = tvb_reported_length_remaining(tvb, packet_offset); + if ( length_remaining > 0 ) + { + tvb = tvb_new_subset(tvb, packet_offset, length_remaining - f_padding, length_remaining - f_padding ); + call_dissector(lapd_handle , tvb, pinfo, vocallonet_tree); + } + } + break; + +#ifdef cOCTVOCNET_PKT_SUBTYPE_VIDEO_IMAGE_DESCRIPTOR + case cOCTVOCNET_PKT_SUBTYPE_VIDEO_IMAGE_DESCRIPTOR: + { + guint32 length_remaining = tvb_reported_length_remaining(tvb, packet_offset); + if ( length_remaining > 0 ) + { + tvb = tvb_new_subset(tvb, packet_offset, -1, -1); + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; +#endif /* cOCTVOCNET_PKT_SUBTYPE_VIDEO_IMAGE_DESCRIPTOR */ + case cOCTVOCNET_PKT_SUBTYPE_UDP_PAYLOAD: + case cOCTVOCNET_PKT_SUBTYPE_TCP_PAYLOAD: + + default: + { + /* If any bytes remain, send it to the generic data dissector */ + if (tvb_reported_length_remaining(tvb, packet_offset) > 0) + { + tvb = tvb_new_subset(tvb, packet_offset, -1, -1); + call_dissector(data_handle, tvb, pinfo, vocallonet_tree); + } + } + break; + } +} + +/************************************************************************* +* +* Code to actually dissect the Vocallo common packet header +* +**************************************************************************/ +static void dissect_vocallonet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + proto_item* ti = NULL; + proto_tree* vocallonet_tree = tree; + unsigned int offset = 0; + guint8 format; + tOctWsPrivateData *pPrivData; + + /* Should be set by octpkt dissector */ + if( pinfo->private_data == NULL ) + { + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCTVOCNET_PKT_FORMAT ERROR" ); + + expert_add_info_format(pinfo, ti, PI_MALFORMED, PI_ERROR, "OCTVOCNET_PKT_FORMAT ERROR" ); + call_dissector(data_handle, tvb, pinfo, tree); + return; + } + + /* Make entries in Protocol column and Info column on summary display */ + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCTVOCNET_PKT_FORMAT" ); + + pPrivData = (tOctWsPrivateData *)pinfo->private_data; + format = pPrivData->format; + + + /* Dissect the relevant packet format */ + switch( format ) + { + case cOCTVOCNET_PKT_FORMAT_CTRL: + { + /* Append to get funny size...? */ + if( pPrivData->total_packet_size ) + { + tvb = tvb_new_subset(tvb, offset, -1, -1); + dissect_vocallonet_control(tvb, pinfo, tree); + } + } + break; + case cOCTVOCNET_PKT_FORMAT_A: + { + dissect_vocallonet_a_packet(tvb, pinfo, tree, offset); + } + break; + + case cOCTVOCNET_PKT_FORMAT_D: + { + dissect_vocallonet_d_packet(tvb, ti, pinfo, tree, offset, vocallonet_tree); + } + break; + + case cOCTVOCNET_PKT_FORMAT_F: + { + dissect_vocallonet_f_packet(tvb, ti, pinfo, tree, offset, vocallonet_tree, pPrivData->padding); + } + break; + + + default: + { + /* If any bytes remain, send it to the generic data dissector */ + if (tvb_reported_length_remaining(tvb, offset) > 0) + { + tvb = tvb_new_subset(tvb, offset, -1, -1); + call_dissector(data_handle, tvb, pinfo, tree); + } + } + break; + } +} + + +/************************************************************************* +* +* Code to register the protocol with Wireshark +* +**************************************************************************/ +void proto_register_vocallonet(void) +{ + /* Setup list of header fields */ + static hf_register_info hf_vocallonet[] = + { + { &hf_vocallonet_format, + { "Format", "vocallonet.format", + FT_UINT32, BASE_HEX, VALS(vocallonet_format_vals), 0xff000000, + "Vocallonet packet format", HFILL } + }, + { &hf_vocallonet_trace_flag, + { "Trace", "vocallonet.trace_flag", + FT_BOOLEAN, 32, NULL, 0x00800000, + "Debug trace flag", HFILL } + }, + { &hf_vocallonet_api_type, + { "API Type", "vocallonet.api_type", + FT_UINT32, BASE_HEX, VALS(vocallonet_api_type_vals), 0x00007800, + "API Type", HFILL } + }, + + { &hf_vocallonet_size, + { "Size", "vocallonet.size_in_bytes", + FT_UINT32, BASE_DEC, NULL, 0x000003ff, + "Total bit length", HFILL } + } + }; + + + static hf_register_info hf_vocallonet_data[] = + { + /* Common packet data external fields (formats a-q) */ + { &hf_vocallonet_data_socket_handle, + { "Socket Handle", "vocallonet.data.socket_handle", + FT_UINT16, BASE_HEX, NULL, 0x0, + "Socket Handle", HFILL } + }, + /* Common packet data fields (formats b-f) */ + { &hf_vocallonet_data_logical_object_handle_high, + { "Object Handle (high)", "vocallonet.data.logical_object_handle.high", +// FT_UINT16, BASE_HEX, NULL, 0x0, Sygag : check if the two first bytes are reserved + FT_UINT32, BASE_HEX, NULL, 0x0, + "Logical object handle (high nibble)", HFILL } + }, + { &hf_vocallonet_data_logical_object_handle_middle, + { "Object Handle (middle)", "vocallonet.data.logical_object_handle.middle", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Logical object handle (middle nibble)", HFILL } + }, + { &hf_vocallonet_data_logical_object_handle_low, + { "Object Handle (low)", "vocallonet.data.logical_object_handle.low", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Logical object handle (low nibble)", HFILL } + }, + { &hf_vocallonet_data_packet_port, + { "Logical Object Packet Port Packet", "vocallonet.data.packet_port", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Packet port index", HFILL } + }, + { &hf_vocallonet_data_dest_fifo_id, + { "Destination FIFO ID", "vocallonet.data.dest_fifo_id", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Destination FIFO ID", HFILL } + }, + }; + + + static hf_register_info hf_vocallonet_d_data[] = + { + /* Packet format D fields (voice) */ + { &hf_vocallonet_d_timestamp, + { "Timestamp", "vocallonet.d.timestamp", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Packet timestamp", HFILL } + }, + { &hf_vocallonet_d_marker, + { "Marker", "vocallonet.d.marker", + FT_UINT32, BASE_HEX, NULL, 0x00800000, + "Marker bit", HFILL } + }, + { &hf_vocallonet_d_valid_rtp, + { "Valid RTP", "vocallonet.d.valid_rtp", + FT_BOOLEAN, 32, NULL, 0x80000000, + "Valid RTP", HFILL } + }, + { &hf_vocallonet_d_encoding_type, + { "Encoding type", "vocallonet.d.encoding_type", + FT_UINT32, BASE_HEX, VALS(vocallonet_d_encoding_type_vals), 0x7fc00000, + "Encoding type", HFILL } + }, + { &hf_vocallonet_d_sequence_number, + { "Sequence number", "vocallonet.d.sequence_number", + FT_UINT32, BASE_HEX, NULL, 0x0000ffff, + "Sequence number", HFILL } + }, + { &hf_vocallonet_d_rtp_pad_size, + { "Rtp padding size", "vocallonet.d.rtp_pad_size", + FT_UINT32, BASE_HEX, NULL, 0x003fc000, + "Rtp padding size", HFILL } + }, + { &hf_vocallonet_d_rtp_payload_offset , + { "Rtp payload offset", "vocallonet.d.rtp_payload_offset", + FT_UINT32, BASE_HEX, NULL, 0x00003fff, + "Rtp payload offset", HFILL } + }, + { &hf_vocallonet_d_rtp_version, + { "Rtp version", "vocallonet.d.rtp_version", + FT_UINT32, BASE_HEX, NULL, 0xc0000000, + "Rtp version", HFILL } + }, + { &hf_vocallonet_d_rtp_padding, + { "Rtp padding", "vocallonet.d.rtp_padding", + FT_UINT32, BASE_HEX, NULL, 0x20000000, + "Rtp padding bit", HFILL } + }, + { &hf_vocallonet_d_rtp_extension, + { "Rtp extension", "vocallonet.d.rtp_extension", + FT_UINT32, BASE_HEX, NULL, 0x10000000, + "Rtp extension bit", HFILL } + }, + { &hf_vocallonet_d_rtp_csrc_count, + { "Rtp CSRC count", "vocallonet.d.rtp_csrc_count", + FT_UINT32, BASE_HEX, NULL, 0x0f000000, + "Rtp CSRC count", HFILL } + }, + { &hf_vocallonet_d_rtp_payload_type, + { "Rtp payload type", "vocallonet.d.rtp_payload_type", + FT_UINT32, BASE_HEX, NULL, 0x007f0000, + "Rtp payload type", HFILL } + }, + { &hf_vocallonet_d_rtp_sync_source, + { "Rtp synchronisation source identifier", "vocallonet.d.rtp_sync_source", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Rtp synchronisation source identifier", HFILL } + }, + + { &hf_vocallonet_d_VocFlag_BFI, + { "BFI", "vocallonet.d.BFI", + FT_UINT32, BASE_HEX, NULL, 0x00000008, + "BFI bit", HFILL } + }, + { &hf_vocallonet_d_VocFlag_TAF, + { "TAF", "vocallonet.d.TAF", + FT_UINT32, BASE_HEX, NULL, 0x00000004, + "TAF bit", HFILL } + }, + { &hf_vocallonet_d_VocFlag_SID, + { "SID", "vocallonet.d.SID", + FT_UINT32, BASE_HEX, NULL, 0x00000003, + "SID bit", HFILL } + } + + }; + + + static hf_register_info hf_vocallonet_f_data[] = + { + /* Packet format F fields (raw) */ + { &hf_vocallonet_f_timestamp, + { "Timestamp", "vocallonet.f.timestamp", + FT_UINT32, BASE_HEX, NULL, 0, + "Packet timestamp", HFILL } + }, + { &hf_vocallonet_f_subtype, + { "Subtype", "vocallonet.f.subtype", + FT_UINT32, BASE_HEX, VALS(vocallonet_f_subtype_vals), 0, + "Packet subtype", HFILL } + }, + }; + + static hf_register_info hf_vocallonet_control[] = { + + { &hf_vocallonet_control_destination_fifo_id, + { "Destination Fifo Id", "vocallonet.control.destination_fifo_id", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Destination fifo id", HFILL } + }, + { &hf_vocallonet_control_source_fifo_id, + { "Source Fifo Id", "vocallonet.control.source_fifo_id", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Source fifo id", HFILL } + }, + { &hf_vocallonet_control_socket_id, + { "Socket Id", "vocallonet.control.socket_id", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Return socket Id", HFILL } + }, + }; + + + + + + /* Setup protocol subtree array */ + static gint* ett[] = + { + + &ett_vocallonet, + &ett_vocallonet_control, + &ett_vocallonet_data, + &ett_vocallonet_d_data, + &ett_vocallonet_f_data, + + &ett_vocallonet_a_data, + }; + + + + module_t *vocallonet_module; + + static enum_val_t options[] = { + { "Unspecified", "Unspecified", PACKET_F_UNSPECIFIED }, + { "Lapd", "Lapd", PACKET_F_LAPD }, + { NULL, NULL, 0 } + }; + + /* Register the protocol name and description */ + proto_vocallonet = proto_register_protocol( "Vocallonet packets", + "Octasic Vocallonet", "vocallonet"); + + proto_vocallonet_control = proto_register_protocol("Vocallo control packets", + "Octasic Vocallonet Control", "vocallonet_ctrl"); + + proto_vocallonet_data = proto_register_protocol( "Vocallo data packet", + "Octasic Vocallonet Data", "vocallonet_data"); + + proto_vocallonet_a_data = proto_register_protocol( "Vocallo A format data packet", + "Octasic Vocallonet A-Data", "vocallonet_a_data"); + + proto_vocallonet_d_data = proto_register_protocol( "Vocallo D format data packet", + "Octasic Vocallonet D-Data", "vocallonet_d_data"); + + proto_vocallonet_f_data = proto_register_protocol( "Vocallo F format data packet", + "Octasic Vocallonet F-Data", "vocallonet_f_data"); + + proto_vocallonet_ev_data = proto_register_protocol( "Vocallo Event format packet", + "Octasic Vocallonet Event", "vocallonet_ev_data"); + + vocallonet_module = prefs_register_protocol(proto_vocallonet, NULL); + prefs_register_enum_preference(vocallonet_module, "packet_f", "Packet F unspecified decode", "Type of F packet", &packet_f_decode, options, FALSE); + + + /* Required function calls to register the header fields and subtrees used */ + proto_register_field_array( proto_vocallonet, hf_vocallonet, array_length(hf_vocallonet) ); + proto_register_field_array( proto_vocallonet_control, hf_vocallonet_control, array_length(hf_vocallonet_control) ); + + proto_register_field_array( proto_vocallonet_data, hf_vocallonet_data, array_length(hf_vocallonet_data) ); + proto_register_field_array( proto_vocallonet_d_data, hf_vocallonet_d_data, array_length(hf_vocallonet_d_data) ); + proto_register_field_array( proto_vocallonet_f_data, hf_vocallonet_f_data, array_length(hf_vocallonet_f_data) ); + + proto_register_subtree_array(ett, array_length(ett)); + + register_dissector("vocallonet", dissect_vocallonet, proto_vocallonet); + +} + +/************************************************************************* +* +* If this dissector uses sub-dissector registration add a registration routine. +* This format is required because a script is used to find these routines and +* create the code that calls these routines. +* +**************************************************************************/ +void proto_reg_handoff_vocallonet(void) +{ + data_handle = find_dissector("data"); + octvc1_ctrl_handle = find_dissector("Octvc1_Ctrl"); + + rfc4175_yuv_handle = find_dissector("rfc4175_yuv"); + yuv_extended_handle = find_dissector("yuv_extended"); + octvc1_event_handle = find_dissector("Octvc1_Event"); + octpkt_handle = find_dissector("OctPkt"); + macroblock_handle = find_dissector("macro_blocks"); + + eth_handle = find_dissector("eth_withoutfcs"); + ip_handle = find_dissector("ip"); + lapd_handle = find_dissector("lapd"); + h263_handle = find_dissector("h263"); + h263p_handle = find_dissector("h263P"); + h264_handle = find_dissector("h264"); + hMpeg4_handle = find_dissector("mp4ves"); + hT38_handle = find_dissector("t38"); + amr_handle = find_dissector("amr"); + +} + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/plugin.c b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/plugin.c new file mode 100644 index 0000000..5de1f2a --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvocnet_ws/source/plugin.c @@ -0,0 +1,38 @@ +/* Do not modify this file. */ +/* It is created automatically by the Makefile. */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + + +#include + +#include "../include/moduleinfo.h" + +#ifndef ENABLE_STATIC + +#if defined(VERSION_MAJOR) && (VERSION_MAJOR > 1 || (VERSION_MAJOR == 1 && VERSION_MINOR > 8)) +#define WS_BUILD_DLL +#include "ws_symbol_export.h" +#define WS_EXPORT WS_DLL_PUBLIC_NOEXTERN +#else +#define WS_EXPORT G_MODULE_EXPORT +#endif + +WS_EXPORT const gchar version[] = VERSION; + +/* Start the functions we need for the plugin stuff */ +WS_EXPORT void +plugin_register (void) +{ + {extern void proto_register_vocallonet (void); proto_register_vocallonet ();} +} + +WS_EXPORT void +plugin_reg_handoff(void) +{ + {extern void proto_reg_handoff_vocallonet (void); proto_reg_handoff_vocallonet ();} +} +#endif + diff --git a/application/tool/wireshark/ws_dev_root.nmake b/application/tool/wireshark/ws_dev_root.nmake deleted file mode 100644 index 9d9f9c5..0000000 --- a/application/tool/wireshark/ws_dev_root.nmake +++ /dev/null @@ -1 +0,0 @@ -WS_DEV_ROOT=Y:\work\3rdParty\wireshark diff --git a/makefile.nmake b/makefile.nmake new file mode 100644 index 0000000..c5792e1 --- /dev/null +++ b/makefile.nmake @@ -0,0 +1,46 @@ + + +TGT_WS_VERSION=1.6.5 +MODULE_VERSION_MAJOR=1 +MODULE_VERSION_MINOR=0 +MODULE_VERSION_MICRO=0 +MODULE_VERSION_EXTRA=0 + +#update to proper path +WS_DEV_ROOT=\work\3rdParty\wireshark + +all: setup_m + @cd "application\tool\wireshark\plugins\octasic\octpkt_ws" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake + @cd $(MAKEDIR) + @cd "application\tool\wireshark\plugins\octasic\octsdr" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake + @cd $(MAKEDIR) + +clean: setup_m + @cd "application\tool\wireshark\plugins\octasic\octpkt_ws" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake clean + @cd $(MAKEDIR) + @cd "application\tool\wireshark\plugins\octasic\octsdr" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake clean + @cd $(MAKEDIR) + + +install: setup_m + @cd "application\tool\wireshark\plugins\octasic\octpkt_ws" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake install + @cd $(MAKEDIR) + @cd "application\tool\wireshark\plugins\octasic\octsdr" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake install + @cd $(MAKEDIR) + +setup_m: + @echo Expecting Wireshark development framework in: $(WS_DEV_ROOT) + @SET TGT_WS_VERSION=$(TGT_WS_VERSION) + @SET MODULE_VERSION_MAJOR=$(MODULE_VERSION_MAJOR) + @SET MODULE_VERSION_MINOR=$(MODULE_VERSION_MINOR) + @SET MODULE_VERSION_MICRO=$(MODULE_VERSION_MICRO) + @SET MODULE_VERSION_EXTRA=$(MODULE_VERSION_EXTRA) + @SET WS_DEV_ROOT=$(WS_DEV_ROOT) + + \ No newline at end of file diff --git a/readme.txt b/readme.txt index b4b686a..1e27b8f 100644 --- a/readme.txt +++ b/readme.txt @@ -1,7 +1,14 @@ -GSM Wireshark Plugin Source Code -This source code works with Wireshark version 1.6.5. + +Wireshark Source Code Package for "OCTSDR_GSM" Plugins. -Makefile for octvc1 plugin is located in application\tool\wireshark\plugins\octasic\octsdr +Requirement: + - Microsoft Visual C++ 2008 Express Edition + - Wireshark development framework version 1.6.5 + Expecting path is: "\work\3rdParty\wireshark". + To change location, edit the file Makefile.nmake and change the WS_DEV_ROOT definition. -Makefile for octpkt_ws plugin is located in application\tool\wireshark\plugins\octasic\octpkt_ws \ No newline at end of file +To make the plugins: nmake -f Makefile.nmake + + + \ No newline at end of file diff --git a/software/include/octdev_devices.h b/software/include/octdev_devices.h index e098d90..a5ffea1 100644 --- a/software/include/octdev_devices.h +++ b/software/include/octdev_devices.h @@ -2,13 +2,25 @@ File: OCTDEV_DEVICES.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -32,6 +44,7 @@ $Revision: $ #define cOCTDEV_DEVICES_TYPE_ENUM_INVALID 0x0 #define cOCTDEV_DEVICES_TYPE_ENUM_OCT1010 0x1 #define cOCTDEV_DEVICES_TYPE_ENUM_OCT2200 0x2 +#define cOCTDEV_DEVICES_TYPE_ENUM_CPU 0xF /*------------------------------------------------------------------------------------- tOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM : Octasic DSP Core type. diff --git a/software/include/octdev_devices_swap.h b/software/include/octdev_devices_swap.h new file mode 100644 index 0000000..5bdb25c --- /dev/null +++ b/software/include/octdev_devices_swap.h @@ -0,0 +1,63 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octdev_devices_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTDEV_DEVICES_SWAP_H__ +#define __OCTDEV_DEVICES_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1/octvc1_swap_hdrs.h" +#include "octdev_devices.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTDEV_DEVICES_TYPE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTDEV_DEVICES_TYPE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTDEV_DEVICES_SWAP_H__ */ diff --git a/software/include/octdev_macro.h b/software/include/octdev_macro.h index 02bca3c..a96b9bd 100644 --- a/software/include/octdev_macro.h +++ b/software/include/octdev_macro.h @@ -2,13 +2,25 @@ File: OCTDEV_MACRO.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/octdev_opus_rev.h b/software/include/octdev_opus_rev.h index 086adab..30ad61d 100644 --- a/software/include/octdev_opus_rev.h +++ b/software/include/octdev_opus_rev.h @@ -2,13 +2,25 @@ File: OCTDEV_OPUS_REV.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/octdev_rc_base.h b/software/include/octdev_rc_base.h index d894b93..2244c17 100644 --- a/software/include/octdev_rc_base.h +++ b/software/include/octdev_rc_base.h @@ -2,13 +2,25 @@ File: OCTDEV_RC_BASE.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/octdev_types.h b/software/include/octdev_types.h index 64b1889..055d85e 100644 --- a/software/include/octdev_types.h +++ b/software/include/octdev_types.h @@ -2,13 +2,25 @@ File: OCTDEV_TYPES.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -63,6 +75,9 @@ $Revision: $ #error Cannot determine 32-bit type #endif +typedef long long tOCT_INT64; +typedef unsigned long long tOCT_UINT64; + typedef char tOCT_INT8; typedef unsigned char tOCT_UINT8; @@ -102,30 +117,40 @@ typedef unsigned char tOCT_UINT8; /* Look for Intel target */ #if defined( __OCT_ENV_OPUS__ ) || defined( _M_OPUS1 ) || defined( _M_OPUS2 ) || defined( _M_OPUS3 ) #define _OCT_ENDIAN_TYPE_BE_ + #define _OCT_PLATFORM_OPUS_ #elif defined( _M_IX86 ) || defined(__x86_64__) #define _OCT_ENDIAN_TYPE_LE_ + #define _OCT_PLATFORM_X86_ #elif defined( __i386 ) #define _OCT_ENDIAN_TYPE_LE_ + #define _OCT_PLATFORM_X86_ #elif defined( i386 ) #define _OCT_ENDIAN_TYPE_LE_ + #define _OCT_PLATFORM_X86_ /* Look for Motorola PPC target */ #elif defined( _M_MPPC ) || defined( _M_PPC ) || defined( __ppc__ ) || defined( __PPC ) #define _OCT_ENDIAN_TYPE_BE_ + #define _OCT_PLATFORM_PPC_ /* Look for Sparc target */ #elif defined( __sparc ) #define _OCT_ENDIAN_TYPE_BE_ + #define _OCT_PLATFORM_SPARC_ #elif defined( __sun__ ) #define _OCT_ENDIAN_TYPE_BE_ + #define _OCT_PLATFORM_SPARC_ /* Look for ARM target */ #elif defined( __ARMEL__ ) #define _OCT_ENDIAN_TYPE_LE_ + #define _OCT_PLATFORM_ARM_ /* Look for MIPS target */ #elif defined( __mips__ ) || defined( __MIPSEB ) #define _OCT_ENDIAN_TYPE_BE_ + #define _OCT_PLATFORM_MIPS_ /* others */ #elif defined( CPU ) #if CPU==PPC860 #define _OCT_ENDIAN_TYPE_BE_ + #define _OCT_PLATFORM_PPC_ #endif #endif #endif @@ -153,16 +178,19 @@ typedef unsigned char tOCT_UINT8; #if defined( __OCT_ENV_OPUS__ ) || defined( _M_OPUS1 ) || defined( _M_OPUS2 ) || defined( _M_OPUS3 ) #define OCT_ENV_TYPE_OPUS + #define OCT_ENV_TYPE_OCTSYS #ifdef _DEBUG #define OCT_ENV_MODE_DEBUG #endif #elif defined( _LINUX_ ) || defined( __linux__ ) #define OCT_ENV_TYPE_LINUX + #define OCT_ENV_TYPE_OCTOS #ifndef NDEBUG #define OCT_ENV_MODE_DEBUG #endif -#elif defined( _WIN32 ) || defined( _WIN64 ) || defined( WIN32 ) || defined( WIN64 ) +#elif defined( _WIN32 ) || defined( WIN32 ) || defined( __WIN32__ ) || defined( _WIN32_ ) || defined( WIN32S ) || defined( _WIN64 ) || defined( WIN64 ) #define OCT_ENV_TYPE_WINDOWS + #define OCT_ENV_TYPE_OCTOS #ifdef _DEBUG #define OCT_ENV_MODE_DEBUG #endif @@ -171,6 +199,33 @@ typedef unsigned char tOCT_UINT8; #pragma message(__OCTDEV_TYPE_WARNLOC__"Environment platform not determined") #endif +/*-------------------------------------------------------------------------- + POINTER type definition +----------------------------------------------------------------------------*/ +#if defined( OCT_ENV_TYPE_WINDOWS ) +#include + +#define tOCT_UINT_PTR UINT_PTR +#define tOCT_INT_PTR INT_PTR + +#elif defined( OCT_ENV_TYPE_LINUX ) +#include + +#define tOCT_UINT_PTR uintptr_t +#define tOCT_INT_PTR intptr_t + +#elif defined( OCT_ENV_TYPE_OCTSYS ) +#include + +#define tOCT_UINT_PTR uintptr_t +#define tOCT_INT_PTR intptr_t + +#else + #pragma message(__OCTDEV_TYPE_WARNLOC__"Environment pointer determined") + + +#endif /* OCT_ENV_TYPE_WINDOWS */ + /*------------------------------------------------------------------------------------- Generic IP Address diff --git a/software/include/octdev_types_swap.h b/software/include/octdev_types_swap.h index 2236dcb..ef0e491 100644 --- a/software/include/octdev_types_swap.h +++ b/software/include/octdev_types_swap.h @@ -2,13 +2,25 @@ File: octdev_types_swap.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCTDEV_TYPES_SWAP_H__ @@ -19,16 +31,24 @@ extern "C" { #endif /***************************** INCLUDE FILES *******************************/ -#include "vocallo/octvc1_swap_hdrs.h" +#include "octvc1/octvc1_swap_hdrs.h" #include "octdev_types.h" /********************************* MACROS **********************************/ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTDEV_IP_ADDRESS_SWAP( _f_pParms ){ tOCTDEV_IP_ADDRESS * pOCTDEV_IP_ADDRESS = (_f_pParms); \ - ((tOCTDEV_IP_ADDRESS *)pOCTDEV_IP_ADDRESS)->ulIpVersion = \ - mOCT_SWAP32_IF_LE(((tOCTDEV_IP_ADDRESS *)pOCTDEV_IP_ADDRESS)->ulIpVersion); \ +#define mOCTDEV_IP_VERSION_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTDEV_IP_VERSION_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTDEV_IP_ADDRESS_SWAP( _f_pParms ){ tOCTDEV_IP_ADDRESS * pOCTDEV_IP_ADDRESS = (_f_pParms); SWAP_UNUSED(pOCTDEV_IP_ADDRESS)\ + { mOCTDEV_IP_VERSION_ENUM_SWAP( &((tOCTDEV_IP_ADDRESS *)pOCTDEV_IP_ADDRESS)->ulIpVersion ); } \ { tOCT_UINT32 iOCTDEV_IP_ADDRESS; \ for( iOCTDEV_IP_ADDRESS=0; \ iOCTDEV_IP_ADDRESS<(4);iOCTDEV_IP_ADDRESS++ ) \ @@ -40,7 +60,7 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTDEV_UDP_ADDRESS_SWAP( _f_pParms ){ tOCTDEV_UDP_ADDRESS * pOCTDEV_UDP_ADDRESS = (_f_pParms); \ +#define mOCTDEV_UDP_ADDRESS_SWAP( _f_pParms ){ tOCTDEV_UDP_ADDRESS * pOCTDEV_UDP_ADDRESS = (_f_pParms); SWAP_UNUSED(pOCTDEV_UDP_ADDRESS)\ { mOCTDEV_IP_ADDRESS_SWAP( &((tOCTDEV_UDP_ADDRESS *)pOCTDEV_UDP_ADDRESS)->IpAddress ); } \ ((tOCTDEV_UDP_ADDRESS *)pOCTDEV_UDP_ADDRESS)->ulUdpPort = \ mOCT_SWAP32_IF_LE(((tOCTDEV_UDP_ADDRESS *)pOCTDEV_UDP_ADDRESS)->ulUdpPort); \ @@ -50,7 +70,7 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTDEV_TCP_ADDRESS_SWAP( _f_pParms ){ tOCTDEV_TCP_ADDRESS * pOCTDEV_TCP_ADDRESS = (_f_pParms); \ +#define mOCTDEV_TCP_ADDRESS_SWAP( _f_pParms ){ tOCTDEV_TCP_ADDRESS * pOCTDEV_TCP_ADDRESS = (_f_pParms); SWAP_UNUSED(pOCTDEV_TCP_ADDRESS)\ { mOCTDEV_IP_ADDRESS_SWAP( &((tOCTDEV_TCP_ADDRESS *)pOCTDEV_TCP_ADDRESS)->IpAddress ); } \ ((tOCTDEV_TCP_ADDRESS *)pOCTDEV_TCP_ADDRESS)->ulTcpPort = \ mOCT_SWAP32_IF_LE(((tOCTDEV_TCP_ADDRESS *)pOCTDEV_TCP_ADDRESS)->ulTcpPort); \ diff --git a/software/include/octpkt/octpkt_hdr.h b/software/include/octpkt/octpkt_hdr.h index b2c3c2a..a907908 100644 --- a/software/include/octpkt/octpkt_hdr.h +++ b/software/include/octpkt/octpkt_hdr.h @@ -2,13 +2,25 @@ File: OCTPKT_HDR.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -25,8 +37,6 @@ $Revision: $ /************************ COMMON DEFINITIONS *******************************/ #define cOCTPKT_HDR_ETHERTYPE 0x5200 -#define cOCTPKT_HDR_WCDMA 0xCDAB -#define cOCTPKT_HDR_GSM 0xF00D /*------------------------------------------------------------------------------------- OctPkt-Packet Format Values @@ -62,7 +72,6 @@ $Revision: $ #define cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTVOCNET 0x0 /* Vocallo MGW Control Protocol */ #define cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTMFA 0x1 /* Media Flow Aggregator Control Protocol */ #define cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_LTE_FAPI 0x2 /* SDR LTE femtocells API Protocol */ -#define cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTSDR 3 /* Sdr packets */ #define cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_TEST 0xE /* TEST Protocol */ #define cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_NONE 0xFFFFFFFF /* Not used */ diff --git a/software/include/octpkt/octpkt_hdr_swap.h b/software/include/octpkt/octpkt_hdr_swap.h index 1ef77e3..69da4de 100644 --- a/software/include/octpkt/octpkt_hdr_swap.h +++ b/software/include/octpkt/octpkt_hdr_swap.h @@ -2,13 +2,25 @@ File: octpkt_hdr_swap.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCTPKT_HDR_SWAP_H__ @@ -19,16 +31,33 @@ extern "C" { #endif /***************************** INCLUDE FILES *******************************/ -#include "../vocallo/octvc1_swap_hdrs.h" +#include "../octvc1/octvc1_swap_hdrs.h" #include "octpkt_hdr.h" /********************************* MACROS **********************************/ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTPKT_HDR_SWAP( _f_pParms ){ tOCTPKT_HDR * pOCTPKT_HDR = (_f_pParms); \ - ((tOCTPKT_HDR *)pOCTPKT_HDR)->ul_Format_Trace_Length = \ - mOCT_SWAP32_IF_LE(((tOCTPKT_HDR *)pOCTPKT_HDR)->ul_Format_Trace_Length); \ +#define mOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTPKT_HDR_SWAP( _f_pParms ){ tOCTPKT_HDR * pOCTPKT_HDR = (_f_pParms); SWAP_UNUSED(pOCTPKT_HDR)\ + { mOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_SWAP( &((tOCTPKT_HDR *)pOCTPKT_HDR)->ul_Format_Trace_Length ); } \ } #else #define mOCTPKT_HDR_SWAP( pOCTPKT_HDR ) diff --git a/software/include/octpkt/octpkt_hdrxl.h b/software/include/octpkt/octpkt_hdrxl.h index 1d1c22f..3a40f3c 100644 --- a/software/include/octpkt/octpkt_hdrxl.h +++ b/software/include/octpkt/octpkt_hdrxl.h @@ -2,13 +2,25 @@ File: OCTPKT_HDRXL.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/octpkt/octpkt_hdrxl_swap.h b/software/include/octpkt/octpkt_hdrxl_swap.h index 89a44b7..ac3a3b3 100644 --- a/software/include/octpkt/octpkt_hdrxl_swap.h +++ b/software/include/octpkt/octpkt_hdrxl_swap.h @@ -2,13 +2,25 @@ File: octpkt_hdrxl_swap.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCTPKT_HDRXL_SWAP_H__ @@ -19,23 +31,31 @@ extern "C" { #endif /***************************** INCLUDE FILES *******************************/ -#include "../vocallo/octvc1_swap_hdrs.h" +#include "../octvc1/octvc1_swap_hdrs.h" #include "octpkt_hdrxl.h" /********************************* MACROS **********************************/ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTPKT_HDRXL_SWAP( _f_pParms ){ tOCTPKT_HDRXL * pOCTPKT_HDRXL = (_f_pParms); \ - ((tOCTPKT_HDRXL *)pOCTPKT_HDRXL)->ul_Proto_Format_Length = \ - mOCT_SWAP32_IF_LE(((tOCTPKT_HDRXL *)pOCTPKT_HDRXL)->ul_Proto_Format_Length); \ +#define mOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTPKT_HDRXL_SWAP( _f_pParms ){ tOCTPKT_HDRXL * pOCTPKT_HDRXL = (_f_pParms); SWAP_UNUSED(pOCTPKT_HDRXL)\ + { mOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_SWAP( &((tOCTPKT_HDRXL *)pOCTPKT_HDRXL)->ul_Proto_Format_Length ); } \ } #else #define mOCTPKT_HDRXL_SWAP( pOCTPKT_HDRXL ) #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTPKT_HDRXL_ETH_SWAP( _f_pParms ){ tOCTPKT_HDRXL_ETH * pOCTPKT_HDRXL_ETH = (_f_pParms); \ +#define mOCTPKT_HDRXL_ETH_SWAP( _f_pParms ){ tOCTPKT_HDRXL_ETH * pOCTPKT_HDRXL_ETH = (_f_pParms); SWAP_UNUSED(pOCTPKT_HDRXL_ETH)\ ((tOCTPKT_HDRXL_ETH *)pOCTPKT_HDRXL_ETH)->usReserved = \ mOCT_SWAP16_IF_LE(((tOCTPKT_HDRXL_ETH *)pOCTPKT_HDRXL_ETH)->usReserved); \ } diff --git a/software/include/vocallo/ctrl/octvc1_ctrl_api.h b/software/include/octvc1/ctrl/octvc1_ctrl_api.h similarity index 65% rename from software/include/vocallo/ctrl/octvc1_ctrl_api.h rename to software/include/octvc1/ctrl/octvc1_ctrl_api.h index e9750e2..4ae366d 100644 --- a/software/include/vocallo/ctrl/octvc1_ctrl_api.h +++ b/software/include/octvc1/ctrl/octvc1_ctrl_api.h @@ -2,13 +2,25 @@ File: OCTVC1_CTRL_API.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contains the definition of the CTRL API. -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -51,10 +63,5 @@ typedef struct /*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ -#ifdef cDO_PRAGMA_PACK_POP -#pragma pack( pop ) -#endif /* cDO_PRAGMA_PACK_POP */ -#undef cDO_PRAGMA_PACK_POP - #endif /* __OCTVC1_CTRL_API_H__ */ diff --git a/software/include/octvc1/ctrl/octvc1_ctrl_api_priv.h b/software/include/octvc1/ctrl/octvc1_ctrl_api_priv.h new file mode 100644 index 0000000..90d6f37 --- /dev/null +++ b/software/include/octvc1/ctrl/octvc1_ctrl_api_priv.h @@ -0,0 +1,44 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_CTRL_API_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the CTRL API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_CTRL_API_PRIV_H__ +#define __OCTVC1_CTRL_API_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_ctrl_api.h" +#include "octvc1_ctrl_id_priv.h" + +/************************ COMMON DEFINITIONS *******************************/ + +/***************************** SUPERVISORY *************************************/ + +/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ + +#endif /* __OCTVC1_CTRL_API_PRIV_H__ */ + diff --git a/software/include/octvc1/ctrl/octvc1_ctrl_api_priv_swap.h b/software/include/octvc1/ctrl/octvc1_ctrl_api_priv_swap.h new file mode 100644 index 0000000..794956a --- /dev/null +++ b/software/include/octvc1/ctrl/octvc1_ctrl_api_priv_swap.h @@ -0,0 +1,43 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +File: octvc1_ctrl_api_priv_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_CTRL_API_PRIV_SWAP_H__ +#define __OCTVC1_CTRL_API_PRIV_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_priv_swap_hdrs.h" +#include "octvc1_ctrl_api_priv.h" + +/********************************* MACROS **********************************/ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_CTRL_API_PRIV_SWAP_H__ */ diff --git a/software/include/vocallo/ctrl/octvc1_ctrl_api_swap.h b/software/include/octvc1/ctrl/octvc1_ctrl_api_swap.h similarity index 63% rename from software/include/vocallo/ctrl/octvc1_ctrl_api_swap.h rename to software/include/octvc1/ctrl/octvc1_ctrl_api_swap.h index ff6cd5b..b9c6344 100644 --- a/software/include/vocallo/ctrl/octvc1_ctrl_api_swap.h +++ b/software/include/octvc1/ctrl/octvc1_ctrl_api_swap.h @@ -2,13 +2,25 @@ File: octvc1_ctrl_api_swap.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCTVC1_CTRL_API_SWAP_H__ @@ -26,7 +38,7 @@ extern "C" { #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CTRL_MSG_MODULE_REJECT_SPV_SWAP( _f_pParms ){ tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV * pOCTVC1_CTRL_MSG_MODULE_REJECT_SPV = (_f_pParms); \ +#define mOCTVC1_CTRL_MSG_MODULE_REJECT_SPV_SWAP( _f_pParms ){ tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV * pOCTVC1_CTRL_MSG_MODULE_REJECT_SPV = (_f_pParms); SWAP_UNUSED(pOCTVC1_CTRL_MSG_MODULE_REJECT_SPV)\ { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV *)pOCTVC1_CTRL_MSG_MODULE_REJECT_SPV)->Header ); } \ ((tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV *)pOCTVC1_CTRL_MSG_MODULE_REJECT_SPV)->ulExpectedTransactionId = \ mOCT_SWAP32_IF_LE(((tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV *)pOCTVC1_CTRL_MSG_MODULE_REJECT_SPV)->ulExpectedTransactionId); \ diff --git a/software/include/octvc1/ctrl/octvc1_ctrl_base.h b/software/include/octvc1/ctrl/octvc1_ctrl_base.h new file mode 100644 index 0000000..3a11bd5 --- /dev/null +++ b/software/include/octvc1/ctrl/octvc1_ctrl_base.h @@ -0,0 +1,50 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_CTRL_BASE.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the OCTVC1 API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_CTRL_BASE_H__ +#define __OCTVC1_CTRL_BASE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "../octvc1_generic_rc.h" + +/**************************************************************************** + Module unique identifiers + ****************************************************************************/ +#define cOCTVC1_CTRL_UID ( 0x03 ) + +/**************************************************************************** + Module identifier bases + ****************************************************************************/ + +/* Module: CTRL */ +#define cOCTVC1_CTRL_SID_BASE ( (cOCTVC1_CTRL_UID << 16) + cOCTVC1_SID_BASE ) + +#endif /* __OCTVC1_CTRL_BASE_H__ */ + diff --git a/software/include/vocallo/ctrl/octvc1_ctrl_id.h b/software/include/octvc1/ctrl/octvc1_ctrl_id.h similarity index 53% rename from software/include/vocallo/ctrl/octvc1_ctrl_id.h rename to software/include/octvc1/ctrl/octvc1_ctrl_id.h index 05a635b..43612d1 100644 --- a/software/include/vocallo/ctrl/octvc1_ctrl_id.h +++ b/software/include/octvc1/ctrl/octvc1_ctrl_id.h @@ -2,13 +2,25 @@ File: OCTVC1_CTRL_ID.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contains the identifiers for the CTRL API. -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -21,6 +33,7 @@ $Octasic_Revision: $ /***************************** INCLUDE FILES *******************************/ #include "../octvc1_base.h" #include "../octvc1_generic_rc.h" +#include "octvc1_ctrl_base.h" /**************************************************************************** Supervisory IDs diff --git a/software/include/octvc1/ctrl/octvc1_ctrl_id_priv.h b/software/include/octvc1/ctrl/octvc1_ctrl_id_priv.h new file mode 100644 index 0000000..1b62943 --- /dev/null +++ b/software/include/octvc1/ctrl/octvc1_ctrl_id_priv.h @@ -0,0 +1,43 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_CTRL_ID_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the identifiers for the CTRL API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_CTRL_ID_PRIV_H__ +#define __OCTVC1_CTRL_ID_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_ctrl_id.h" +#include "octvc1_ctrl_base.h" + +/**************************************************************************** + Supervisory IDs + ****************************************************************************/ + + +#endif /* __OCTVC1_CTRL_ID_PRIV_H__ */ + diff --git a/software/include/vocallo/ctrl/octvc1_ctrl_version.h b/software/include/octvc1/ctrl/octvc1_ctrl_version.h similarity index 52% rename from software/include/vocallo/ctrl/octvc1_ctrl_version.h rename to software/include/octvc1/ctrl/octvc1_ctrl_version.h index b014ca5..9e0a2b0 100644 --- a/software/include/vocallo/ctrl/octvc1_ctrl_version.h +++ b/software/include/octvc1/ctrl/octvc1_ctrl_version.h @@ -2,13 +2,25 @@ File: OCTVC1_CTRL_VERSION.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contains the version of the CTRL API interface. -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -25,10 +37,10 @@ $Octasic_Revision: $ bit[17:11]: Bug fix version bit[10:0]: Build number */ -#define cOCTVC1_CTRL_VERSION_MAJOR 1 -#define cOCTVC1_CTRL_VERSION_MINOR 11 -#define cOCTVC1_CTRL_VERSION_MAINTENANCE 0 -#define cOCTVC1_CTRL_VERSION_BUILD 0 +#define cOCTVC1_CTRL_VERSION_MAJOR 2 +#define cOCTVC1_CTRL_VERSION_MINOR 2 +#define cOCTVC1_CTRL_VERSION_MAINTENANCE 4 +#define cOCTVC1_CTRL_VERSION_BUILD 403 #define cOCTVC1_CTRL_VERSION_ID ( (cOCTVC1_CTRL_VERSION_MAJOR << 25) + \ (cOCTVC1_CTRL_VERSION_MINOR << 18) + \ diff --git a/software/include/octvc1/gsm/octvc1_gsm_api.h b/software/include/octvc1/gsm/octvc1_gsm_api.h new file mode 100644 index 0000000..58d0c72 --- /dev/null +++ b/software/include/octvc1/gsm/octvc1_gsm_api.h @@ -0,0 +1,1913 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GSM_API.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the GSM API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_GSM_API_H__ +#define __OCTVC1_GSM_API_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../../octdev_types.h" +#include "../../octdev_devices.h" +#include "../octvc1_msg.h" +#include "../octvc1_handle.h" +#include "../octvc1_cursor.h" +#include "../octvc1_list.h" +#include "../octvc1_fifo.h" +#include "../octvc1_file.h" +#include "../octvc1_radio.h" + +#include "octvc1_gsm_id.h" +#include "octvc1_gsm_rc.h" + +/************************ COMMON DEFINITIONS *******************************/ + +#define cOCTVC1_GSM_HOPPING_LIST_MAX_ENTRY 64 /* This is the maximum number of entries in a hopping list */ +#define cOCTVC1_GSM_PHYSICAL_MIN_TIMESLOT_NUMBER 0 /* Minimum value of the Physical timeslot number. */ +#define cOCTVC1_GSM_PHYSICAL_MAX_TIMESLOT_NUMBER 7 /* Maximum value of the Physical timeslot number. */ +#define cOCTVC1_GSM_TRX_MAX_TIMESLOTS (cOCTVC1_GSM_PHYSICAL_MAX_TIMESLOT_NUMBER+1) /* This is the number of timeslots associated with a TRX. */ +#define cOCTVC1_GSM_TIMESLOT_MIN_SUBCHANNEL_NUMBER 0 /* Minimum value of the timeslot sub-channel number. */ +#define cOCTVC1_GSM_TIMESLOT_MAX_SUBCHANNEL_NUMBER 7 /* Maximum value of the timeslot sub-channel number. */ +#define cOCTVC1_GSM_TIMESLOT_ALL_SUBCHANNEL_NUMBER 0xF1 /* Value used to specified an unused timeslot sub-channel. */ +#define cOCTVC1_GSM_TIMESLOT_ALL_SUBCHANNEL_ENTRY_INDEX 8 /* Value used to specified the entry index used for ALL_SUBCHANNEL in subchannel */ + /* array. */ +#define cOCTVC1_GSM_TIMESLOT_MAX_SUBCHANNEL (cOCTVC1_GSM_TIMESLOT_MAX_SUBCHANNEL_NUMBER+2) /* This is the number of subchannels associated with a timeslot. */ +#define cOCTVC1_GSM_MAX_FRAME_COUNT 2715647 /* Max frame tick count. */ +#define cOCTVC1_GSM_DATA_CONTENT_SIZE 468 /* Data content buffer size in bytes. */ +#define cOCTVC1_GSM_RATE_LIST_SIZE 4 /* Rate list size. */ +#define cOCTVC1_GSM_RACH_IND_MSG_SIZE 32 /* RACH indication content buffer size. */ +#define cOCTVC1_GSM_TRX_ID_LIST_MAX_ENTRY 32 /* Maximum number of TRX_ID per list. */ +#define cOCTVC1_GSM_PHYSICAL_CHANNEL_ID_LIST_MAX_ENTRY 32 /* Maximum number of PHYSICAL_CHANNEL_ID per list. */ +#define cOCTVC1_GSM_LOGICAL_CHANNEL_ID_LIST_MAX_ENTRY 128 /* Maximum number of LOGICAL_CHANNEL_ID per list. */ +#define cOCTVC1_GSM_CIPHER_KEY_LENGTH 8 /* Cipher key bytes count. */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_CMI_PHASE_ENUM : CMI phase. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_CMI_PHASE_ENUM tOCT_UINT8 + +#define cOCTVC1_GSM_CMI_PHASE_ENUM_EVEN 0 +#define cOCTVC1_GSM_CMI_PHASE_ENUM_ODD 1 + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_AMR_CODEC_MODE_ENUM : AMR codec mode. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_AMR_CODEC_MODE_ENUM tOCT_UINT8 + +#define cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_4_75 0x00 +#define cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_5_15 0x01 +#define cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_5_90 0x02 +#define cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_6_70 0x03 +#define cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_7_40 0x04 +#define cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_7_95 0x05 +#define cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_10_2 0x07 +#define cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_RATE_12_2 0x08 +#define cOCTVC1_GSM_AMR_CODEC_MODE_ENUM_UNSET 0x0f + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_ID_DIRECTION_ENUM : Sub Channel Direction. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_ID_DIRECTION_ENUM tOCT_UINT8 + +#define cOCTVC1_GSM_ID_DIRECTION_ENUM_NONE 0 +#define cOCTVC1_GSM_ID_DIRECTION_ENUM_RX_BTS_MS 1 +#define cOCTVC1_GSM_ID_DIRECTION_ENUM_TX_BTS_MS 3 + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_DIRECTION_ENUM : Sub Channel Direction. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_DIRECTION_ENUM tOCT_UINT8 + +#define cOCTVC1_GSM_DIRECTION_ENUM_NONE cOCTVC1_GSM_ID_DIRECTION_ENUM_NONE +#define cOCTVC1_GSM_DIRECTION_ENUM_RX_BTS_MS cOCTVC1_GSM_ID_DIRECTION_ENUM_RX_BTS_MS +#define cOCTVC1_GSM_DIRECTION_ENUM_TX_BTS_MS cOCTVC1_GSM_ID_DIRECTION_ENUM_TX_BTS_MS + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_ID_TIMESLOT_NB_ENUM : Time slot number. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_ID_TIMESLOT_NB_ENUM tOCT_UINT8 + +#define cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_0 0 +#define cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_1 1 +#define cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_2 2 +#define cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_3 3 +#define cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_4 4 +#define cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_5 5 +#define cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_6 6 +#define cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_7 7 + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_TIMESLOT_NB_ENUM : Time slot number. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_TIMESLOT_NB_ENUM tOCT_UINT32 + +#define cOCTVC1_GSM_TIMESLOT_NB_ENUM_0 cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_0 +#define cOCTVC1_GSM_TIMESLOT_NB_ENUM_1 cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_1 +#define cOCTVC1_GSM_TIMESLOT_NB_ENUM_2 cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_2 +#define cOCTVC1_GSM_TIMESLOT_NB_ENUM_3 cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_3 +#define cOCTVC1_GSM_TIMESLOT_NB_ENUM_4 cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_4 +#define cOCTVC1_GSM_TIMESLOT_NB_ENUM_5 cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_5 +#define cOCTVC1_GSM_TIMESLOT_NB_ENUM_6 cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_6 +#define cOCTVC1_GSM_TIMESLOT_NB_ENUM_7 cOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_7 + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM : Sub Channel number. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM tOCT_UINT8 + +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_0 0 +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_1 1 +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_2 2 +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_2 2 +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_3 3 +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_4 4 +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_5 5 +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_6 6 +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_7 7 +#define cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_ALL 0xF1 + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_SUB_CHANNEL_NB_ENUM : Sub Channel number. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_SUB_CHANNEL_NB_ENUM tOCT_UINT32 + +#define cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_0 cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_0 +#define cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_1 cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_1 +#define cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_2 cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_2 +#define cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_3 cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_3 +#define cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_4 cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_4 +#define cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_5 cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_5 +#define cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_6 cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_6 +#define cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_7 cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_7 +#define cOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_ALL cOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_ALL + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_CIPHERING_ID_ENUM : Sub Channel Direction. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_CIPHERING_ID_ENUM tOCT_UINT32 + +#define cOCTVC1_GSM_CIPHERING_ID_ENUM_UNUSED 0 +#define cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_0 1 +#define cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_1 2 +#define cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_2 3 +#define cOCTVC1_GSM_CIPHERING_ID_ENUM_A5_3 4 + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_SUBCHANNEL_MASK : Sub channel Mask. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_SUBCHANNEL_MASK tOCT_UINT32 + +#define cOCTVC1_GSM_SUBCHANNEL_MASK_0 ((tOCT_UINT32)(1<<0) ) +#define cOCTVC1_GSM_SUBCHANNEL_MASK_1 ((tOCT_UINT32)(1<<1) ) +#define cOCTVC1_GSM_SUBCHANNEL_MASK_2 ((tOCT_UINT32)(1<<2) ) +#define cOCTVC1_GSM_SUBCHANNEL_MASK_3 ((tOCT_UINT32)(1<<3) ) +#define cOCTVC1_GSM_SUBCHANNEL_MASK_4 ((tOCT_UINT32)(1<<4) ) +#define cOCTVC1_GSM_SUBCHANNEL_MASK_5 ((tOCT_UINT32)(1<<5) ) +#define cOCTVC1_GSM_SUBCHANNEL_MASK_6 ((tOCT_UINT32)(1<<6) ) +#define cOCTVC1_GSM_SUBCHANNEL_MASK_7 ((tOCT_UINT32)(1<<7) ) + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_BURST_TYPE_ENUM : Burst type. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_BURST_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_GSM_BURST_TYPE_ENUM_SYNC 0 +#define cOCTVC1_GSM_BURST_TYPE_ENUM_NORMAL 1 +#define cOCTVC1_GSM_BURST_TYPE_ENUM_DUMMY 2 +#define cOCTVC1_GSM_BURST_TYPE_ENUM_NORMAL_8PSK 3 +#define cOCTVC1_GSM_BURST_TYPE_ENUM_ACCESS_TRAINING_0 4 +#define cOCTVC1_GSM_BURST_TYPE_ENUM_ACCESS_TRAINING_1 5 +#define cOCTVC1_GSM_BURST_TYPE_ENUM_ACCESS_TRAINING_2 6 +#define cOCTVC1_GSM_BURST_TYPE_ENUM_FREQ_CORRECTION 7 + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM : Timeslot channel type. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM tOCT_UINT32 + +#define cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_EMPTY 0 +#define cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_TCHF_FACCHF_SACCHTF 1 +#define cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_TCHH_FACCHH_SACCHTH 2 +#define cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_FCCH_SCH_BCCH_CCCH 3 +#define cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_FCCH_SCH_BCCH_CCCH_SDCCH4_SACCHC4 4 +#define cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_SDCCH8_SACCHC8 5 +#define cOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_PDTCHF_PACCHF_PTCCHF 6 + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_PAYLOAD_TYPE_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_PAYLOAD_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_NONE 0 +#define cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_FULL_RATE 1 +#define cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_ENH_FULL_RATE 2 +#define cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_HALF_RATE 3 +#define cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_AMR_FULL_RATE 4 +#define cOCTVC1_GSM_PAYLOAD_TYPE_ENUM_AMR_HALF_RATE 5 + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_SAPI_ENUM : Timeslot channel type. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_SAPI_ENUM tOCT_UINT8 + +#define cOCTVC1_GSM_SAPI_ENUM_IDLE 0 +#define cOCTVC1_GSM_SAPI_ENUM_FCCH 1 /* Frequency Correction burst pseudo-Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_SCH 2 /* Synchronization channel */ +#define cOCTVC1_GSM_SAPI_ENUM_SACCH 3 /* Slow Associated Control Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_SDCCH 4 /* Stand-Alone Dedicated Control Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_BCCH 5 /* Broadcast Control Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_PCH_AGCH 7 /* Paging and Access Grant Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_CBCH 8 /* Cell Broadcast Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_RACH 9 /* Random Access Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_TCHF 10 /* Full rate speech TCH */ +#define cOCTVC1_GSM_SAPI_ENUM_FACCHF 11 /* Full rate FACCH */ +#define cOCTVC1_GSM_SAPI_ENUM_TCHH 12 /* Half rate speech TCH */ +#define cOCTVC1_GSM_SAPI_ENUM_FACCHH 13 /* Half rate FACCH */ +#define cOCTVC1_GSM_SAPI_ENUM_NCH 14 /* Notification Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_PDTCH 15 /* EGPRS Packet Data Traffic Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_PACCH 16 /* EGPRS Packet Associated Control Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_PBCCH 17 /* EGPRS Packet Broadcast Control Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_PAGCH 18 /* EGPRS Packet Access Grant Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_PPCH 19 /* EGPRS Packet Paging Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_PNCH 20 /* EGPRS Packet Notification Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_PTCCH 21 /* EGPRS Packet Timing advance Control Channel */ +#define cOCTVC1_GSM_SAPI_ENUM_PRACH 22 /* EGPRS Packet Random Access Channel */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_GSM_SAPI_MASK : SAPI_MASK +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_GSM_SAPI_MASK tOCT_UINT32 + +#define cOCTVC1_GSM_SAPI_MASK_IDLE ((tOCT_UINT32)(1<TrxId ); } \ +} +#else +#define mOCTVC1_GSM_TRX_ID_CURSOR_SWAP( pOCTVC1_GSM_TRX_ID_CURSOR ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_TRX_ID_GET_CURSOR_SWAP( _f_pParms ){ tOCTVC1_GSM_TRX_ID_GET_CURSOR * pOCTVC1_GSM_TRX_ID_GET_CURSOR = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_TRX_ID_GET_CURSOR)\ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_TRX_ID_GET_CURSOR *)pOCTVC1_GSM_TRX_ID_GET_CURSOR)->TrxId ); } \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_GSM_TRX_ID_GET_CURSOR *)pOCTVC1_GSM_TRX_ID_GET_CURSOR)->ulGetMode ); } \ +} +#else +#define mOCTVC1_GSM_TRX_ID_GET_CURSOR_SWAP( pOCTVC1_GSM_TRX_ID_GET_CURSOR ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_SWAP( pType ){ \ + *((tOCT_UINT16 *)pType) = mOCT_SWAP16_IF_LE( *((tOCT_UINT16 *)pType) ); } +#else + +#define mOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_RF_CONFIG_SWAP( _f_pParms ){ tOCTVC1_GSM_RF_CONFIG * pOCTVC1_GSM_RF_CONFIG = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_RF_CONFIG)\ + ((tOCTVC1_GSM_RF_CONFIG *)pOCTVC1_GSM_RF_CONFIG)->ulRxGainDb = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_RF_CONFIG *)pOCTVC1_GSM_RF_CONFIG)->ulRxGainDb); \ + ((tOCTVC1_GSM_RF_CONFIG *)pOCTVC1_GSM_RF_CONFIG)->ulTxAttndB = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_RF_CONFIG *)pOCTVC1_GSM_RF_CONFIG)->ulTxAttndB); \ +} +#else +#define mOCTVC1_GSM_RF_CONFIG_SWAP( pOCTVC1_GSM_RF_CONFIG ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_TRX_CONFIG_SWAP( _f_pParms ){ tOCTVC1_GSM_TRX_CONFIG * pOCTVC1_GSM_TRX_CONFIG = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_TRX_CONFIG)\ + { mOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_SWAP( &((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->ulBand ); } \ + ((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usTsc = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usTsc); \ + ((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usArfcn = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usArfcn); \ + ((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usBcchArfcn = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usBcchArfcn); \ + ((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usHsn = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usHsn); \ + ((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usMaio = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usMaio); \ + ((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usReserve = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->usReserve); \ + ((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->ulHoppingFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->ulHoppingFlag); \ + ((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->ulHoppingListLength = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->ulHoppingListLength); \ + { tOCT_UINT32 iOCTVC1_GSM_TRX_CONFIG; \ + for( iOCTVC1_GSM_TRX_CONFIG=0; \ + iOCTVC1_GSM_TRX_CONFIG<(cOCTVC1_GSM_HOPPING_LIST_MAX_ENTRY);iOCTVC1_GSM_TRX_CONFIG++ ) \ + ((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->ausHoppingList[iOCTVC1_GSM_TRX_CONFIG] = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_TRX_CONFIG *)pOCTVC1_GSM_TRX_CONFIG)->ausHoppingList[iOCTVC1_GSM_TRX_CONFIG]);} \ +} +#else +#define mOCTVC1_GSM_TRX_CONFIG_SWAP( pOCTVC1_GSM_TRX_CONFIG ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_TRX_STATUS_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_GSM_TRX_STATUS_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( _f_pParms ){ tOCTVC1_GSM_PHYSICAL_CHANNEL_ID * pOCTVC1_GSM_PHYSICAL_CHANNEL_ID = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_PHYSICAL_CHANNEL_ID)\ + { mOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_SWAP( &((tOCTVC1_GSM_PHYSICAL_CHANNEL_ID *)pOCTVC1_GSM_PHYSICAL_CHANNEL_ID)->byTimeslotNb ); } \ +} +#else +#define mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( pOCTVC1_GSM_PHYSICAL_CHANNEL_ID ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR_SWAP( _f_pParms ){ tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR * pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR)\ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR *)pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR_SWAP( pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR_SWAP( _f_pParms ){ tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR * pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR)\ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR *)pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR *)pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR)->PchId ); } \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR *)pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR)->ulGetMode ); } \ +} +#else +#define mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR_SWAP( pOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_SUBCHANNEL_STATUS_SWAP( _f_pParms ){ tOCTVC1_GSM_SUBCHANNEL_STATUS * pOCTVC1_GSM_SUBCHANNEL_STATUS = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_SUBCHANNEL_STATUS)\ + ((tOCTVC1_GSM_SUBCHANNEL_STATUS *)pOCTVC1_GSM_SUBCHANNEL_STATUS)->ulSubchannelNb = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_SUBCHANNEL_STATUS *)pOCTVC1_GSM_SUBCHANNEL_STATUS)->ulSubchannelNb); \ + { mOCTVC1_GSM_SAPI_MASK_SWAP( &((tOCTVC1_GSM_SUBCHANNEL_STATUS *)pOCTVC1_GSM_SUBCHANNEL_STATUS)->ulActiveUplinkSAPIMask ); } \ + { mOCTVC1_GSM_SAPI_MASK_SWAP( &((tOCTVC1_GSM_SUBCHANNEL_STATUS *)pOCTVC1_GSM_SUBCHANNEL_STATUS)->ulActiveDownlinkSAPIMask ); } \ +} +#else +#define mOCTVC1_GSM_SUBCHANNEL_STATUS_SWAP( pOCTVC1_GSM_SUBCHANNEL_STATUS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_CIPHER_CONFIG_SWAP( _f_pParms ){ tOCTVC1_GSM_CIPHER_CONFIG * pOCTVC1_GSM_CIPHER_CONFIG = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_CIPHER_CONFIG)\ + { mOCTVC1_GSM_CIPHERING_ID_ENUM_SWAP( &((tOCTVC1_GSM_CIPHER_CONFIG *)pOCTVC1_GSM_CIPHER_CONFIG)->ulCipherId ); } \ +} +#else +#define mOCTVC1_GSM_CIPHER_CONFIG_SWAP( pOCTVC1_GSM_CIPHER_CONFIG ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( _f_pParms ){ tOCTVC1_GSM_LOGICAL_CHANNEL_ID * pOCTVC1_GSM_LOGICAL_CHANNEL_ID = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_LOGICAL_CHANNEL_ID)\ + { mOCTVC1_GSM_ID_TIMESLOT_NB_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID)->byTimeslotNb ); } \ + { mOCTVC1_GSM_ID_SUB_CHANNEL_NB_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID)->bySubChannelNb ); } \ + { mOCTVC1_GSM_SAPI_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID)->bySAPI ); } \ + { mOCTVC1_GSM_ID_DIRECTION_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID)->byDirection ); } \ +} +#else +#define mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( pOCTVC1_GSM_LOGICAL_CHANNEL_ID ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR_SWAP( _f_pParms ){ tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR * pOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR)\ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR_SWAP( pOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR_SWAP( _f_pParms ){ tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR * pOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR)\ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR)->LchId ); } \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR *)pOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR)->ulGetMode ); } \ +} +#else +#define mOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR_SWAP( pOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG_SWAP( _f_pParms ){ tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG * pOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG)\ + { mOCTVC1_GSM_CMI_PHASE_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG *)pOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG)->byCmiPhase ); } \ + { mOCTVC1_GSM_AMR_CODEC_MODE_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG *)pOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG)->byInitRate ); } \ + { tOCT_UINT32 jOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG; \ + for( jOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG=0; \ + jOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG<(cOCTVC1_GSM_RATE_LIST_SIZE);jOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG++ ) \ + { mOCTVC1_GSM_AMR_CODEC_MODE_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG *)pOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG)->abyRate[jOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG] ); }} \ +} +#else +#define mOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG_SWAP( pOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_LOGICAL_CHANNEL_DATA_SWAP( _f_pParms ){ tOCTVC1_GSM_LOGICAL_CHANNEL_DATA * pOCTVC1_GSM_LOGICAL_CHANNEL_DATA = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_LOGICAL_CHANNEL_DATA)\ + ((tOCTVC1_GSM_LOGICAL_CHANNEL_DATA *)pOCTVC1_GSM_LOGICAL_CHANNEL_DATA)->ulFrameNumber = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_LOGICAL_CHANNEL_DATA *)pOCTVC1_GSM_LOGICAL_CHANNEL_DATA)->ulFrameNumber); \ + { mOCTVC1_GSM_PAYLOAD_TYPE_ENUM_SWAP( &((tOCTVC1_GSM_LOGICAL_CHANNEL_DATA *)pOCTVC1_GSM_LOGICAL_CHANNEL_DATA)->ulPayloadType ); } \ + ((tOCTVC1_GSM_LOGICAL_CHANNEL_DATA *)pOCTVC1_GSM_LOGICAL_CHANNEL_DATA)->ulDataLength = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_LOGICAL_CHANNEL_DATA *)pOCTVC1_GSM_LOGICAL_CHANNEL_DATA)->ulDataLength); \ +} +#else +#define mOCTVC1_GSM_LOGICAL_CHANNEL_DATA_SWAP( pOCTVC1_GSM_LOGICAL_CHANNEL_DATA ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA_SWAP( _f_pParms ){ tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA * pOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA)\ + ((tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA *)pOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA)->ulFrameNumber = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA *)pOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA)->ulFrameNumber); \ + ((tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA *)pOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA)->ulDataLength = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA *)pOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA)->ulDataLength); \ +} +#else +#define mOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA_SWAP( pOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MEASUREMENT_INFO_SWAP( _f_pParms ){ tOCTVC1_GSM_MEASUREMENT_INFO * pOCTVC1_GSM_MEASUREMENT_INFO = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MEASUREMENT_INFO)\ + ((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->sSNR = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->sSNR); \ + ((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->sRSSI = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->sRSSI); \ + ((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->sBurstTiming = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->sBurstTiming); \ + ((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->usBERCount = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->usBERCount); \ + ((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->usBERTOtalBitCOunt = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MEASUREMENT_INFO *)pOCTVC1_GSM_MEASUREMENT_INFO)->usBERTOtalBitCOunt); \ +} +#else +#define mOCTVC1_GSM_MEASUREMENT_INFO_SWAP( pOCTVC1_GSM_MEASUREMENT_INFO ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_RAW_MEASUREMENT_INFO_SWAP( _f_pParms ){ tOCTVC1_GSM_RAW_MEASUREMENT_INFO * pOCTVC1_GSM_RAW_MEASUREMENT_INFO = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_RAW_MEASUREMENT_INFO)\ + ((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->sSNR = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->sSNR); \ + ((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->sRSSI = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->sRSSI); \ + ((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->sBurstTiming = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->sBurstTiming); \ + ((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->usBERCount = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->usBERCount); \ + ((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->usBERTOtalBitCOunt = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->usBERTOtalBitCOunt); \ + ((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->usTrnSqErrorCount = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->usTrnSqErrorCount); \ + ((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->usTrnSqTotalBitCount = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->usTrnSqTotalBitCount); \ + ((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->sfrquencyError = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_RAW_MEASUREMENT_INFO *)pOCTVC1_GSM_RAW_MEASUREMENT_INFO)->sfrquencyError); \ +} +#else +#define mOCTVC1_GSM_RAW_MEASUREMENT_INFO_SWAP( pOCTVC1_GSM_RAW_MEASUREMENT_INFO ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_TIMESLOT_POWER_SWAP( _f_pParms ){ tOCTVC1_GSM_TIMESLOT_POWER * pOCTVC1_GSM_TIMESLOT_POWER = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_TIMESLOT_POWER)\ + ((tOCTVC1_GSM_TIMESLOT_POWER *)pOCTVC1_GSM_TIMESLOT_POWER)->ulPowerMax = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_TIMESLOT_POWER *)pOCTVC1_GSM_TIMESLOT_POWER)->ulPowerMax); \ + ((tOCTVC1_GSM_TIMESLOT_POWER *)pOCTVC1_GSM_TIMESLOT_POWER)->ulPowerAverage = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_TIMESLOT_POWER *)pOCTVC1_GSM_TIMESLOT_POWER)->ulPowerAverage); \ + ((tOCTVC1_GSM_TIMESLOT_POWER *)pOCTVC1_GSM_TIMESLOT_POWER)->ulCount = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_TIMESLOT_POWER *)pOCTVC1_GSM_TIMESLOT_POWER)->ulCount); \ +} +#else +#define mOCTVC1_GSM_TIMESLOT_POWER_SWAP( pOCTVC1_GSM_TIMESLOT_POWER ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_PHYSICAL_STATUS_SWAP( _f_pParms ){ tOCTVC1_GSM_PHYSICAL_STATUS * pOCTVC1_GSM_PHYSICAL_STATUS = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_PHYSICAL_STATUS)\ + { mOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_SWAP( &((tOCTVC1_GSM_PHYSICAL_STATUS *)pOCTVC1_GSM_PHYSICAL_STATUS)->ulChannelType ); } \ + ((tOCTVC1_GSM_PHYSICAL_STATUS *)pOCTVC1_GSM_PHYSICAL_STATUS)->ulSubchannelCount = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_PHYSICAL_STATUS *)pOCTVC1_GSM_PHYSICAL_STATUS)->ulSubchannelCount); \ + ((tOCTVC1_GSM_PHYSICAL_STATUS *)pOCTVC1_GSM_PHYSICAL_STATUS)->ulTchDataCrcPassCount = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_PHYSICAL_STATUS *)pOCTVC1_GSM_PHYSICAL_STATUS)->ulTchDataCrcPassCount); \ + ((tOCTVC1_GSM_PHYSICAL_STATUS *)pOCTVC1_GSM_PHYSICAL_STATUS)->ulTchDataCrcFailCount = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_PHYSICAL_STATUS *)pOCTVC1_GSM_PHYSICAL_STATUS)->ulTchDataCrcFailCount); \ + ((tOCTVC1_GSM_PHYSICAL_STATUS *)pOCTVC1_GSM_PHYSICAL_STATUS)->ulRachCount = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_PHYSICAL_STATUS *)pOCTVC1_GSM_PHYSICAL_STATUS)->ulRachCount); \ +} +#else +#define mOCTVC1_GSM_PHYSICAL_STATUS_SWAP( pOCTVC1_GSM_PHYSICAL_STATUS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_TIMESLOT_STATUS_SWAP( _f_pParms ){ tOCTVC1_GSM_TIMESLOT_STATUS * pOCTVC1_GSM_TIMESLOT_STATUS = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_TIMESLOT_STATUS)\ + { mOCTVC1_GSM_PHYSICAL_STATUS_SWAP( &((tOCTVC1_GSM_TIMESLOT_STATUS *)pOCTVC1_GSM_TIMESLOT_STATUS)->PhysicalStatus ); } \ + { mOCTVC1_GSM_TIMESLOT_POWER_SWAP( &((tOCTVC1_GSM_TIMESLOT_STATUS *)pOCTVC1_GSM_TIMESLOT_STATUS)->UplinkPower ); } \ +} +#else +#define mOCTVC1_GSM_TIMESLOT_STATUS_SWAP( pOCTVC1_GSM_TIMESLOT_STATUS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_DL_STATUS_SWAP( _f_pParms ){ tOCTVC1_GSM_DL_STATUS * pOCTVC1_GSM_DL_STATUS = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_DL_STATUS)\ + ((tOCTVC1_GSM_DL_STATUS *)pOCTVC1_GSM_DL_STATUS)->ulElapseRspCmdMaxUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_DL_STATUS *)pOCTVC1_GSM_DL_STATUS)->ulElapseRspCmdMaxUs); \ + ((tOCTVC1_GSM_DL_STATUS *)pOCTVC1_GSM_DL_STATUS)->ulElapseRspCmdAvgUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_DL_STATUS *)pOCTVC1_GSM_DL_STATUS)->ulElapseRspCmdAvgUs); \ + ((tOCTVC1_GSM_DL_STATUS *)pOCTVC1_GSM_DL_STATUS)->ulExpectedDelayExceedCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_DL_STATUS *)pOCTVC1_GSM_DL_STATUS)->ulExpectedDelayExceedCnt); \ +} +#else +#define mOCTVC1_GSM_DL_STATUS_SWAP( pOCTVC1_GSM_DL_STATUS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_UL_STATUS_SWAP( _f_pParms ){ tOCTVC1_GSM_UL_STATUS * pOCTVC1_GSM_UL_STATUS = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_UL_STATUS)\ + ((tOCTVC1_GSM_UL_STATUS *)pOCTVC1_GSM_UL_STATUS)->ulExceedByteMaxCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_UL_STATUS *)pOCTVC1_GSM_UL_STATUS)->ulExceedByteMaxCnt); \ + ((tOCTVC1_GSM_UL_STATUS *)pOCTVC1_GSM_UL_STATUS)->ulExpectedDataExceedCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_UL_STATUS *)pOCTVC1_GSM_UL_STATUS)->ulExpectedDataExceedCnt); \ +} +#else +#define mOCTVC1_GSM_UL_STATUS_SWAP( pOCTVC1_GSM_UL_STATUS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_SCHED_STATUS_SWAP( _f_pParms ){ tOCTVC1_GSM_SCHED_STATUS * pOCTVC1_GSM_SCHED_STATUS = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_SCHED_STATUS)\ + ((tOCTVC1_GSM_SCHED_STATUS *)pOCTVC1_GSM_SCHED_STATUS)->ulErrorDataInactiveCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_SCHED_STATUS *)pOCTVC1_GSM_SCHED_STATUS)->ulErrorDataInactiveCnt); \ +} +#else +#define mOCTVC1_GSM_SCHED_STATUS_SWAP( pOCTVC1_GSM_SCHED_STATUS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_OPEN_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_OPEN_CMD * pOCTVC1_GSM_MSG_TRX_OPEN_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_OPEN_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_OPEN_CMD *)pOCTVC1_GSM_MSG_TRX_OPEN_CMD)->Header ); } \ + ((tOCTVC1_GSM_MSG_TRX_OPEN_CMD *)pOCTVC1_GSM_MSG_TRX_OPEN_CMD)->ulRfPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_OPEN_CMD *)pOCTVC1_GSM_MSG_TRX_OPEN_CMD)->ulRfPortIndex); \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_OPEN_CMD *)pOCTVC1_GSM_MSG_TRX_OPEN_CMD)->TrxId ); } \ + { mOCTVC1_GSM_TRX_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_OPEN_CMD *)pOCTVC1_GSM_MSG_TRX_OPEN_CMD)->Config ); } \ + { mOCTVC1_GSM_RF_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_OPEN_CMD *)pOCTVC1_GSM_MSG_TRX_OPEN_CMD)->RfConfig ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_OPEN_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_OPEN_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_OPEN_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_OPEN_RSP * pOCTVC1_GSM_MSG_TRX_OPEN_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_OPEN_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_OPEN_RSP *)pOCTVC1_GSM_MSG_TRX_OPEN_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_OPEN_RSP *)pOCTVC1_GSM_MSG_TRX_OPEN_RSP)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_OPEN_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_OPEN_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_CLOSE_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_CLOSE_CMD * pOCTVC1_GSM_MSG_TRX_CLOSE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_CLOSE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_CLOSE_CMD *)pOCTVC1_GSM_MSG_TRX_CLOSE_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_CLOSE_CMD *)pOCTVC1_GSM_MSG_TRX_CLOSE_CMD)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_CLOSE_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_CLOSE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_CLOSE_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_CLOSE_RSP * pOCTVC1_GSM_MSG_TRX_CLOSE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_CLOSE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_CLOSE_RSP *)pOCTVC1_GSM_MSG_TRX_CLOSE_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_CLOSE_RSP *)pOCTVC1_GSM_MSG_TRX_CLOSE_RSP)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_CLOSE_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_CLOSE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STATUS_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_CMD * pOCTVC1_GSM_MSG_TRX_STATUS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STATUS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_CMD)->TrxId ); } \ + ((tOCTVC1_GSM_MSG_TRX_STATUS_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_CMD)->ulResetFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_STATUS_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_CMD)->ulResetFlag); \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STATUS_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STATUS_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_RSP * pOCTVC1_GSM_MSG_TRX_STATUS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STATUS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_RSP)->TrxId ); } \ + { mOCTVC1_GSM_DL_STATUS_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_RSP)->DlStatus ); } \ + { mOCTVC1_GSM_UL_STATUS_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_RSP)->UlStatus ); } \ + { mOCTVC1_GSM_SCHED_STATUS_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_RSP)->SchedStatus ); } \ + { tOCT_UINT32 jOCTVC1_GSM_MSG_TRX_STATUS_RSP; \ + for( jOCTVC1_GSM_MSG_TRX_STATUS_RSP=0; \ + jOCTVC1_GSM_MSG_TRX_STATUS_RSP<(cOCTVC1_GSM_TRX_MAX_TIMESLOTS);jOCTVC1_GSM_MSG_TRX_STATUS_RSP++ ) \ + { mOCTVC1_GSM_TIMESLOT_STATUS_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_RSP)->aTSlotStatus[jOCTVC1_GSM_MSG_TRX_STATUS_RSP] ); }} \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STATUS_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_CMD * pOCTVC1_GSM_MSG_TRX_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_CMD)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_RSP * pOCTVC1_GSM_MSG_TRX_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_RSP)->TrxId ); } \ + ((tOCTVC1_GSM_MSG_TRX_INFO_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_RSP)->ulRfPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_INFO_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_RSP)->ulRfPortIndex); \ + { mOCTVC1_GSM_TRX_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_RSP)->Config ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_RESET_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_RESET_CMD * pOCTVC1_GSM_MSG_TRX_RESET_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_RESET_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_CMD *)pOCTVC1_GSM_MSG_TRX_RESET_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_CMD *)pOCTVC1_GSM_MSG_TRX_RESET_CMD)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_RESET_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_RESET_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_RESET_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_RESET_RSP * pOCTVC1_GSM_MSG_TRX_RESET_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_RESET_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_RSP *)pOCTVC1_GSM_MSG_TRX_RESET_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_RSP *)pOCTVC1_GSM_MSG_TRX_RESET_RSP)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_RESET_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_RESET_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_MODIFY_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_MODIFY_CMD * pOCTVC1_GSM_MSG_TRX_MODIFY_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_MODIFY_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_CMD)->TrxId ); } \ + { mOCTVC1_GSM_TRX_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_CMD)->Config ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_MODIFY_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_MODIFY_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_MODIFY_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_MODIFY_RSP * pOCTVC1_GSM_MSG_TRX_MODIFY_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_MODIFY_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_RSP *)pOCTVC1_GSM_MSG_TRX_MODIFY_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_RSP *)pOCTVC1_GSM_MSG_TRX_MODIFY_RSP)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_MODIFY_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_MODIFY_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_LIST_CMD * pOCTVC1_GSM_MSG_TRX_LIST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_LIST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_CMD *)pOCTVC1_GSM_MSG_TRX_LIST_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_GET_CURSOR_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_CMD *)pOCTVC1_GSM_MSG_TRX_LIST_CMD)->TrxIdCursor ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LIST_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_LIST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_LIST_RSP * pOCTVC1_GSM_MSG_TRX_LIST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_LIST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_GET_CURSOR_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_RSP)->TrxIdCursor ); } \ + ((tOCTVC1_GSM_MSG_TRX_LIST_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_RSP)->ulNumTrxId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_LIST_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_RSP)->ulNumTrxId); \ + { tOCT_UINT32 jOCTVC1_GSM_MSG_TRX_LIST_RSP; \ + for( jOCTVC1_GSM_MSG_TRX_LIST_RSP=0; \ + jOCTVC1_GSM_MSG_TRX_LIST_RSP<(cOCTVC1_GSM_TRX_ID_LIST_MAX_ENTRY);jOCTVC1_GSM_MSG_TRX_LIST_RSP++ ) \ + { mOCTVC1_GSM_TRX_ID_CURSOR_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_RSP)->aTrxId[jOCTVC1_GSM_MSG_TRX_LIST_RSP] ); }} \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LIST_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_LIST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CMD * pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CMD *)pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CMD)->Header ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP * pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP *)pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP)->Header ); } \ + ((tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP *)pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP)->ulCloseCount = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP *)pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP)->ulCloseCount); \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_CLOSE_ALL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_START_RECORD_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD * pOCTVC1_GSM_MSG_TRX_START_RECORD_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_START_RECORD_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD *)pOCTVC1_GSM_MSG_TRX_START_RECORD_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_RECORD_CMD *)pOCTVC1_GSM_MSG_TRX_START_RECORD_CMD)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_START_RECORD_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_START_RECORD_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_START_RECORD_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP * pOCTVC1_GSM_MSG_TRX_START_RECORD_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_START_RECORD_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP *)pOCTVC1_GSM_MSG_TRX_START_RECORD_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_RECORD_RSP *)pOCTVC1_GSM_MSG_TRX_START_RECORD_RSP)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_START_RECORD_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_START_RECORD_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD * pOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD *)pOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD *)pOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_STOP_RECORD_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP * pOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP *)pOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP *)pOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_STOP_RECORD_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD)->LchId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD)->Config ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP)->LchId ); } \ + ((tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP)->usStatus = \ + mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP)->usStatus); \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP)->LchId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP)->Config ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD)->LchIdCursor ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_GET_CURSOR_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP)->LchIdCursor ); } \ + ((tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP)->ulNumLchId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP)->ulNumLchId); \ + { tOCT_UINT32 jOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP; \ + for( jOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP=0; \ + jOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP<(cOCTVC1_GSM_LOGICAL_CHANNEL_ID_LIST_MAX_ENTRY);jOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP++ ) \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_CURSOR_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP)->aLchId[jOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP] ); }} \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD * pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD)->LchId ); } \ + ((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD)->ulFrameNumber = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD)->ulFrameNumber); \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP * pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD * pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD)->LchId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_DATA_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD)->Data ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP * pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD)->PchId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD)->ulChannelType ); } \ + { mOCTVC1_GSM_PAYLOAD_TYPE_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD)->ulPayloadType ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD)->PchId ); } \ + ((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD)->ulResetFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD)->ulResetFlag); \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP)->PchId ); } \ + { mOCTVC1_GSM_PHYSICAL_STATUS_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP)->PhysicalStatus ); } \ + { tOCT_UINT32 jOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP; \ + for( jOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP=0; \ + jOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP<(cOCTVC1_GSM_TIMESLOT_MAX_SUBCHANNEL);jOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP++ ) \ + { mOCTVC1_GSM_SUBCHANNEL_STATUS_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP)->aSubchannnelStatus[jOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP] ); }} \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD)->PchIdCursor ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_GET_CURSOR_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP)->PchIdCursor ); } \ + ((tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP)->ulNumPchId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP)->ulNumPchId); \ + { tOCT_UINT32 jOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP; \ + for( jOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP=0; \ + jOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP<(cOCTVC1_GSM_PHYSICAL_CHANNEL_ID_LIST_MAX_ENTRY);jOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP++ ) \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_CURSOR_SWAP( &((tOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP)->aPchId[jOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP] ); }} \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD * pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP * pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP)->PchId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_COMBINATION_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP)->ulChannelType ); } \ + { mOCTVC1_GSM_PAYLOAD_TYPE_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP)->ulPayloadType ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD * pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD)->PchId ); } \ + { mOCTVC1_GSM_SUB_CHANNEL_NB_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD)->ulSubchannelNb ); } \ + { mOCTVC1_GSM_DIRECTION_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD)->ulDirection ); } \ + { mOCTVC1_GSM_CIPHER_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD)->Config ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP * pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP *)pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP *)pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP *)pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD * pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP * pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP)->PchId ); } \ + { mOCTVC1_GSM_SUBCHANNEL_MASK_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP)->ulTxSubChannelMask ); } \ + { mOCTVC1_GSM_SUBCHANNEL_MASK_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP)->ulRxSubChannelMask ); } \ + { tOCT_UINT32 jOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP; \ + for( jOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP=0; \ + jOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP<(cOCTVC1_GSM_TIMESLOT_MAX_SUBCHANNEL);jOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP++ ) \ + { mOCTVC1_GSM_CIPHER_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP)->Config[jOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP] ); }} \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD * pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD)->PchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP * pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP)->TrxId ); } \ + { mOCTVC1_GSM_PHYSICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP)->PchId ); } \ + { mOCTVC1_GSM_MEASUREMENT_INFO_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP)->MeasurementInfo ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_RF_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD * pOCTVC1_GSM_MSG_TRX_INFO_RF_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_RF_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_RF_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_RF_CMD *)pOCTVC1_GSM_MSG_TRX_INFO_RF_CMD)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_RF_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_RF_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_INFO_RF_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP * pOCTVC1_GSM_MSG_TRX_INFO_RF_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_INFO_RF_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_RF_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_RF_RSP)->TrxId ); } \ + { mOCTVC1_GSM_RF_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_INFO_RF_RSP *)pOCTVC1_GSM_MSG_TRX_INFO_RF_RSP)->RfConfig ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_INFO_RF_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_INFO_RF_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD * pOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD)->TrxId ); } \ + { mOCTVC1_GSM_RF_CONFIG_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD *)pOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD)->RfConfig ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_MODIFY_RF_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP * pOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP *)pOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP *)pOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP)->TrxId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_MODIFY_RF_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD * pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD *)pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD *)pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD *)pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP * pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP *)pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP *)pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP *)pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD * pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD *)pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD *)pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD *)pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP * pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP *)pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP *)pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP *)pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP)->LchId ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_GSM_API_SWAP_H__ */ diff --git a/software/include/octvc1/gsm/octvc1_gsm_base.h b/software/include/octvc1/gsm/octvc1_gsm_base.h new file mode 100644 index 0000000..321cc23 --- /dev/null +++ b/software/include/octvc1/gsm/octvc1_gsm_base.h @@ -0,0 +1,51 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GSM_BASE.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the OCTVC1 API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_GSM_BASE_H__ +#define __OCTVC1_GSM_BASE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" + +/**************************************************************************** + Module unique identifiers + ****************************************************************************/ +#define cOCTVC1_GSM_UID ( 0x0B ) + +/**************************************************************************** + Module identifier bases + ****************************************************************************/ + +/* Module: GSM */ +#define cOCTVC1_GSM_CID_BASE ( (cOCTVC1_GSM_UID << 16) + cOCTVC1_CID_BASE ) +#define cOCTVC1_GSM_EID_BASE ( (cOCTVC1_GSM_UID << 16) + cOCTVC1_EID_BASE ) +#define cOCTVC1_GSM_RC_BASE ( (cOCTVC1_GSM_UID << 16) + cOCTVC1_RC_BASE ) + +#endif /* __OCTVC1_GSM_BASE_H__ */ + diff --git a/software/include/octvc1/gsm/octvc1_gsm_default.h b/software/include/octvc1/gsm/octvc1_gsm_default.h new file mode 100644 index 0000000..db0ef32 --- /dev/null +++ b/software/include/octvc1/gsm/octvc1_gsm_default.h @@ -0,0 +1,1981 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GSM_DEFAULT.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the event definition of the GSM API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_GSM_DEFAULT_H__ +#define __OCTVC1_GSM_DEFAULT_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_gsm_api.h" + +/***************************** COMMAND DEFAULT *****************************/ + +/*-------------------------------------------------------------------------- + tOCTVC1_GSM_MSG_TRX_OPEN_CMD +----------------------------------------------------------------------------*/ +#ifdef OCTVC1_OPT_DECLARE_DEFAULTS + +const tOCTVC1_GSM_MSG_TRX_OPEN_CMD buf_tOCTVC1_GSM_MSG_TRX_OPEN_CMD = +{ + { /* Header */ + ((sizeof(tOCTVC1_GSM_MSG_TRX_OPEN_CMD)<Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT)->LchId ); } \ + { mOCTVC1_GSM_MEASUREMENT_INFO_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT)->MeasurementInfo ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_DATA_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT)->Data ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT_SWAP( pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT * pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT)\ + { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT)->LchId ); } \ + ((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT)->ulFrameNumber = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT)->ulFrameNumber); \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT_SWAP( pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT * pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)\ + { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)->LchId ); } \ + { mOCTVC1_GSM_BURST_TYPE_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)->ulBurstType ); } \ + ((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)->ulFrameNumber = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)->ulFrameNumber); \ + { mOCTVC1_GSM_MEASUREMENT_INFO_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)->MeasurementInfo ); } \ + ((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)->ulMsgLength = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT)->ulMsgLength); \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT_SWAP( pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT * pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT)\ + { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT)->TrxId ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT)->LchId ); } \ + { mOCTVC1_GSM_RAW_MEASUREMENT_INFO_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT)->MeasurementInfo ); } \ + { mOCTVC1_GSM_LOGICAL_CHANNEL_RAW_DATA_SWAP( &((tOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT)->Data ); } \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT_SWAP( pOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT * pOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT)\ + { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT)->TrxId ); } \ + ((tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT)->ulFrameNumber = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT *)pOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT)->ulFrameNumber); \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT_SWAP( pOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT * pOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT = (_f_pParms); SWAP_UNUSED(pOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT)\ + { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT *)pOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT)->Header ); } \ + { mOCTVC1_GSM_TRX_ID_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT *)pOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT)->TrxId ); } \ + { mOCTVC1_GSM_TRX_STATUS_ENUM_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT *)pOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT)->ulStatus ); } \ + ((tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT *)pOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT)->ulFrameNumber = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT *)pOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT)->ulFrameNumber); \ +} +#else +#define mOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_GSM_EVT_SWAP_H__ */ diff --git a/software/include/octvc1/gsm/octvc1_gsm_id.h b/software/include/octvc1/gsm/octvc1_gsm_id.h new file mode 100644 index 0000000..e467f9d --- /dev/null +++ b/software/include/octvc1/gsm/octvc1_gsm_id.h @@ -0,0 +1,87 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GSM_ID.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the identifiers for the GSM API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_GSM_ID_H__ +#define __OCTVC1_GSM_ID_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "octvc1_gsm_base.h" + +/**************************************************************************** + Command IDs + ****************************************************************************/ +#define cOCTVC1_GSM_MSG_TRX_OPEN_CID ( ( 0x001 + cOCTVC1_GSM_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) +#define cOCTVC1_GSM_MSG_TRX_CLOSE_CID ( 0x002 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_STATUS_CID ( 0x003 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_INFO_CID ( 0x004 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_RESET_CID ( 0x005 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_MODIFY_CID ( 0x006 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_LIST_CID ( 0x007 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CID ( 0x008 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_START_RECORD_CID ( 0x009 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_STOP_RECORD_CID ( 0x00a + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CID ( 0x00b + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CID ( 0x00c + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CID ( 0x00d + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CID ( 0x00e + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CID ( 0x00f + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CID ( 0x010 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CID ( 0x011 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CID ( 0x012 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CID ( 0x013 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CID ( 0x014 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CID ( 0x015 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CID ( 0x016 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CID ( 0x017 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CID ( 0x018 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CID ( 0x019 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CID ( 0x01a + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_INFO_RF_CID ( 0x01b + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_MODIFY_RF_CID ( 0x01c + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID ( 0x035 + cOCTVC1_GSM_CID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID ( 0x036 + cOCTVC1_GSM_CID_BASE ) + +#define cOCTVC1_GSM_CID_MAX (( 0x036 + 1 ) & 0xFFF) + +/**************************************************************************** + Event IDs + ****************************************************************************/ +#define cOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EID ( 0x0020 + cOCTVC1_GSM_EID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EID ( 0x0021 + cOCTVC1_GSM_EID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EID ( 0x0031 + cOCTVC1_GSM_EID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EID ( 0x0032 + cOCTVC1_GSM_EID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EID ( 0x0033 + cOCTVC1_GSM_EID_BASE ) +#define cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EID ( 0x0034 + cOCTVC1_GSM_EID_BASE ) + +#define cOCTVC1_GSM_EID_MAX (( 0x0034 + 1 ) & 0xFFFF) + + +#endif /* __OCTVC1_GSM_ID_H__ */ + diff --git a/software/include/octvc1/gsm/octvc1_gsm_id_priv.h b/software/include/octvc1/gsm/octvc1_gsm_id_priv.h new file mode 100644 index 0000000..c70d1f5 --- /dev/null +++ b/software/include/octvc1/gsm/octvc1_gsm_id_priv.h @@ -0,0 +1,47 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GSM_ID_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the identifiers for the GSM API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_GSM_ID_PRIV_H__ +#define __OCTVC1_GSM_ID_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_gsm_id.h" +#include "octvc1_gsm_base.h" + +/**************************************************************************** + Command IDs + ****************************************************************************/ + +/**************************************************************************** + Event IDs + ****************************************************************************/ + + +#endif /* __OCTVC1_GSM_ID_PRIV_H__ */ + diff --git a/software/include/octvc1/gsm/octvc1_gsm_rc.h b/software/include/octvc1/gsm/octvc1_gsm_rc.h new file mode 100644 index 0000000..6e8dbcc --- /dev/null +++ b/software/include/octvc1/gsm/octvc1_gsm_rc.h @@ -0,0 +1,107 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GSM_RC.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the return codes for the GSM API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_GSM_RC_H__ +#define OCTVC1_GSM_RC_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "octvc1_gsm_base.h" + +/**************************************************************************** + GSM return codes + ****************************************************************************/ + +/**************************************************************************** + GENERIC return codes + ****************************************************************************/ +#define cOCTVC1_GSM_GENERIC_RC_BASE ( 0x0100 + cOCTVC1_GSM_RC_BASE ) + +#define cOCTVC1_GSM_RC_GENERIC_EVENT_MASK_INVALID ( 0x0000 + cOCTVC1_GSM_GENERIC_RC_BASE ) + +/**************************************************************************** + TRX return codes + ****************************************************************************/ +#define cOCTVC1_GSM_TRX_RC_BASE ( 0x0200 + cOCTVC1_GSM_RC_BASE ) + +#define cOCTVC1_GSM_RC_TRX_RESOURCE_UNAVAILABLE ( 0x0000 + cOCTVC1_GSM_TRX_RC_BASE ) +#define cOCTVC1_GSM_RC_TRX_ALREADY_OPENED ( 0x0001 + cOCTVC1_GSM_TRX_RC_BASE ) +#define cOCTVC1_GSM_RC_TRX_ID_INVALID ( 0x0002 + cOCTVC1_GSM_TRX_RC_BASE ) +#define cOCTVC1_GSM_RC_TRX_NOT_FOUND ( 0x0003 + cOCTVC1_GSM_TRX_RC_BASE ) +#define cOCTVC1_GSM_RC_TRX_RADIO_INIT ( 0x0004 + cOCTVC1_GSM_TRX_RC_BASE ) +#define cOCTVC1_GSM_RC_TRX_RADIO_CONFIG ( 0x0005 + cOCTVC1_GSM_TRX_RC_BASE ) +#define cOCTVC1_GSM_RC_TRX_RADIO_RESET ( 0x0006 + cOCTVC1_GSM_TRX_RC_BASE ) +#define cOCTVC1_GSM_RC_TRX_RADIO_TERMINATE ( 0x0007 + cOCTVC1_GSM_TRX_RC_BASE ) + +/**************************************************************************** + PHYSICAL_CHANNEL return codes + ****************************************************************************/ +#define cOCTVC1_GSM_PHYSICAL_CHANNEL_RC_BASE ( 0x0300 + cOCTVC1_GSM_RC_BASE ) + +#define cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_RESOURCE_UNAVAILABLE ( 0x0000 + cOCTVC1_GSM_PHYSICAL_CHANNEL_RC_BASE ) +#define cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_ALREADY_ACTIVATED ( 0x0001 + cOCTVC1_GSM_PHYSICAL_CHANNEL_RC_BASE ) +#define cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_NOT_ACTIVATED ( 0x0002 + cOCTVC1_GSM_PHYSICAL_CHANNEL_RC_BASE ) +#define cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_ID_INVALID ( 0x0003 + cOCTVC1_GSM_PHYSICAL_CHANNEL_RC_BASE ) + +/**************************************************************************** + SUB_CHANNEL return codes + ****************************************************************************/ +#define cOCTVC1_GSM_SUB_CHANNEL_RC_BASE ( 0x0350 + cOCTVC1_GSM_RC_BASE ) + +#define cOCTVC1_GSM_RC_SUB_CHANNEL_ID_INVALID ( 0x0000 + cOCTVC1_GSM_SUB_CHANNEL_RC_BASE ) +#define cOCTVC1_GSM_RC_SUB_CHANNEL_DIRECTION_INVALID ( 0x0001 + cOCTVC1_GSM_SUB_CHANNEL_RC_BASE ) + +/**************************************************************************** + LOGICAL_CHANNEL return codes + ****************************************************************************/ +#define cOCTVC1_GSM_LOGICAL_CHANNEL_RC_BASE ( 0x0400 + cOCTVC1_GSM_RC_BASE ) + +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RESOURCE_UNAVAILABLE ( 0x0000 + cOCTVC1_GSM_LOGICAL_CHANNEL_RC_BASE ) +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_ALREADY_ACTIVATED ( 0x0001 + cOCTVC1_GSM_LOGICAL_CHANNEL_RC_BASE ) +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_NOT_ACTIVATED ( 0x0002 + cOCTVC1_GSM_LOGICAL_CHANNEL_RC_BASE ) +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_ID_INVALID ( 0x0003 + cOCTVC1_GSM_LOGICAL_CHANNEL_RC_BASE ) +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DIRECTION_INVALID ( 0x0004 + cOCTVC1_GSM_LOGICAL_CHANNEL_RC_BASE ) +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_SAPI_INVALID ( 0x0005 + cOCTVC1_GSM_LOGICAL_CHANNEL_RC_BASE ) + +/**************************************************************************** + Validate return codes + ****************************************************************************/ +#define cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ( 0xF000 + cOCTVC1_GSM_RC_BASE ) + +#define cOCTVC1_GSM_RC_RF_CONFIG_INVALID_RX_GAIN_DB ( 0x1 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ) +#define cOCTVC1_GSM_RC_RF_CONFIG_INVALID_TX_ATTND_B ( 0x2 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ) +#define cOCTVC1_GSM_RC_TRX_CONFIG_INVALID_US_TSC ( 0x3 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ) +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_FRAME_NUMBER ( 0x4 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ) +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_DATA_LENGTH ( 0x5 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ) +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_FRAME_NUMBER ( 0x6 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ) +#define cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_DATA_LENGTH ( 0x7 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ) +#define cOCTVC1_GSM_RC_TRX_LOGICAL_CHANNEL_EMPTY_FRAME_REQUEST_INVALID_FRAME_NUMBER ( 0x8 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ) + +#endif /* OCTVC1_GSM_RC_H__ */ + diff --git a/software/include/octvc1/gsm/octvc1_gsm_rc_priv.h b/software/include/octvc1/gsm/octvc1_gsm_rc_priv.h new file mode 100644 index 0000000..7a9d7f4 --- /dev/null +++ b/software/include/octvc1/gsm/octvc1_gsm_rc_priv.h @@ -0,0 +1,46 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GSM_RC_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the return codes for the GSM API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_GSM_RC_PRIV_H__ +#define OCTVC1_GSM_RC_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_gsm_rc.h" +#include "octvc1_gsm_base.h" + +/**************************************************************************** + GSM return codes + ****************************************************************************/ + +/**************************************************************************** + Validate return codes + ****************************************************************************/ + +#endif /* OCTVC1_GSM_RC_PRIV_H__ */ + diff --git a/software/include/vocallo/gsm/octvc1_gsm_version.h b/software/include/octvc1/gsm/octvc1_gsm_version.h similarity index 54% rename from software/include/vocallo/gsm/octvc1_gsm_version.h rename to software/include/octvc1/gsm/octvc1_gsm_version.h index 60f25f9..40b0a44 100644 --- a/software/include/vocallo/gsm/octvc1_gsm_version.h +++ b/software/include/octvc1/gsm/octvc1_gsm_version.h @@ -2,13 +2,25 @@ File: OCTVC1_GSM_VERSION.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contains the version of the GSM API interface. -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -26,9 +38,9 @@ $Octasic_Revision: $ bit[10:0]: Build number */ #define cOCTVC1_GSM_VERSION_MAJOR 1 -#define cOCTVC1_GSM_VERSION_MINOR 0 -#define cOCTVC1_GSM_VERSION_MAINTENANCE 0 -#define cOCTVC1_GSM_VERSION_BUILD 0 +#define cOCTVC1_GSM_VERSION_MINOR 2 +#define cOCTVC1_GSM_VERSION_MAINTENANCE 4 +#define cOCTVC1_GSM_VERSION_BUILD 403 #define cOCTVC1_GSM_VERSION_ID ( (cOCTVC1_GSM_VERSION_MAJOR << 25) + \ (cOCTVC1_GSM_VERSION_MINOR << 18) + \ diff --git a/software/include/octvc1/hw/octvc1_hw_api.h b/software/include/octvc1/hw/octvc1_hw_api.h new file mode 100644 index 0000000..c282e8b --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_api.h @@ -0,0 +1,1284 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HW_API.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the HW API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_HW_API_H__ +#define __OCTVC1_HW_API_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../../octdev_types.h" +#include "../../octdev_devices.h" +#include "../octvc1_msg.h" +#include "../octvc1_handle.h" +#include "../octvc1_fifo.h" +#include "../octvc1_buffer.h" +#include "../octvc1_eth.h" +#include "../octvc1_mac.h" +#include "../octvc1_cursor.h" +#include "../octvc1_list.h" +#include "../octvc1_log.h" +#include "../octvc1_process.h" +#include "../octvc1_radio.h" + +#include "octvc1_hw_id.h" +#include "octvc1_hw_rc.h" + +/************************ COMMON DEFINITIONS *******************************/ + + +/*------------------------------------------------------------------------------------- + PCB related definitions. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + PCB source information state. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_PCB_INFO_SOURCE_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_USER_HW_CONFIG 0 +#define cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_DATA_SECTION 1 +#define cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_EEPROM 2 +#define cOCTVC1_HW_PCB_INFO_SOURCE_ENUM_INI_FILE 3 + +/*------------------------------------------------------------------------------------- + PCB information state. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_PCB_INFO_STATE_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_PCB_INFO_STATE_ENUM_PARSED_ERROR 0 +#define cOCTVC1_HW_PCB_INFO_STATE_ENUM_PARSED_OK 1 + +/*------------------------------------------------------------------------------------- + PCB max field definitions. +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_HW_PCB_NAME_MAX_LENGTH 23 /* Device PCB name. */ +#define cOCTVC1_HW_PCB_SERIAL_MAX_LENGTH 23 /* Device PCB serial number. */ +#define cOCTVC1_HW_PCB_FILENAME_MAX_LENGTH 23 /* Device PCB name. */ +#define cOCTVC1_HW_PCB_GPS_NAME_MAX_LENGTH 23 /* GPS name. */ +#define cOCTVC1_HW_PCB_WIFI_NAME_MAX_LENGTH 23 /* WIFI name. */ + +/*------------------------------------------------------------------------------------- + CPU CORE related definitions. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + Cpu Core Mask. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_CPU_CORE_MASK tOCT_UINT32 + +#define cOCTVC1_HW_CPU_CORE_MASK_1 ((tOCT_UINT32)(1<<1) ) +#define cOCTVC1_HW_CPU_CORE_MASK_2 ((tOCT_UINT32)(1<<2) ) +#define cOCTVC1_HW_CPU_CORE_MASK_3 ((tOCT_UINT32)(1<<3) ) +#define cOCTVC1_HW_CPU_CORE_MASK_4 ((tOCT_UINT32)(1<<4) ) +#define cOCTVC1_HW_CPU_CORE_MASK_5 ((tOCT_UINT32)(1<<5) ) +#define cOCTVC1_HW_CPU_CORE_MASK_6 ((tOCT_UINT32)(1<<6) ) +#define cOCTVC1_HW_CPU_CORE_MASK_7 ((tOCT_UINT32)(1<<7) ) +#define cOCTVC1_HW_CPU_CORE_MASK_8 ((tOCT_UINT32)(1<<8) ) +#define cOCTVC1_HW_CPU_CORE_MASK_9 ((tOCT_UINT32)(1<<9) ) +#define cOCTVC1_HW_CPU_CORE_MASK_10 ((tOCT_UINT32)(1<<10) ) +#define cOCTVC1_HW_CPU_CORE_MASK_11 ((tOCT_UINT32)(1<<11) ) +#define cOCTVC1_HW_CPU_CORE_MASK_12 ((tOCT_UINT32)(1<<12) ) +#define cOCTVC1_HW_CPU_CORE_MASK_13 ((tOCT_UINT32)(1<<13) ) +#define cOCTVC1_HW_CPU_CORE_MASK_14 ((tOCT_UINT32)(1<<14) ) +#define cOCTVC1_HW_CPU_CORE_MASK_15 ((tOCT_UINT32)(1<<15) ) +#define cOCTVC1_HW_CPU_CORE_MASK_16 ((tOCT_UINT32)(1<<16) ) +#define cOCTVC1_HW_CPU_CORE_MASK_17 ((tOCT_UINT32)(1<<17) ) +#define cOCTVC1_HW_CPU_CORE_MASK_18 ((tOCT_UINT32)(1<<18) ) +#define cOCTVC1_HW_CPU_CORE_MASK_19 ((tOCT_UINT32)(1<<19) ) +#define cOCTVC1_HW_CPU_CORE_MASK_20 ((tOCT_UINT32)(1<<20) ) +#define cOCTVC1_HW_CPU_CORE_MASK_21 ((tOCT_UINT32)(1<<21) ) +#define cOCTVC1_HW_CPU_CORE_MASK_22 ((tOCT_UINT32)(1<<22) ) +#define cOCTVC1_HW_CPU_CORE_MASK_23 ((tOCT_UINT32)(1<<23) ) +#define cOCTVC1_HW_CPU_CORE_MASK_24 ((tOCT_UINT32)(1<<24) ) + +/*------------------------------------------------------------------------------------- + Core Status. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_CPU_CORE_STATUS_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_CPU_CORE_STATUS_ENUM_RESET 0 /* The core is in reset mode. */ + /* This is the state of cores that have not been started. */ +#define cOCTVC1_HW_CPU_CORE_STATUS_ENUM_RUNNING 1 /* The core is executing code. */ + /* This is the typical state of cores that have been started in target. */ +#define cOCTVC1_HW_CPU_CORE_STATUS_ENUM_HALT 2 /* The core has reached an instruction that caused the core to stop executing code. */ + /* This is an error condition. */ +#define cOCTVC1_HW_CPU_CORE_STATUS_ENUM_TRAP 3 /* The core has reached an instruction that caused the core to stop executing code. */ + /* This is an error condition. */ +#define cOCTVC1_HW_CPU_CORE_STATUS_ENUM_ACCESS_VIOLATION 4 /* The core has stopped execution because the code it is hosting caused an access */ + /* violation. */ + /* This is an error condition. */ +#define cOCTVC1_HW_CPU_CORE_STATUS_ENUM_NOT_PRESENT 5 /* The core is not present on the device. */ +#define cOCTVC1_HW_CPU_CORE_STATUS_ENUM_FAILURE_DETECTED 6 /* A failure has been detected and this core cannot be used anymore. */ + /* Contact Octasic Support. */ + +/*------------------------------------------------------------------------------------- + Cpu Core Failure Mask. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_CPU_CORE_FAILURE_MASK tOCT_UINT32 + +#define cOCTVC1_HW_CPU_CORE_FAILURE_MASK_NONE 0 /* No failures have been detected. */ +#define cOCTVC1_HW_CPU_CORE_FAILURE_MASK_MEMORY ((tOCT_UINT32)(1<<1) ) /* A memory failure has been detected on the core */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_CPU_CORE_STATS + + Members: + ulCoreStatus + ulProgramCounter + ulFailureMask + Valid when ulCoreStatus = FAILURE_DETECTED. + Contact Octasic Support. + ulAccessViolationAddress +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HW_CPU_CORE_STATUS_ENUM ulCoreStatus; + tOCT_UINT32 ulProgramCounter; + tOCTVC1_HW_CPU_CORE_FAILURE_MASK ulFailureMask; + tOCT_UINT32 ulAccessViolationAddress; + +} tOCTVC1_HW_CPU_CORE_STATS; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_CPU_CORE_INFO + + Members: + hProcess + Default: cOCTVC1_HANDLE_INVALID + Process handle identifier. Value INVALID means no process running on this core. + ulPhysicalCoreId + Default: 0 + Physical core index. Value 0 means no core is running for this logical + identifier. + ulProcessImageType + Default: cOCTVC1_PROCESS_TYPE_ENUM_INVALID + Process Type identifier. Value INVALID means no process running on this core. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 hProcess; + tOCT_UINT32 ulPhysicalCoreId; + tOCTVC1_PROCESS_TYPE_ENUM ulProcessImageType; + +} tOCTVC1_HW_CPU_CORE_INFO; + +/*------------------------------------------------------------------------------------- + ETH port related definitions. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + Ethernet port mode of operation. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_ETH_MODE_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_ETH_MODE_ENUM_INVALID 0xFFFFFFFF +#define cOCTVC1_HW_ETH_MODE_ENUM_MII 0 +#define cOCTVC1_HW_ETH_MODE_ENUM_RMII 1 +#define cOCTVC1_HW_ETH_MODE_ENUM_GMII 2 +#define cOCTVC1_HW_ETH_MODE_ENUM_RGMII 3 +#define cOCTVC1_HW_ETH_MODE_ENUM_SGMII 4 + +/*------------------------------------------------------------------------------------- + Ethernet link speed (MBits). +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_ETH_LINK_SPEED_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_ETH_LINK_SPEED_ENUM_INVALID 0xFFFFFFFF +#define cOCTVC1_HW_ETH_LINK_SPEED_ENUM_10 10 +#define cOCTVC1_HW_ETH_LINK_SPEED_ENUM_100 100 +#define cOCTVC1_HW_ETH_LINK_SPEED_ENUM_1000 1000 + +/*------------------------------------------------------------------------------------- + Ethernet duplex mode. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_ETH_DUPLEX_MODE_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_INVALID 0 +#define cOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_FULL 1 +#define cOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_HALF 2 + +/*------------------------------------------------------------------------------------- + ETH port. +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_HW_ETH_PORT_PHY_ADDRESS_INVALID 63 /* Invalid Phy Address */ + /* This definition indicates that either no PHY is present or */ + /* that communication with the phy is not allowed. */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_ETH_PORT_CONFIG + + Members: + MacAddress + ulPromiscuousModeFlag + When set, all frames are accepted + ulAcceptMulticastFlag + When set, multicast and broadcast frames are accepted + ulAcceptJumboFrameFlag + When set, Jumbo frames are accepted. + See hardware documentation for interface maximum payload size. + ulSgmiiAutoNegotationFlag + When set, sGMII auto-negotiation is enable + ulLinkSpeed + ulDuplexMode +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MAC_ADDRESS MacAddress; + tOCT_BOOL32 ulPromiscuousModeFlag; + tOCT_BOOL32 ulAcceptMulticastFlag; + tOCT_BOOL32 ulAcceptJumboFrameFlag; + tOCT_BOOL32 ulSgmiiAutoNegotationFlag; + tOCTVC1_HW_ETH_LINK_SPEED_ENUM ulLinkSpeed; + tOCTVC1_HW_ETH_DUPLEX_MODE_ENUM ulDuplexMode; + +} tOCTVC1_HW_ETH_PORT_CONFIG; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS + + Members: + ulTxUnderflowCnt + Number of frames aborted due to frame underflow error. + ulTxLateCollisionCnt + Number of frames aborted due to late collision error. + ulTxExcessCollisionCnt + Number of frames aborted due to excessive collision errors. + ulTxExcessDeferralCnt + Number of frames aborted due to excessive deferral error. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulTxUnderflowCnt; + tOCT_UINT32 ulTxLateCollisionCnt; + tOCT_UINT32 ulTxExcessCollisionCnt; + tOCT_UINT32 ulTxExcessDeferralCnt; + +} tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_ETH_PORT_TX_STATS + + Members: + ulTxFrameCnt + Number of frames transmitted. + This number includes good and bad frames but excludes retried frames. + ulTxByteCnt + Number of bytes transmitted in good and bad frames. + This number excludes preamble and retried bytes. + ulTxPauseFrameCnt + Number of times Ethernet port sent a PAUSE frame. + ulTxVlanFrameCnt + Number of times Ethernet port sent a VLAN frame. + ulTxJumboFrameCnt + Number of frames transmitted with byte length over 1,024. + TxErrorStat +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulTxFrameCnt; + tOCT_UINT32 ulTxByteCnt; + tOCT_UINT32 ulTxPauseFrameCnt; + tOCT_UINT32 ulTxVlanFrameCnt; + tOCT_UINT32 ulTxJumboFrameCnt; + tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS TxErrorStat; + +} tOCTVC1_HW_ETH_PORT_TX_STATS; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS + + Members: + ulRxCrcErrorCnt + Number of times the Ethernet port detected packets with an invalid Cyclic + Redundancy Check (CRC). + ulRxAlignmentErrorCnt + Number of frames received with alignment (dribble) error. Valid only in 10/100 + mode. + ulRxJabberErrorCnt + Number of giant frames received with length (including CRC) greater than 1,518 + bytes (1,522 bytes for VLAN tagged) and with CRC error. + ulRxUndersizeCnt + Number of frames received with a byte length of less than 64. This number + includes good frames only. + ulRxOversizeCnt + Number of frames received with byte length greater than the maximum size. + ulRxLengthCnt + Number of frames received with a valid Length Type field, but the size of the + received frame does not match the value in the Length Type field. + ulRxOutOfRangeCnt + Number of frames received with length field not equal to the valid frame size + (between 1,500 and 1,536 bytes, inclusive). + ulRxFifoOverflowCnt + Number of received frames missed due to FIFO overflow. + ulRxWatchdogCnt + Number of frames received with an error due to watchdog timeout (frames with a + data load larger than 2,048 bytes. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulRxCrcErrorCnt; + tOCT_UINT32 ulRxAlignmentErrorCnt; + tOCT_UINT32 ulRxJabberErrorCnt; + tOCT_UINT32 ulRxUndersizeCnt; + tOCT_UINT32 ulRxOversizeCnt; + tOCT_UINT32 ulRxLengthCnt; + tOCT_UINT32 ulRxOutOfRangeCnt; + tOCT_UINT32 ulRxFifoOverflowCnt; + tOCT_UINT32 ulRxWatchdogCnt; + +} tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_ETH_PORT_RX_STATS + + Members: + ulRxFrameCnt + Number of frames received. This number includes good and bad frames. + ulRxByteCnt + Number of bytes received in good and bad frames. This number excludes preamble. + ulRxJumboFrameCnt + Number of frames received with byte length over 1,024. + ulRxPauseFrameCnt + Number of times Ethernet port detected a PAUSE frame. + ulRxVlanFrameCnt + Number of good and bad VLAN frames received. + RxErrorStat +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulRxFrameCnt; + tOCT_UINT32 ulRxByteCnt; + tOCT_UINT32 ulRxJumboFrameCnt; + tOCT_UINT32 ulRxPauseFrameCnt; + tOCT_UINT32 ulRxVlanFrameCnt; + tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS RxErrorStat; + +} tOCTVC1_HW_ETH_PORT_RX_STATS; + +/*------------------------------------------------------------------------------------- + RF_PORT related definitions. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_RF_PORT_RX_STATS + + Members: + ulRxByteCnt + Number of bytes received. Attentions 32-bits counter + ulRxOverflowCnt + Count the number overflow + Counter increase by 1 each time an overflow is detected between two receive + ulRxAverageBytePerSecond + Average byte receive per seconds + ulRxAveragePeriodUs + Average Time in micro second between two receive + ulFrequencyHz + Current frequency in Hz +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulRxByteCnt; + tOCT_UINT32 ulRxOverflowCnt; + tOCT_UINT32 ulRxAverageBytePerSecond; + tOCT_UINT32 ulRxAveragePeriodUs; + tOCT_UINT32 ulFrequencyHz; + +} tOCTVC1_HW_RF_PORT_RX_STATS; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_RF_PORT_TX_STATS + + Members: + ulTxByteCnt + Number of bytes received. Attentions 32-bits counter + ulTxUnderflowCnt + Count the number underflow + Counter increase by 1 each time an overflow is detected between two send + ulTxAverageBytePerSecond + Average byte receive per seconds + ulTxAveragePeriodUs + Average Time in micro second between two send + ulFrequencyHz + Current frequency in Hz +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulTxByteCnt; + tOCT_UINT32 ulTxUnderflowCnt; + tOCT_UINT32 ulTxAverageBytePerSecond; + tOCT_UINT32 ulTxAveragePeriodUs; + tOCT_UINT32 ulFrequencyHz; + +} tOCTVC1_HW_RF_PORT_TX_STATS; + +/*------------------------------------------------------------------------------------- + Clock Sync Manager related definitions. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + Clock Sync Manager Source +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_1HZ 0 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_10MHZ 1 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_30_72MHZ 2 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_FREQ_1HZ_EXT 3 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_NONE 4 /* Clock Sync Manager is not initialized. */ + /* Base on config file informations. */ + +/*------------------------------------------------------------------------------------- + Clock Sync Manager Source Selection. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_AUTOSELECT 0 /* Clock Source is selected by the PHY. */ + /* Base on config file informations. */ +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_CONFIG_FILE 1 /* Clock Source should be selected by the host application. */ + /* Host did not specify the source yet. */ + /* Expecting rate is defined by config file. */ +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_HOST_APPLICATION 2 /* Clock Source was selected by the host application. */ + /* Host did specify the source through API call. */ + +/*------------------------------------------------------------------------------------- + Clock Sync manager sync source state +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_INVALID 0 /* The clock source is not valid. */ + /* (Ex: GPS is not available). */ +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_VALID 1 /* The clock source is valid. */ +#define cOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_UNSPECIFIED 2 /* The clock source state was never specified by the host application. */ + +/*------------------------------------------------------------------------------------- + Clock Sync manager state +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM tOCT_UINT32 + +#define cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_UNINITIALIZE 0 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_IDLE 1 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_NO_EXT_CLOCK 2 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_LOCKED 3 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_UNLOCKED 4 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_ERROR 5 +#define cOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_DISABLE 6 /* The actual PCB does not supporte this service. */ + +/***************************** METHODS *************************************/ +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_PCB_INFO_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_HW_MSG_PCB_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_PCB_INFO_RSP + + Members: + Header + OCTVC1 Message Header + szName + PCB name/model + ulDeviceId + PCB device order (Primary=0/Secondary=1...) + szSerial + PCB serial number + szFilename + File containing raw PCB info + ulInfoSource + PCB information source. + ulInfoState + PCB information state. + szGpsName + GPS name + szWifiName + WIFI name +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT8 szName[(cOCTVC1_HW_PCB_NAME_MAX_LENGTH+1)]; + tOCT_UINT32 ulDeviceId; + tOCT_UINT8 szSerial[(cOCTVC1_HW_PCB_SERIAL_MAX_LENGTH+1)]; + tOCT_UINT8 szFilename[(cOCTVC1_HW_PCB_FILENAME_MAX_LENGTH+1)]; + tOCTVC1_HW_PCB_INFO_SOURCE_ENUM ulInfoSource; + tOCTVC1_HW_PCB_INFO_STATE_ENUM ulInfoState; + tOCT_UINT8 szGpsName[(cOCTVC1_HW_PCB_GPS_NAME_MAX_LENGTH+1)]; + tOCT_UINT8 szWifiName[(cOCTVC1_HW_PCB_WIFI_NAME_MAX_LENGTH+1)]; + +} tOCTVC1_HW_MSG_PCB_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD + + Members: + Header + OCTVC1 Message Header + ulCoreIndex + Cpu Core identifier +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulCoreIndex; + +} tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP + + Members: + Header + OCTVC1 Message Header + CoreStats +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HW_CPU_CORE_STATS CoreStats; + +} tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD + + Members: + Header + OCTVC1 Message Header + ulCoreIndex + Cpu Core identifier +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulCoreIndex; + +} tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP + + Members: + Header + OCTVC1 Message Header + CoreInfo +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HW_CPU_CORE_INFO CoreInfo; + +} tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD + + Members: + Header + IndexGet + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + +} tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP + + Members: + Header + OCTVC1 Message Header + IndexGet + Object cursor + IndexList + Object name list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + tOCTVC1_LIST_INDEX_GET IndexList; + +} tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique ETH port identifier +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + +} tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique ETH port identifier + ulInterfaceId + Interface ID + ulMode + ulTxPktQueuesByteSize + ulRxPktQueuesByteSize + ulRestrictedApiFlag + Set to TRUE when this port can be configure by control port. + ulEnableFlag + Set to TRUE when this port is used by the target application. + Config +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCT_UINT32 ulInterfaceId; + tOCTVC1_HW_ETH_MODE_ENUM ulMode; + tOCT_UINT32 ulTxPktQueuesByteSize; + tOCT_UINT32 ulRxPktQueuesByteSize; + tOCT_BOOL32 ulRestrictedApiFlag; + tOCT_BOOL32 ulEnableFlag; + tOCTVC1_HW_ETH_PORT_CONFIG Config; + +} tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD + + Members: + Header + IndexGet + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + +} tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP + + Members: + Header + OCTVC1 Message Header + IndexGet + Object cursor + IndexList + Object name list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + tOCTVC1_LIST_INDEX_GET IndexList; + +} tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique ETH port identifier + ulResetStatsFlag + Default: cOCT_FALSE + Statistics counters will be reset to zero after the current values are returned. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique ETH port identifier + RxStats + TxStats +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_HW_ETH_PORT_RX_STATS RxStats; + tOCTVC1_HW_ETH_PORT_TX_STATS TxStats; + +} tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique ETH port identifier + Config +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_HW_ETH_PORT_CONFIG Config; + +} tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique ETH port identifier +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + +} tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_INFO_CMD + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique RF port identifier +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + +} tOCTVC1_HW_MSG_RF_PORT_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_INFO_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique RF port identifier + ulInService + Main Rf port is in service. + hOwner + Main Rf port owner identifier. + ulPortInterfaceId + PCB Port Interface Id +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCT_BOOL32 ulInService; + tOCTVC1_HANDLE_OBJECT hOwner; + tOCT_UINT32 ulPortInterfaceId; + +} tOCTVC1_HW_MSG_RF_PORT_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_STATS_CMD + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique RF port identifier + ulResetStatsFlag + Statistics counters will be reset to zero after the current values are returned. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_HW_MSG_RF_PORT_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_STATS_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique RF port identifier + ulRadioStandard + Radio standard + RxStats + Main Rf Rx stats + TxStats + Main Rf Tx stats +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_RADIO_STANDARD_ENUM ulRadioStandard; + tOCTVC1_HW_RF_PORT_RX_STATS RxStats; + tOCTVC1_HW_RF_PORT_TX_STATS TxStats; + +} tOCTVC1_HW_MSG_RF_PORT_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_LIST_CMD + + Members: + Header + IndexGet + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + +} tOCTVC1_HW_MSG_RF_PORT_LIST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_LIST_RSP + + Members: + Header + OCTVC1 Message Header + IndexGet + Object cursor + IndexList + Object name list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + tOCTVC1_LIST_INDEX_GET IndexList; + +} tOCTVC1_HW_MSG_RF_PORT_LIST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD + + Members: + Header + SubIndexGet + Index cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX SubIndexGet; + +} tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP + + Members: + Header + OCTVC1 Message Header + SubIndexGet + Index cursor + SubIndexList + Object name list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX SubIndexGet; + tOCTVC1_LIST_INDEX_GET_SUB_INDEX SubIndexList; + +} tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD + + Members: + Header + OCTVC1 Message Header + ulPortIndex + RF PORT index + ulAntennaIndex + Antenna index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_INDEX ulAntennaIndex; + +} tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + RF PORT index + ulAntennaIndex + Antenna index + ulEnableFlag + lRxGaindB + ulRxGainMode +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_INDEX ulAntennaIndex; + tOCT_BOOL32 ulEnableFlag; + tOCT_INT32 lRxGaindB; + tOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM ulRxGainMode; + +} tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD + + Members: + Header + OCTVC1 Message Header + ulPortIndex + RF PORT index + ulAntennaIndex + Antenna index + lRxGaindB + Default: 0 + ulRxGainMode + Default: cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_MGC +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_INDEX ulAntennaIndex; + tOCT_INT32 lRxGaindB; + tOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM ulRxGainMode; + +} tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + RF PORT index + ulAntennaIndex + Antenna index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_INDEX ulAntennaIndex; + +} tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD + + Members: + Header + OCTVC1 Message Header + ulPortIndex + RF PORT index + ulAntennaIndex + Antenna index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_INDEX ulAntennaIndex; + +} tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + RF PORT index + ulAntennaIndex + Antenna index + ulEnableFlag + lTxGaindB + Q9 value +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_INDEX ulAntennaIndex; + tOCT_BOOL32 ulEnableFlag; + tOCT_INT32 lTxGaindB; + +} tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD + + Members: + Header + OCTVC1 Message Header + ulPortIndex + RF PORT index + ulAntennaIndex + Antenna index + lTxGaindB + Default: 0 + Q9 value +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_INDEX ulAntennaIndex; + tOCT_INT32 lTxGaindB; + +} tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + RF PORT index + ulAntennaIndex + Antenna index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCTVC1_INDEX ulAntennaIndex; + +} tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP + + Members: + Header + OCTVC1 Message Header + ulClkSourceRef + Selected source for reference clock + ulClkSourceSelection + Clock source selection mode +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM ulClkSourceRef; + tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM ulClkSourceSelection; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD + + Members: + Header + OCTVC1 Message Header + ulResetStatsFlag + Statistics counters will be reset to zero after the current values are returned. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP + + Members: + Header + OCTVC1 Message Header + ulState + Clock sync manager state + lClockError + Curent error on the tracked clock's control loop + lDroppedCycles + Number of cycles (at ulPllFreqHz) that have been dropped by the control loop + This occurs when there a big gaps of the reference clock in the frequency + measurement unit, + which are likely caused by changes in the reference clock. + ulPllFreqHz + Frequency provided to the comparator and generators. + ulPllFractionalFreqHz + Fractional part of ulPllFreqHz. + ulSlipCnt + Number of times values exceeded the synchronization threshold while in the sync + state + ulSyncLosseCnt + Number of times the clock manager left the synchronized state + ulSourceState + Clock source state + ulDacValue + Curent DAC value +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM ulState; + tOCT_INT32 lClockError; + tOCT_INT32 lDroppedCycles; + tOCT_UINT32 ulPllFreqHz; + tOCT_UINT32 ulPllFractionalFreqHz; + tOCT_UINT32 ulSlipCnt; + tOCT_UINT32 ulSyncLosseCnt; + tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM ulSourceState; + tOCT_UINT32 ulDacValue; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP + + Members: + Header + OCTVC1 Message Header + ulClkSourceRef + Selected source for reference clock + ulSourceState + Selected source for reference clock +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM ulClkSourceRef; + tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM ulSourceState; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD + + Members: + Header + OCTVC1 Message Header + ulClkSourceRef + Default: cOCTVC1_DO_NOT_MODIFY + Selected source for reference clock + ulSourceState + Default: cOCTVC1_DO_NOT_MODIFY + Selected source for reference clock +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM ulClkSourceRef; + tOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM ulSourceState; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP; + + +/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ +#include "octvc1_hw_evt.h" + +#endif /* __OCTVC1_HW_API_H__ */ + diff --git a/software/include/octvc1/hw/octvc1_hw_api_priv.h b/software/include/octvc1/hw/octvc1_hw_api_priv.h new file mode 100644 index 0000000..da27903 --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_api_priv.h @@ -0,0 +1,159 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HW_API_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the HW API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_HW_API_PRIV_H__ +#define __OCTVC1_HW_API_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_hw_api.h" +#include "octvc1_hw_id_priv.h" +#include "octvc1_hw_rc_priv.h" + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + MAIN API private definitions +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_HW_PRIVATE_API_CMD_PASSWORD 0x1FE75CB2 + + + + + + +/***************************** METHODS *************************************/ +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD + Private restricted api unblock command and response structure. + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique ETH port identifier + ulPassword + Default: cOCTVC1_HW_PRIVATE_API_CMD_PASSWORD + Command password! +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + tOCT_UINT32 ulPassword; + +} tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP + + Members: + Header + OCTVC1 Message Header + ulPortIndex + Unique ETH port identifier +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulPortIndex; + +} tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD + + Members: + Header + OCTVC1 Message Header + ulDacInitValue + Default: 0x00007600 + DAC initial value. + ulSyncWindowSize + Default: 7 + Number of consecutive values within iSyncThreshold to consider that the clock + manager is synchronized to its reference. + lSyncThreshold + Default: 10 + Maximum allowed delta to consider that the clock manager is synchronized to its + reference. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulDacInitValue; + tOCT_UINT32 ulSyncWindowSize; + tOCT_INT32 lSyncThreshold; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP; + + +/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ +#include "octvc1_hw_evt_priv.h" + +#endif /* __OCTVC1_HW_API_PRIV_H__ */ + diff --git a/software/include/octvc1/hw/octvc1_hw_api_priv_swap.h b/software/include/octvc1/hw/octvc1_hw_api_priv_swap.h new file mode 100644 index 0000000..699e847 --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_api_priv_swap.h @@ -0,0 +1,103 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +File: octvc1_hw_api_priv_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_HW_API_PRIV_SWAP_H__ +#define __OCTVC1_HW_API_PRIV_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_priv_swap_hdrs.h" +#include "octvc1_hw_api_priv.h" + +/********************************* MACROS **********************************/ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD * pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD *)pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD *)pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD *)pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD *)pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD)->ulPassword = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD *)pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD)->ulPassword); \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD_SWAP( pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP * pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP *)pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP *)pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP *)pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP)->ulPortIndex); \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP_SWAP( pOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)->ulDacInitValue = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)->ulDacInitValue); \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)->ulSyncWindowSize = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)->ulSyncWindowSize); \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)->lSyncThreshold = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD)->lSyncThreshold); \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP)->Header ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD)->Header ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP)->Header ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_HW_API_PRIV_SWAP_H__ */ diff --git a/software/include/octvc1/hw/octvc1_hw_api_swap.h b/software/include/octvc1/hw/octvc1_hw_api_swap.h new file mode 100644 index 0000000..6edc773 --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_api_swap.h @@ -0,0 +1,765 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_hw_api_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_HW_API_SWAP_H__ +#define __OCTVC1_HW_API_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_swap_hdrs.h" +#include "octvc1_hw_api.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_PCB_INFO_SOURCE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_PCB_INFO_SOURCE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_PCB_INFO_STATE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_PCB_INFO_STATE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_CPU_CORE_MASK_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_CPU_CORE_MASK_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_CPU_CORE_STATUS_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_CPU_CORE_STATUS_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_CPU_CORE_FAILURE_MASK_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_CPU_CORE_FAILURE_MASK_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_CPU_CORE_STATS_SWAP( _f_pParms ){ tOCTVC1_HW_CPU_CORE_STATS * pOCTVC1_HW_CPU_CORE_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_CPU_CORE_STATS)\ + { mOCTVC1_HW_CPU_CORE_STATUS_ENUM_SWAP( &((tOCTVC1_HW_CPU_CORE_STATS *)pOCTVC1_HW_CPU_CORE_STATS)->ulCoreStatus ); } \ + ((tOCTVC1_HW_CPU_CORE_STATS *)pOCTVC1_HW_CPU_CORE_STATS)->ulProgramCounter = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_CPU_CORE_STATS *)pOCTVC1_HW_CPU_CORE_STATS)->ulProgramCounter); \ + { mOCTVC1_HW_CPU_CORE_FAILURE_MASK_SWAP( &((tOCTVC1_HW_CPU_CORE_STATS *)pOCTVC1_HW_CPU_CORE_STATS)->ulFailureMask ); } \ + ((tOCTVC1_HW_CPU_CORE_STATS *)pOCTVC1_HW_CPU_CORE_STATS)->ulAccessViolationAddress = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_CPU_CORE_STATS *)pOCTVC1_HW_CPU_CORE_STATS)->ulAccessViolationAddress); \ +} +#else +#define mOCTVC1_HW_CPU_CORE_STATS_SWAP( pOCTVC1_HW_CPU_CORE_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_CPU_CORE_INFO_SWAP( _f_pParms ){ tOCTVC1_HW_CPU_CORE_INFO * pOCTVC1_HW_CPU_CORE_INFO = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_CPU_CORE_INFO)\ + ((tOCTVC1_HW_CPU_CORE_INFO *)pOCTVC1_HW_CPU_CORE_INFO)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_CPU_CORE_INFO *)pOCTVC1_HW_CPU_CORE_INFO)->hProcess); \ + ((tOCTVC1_HW_CPU_CORE_INFO *)pOCTVC1_HW_CPU_CORE_INFO)->ulPhysicalCoreId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_CPU_CORE_INFO *)pOCTVC1_HW_CPU_CORE_INFO)->ulPhysicalCoreId); \ + { mOCTVC1_PROCESS_TYPE_ENUM_SWAP( &((tOCTVC1_HW_CPU_CORE_INFO *)pOCTVC1_HW_CPU_CORE_INFO)->ulProcessImageType ); } \ +} +#else +#define mOCTVC1_HW_CPU_CORE_INFO_SWAP( pOCTVC1_HW_CPU_CORE_INFO ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_ETH_MODE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_ETH_MODE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_ETH_LINK_SPEED_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_ETH_LINK_SPEED_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_ETH_PORT_CONFIG_SWAP( _f_pParms ){ tOCTVC1_HW_ETH_PORT_CONFIG * pOCTVC1_HW_ETH_PORT_CONFIG = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_ETH_PORT_CONFIG)\ + ((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulPromiscuousModeFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulPromiscuousModeFlag); \ + ((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulAcceptMulticastFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulAcceptMulticastFlag); \ + ((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulAcceptJumboFrameFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulAcceptJumboFrameFlag); \ + ((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulSgmiiAutoNegotationFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulSgmiiAutoNegotationFlag); \ + { mOCTVC1_HW_ETH_LINK_SPEED_ENUM_SWAP( &((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulLinkSpeed ); } \ + { mOCTVC1_HW_ETH_DUPLEX_MODE_ENUM_SWAP( &((tOCTVC1_HW_ETH_PORT_CONFIG *)pOCTVC1_HW_ETH_PORT_CONFIG)->ulDuplexMode ); } \ +} +#else +#define mOCTVC1_HW_ETH_PORT_CONFIG_SWAP( pOCTVC1_HW_ETH_PORT_CONFIG ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_ETH_PORT_TX_ERROR_STATS_SWAP( _f_pParms ){ tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS * pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)\ + ((tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)->ulTxUnderflowCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)->ulTxUnderflowCnt); \ + ((tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)->ulTxLateCollisionCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)->ulTxLateCollisionCnt); \ + ((tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)->ulTxExcessCollisionCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)->ulTxExcessCollisionCnt); \ + ((tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)->ulTxExcessDeferralCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_TX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS)->ulTxExcessDeferralCnt); \ +} +#else +#define mOCTVC1_HW_ETH_PORT_TX_ERROR_STATS_SWAP( pOCTVC1_HW_ETH_PORT_TX_ERROR_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_ETH_PORT_TX_STATS_SWAP( _f_pParms ){ tOCTVC1_HW_ETH_PORT_TX_STATS * pOCTVC1_HW_ETH_PORT_TX_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_ETH_PORT_TX_STATS)\ + ((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxFrameCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxFrameCnt); \ + ((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxByteCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxByteCnt); \ + ((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxPauseFrameCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxPauseFrameCnt); \ + ((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxVlanFrameCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxVlanFrameCnt); \ + ((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxJumboFrameCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->ulTxJumboFrameCnt); \ + { mOCTVC1_HW_ETH_PORT_TX_ERROR_STATS_SWAP( &((tOCTVC1_HW_ETH_PORT_TX_STATS *)pOCTVC1_HW_ETH_PORT_TX_STATS)->TxErrorStat ); } \ +} +#else +#define mOCTVC1_HW_ETH_PORT_TX_STATS_SWAP( pOCTVC1_HW_ETH_PORT_TX_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_ETH_PORT_RX_ERROR_STATS_SWAP( _f_pParms ){ tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS * pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)\ + ((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxCrcErrorCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxCrcErrorCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxAlignmentErrorCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxAlignmentErrorCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxJabberErrorCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxJabberErrorCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxUndersizeCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxUndersizeCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxOversizeCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxOversizeCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxLengthCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxLengthCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxOutOfRangeCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxOutOfRangeCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxFifoOverflowCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxFifoOverflowCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxWatchdogCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_ERROR_STATS *)pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS)->ulRxWatchdogCnt); \ +} +#else +#define mOCTVC1_HW_ETH_PORT_RX_ERROR_STATS_SWAP( pOCTVC1_HW_ETH_PORT_RX_ERROR_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_ETH_PORT_RX_STATS_SWAP( _f_pParms ){ tOCTVC1_HW_ETH_PORT_RX_STATS * pOCTVC1_HW_ETH_PORT_RX_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_ETH_PORT_RX_STATS)\ + ((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxFrameCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxFrameCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxByteCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxByteCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxJumboFrameCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxJumboFrameCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxPauseFrameCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxPauseFrameCnt); \ + ((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxVlanFrameCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->ulRxVlanFrameCnt); \ + { mOCTVC1_HW_ETH_PORT_RX_ERROR_STATS_SWAP( &((tOCTVC1_HW_ETH_PORT_RX_STATS *)pOCTVC1_HW_ETH_PORT_RX_STATS)->RxErrorStat ); } \ +} +#else +#define mOCTVC1_HW_ETH_PORT_RX_STATS_SWAP( pOCTVC1_HW_ETH_PORT_RX_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_RF_PORT_RX_STATS_SWAP( _f_pParms ){ tOCTVC1_HW_RF_PORT_RX_STATS * pOCTVC1_HW_RF_PORT_RX_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_RF_PORT_RX_STATS)\ + ((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulRxByteCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulRxByteCnt); \ + ((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulRxOverflowCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulRxOverflowCnt); \ + ((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulRxAverageBytePerSecond = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulRxAverageBytePerSecond); \ + ((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulRxAveragePeriodUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulRxAveragePeriodUs); \ + ((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulFrequencyHz = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_RX_STATS *)pOCTVC1_HW_RF_PORT_RX_STATS)->ulFrequencyHz); \ +} +#else +#define mOCTVC1_HW_RF_PORT_RX_STATS_SWAP( pOCTVC1_HW_RF_PORT_RX_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_RF_PORT_TX_STATS_SWAP( _f_pParms ){ tOCTVC1_HW_RF_PORT_TX_STATS * pOCTVC1_HW_RF_PORT_TX_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_RF_PORT_TX_STATS)\ + ((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulTxByteCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulTxByteCnt); \ + ((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulTxUnderflowCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulTxUnderflowCnt); \ + ((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulTxAverageBytePerSecond = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulTxAverageBytePerSecond); \ + ((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulTxAveragePeriodUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulTxAveragePeriodUs); \ + ((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulFrequencyHz = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_RF_PORT_TX_STATS *)pOCTVC1_HW_RF_PORT_TX_STATS)->ulFrequencyHz); \ +} +#else +#define mOCTVC1_HW_RF_PORT_TX_STATS_SWAP( pOCTVC1_HW_RF_PORT_TX_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_PCB_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_PCB_INFO_CMD * pOCTVC1_HW_MSG_PCB_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_PCB_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_PCB_INFO_CMD *)pOCTVC1_HW_MSG_PCB_INFO_CMD)->Header ); } \ +} +#else +#define mOCTVC1_HW_MSG_PCB_INFO_CMD_SWAP( pOCTVC1_HW_MSG_PCB_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_PCB_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_PCB_INFO_RSP * pOCTVC1_HW_MSG_PCB_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_PCB_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_PCB_INFO_RSP *)pOCTVC1_HW_MSG_PCB_INFO_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_PCB_INFO_RSP *)pOCTVC1_HW_MSG_PCB_INFO_RSP)->ulDeviceId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_PCB_INFO_RSP *)pOCTVC1_HW_MSG_PCB_INFO_RSP)->ulDeviceId); \ + { mOCTVC1_HW_PCB_INFO_SOURCE_ENUM_SWAP( &((tOCTVC1_HW_MSG_PCB_INFO_RSP *)pOCTVC1_HW_MSG_PCB_INFO_RSP)->ulInfoSource ); } \ + { mOCTVC1_HW_PCB_INFO_STATE_ENUM_SWAP( &((tOCTVC1_HW_MSG_PCB_INFO_RSP *)pOCTVC1_HW_MSG_PCB_INFO_RSP)->ulInfoState ); } \ +} +#else +#define mOCTVC1_HW_MSG_PCB_INFO_RSP_SWAP( pOCTVC1_HW_MSG_PCB_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CPU_CORE_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD * pOCTVC1_HW_MSG_CPU_CORE_STATS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CPU_CORE_STATS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD *)pOCTVC1_HW_MSG_CPU_CORE_STATS_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD *)pOCTVC1_HW_MSG_CPU_CORE_STATS_CMD)->ulCoreIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CPU_CORE_STATS_CMD *)pOCTVC1_HW_MSG_CPU_CORE_STATS_CMD)->ulCoreIndex); \ +} +#else +#define mOCTVC1_HW_MSG_CPU_CORE_STATS_CMD_SWAP( pOCTVC1_HW_MSG_CPU_CORE_STATS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CPU_CORE_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP * pOCTVC1_HW_MSG_CPU_CORE_STATS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CPU_CORE_STATS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP *)pOCTVC1_HW_MSG_CPU_CORE_STATS_RSP)->Header ); } \ + { mOCTVC1_HW_CPU_CORE_STATS_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_STATS_RSP *)pOCTVC1_HW_MSG_CPU_CORE_STATS_RSP)->CoreStats ); } \ +} +#else +#define mOCTVC1_HW_MSG_CPU_CORE_STATS_RSP_SWAP( pOCTVC1_HW_MSG_CPU_CORE_STATS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CPU_CORE_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD * pOCTVC1_HW_MSG_CPU_CORE_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CPU_CORE_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD *)pOCTVC1_HW_MSG_CPU_CORE_INFO_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD *)pOCTVC1_HW_MSG_CPU_CORE_INFO_CMD)->ulCoreIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CPU_CORE_INFO_CMD *)pOCTVC1_HW_MSG_CPU_CORE_INFO_CMD)->ulCoreIndex); \ +} +#else +#define mOCTVC1_HW_MSG_CPU_CORE_INFO_CMD_SWAP( pOCTVC1_HW_MSG_CPU_CORE_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CPU_CORE_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP * pOCTVC1_HW_MSG_CPU_CORE_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CPU_CORE_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP *)pOCTVC1_HW_MSG_CPU_CORE_INFO_RSP)->Header ); } \ + { mOCTVC1_HW_CPU_CORE_INFO_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_INFO_RSP *)pOCTVC1_HW_MSG_CPU_CORE_INFO_RSP)->CoreInfo ); } \ +} +#else +#define mOCTVC1_HW_MSG_CPU_CORE_INFO_RSP_SWAP( pOCTVC1_HW_MSG_CPU_CORE_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CPU_CORE_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD * pOCTVC1_HW_MSG_CPU_CORE_LIST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CPU_CORE_LIST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD *)pOCTVC1_HW_MSG_CPU_CORE_LIST_CMD)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_LIST_CMD *)pOCTVC1_HW_MSG_CPU_CORE_LIST_CMD)->IndexGet ); } \ +} +#else +#define mOCTVC1_HW_MSG_CPU_CORE_LIST_CMD_SWAP( pOCTVC1_HW_MSG_CPU_CORE_LIST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CPU_CORE_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP * pOCTVC1_HW_MSG_CPU_CORE_LIST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CPU_CORE_LIST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP *)pOCTVC1_HW_MSG_CPU_CORE_LIST_RSP)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP *)pOCTVC1_HW_MSG_CPU_CORE_LIST_RSP)->IndexGet ); } \ + { mOCTVC1_LIST_INDEX_GET_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_LIST_RSP *)pOCTVC1_HW_MSG_CPU_CORE_LIST_RSP)->IndexList ); } \ +} +#else +#define mOCTVC1_HW_MSG_CPU_CORE_LIST_RSP_SWAP( pOCTVC1_HW_MSG_CPU_CORE_LIST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD * pOCTVC1_HW_MSG_ETH_PORT_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD *)pOCTVC1_HW_MSG_ETH_PORT_INFO_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD *)pOCTVC1_HW_MSG_ETH_PORT_INFO_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_INFO_CMD *)pOCTVC1_HW_MSG_ETH_PORT_INFO_CMD)->ulPortIndex); \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_INFO_CMD_SWAP( pOCTVC1_HW_MSG_ETH_PORT_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP * pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulInterfaceId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulInterfaceId); \ + { mOCTVC1_HW_ETH_MODE_ENUM_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulMode ); } \ + ((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulTxPktQueuesByteSize = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulTxPktQueuesByteSize); \ + ((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulRxPktQueuesByteSize = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulRxPktQueuesByteSize); \ + ((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulRestrictedApiFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulRestrictedApiFlag); \ + ((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulEnableFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->ulEnableFlag); \ + { mOCTVC1_HW_ETH_PORT_CONFIG_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_INFO_RSP *)pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP)->Config ); } \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_INFO_RSP_SWAP( pOCTVC1_HW_MSG_ETH_PORT_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD * pOCTVC1_HW_MSG_ETH_PORT_LIST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_LIST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD *)pOCTVC1_HW_MSG_ETH_PORT_LIST_CMD)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_LIST_CMD *)pOCTVC1_HW_MSG_ETH_PORT_LIST_CMD)->IndexGet ); } \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_LIST_CMD_SWAP( pOCTVC1_HW_MSG_ETH_PORT_LIST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP * pOCTVC1_HW_MSG_ETH_PORT_LIST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_LIST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP *)pOCTVC1_HW_MSG_ETH_PORT_LIST_RSP)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP *)pOCTVC1_HW_MSG_ETH_PORT_LIST_RSP)->IndexGet ); } \ + { mOCTVC1_LIST_INDEX_GET_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_LIST_RSP *)pOCTVC1_HW_MSG_ETH_PORT_LIST_RSP)->IndexList ); } \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_LIST_RSP_SWAP( pOCTVC1_HW_MSG_ETH_PORT_LIST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD * pOCTVC1_HW_MSG_ETH_PORT_STATS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_STATS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD *)pOCTVC1_HW_MSG_ETH_PORT_STATS_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD *)pOCTVC1_HW_MSG_ETH_PORT_STATS_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD *)pOCTVC1_HW_MSG_ETH_PORT_STATS_CMD)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD *)pOCTVC1_HW_MSG_ETH_PORT_STATS_CMD)->ulResetStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_STATS_CMD *)pOCTVC1_HW_MSG_ETH_PORT_STATS_CMD)->ulResetStatsFlag); \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_STATS_CMD_SWAP( pOCTVC1_HW_MSG_ETH_PORT_STATS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP * pOCTVC1_HW_MSG_ETH_PORT_STATS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_STATS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP *)pOCTVC1_HW_MSG_ETH_PORT_STATS_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP *)pOCTVC1_HW_MSG_ETH_PORT_STATS_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP *)pOCTVC1_HW_MSG_ETH_PORT_STATS_RSP)->ulPortIndex); \ + { mOCTVC1_HW_ETH_PORT_RX_STATS_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP *)pOCTVC1_HW_MSG_ETH_PORT_STATS_RSP)->RxStats ); } \ + { mOCTVC1_HW_ETH_PORT_TX_STATS_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_STATS_RSP *)pOCTVC1_HW_MSG_ETH_PORT_STATS_RSP)->TxStats ); } \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_STATS_RSP_SWAP( pOCTVC1_HW_MSG_ETH_PORT_STATS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD * pOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD *)pOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD *)pOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD *)pOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD)->ulPortIndex); \ + { mOCTVC1_HW_ETH_PORT_CONFIG_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD *)pOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD)->Config ); } \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD_SWAP( pOCTVC1_HW_MSG_ETH_PORT_MODIFY_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP * pOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP *)pOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP *)pOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP *)pOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP)->ulPortIndex); \ +} +#else +#define mOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP_SWAP( pOCTVC1_HW_MSG_ETH_PORT_MODIFY_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_INFO_CMD * pOCTVC1_HW_MSG_RF_PORT_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_INFO_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_CMD)->ulPortIndex); \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_INFO_CMD_SWAP( pOCTVC1_HW_MSG_RF_PORT_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_INFO_RSP * pOCTVC1_HW_MSG_RF_PORT_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_INFO_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)->ulInService = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)->ulInService); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)->hOwner = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)->hOwner); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)->ulPortInterfaceId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_RSP)->ulPortInterfaceId); \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_INFO_RSP_SWAP( pOCTVC1_HW_MSG_RF_PORT_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_STATS_CMD * pOCTVC1_HW_MSG_RF_PORT_STATS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_STATS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_STATS_CMD *)pOCTVC1_HW_MSG_RF_PORT_STATS_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_STATS_CMD *)pOCTVC1_HW_MSG_RF_PORT_STATS_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_STATS_CMD *)pOCTVC1_HW_MSG_RF_PORT_STATS_CMD)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_STATS_CMD *)pOCTVC1_HW_MSG_RF_PORT_STATS_CMD)->ulResetStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_STATS_CMD *)pOCTVC1_HW_MSG_RF_PORT_STATS_CMD)->ulResetStatsFlag); \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_STATS_CMD_SWAP( pOCTVC1_HW_MSG_RF_PORT_STATS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_STATS_RSP * pOCTVC1_HW_MSG_RF_PORT_STATS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_STATS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_STATS_RSP *)pOCTVC1_HW_MSG_RF_PORT_STATS_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_STATS_RSP *)pOCTVC1_HW_MSG_RF_PORT_STATS_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_STATS_RSP *)pOCTVC1_HW_MSG_RF_PORT_STATS_RSP)->ulPortIndex); \ + { mOCTVC1_RADIO_STANDARD_ENUM_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_STATS_RSP *)pOCTVC1_HW_MSG_RF_PORT_STATS_RSP)->ulRadioStandard ); } \ + { mOCTVC1_HW_RF_PORT_RX_STATS_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_STATS_RSP *)pOCTVC1_HW_MSG_RF_PORT_STATS_RSP)->RxStats ); } \ + { mOCTVC1_HW_RF_PORT_TX_STATS_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_STATS_RSP *)pOCTVC1_HW_MSG_RF_PORT_STATS_RSP)->TxStats ); } \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_STATS_RSP_SWAP( pOCTVC1_HW_MSG_RF_PORT_STATS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_LIST_CMD * pOCTVC1_HW_MSG_RF_PORT_LIST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_LIST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_CMD *)pOCTVC1_HW_MSG_RF_PORT_LIST_CMD)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_CMD *)pOCTVC1_HW_MSG_RF_PORT_LIST_CMD)->IndexGet ); } \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_LIST_CMD_SWAP( pOCTVC1_HW_MSG_RF_PORT_LIST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_LIST_RSP * pOCTVC1_HW_MSG_RF_PORT_LIST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_LIST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_RSP *)pOCTVC1_HW_MSG_RF_PORT_LIST_RSP)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_RSP *)pOCTVC1_HW_MSG_RF_PORT_LIST_RSP)->IndexGet ); } \ + { mOCTVC1_LIST_INDEX_GET_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_RSP *)pOCTVC1_HW_MSG_RF_PORT_LIST_RSP)->IndexList ); } \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_LIST_RSP_SWAP( pOCTVC1_HW_MSG_RF_PORT_LIST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD * pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD *)pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SUB_INDEX_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD *)pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD)->SubIndexGet ); } \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD_SWAP( pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP * pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP *)pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SUB_INDEX_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP *)pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP)->SubIndexGet ); } \ + { mOCTVC1_LIST_INDEX_GET_SUB_INDEX_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP *)pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP)->SubIndexList ); } \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP_SWAP( pOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD * pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD)->ulAntennaIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD)->ulAntennaIndex); \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD_SWAP( pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP * pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->ulAntennaIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->ulAntennaIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->ulEnableFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->ulEnableFlag); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->lRxGaindB = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->lRxGaindB); \ + { mOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP)->ulRxGainMode ); } \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP_SWAP( pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD * pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)->ulAntennaIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)->ulAntennaIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)->lRxGaindB = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)->lRxGaindB); \ + { mOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD)->ulRxGainMode ); } \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD_SWAP( pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP * pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP)->ulAntennaIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP)->ulAntennaIndex); \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP_SWAP( pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD * pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD)->ulAntennaIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD)->ulAntennaIndex); \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD_SWAP( pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP * pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)->ulAntennaIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)->ulAntennaIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)->ulEnableFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)->ulEnableFlag); \ + ((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)->lTxGaindB = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP)->lTxGaindB); \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP_SWAP( pOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD * pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)->ulAntennaIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)->ulAntennaIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)->lTxGaindB = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD)->lTxGaindB); \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD_SWAP( pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP * pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP)->Header ); } \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP)->ulPortIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP)->ulPortIndex); \ + ((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP)->ulAntennaIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP *)pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP)->ulAntennaIndex); \ +} +#else +#define mOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP_SWAP( pOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD)->Header ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP)->Header ); } \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP)->ulClkSourceRef ); } \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_SELECTION_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP)->ulClkSourceSelection ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD)->Header ); } \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD)->ulResetStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD)->ulResetStatsFlag); \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->Header ); } \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulState ); } \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->lClockError = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->lClockError); \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->lDroppedCycles = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->lDroppedCycles); \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulPllFreqHz = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulPllFreqHz); \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulPllFractionalFreqHz = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulPllFractionalFreqHz); \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulSlipCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulSlipCnt); \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulSyncLosseCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulSyncLosseCnt); \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulSourceState ); } \ + ((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulDacValue = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP)->ulDacValue); \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD)->Header ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP)->Header ); } \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP)->ulClkSourceRef ); } \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP)->ulSourceState ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD)->Header ); } \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD)->ulClkSourceRef ); } \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_SOURCE_STATE_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD)->ulSourceState ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP)->Header ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_HW_API_SWAP_H__ */ diff --git a/software/include/octvc1/hw/octvc1_hw_base.h b/software/include/octvc1/hw/octvc1_hw_base.h new file mode 100644 index 0000000..df7694c --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_base.h @@ -0,0 +1,51 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HW_BASE.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the OCTVC1 API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_HW_BASE_H__ +#define __OCTVC1_HW_BASE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" + +/**************************************************************************** + Module unique identifiers + ****************************************************************************/ +#define cOCTVC1_HW_UID ( 0x06 ) + +/**************************************************************************** + Module identifier bases + ****************************************************************************/ + +/* Module: HW */ +#define cOCTVC1_HW_CID_BASE ( (cOCTVC1_HW_UID << 16) + cOCTVC1_CID_BASE ) +#define cOCTVC1_HW_EID_BASE ( (cOCTVC1_HW_UID << 16) + cOCTVC1_EID_BASE ) +#define cOCTVC1_HW_RC_BASE ( (cOCTVC1_HW_UID << 16) + cOCTVC1_RC_BASE ) + +#endif /* __OCTVC1_HW_BASE_H__ */ + diff --git a/software/include/octvc1/hw/octvc1_hw_default.h b/software/include/octvc1/hw/octvc1_hw_default.h new file mode 100644 index 0000000..cb125ea --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_default.h @@ -0,0 +1,701 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HW_DEFAULT.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the event definition of the HW API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_HW_DEFAULT_H__ +#define __OCTVC1_HW_DEFAULT_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_hw_api.h" + +/***************************** COMMAND DEFAULT *****************************/ + +/*-------------------------------------------------------------------------- + tOCTVC1_HW_MSG_PCB_INFO_CMD +----------------------------------------------------------------------------*/ +#ifdef OCTVC1_OPT_DECLARE_DEFAULTS + +const tOCTVC1_HW_MSG_PCB_INFO_CMD buf_tOCTVC1_HW_MSG_PCB_INFO_CMD = +{ + { /* Header */ + ((sizeof(tOCTVC1_HW_MSG_PCB_INFO_CMD)<Header ); } \ + ((tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT *)pOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT)->ulCoreIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT *)pOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT)->ulCoreIndex); \ + { mOCTVC1_HW_CPU_CORE_MASK_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT *)pOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT)->ulCoreUseMask ); } \ + { mOCTVC1_HW_CPU_CORE_MASK_SWAP( &((tOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT *)pOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT)->ulCoreHaltMask ); } \ +} +#else +#define mOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT_SWAP( pOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT_SWAP( _f_pParms ){ tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT * pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT = (_f_pParms); SWAP_UNUSED(pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT)\ + { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT)->Header ); } \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT)->ulState ); } \ + { mOCTVC1_HW_CLOCK_SYNC_MGR_STATE_ENUM_SWAP( &((tOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT *)pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT)->ulPreviousState ); } \ +} +#else +#define mOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT_SWAP( pOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_HW_EVT_SWAP_H__ */ diff --git a/software/include/octvc1/hw/octvc1_hw_id.h b/software/include/octvc1/hw/octvc1_hw_id.h new file mode 100644 index 0000000..de9da41 --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_id.h @@ -0,0 +1,73 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HW_ID.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the identifiers for the HW API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_HW_ID_H__ +#define __OCTVC1_HW_ID_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "octvc1_hw_base.h" + +/**************************************************************************** + Command IDs + ****************************************************************************/ +#define cOCTVC1_HW_MSG_PCB_INFO_CID ( 0x001 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_CPU_CORE_STATS_CID ( 0x002 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_CPU_CORE_INFO_CID ( 0x003 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_CPU_CORE_LIST_CID ( 0x004 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_ETH_PORT_INFO_CID ( 0x005 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_ETH_PORT_LIST_CID ( 0x006 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_ETH_PORT_STATS_CID ( 0x007 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_ETH_PORT_MODIFY_CID ( 0x009 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_RF_PORT_INFO_CID ( 0x00a + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_RF_PORT_STATS_CID ( 0x00b + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_RF_PORT_LIST_CID ( 0x00c + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CID ( 0x00d + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CID ( 0x00e + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CID ( 0x00f + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CID ( 0x010 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CID ( 0x011 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CID ( 0x012 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CID ( 0x013 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CID ( 0x014 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CID ( 0x015 + cOCTVC1_HW_CID_BASE ) + +#define cOCTVC1_HW_CID_MAX (( 0x017 + 1 ) & 0xFFF) + +/**************************************************************************** + Event IDs + ****************************************************************************/ +#define cOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EID ( 0x0001 + cOCTVC1_HW_EID_BASE ) +#define cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EID ( 0x0002 + cOCTVC1_HW_EID_BASE ) + +#define cOCTVC1_HW_EID_MAX (( 0x0002 + 1 ) & 0xFFFF) + + +#endif /* __OCTVC1_HW_ID_H__ */ + diff --git a/software/include/octvc1/hw/octvc1_hw_id_priv.h b/software/include/octvc1/hw/octvc1_hw_id_priv.h new file mode 100644 index 0000000..3160b71 --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_id_priv.h @@ -0,0 +1,50 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HW_ID_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the identifiers for the HW API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_HW_ID_PRIV_H__ +#define __OCTVC1_HW_ID_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_hw_id.h" +#include "octvc1_hw_base.h" + +/**************************************************************************** + Command IDs + ****************************************************************************/ +#define cOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CID ( 0x008 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CID ( 0x016 + cOCTVC1_HW_CID_BASE ) +#define cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CID ( 0x017 + cOCTVC1_HW_CID_BASE ) + +/**************************************************************************** + Event IDs + ****************************************************************************/ + + +#endif /* __OCTVC1_HW_ID_PRIV_H__ */ + diff --git a/software/include/octvc1/hw/octvc1_hw_rc.h b/software/include/octvc1/hw/octvc1_hw_rc.h new file mode 100644 index 0000000..9a5e4b7 --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_rc.h @@ -0,0 +1,78 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HW_RC.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the return codes for the HW API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_HW_RC_H__ +#define OCTVC1_HW_RC_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "../octvc1_generic_rc.h" +#include "octvc1_hw_base.h" + +/**************************************************************************** + HW return codes + ****************************************************************************/ +#define cOCTVC1_HW_RC_CORE_NOT_FOUND ( 0x0004 + cOCTVC1_HW_RC_BASE ) +#define cOCTVC1_HW_RC_ETH_PORT_RESTRICTED_API_DENIED ( 0x0006 + cOCTVC1_HW_RC_BASE ) + +/**************************************************************************** + ETH return codes + ****************************************************************************/ +#define cOCTVC1_HW_ETH_RC_BASE ( 0x0010 + cOCTVC1_HW_RC_BASE ) + +#define cOCTVC1_HW_RC_ETH_PORT_IN_USED ( 0x0001 + cOCTVC1_HW_ETH_RC_BASE ) + +/**************************************************************************** + RF_PORT return codes + ****************************************************************************/ +#define cOCTVC1_HW_RF_PORT_RC_BASE ( 0x0020 + cOCTVC1_HW_RC_BASE ) + +#define cOCTVC1_HW_RC_RF_PORT_UNUSED ( 0x0001 + cOCTVC1_HW_RF_PORT_RC_BASE ) +#define cOCTVC1_HW_RC_RF_PORT_ANTENNA_UNUSED ( 0x0002 + cOCTVC1_HW_RF_PORT_RC_BASE ) +#define cOCTVC1_HW_RC_RF_PORT_ANTENNA_INTERNAL_ERROR ( 0x0003 + cOCTVC1_HW_RF_PORT_RC_BASE ) +#define cOCTVC1_HW_RC_RF_PORT_ANTENNA_CANNOT_MODIFY ( 0x0004 + cOCTVC1_HW_RF_PORT_RC_BASE ) + +/**************************************************************************** + CLOCK_SYNC_MGR return codes + ****************************************************************************/ +#define cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ( 0x0050 + cOCTVC1_HW_RC_BASE ) + +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_ALREADY_OPEN ( 0x0000 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_OPEN_ERROR ( 0x0001 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_CLOSE_ERROR ( 0x0002 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_BAD_PCB_INFO ( 0x0003 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_DAC_OPEN_ERROR ( 0x0004 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_PROCESS_OPEN_ERROR ( 0x0005 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_PROCESS_CLOSE_ERROR ( 0x0006 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_DAC_CLOSE_ERROR ( 0x0007 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_STATS_ERROR ( 0x0008 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) +#define cOCTVC1_HW_RC_CLOCK_SYNC_MGR_NOT_SUPPORTED ( 0x0009 + cOCTVC1_HW_CLOCK_SYNC_MGR_RC_BASE ) + +#endif /* OCTVC1_HW_RC_H__ */ + diff --git a/software/include/octvc1/hw/octvc1_hw_rc_priv.h b/software/include/octvc1/hw/octvc1_hw_rc_priv.h new file mode 100644 index 0000000..2b40001 --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_rc_priv.h @@ -0,0 +1,42 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HW_RC_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the return codes for the HW API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_HW_RC_PRIV_H__ +#define OCTVC1_HW_RC_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_hw_rc.h" +#include "octvc1_hw_base.h" + +/**************************************************************************** + HW return codes + ****************************************************************************/ + +#endif /* OCTVC1_HW_RC_PRIV_H__ */ + diff --git a/software/include/octvc1/hw/octvc1_hw_version.h b/software/include/octvc1/hw/octvc1_hw_version.h new file mode 100644 index 0000000..7514748 --- /dev/null +++ b/software/include/octvc1/hw/octvc1_hw_version.h @@ -0,0 +1,51 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HW_VERSION.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the version of the HW API interface. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_HW_VERSION_H__ +#define __OCTVC1_HW_VERSION_H__ + + +/* The version ID is separated into the following sections: + + bit[31:25]: Major version + bit[24:18]: Minor version + bit[17:11]: Bug fix version + bit[10:0]: Build number +*/ +#define cOCTVC1_HW_VERSION_MAJOR 2 +#define cOCTVC1_HW_VERSION_MINOR 2 +#define cOCTVC1_HW_VERSION_MAINTENANCE 4 +#define cOCTVC1_HW_VERSION_BUILD 403 + +#define cOCTVC1_HW_VERSION_ID ( (cOCTVC1_HW_VERSION_MAJOR << 25) + \ + (cOCTVC1_HW_VERSION_MINOR << 18) + \ + (cOCTVC1_HW_VERSION_MAINTENANCE << 11) + \ + cOCTVC1_HW_VERSION_BUILD ) + +#endif /* __OCTVC1_HW_VERSION_H__ */ + diff --git a/software/include/octvc1/irsc/octvc1_irsc_api.h b/software/include/octvc1/irsc/octvc1_irsc_api.h new file mode 100644 index 0000000..468eeaa --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_api.h @@ -0,0 +1,997 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IRSC_API.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the IRSC API. + OCTVC1 Internal Resources + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_IRSC_API_H__ +#define __OCTVC1_IRSC_API_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../../octdev_types.h" +#include "../../octdev_devices.h" +#include "../octvc1_msg.h" +#include "../octvc1_handle.h" +#include "../octvc1_fifo.h" +#include "../octvc1_buffer.h" +#include "../octvc1_eth.h" +#include "../octvc1_mac.h" +#include "../octvc1_cursor.h" +#include "../octvc1_list.h" +#include "../octvc1_log.h" +#include "../octvc1_process.h" +#include "../octvc1_radio.h" +#include "../octvc1_api.h" + +#include "octvc1_irsc_id.h" +#include "octvc1_irsc_rc.h" + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + IPC related definitions. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + IPC port type. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_IRSC_IPC_PORT_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_INVALID 0 +#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_UNIDIR_RECV 1 +#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_UNIDIR_SEND 2 +#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_BIDIR 3 +#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_LOCAL 4 + +/*------------------------------------------------------------------------------------- + IPC port type. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_IRSC_IPC_PORT_STATE_ENUM tOCT_UINT32 + +#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_INVALID 0 +#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_ERROR 1 +#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_CONFIG 2 +#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_WAIT_REMOTE 3 +#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_READY 4 + +/*------------------------------------------------------------------------------------- + API related definitions +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_API_STATS + API stats + + Members: + ulMaxProcessingTimeUs + Max time spent processing the command in micro second. + ulMinProcessingTimeUs + Min time spent processing the command in micro second. + ulTotalProcessingTimeUs + Total time spent processing the command in micro second. + ulCmdCnt + How many time the command is called + ulL1CacheMissCnt + Number of cache miss in L1 memory + ulTlbCacheMissCnt + Number of cache miss in TLB memory +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulMaxProcessingTimeUs; + tOCT_UINT32 ulMinProcessingTimeUs; + tOCT_UINT32 ulTotalProcessingTimeUs; + tOCT_UINT32 ulCmdCnt; + tOCT_UINT32 ulL1CacheMissCnt; + tOCT_UINT32 ulTlbCacheMissCnt; + +} tOCTVC1_IRSC_API_STATS; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_SESSION_STATS + API SESSION stats + + Members: + ulLastCmdTimestamp + Timestamp of the last command received + ulExpTransactionId + Next Expected transaction id + ulAcceptedCmdCnt + Total of accepted commands + ulRejectedCmdCnt + Total of rejected commands + ulRetryCmdCnt + Total of retry commands + ulResyncCnt + Total of transaction id resynchronization + ulSessionCnt + Total of time this session index have been used with a different client session + ulEvtSentCnt + Next Expected transaction id + ulEvtSentErrCnt + Next Expected transaction id + ulLastEvtTimestamp + Timestamp of the last event sent +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulLastCmdTimestamp; + tOCT_UINT32 ulExpTransactionId; + tOCT_UINT32 ulAcceptedCmdCnt; + tOCT_UINT32 ulRejectedCmdCnt; + tOCT_UINT32 ulRetryCmdCnt; + tOCT_UINT32 ulResyncCnt; + tOCT_UINT32 ulSessionCnt; + tOCT_UINT32 ulEvtSentCnt; + tOCT_UINT32 ulEvtSentErrCnt; + tOCT_UINT32 ulLastEvtTimestamp; + +} tOCTVC1_IRSC_SESSION_STATS; + +/***************************** METHODS *************************************/ +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Default: cOCTVC1_HANDLE_INVALID + Process handle identifier. Typically retrieved using the + cOCTVC1_MAIN_MSG_DEVICE_INFO_CID command. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + +} tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP + + Members: + Header + OCTVC1 Message Header + hProcess + szName + Process Name. + szProcessImageName + Process file name. + ulType + Process Type. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + tOCT_UINT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */ + tOCT_UINT8 szProcessImageName[(cOCTVC1_PROCESS_IMAGE_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */ + tOCTVC1_PROCESS_TYPE_ENUM ulType; + +} tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Default: cOCTVC1_HANDLE_INVALID + Process handle identifier. + ulResetProcessStatsFlag + Statistics counters will be reset to zero after the current values are returned. + ulResetIpcStatsFlag + Statistics counters for all IPC ports will be reset to zero after the current + values are returned. + ulResetTaskStatsFlag + Statistics counters for all tasks will be reset to zero after the current + values are returned. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + tOCT_BOOL32 ulResetProcessStatsFlag; + tOCT_BOOL32 ulResetIpcStatsFlag; + tOCT_BOOL32 ulResetTaskStatsFlag; + +} tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP + + Members: + Header + OCTVC1 Message Header + hProcess + State + Current process state. + Error + Process Error +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + tOCTVC1_PROCESS_STATE_ENUM State; + tOCTVC1_PROCESS_ERROR Error; + +} tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + +} tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor + ObjectNameList + Object32 named list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + tOCTVC1_LIST_NAME_OBJECT32_GET ObjectNameList; + +} tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Process identifier + ulPortId + IPC port identifier +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hProcess; + tOCTVC1_SUB_OBJECT_ID ulPortId; + +} tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP + + Members: + Header + OCTVC1 Message Header + hProcess + Process identifier + ulPortId + IPC port identifier + ulUserId + IPC port user identifier + hRemoteProcess + Remote Process identifier + ulRemotePortId + Remote IPC port identifier + ulRemoteUserId + Remote IPC port user id + szName + IPC Port Name. + ulPortIdx + Process Local Port Idx + ulType + Process Local Port Idx + ulSystemFlag + System Flag + ulGhostFlag + Ghost Flag. Use for internal test. + ulRecvMsgNum + Reception array message number. + ulRecvMsgSize + Reception message size in bytes. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hProcess; + tOCTVC1_SUB_OBJECT_ID ulPortId; + tOCT_UINT32 ulUserId; + tOCTVC1_HANDLE_OBJECT hRemoteProcess; + tOCTVC1_SUB_OBJECT_ID ulRemotePortId; + tOCT_UINT32 ulRemoteUserId; + tOCT_UINT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */ + tOCT_UINT32 ulPortIdx; + tOCTVC1_IRSC_IPC_PORT_TYPE_ENUM ulType; + tOCT_BOOL32 ulSystemFlag; + tOCT_BOOL32 ulGhostFlag; + tOCT_UINT32 ulRecvMsgNum; + tOCT_UINT32 ulRecvMsgSize; + +} tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Process identifier + ulPortId + IPC port identifier + ulResetStatsFlag + Statistics counters will be reset to zero after the current values are returned. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hProcess; + tOCTVC1_SUB_OBJECT_ID ulPortId; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP + + Members: + Header + OCTVC1 Message Header + hProcess + Process identifier + ulPortId + IPC port identifier + ulState + IPC port state + ulSendMsgCnt + Count of message send + ulRecvMsgCnt + Count of message received. + ulRecvMsgMissCnt + Number of missing message +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hProcess; + tOCTVC1_SUB_OBJECT_ID ulPortId; + tOCTVC1_IRSC_IPC_PORT_STATE_ENUM ulState; + tOCT_UINT32 ulSendMsgCnt; + tOCT_UINT32 ulRecvMsgCnt; + tOCT_UINT32 ulRecvMsgMissCnt; + +} tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD + + Members: + Header + OCTVC1 Message Header + SubObjectIdGet + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet; + +} tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP + + Members: + Header + OCTVC1 Message Header + SubObjectIdGet + Object cursor + ObjectNameList + Object32 named list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet; + tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME ObjectNameList; + +} tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Process identifier + ulTaskIndex + Task identifier +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hProcess; + tOCTVC1_SUB_OBJECT_ID ulTaskIndex; + +} tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP + + Members: + Header + OCTVC1 Message Header + hProcess + Process identifier + ulTaskIndex + Task identifier + szName + Name given to the task +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hProcess; + tOCTVC1_SUB_OBJECT_ID ulTaskIndex; + tOCT_UINT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)]; + +} tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Process identifier + ulTaskIndex + Task identifier + ulResetStatsFlag + Statistics counters will be reset to zero after the current values are returned. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hProcess; + tOCTVC1_SUB_OBJECT_ID ulTaskIndex; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP + + Members: + Header + OCTVC1 Message Header + hProcess + Process identifier + ulTaskIndex + Task identifier + Stats +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hProcess; + tOCTVC1_SUB_OBJECT_ID ulTaskIndex; + tOCTVC1_PROCESS_TASK_STATS Stats; + +} tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD + + Members: + Header + OCTVC1 Message Header + SubObjectIdGet + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet; + +} tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP + + Members: + Header + OCTVC1 Message Header + SubObjectIdGet + Object cursor + ObjectNameList + Object32 named list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet; + tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME ObjectNameList; + +} tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD + + Members: + Header + OCTVC1 Message Header + ulObjType + Default: cOCTVC1_HANDLE_INVALID + Process handle identifier. Typically retrieved using the + cOCTVC1_MAIN_MSG_DEVICE_INFO_CID command. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulObjType; + +} tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP + + Members: + Header + OCTVC1 Message Header + ulObjType + Type of object contained by the manager, represented as a number + ulMaxNumObj + Max number of objects the manager can hold + ulObjByteSize + Size in bytes of each object + szName + Name given to the object manager +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulObjType; + tOCT_UINT32 ulMaxNumObj; + tOCT_UINT32 ulObjByteSize; + tOCT_UINT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)]; + +} tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD + + Members: + Header + OCTVC1 Message Header + ulObjType + Type of object contained by the manager, represented as a number +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulObjType; + +} tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP + + Members: + Header + OCTVC1 Message Header + ulObjType + Type of object contained by the manager, represented as a number + ulMaxNumObj + Max number of objects the manager can hold + ulNumObj + Current number of objects in the manager +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulObjType; + tOCT_UINT32 ulMaxNumObj; + tOCT_UINT32 ulNumObj; + +} tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + +} tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor + ObjectNameList + >Object32 named list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + tOCTVC1_LIST_NAME_OBJECT32_GET ObjectNameList; + +} tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD + Start the Api command timing + + Members: + Header + OCTVC1 Message Header + ulResetStatsFlag + Default: cOCT_TRUE + If set to cOCT_TRUE, all statistics counters will be reset to zero. + If set to cOCT_FALSE, counters will not be reset. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD + Stop the Api command timing + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD + List the command since the monitoring is enabled. + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor + ObjectList + Object List structure. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + tOCTVC1_LIST_HANDLE_OBJECT_GET ObjectList; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD + + Members: + Header + OCTVC1 Message Header + hCmdId + ulResetStatsFlag + Default: cOCT_FALSE + Statistics counters will be reset to zero after the current values are returned. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hCmdId; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP + + Members: + Header + OCTVC1 Message Header + hCmdId + CommandStats + Monitoring entry asked +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hCmdId; + tOCTVC1_IRSC_API_STATS CommandStats; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD + List the cmd that are monitored + + Members: + Header + OCTVC1 Message Header + IndexGet + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP + + Members: + Header + OCTVC1 Message Header + IndexGet + Object cursor + IndexList + Object name list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + tOCTVC1_LIST_INDEX_GET IndexList; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index + SessionInfo + Session Info +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_API_SESSION_INFO SessionInfo; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index + ulResetStatsFlag + Default: cOCT_FALSE + Statistics counters will be reset to zero after the current values are returned. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index + SessionStats + Sessiont statistic asked +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_IRSC_SESSION_STATS SessionStats; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index + EvtInfo + Session event Info +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_API_SESSION_EVT_INFO EvtInfo; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index + Stats + Session event stats +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_IRSC_API_STATS Stats; + +} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP; + + +/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ +#include "octvc1_irsc_evt.h" + +#endif /* __OCTVC1_IRSC_API_H__ */ + diff --git a/software/include/octvc1/irsc/octvc1_irsc_api_priv.h b/software/include/octvc1/irsc/octvc1_irsc_api_priv.h new file mode 100644 index 0000000..8e1c606 --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_api_priv.h @@ -0,0 +1,49 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IRSC_API_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the IRSC API. + OCTVC1 Internal Resources + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_IRSC_API_PRIV_H__ +#define __OCTVC1_IRSC_API_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_irsc_api.h" +#include "octvc1_irsc_id_priv.h" +#include "octvc1_irsc_rc_priv.h" + +/************************ COMMON DEFINITIONS *******************************/ + + + +/***************************** METHODS *************************************/ + +/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ +#include "octvc1_irsc_evt_priv.h" + +#endif /* __OCTVC1_IRSC_API_PRIV_H__ */ + diff --git a/software/include/octvc1/irsc/octvc1_irsc_api_priv_swap.h b/software/include/octvc1/irsc/octvc1_irsc_api_priv_swap.h new file mode 100644 index 0000000..6b6277e --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_api_priv_swap.h @@ -0,0 +1,43 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +File: octvc1_irsc_api_priv_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_IRSC_API_PRIV_SWAP_H__ +#define __OCTVC1_IRSC_API_PRIV_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_priv_swap_hdrs.h" +#include "octvc1_irsc_api_priv.h" + +/********************************* MACROS **********************************/ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_IRSC_API_PRIV_SWAP_H__ */ diff --git a/software/include/octvc1/irsc/octvc1_irsc_api_swap.h b/software/include/octvc1/irsc/octvc1_irsc_api_swap.h new file mode 100644 index 0000000..40a755d --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_api_swap.h @@ -0,0 +1,590 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_irsc_api_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_IRSC_API_SWAP_H__ +#define __OCTVC1_IRSC_API_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_swap_hdrs.h" +#include "octvc1_irsc_api.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_IPC_PORT_STATE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_IRSC_IPC_PORT_STATE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_API_STATS_SWAP( _f_pParms ){ tOCTVC1_IRSC_API_STATS * pOCTVC1_IRSC_API_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_API_STATS)\ + ((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulMaxProcessingTimeUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulMaxProcessingTimeUs); \ + ((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulMinProcessingTimeUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulMinProcessingTimeUs); \ + ((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulTotalProcessingTimeUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulTotalProcessingTimeUs); \ + ((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulCmdCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulCmdCnt); \ + ((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulL1CacheMissCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulL1CacheMissCnt); \ + ((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulTlbCacheMissCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_API_STATS *)pOCTVC1_IRSC_API_STATS)->ulTlbCacheMissCnt); \ +} +#else +#define mOCTVC1_IRSC_API_STATS_SWAP( pOCTVC1_IRSC_API_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_SESSION_STATS_SWAP( _f_pParms ){ tOCTVC1_IRSC_SESSION_STATS * pOCTVC1_IRSC_SESSION_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_SESSION_STATS)\ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulLastCmdTimestamp = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulLastCmdTimestamp); \ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulExpTransactionId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulExpTransactionId); \ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulAcceptedCmdCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulAcceptedCmdCnt); \ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulRejectedCmdCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulRejectedCmdCnt); \ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulRetryCmdCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulRetryCmdCnt); \ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulResyncCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulResyncCnt); \ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulSessionCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulSessionCnt); \ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulEvtSentCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulEvtSentCnt); \ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulEvtSentErrCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulEvtSentErrCnt); \ + ((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulLastEvtTimestamp = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_SESSION_STATS *)pOCTVC1_IRSC_SESSION_STATS)->ulLastEvtTimestamp); \ +} +#else +#define mOCTVC1_IRSC_SESSION_STATS_SWAP( pOCTVC1_IRSC_SESSION_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD * pOCTVC1_IRSC_MSG_PROCESS_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_CMD)->hProcess); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_CMD_SWAP( pOCTVC1_IRSC_MSG_PROCESS_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP * pOCTVC1_IRSC_MSG_PROCESS_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_RSP)->hProcess); \ + { mOCTVC1_PROCESS_TYPE_ENUM_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_RSP)->ulType ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_RSP_SWAP( pOCTVC1_IRSC_MSG_PROCESS_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD * pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)->hProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)->ulResetProcessStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)->ulResetProcessStatsFlag); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)->ulResetIpcStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)->ulResetIpcStatsFlag); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)->ulResetTaskStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD)->ulResetTaskStatsFlag); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_CMD_SWAP( pOCTVC1_IRSC_MSG_PROCESS_STATS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP * pOCTVC1_IRSC_MSG_PROCESS_STATS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_STATS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_RSP)->hProcess); \ + { mOCTVC1_PROCESS_STATE_ENUM_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_RSP)->State ); } \ + { mOCTVC1_PROCESS_ERROR_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_RSP)->Error ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_RSP_SWAP( pOCTVC1_IRSC_MSG_PROCESS_STATS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD * pOCTVC1_IRSC_MSG_PROCESS_LIST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_LIST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD *)pOCTVC1_IRSC_MSG_PROCESS_LIST_CMD)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD *)pOCTVC1_IRSC_MSG_PROCESS_LIST_CMD)->ObjectCursor ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_CMD_SWAP( pOCTVC1_IRSC_MSG_PROCESS_LIST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP * pOCTVC1_IRSC_MSG_PROCESS_LIST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_LIST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP *)pOCTVC1_IRSC_MSG_PROCESS_LIST_RSP)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP *)pOCTVC1_IRSC_MSG_PROCESS_LIST_RSP)->ObjectCursor ); } \ + { mOCTVC1_LIST_NAME_OBJECT32_GET_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP *)pOCTVC1_IRSC_MSG_PROCESS_LIST_RSP)->ObjectNameList ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_RSP_SWAP( pOCTVC1_IRSC_MSG_PROCESS_LIST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD * pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD)->hProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD)->ulPortId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD)->ulPortId); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD_SWAP( pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP * pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->hProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulPortId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulPortId); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulUserId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulUserId); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->hRemoteProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->hRemoteProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulRemotePortId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulRemotePortId); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulRemoteUserId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulRemoteUserId); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulPortIdx = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulPortIdx); \ + { mOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulType ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulSystemFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulSystemFlag); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulGhostFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulGhostFlag); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulRecvMsgNum = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulRecvMsgNum); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulRecvMsgSize = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP)->ulRecvMsgSize); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP_SWAP( pOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD * pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)->hProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)->ulPortId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)->ulPortId); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)->ulResetStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD)->ulResetStatsFlag); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD_SWAP( pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP * pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->hProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->ulPortId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->ulPortId); \ + { mOCTVC1_IRSC_IPC_PORT_STATE_ENUM_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->ulState ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->ulSendMsgCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->ulSendMsgCnt); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->ulRecvMsgCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->ulRecvMsgCnt); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->ulRecvMsgMissCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP)->ulRecvMsgMissCnt); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP_SWAP( pOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD * pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD *)pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD)->SubObjectIdGet ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD_SWAP( pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP * pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP)->SubObjectIdGet ); } \ + { mOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP *)pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP)->ObjectNameList ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP_SWAP( pOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD * pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD)->hProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD)->ulTaskIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD)->ulTaskIndex); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD_SWAP( pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP * pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP)->hProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP)->ulTaskIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP)->ulTaskIndex); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP_SWAP( pOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD * pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)->hProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)->ulTaskIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)->ulTaskIndex); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)->ulResetStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD)->ulResetStatsFlag); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD_SWAP( pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP * pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP)->hProcess); \ + ((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP)->ulTaskIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP)->ulTaskIndex); \ + { mOCTVC1_PROCESS_TASK_STATS_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP)->Stats ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP_SWAP( pOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD * pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD *)pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD)->SubObjectIdGet ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD_SWAP( pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP * pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP)->SubObjectIdGet ); } \ + { mOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME_SWAP( &((tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP *)pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP)->ObjectNameList ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP_SWAP( pOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD * pOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD)->ulObjType = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD)->ulObjType); \ +} +#else +#define mOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD_SWAP( pOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP * pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)->ulObjType = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)->ulObjType); \ + ((tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)->ulMaxNumObj = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)->ulMaxNumObj); \ + ((tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)->ulObjByteSize = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP)->ulObjByteSize); \ +} +#else +#define mOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP_SWAP( pOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD * pOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD)->ulObjType = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD)->ulObjType); \ +} +#else +#define mOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD_SWAP( pOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP * pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)->ulObjType = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)->ulObjType); \ + ((tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)->ulMaxNumObj = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)->ulMaxNumObj); \ + ((tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)->ulNumObj = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP)->ulNumObj); \ +} +#else +#define mOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP_SWAP( pOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD * pOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD *)pOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD *)pOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD)->ObjectCursor ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD_SWAP( pOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP * pOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP)->ObjectCursor ); } \ + { mOCTVC1_LIST_NAME_OBJECT32_GET_SWAP( &((tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP *)pOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP)->ObjectNameList ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP_SWAP( pOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD * pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD)->ulResetStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD)->ulResetStatsFlag); \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP * pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP)->Header ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD * pOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD)->Header ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP * pOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP)->Header ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD * pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD)->ObjectCursor ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP * pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP)->ObjectCursor ); } \ + { mOCTVC1_LIST_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP)->ObjectList ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD * pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD)->hCmdId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD)->hCmdId); \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD)->ulResetStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD)->ulResetStatsFlag); \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP * pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP)->hCmdId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP)->hCmdId); \ + { mOCTVC1_IRSC_API_STATS_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP)->CommandStats ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD * pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD)->IndexGet ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP * pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP)->IndexGet ); } \ + { mOCTVC1_LIST_INDEX_GET_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP)->IndexList ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD * pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD)->ulSessionIndex); \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP * pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP)->ulSessionIndex); \ + { mOCTVC1_API_SESSION_INFO_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP)->SessionInfo ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD * pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD)->ulSessionIndex); \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD)->ulResetStatsFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD)->ulResetStatsFlag); \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP * pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP)->ulSessionIndex); \ + { mOCTVC1_IRSC_SESSION_STATS_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP)->SessionStats ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD * pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)->ulSessionIndex); \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP * pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)->ulSessionIndex); \ + { mOCTVC1_API_SESSION_EVT_INFO_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)->EvtInfo ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD * pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD)->ulSessionIndex); \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP * pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP)->Header ); } \ + ((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP)->ulSessionIndex); \ + { mOCTVC1_IRSC_API_STATS_SWAP( &((tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP *)pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP)->Stats ); } \ +} +#else +#define mOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP_SWAP( pOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_IRSC_API_SWAP_H__ */ diff --git a/software/include/octvc1/irsc/octvc1_irsc_base.h b/software/include/octvc1/irsc/octvc1_irsc_base.h new file mode 100644 index 0000000..6f02514 --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_base.h @@ -0,0 +1,51 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IRSC_BASE.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the OCTVC1 API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_IRSC_BASE_H__ +#define __OCTVC1_IRSC_BASE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" + +/**************************************************************************** + Module unique identifiers + ****************************************************************************/ +#define cOCTVC1_IRSC_UID ( 0x07 ) + +/**************************************************************************** + Module identifier bases + ****************************************************************************/ + +/* Module: IRSC */ +#define cOCTVC1_IRSC_CID_BASE ( (cOCTVC1_IRSC_UID << 16) + cOCTVC1_CID_BASE ) +#define cOCTVC1_IRSC_EID_BASE ( (cOCTVC1_IRSC_UID << 16) + cOCTVC1_EID_BASE ) +#define cOCTVC1_IRSC_RC_BASE ( (cOCTVC1_IRSC_UID << 16) + cOCTVC1_RC_BASE ) + +#endif /* __OCTVC1_IRSC_BASE_H__ */ + diff --git a/software/include/octvc1/irsc/octvc1_irsc_default.h b/software/include/octvc1/irsc/octvc1_irsc_default.h new file mode 100644 index 0000000..30b44a7 --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_default.h @@ -0,0 +1,720 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IRSC_DEFAULT.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the event definition of the IRSC API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_IRSC_DEFAULT_H__ +#define __OCTVC1_IRSC_DEFAULT_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_irsc_api.h" + +/***************************** COMMAND DEFAULT *****************************/ + +/*-------------------------------------------------------------------------- + tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD +----------------------------------------------------------------------------*/ +#ifdef OCTVC1_OPT_DECLARE_DEFAULTS + +const tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD buf_tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD = +{ + { /* Header */ + ((sizeof(tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD)<Header ); } \ + ((tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT *)pOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT *)pOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT)->hProcess); \ +} +#else +#define mOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT_SWAP( pOCTVC1_IRSC_MSG_PROCESS_DUMP_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_IRSC_EVT_SWAP_H__ */ diff --git a/software/include/octvc1/irsc/octvc1_irsc_id.h b/software/include/octvc1/irsc/octvc1_irsc_id.h new file mode 100644 index 0000000..04352d2 --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_id.h @@ -0,0 +1,73 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IRSC_ID.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the identifiers for the IRSC API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_IRSC_ID_H__ +#define __OCTVC1_IRSC_ID_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "octvc1_irsc_base.h" + +/**************************************************************************** + Command IDs + ****************************************************************************/ +#define cOCTVC1_IRSC_MSG_PROCESS_INFO_CID ( 0x001 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_PROCESS_STATS_CID ( 0x002 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_PROCESS_LIST_CID ( 0x003 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CID ( 0x004 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CID ( 0x005 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CID ( 0x006 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CID ( 0x007 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CID ( 0x008 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CID ( 0x009 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_OBJMGR_INFO_CID ( 0x00a + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_OBJMGR_STATS_CID ( 0x00b + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_OBJMGR_LIST_CID ( 0x00c + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CID ( 0x00d + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CID ( 0x00e + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CID ( 0x00f + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CID ( 0x010 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CID ( 0x011 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CID ( 0x012 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CID ( 0x013 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CID ( 0x014 + cOCTVC1_IRSC_CID_BASE ) +#define cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CID ( 0x015 + cOCTVC1_IRSC_CID_BASE ) + +#define cOCTVC1_IRSC_CID_MAX (( 0x015 + 1 ) & 0xFFF) + +/**************************************************************************** + Event IDs + ****************************************************************************/ +#define cOCTVC1_IRSC_MSG_PROCESS_DUMP_EID ( 0x0001 + cOCTVC1_IRSC_EID_BASE ) + +#define cOCTVC1_IRSC_EID_MAX (( 0x0001 + 1 ) & 0xFFFF) + + +#endif /* __OCTVC1_IRSC_ID_H__ */ + diff --git a/software/include/octvc1/irsc/octvc1_irsc_id_priv.h b/software/include/octvc1/irsc/octvc1_irsc_id_priv.h new file mode 100644 index 0000000..8920fea --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_id_priv.h @@ -0,0 +1,47 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IRSC_ID_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the identifiers for the IRSC API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_IRSC_ID_PRIV_H__ +#define __OCTVC1_IRSC_ID_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_irsc_id.h" +#include "octvc1_irsc_base.h" + +/**************************************************************************** + Command IDs + ****************************************************************************/ + +/**************************************************************************** + Event IDs + ****************************************************************************/ + + +#endif /* __OCTVC1_IRSC_ID_PRIV_H__ */ + diff --git a/software/include/octvc1/irsc/octvc1_irsc_rc.h b/software/include/octvc1/irsc/octvc1_irsc_rc.h new file mode 100644 index 0000000..d1941b9 --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_rc.h @@ -0,0 +1,64 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IRSC_RC.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the return codes for the IRSC API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_IRSC_RC_H__ +#define OCTVC1_IRSC_RC_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "../octvc1_generic_rc.h" +#include "octvc1_irsc_base.h" + +/**************************************************************************** + IRSC return codes + ****************************************************************************/ +#define cOCTVC1_IRSC_RC_INVALID_TASK ( 0x000A + cOCTVC1_IRSC_RC_BASE ) + +/**************************************************************************** + OBJMGR return codes + ****************************************************************************/ +#define cOCTVC1_IRSC_OBJMGR_RC_BASE ( 0x0450 + cOCTVC1_IRSC_RC_BASE ) + +#define cOCTVC1_IRSC_RC_OBJMGR_LIST_ERROR ( 0x0001 + cOCTVC1_IRSC_OBJMGR_RC_BASE ) +#define cOCTVC1_IRSC_RC_OBJMGR_INVALID_OBJECT ( 0x0002 + cOCTVC1_IRSC_OBJMGR_RC_BASE ) +#define cOCTVC1_IRSC_RC_OBJMGR_INTERNAL_ERROR ( 0x0003 + cOCTVC1_IRSC_OBJMGR_RC_BASE ) +#define cOCTVC1_IRSC_RC_OBJMGR_NOT_INIT ( 0x0004 + cOCTVC1_IRSC_OBJMGR_RC_BASE ) + +/**************************************************************************** + API_COMMAND return codes + ****************************************************************************/ +#define cOCTVC1_IRSC_API_COMMAND_RC_BASE ( 0x0550 + cOCTVC1_IRSC_RC_BASE ) + +#define cOCTVC1_IRSC_RC_API_COMMAND_MONITORING_DISABLE ( 0x0002 + cOCTVC1_IRSC_API_COMMAND_RC_BASE ) +#define cOCTVC1_IRSC_RC_API_COMMAND_MAX_REACHED ( 0x0003 + cOCTVC1_IRSC_API_COMMAND_RC_BASE ) +#define cOCTVC1_IRSC_RC_API_COMMAND_MONITORING_ALREADY_START ( 0x0004 + cOCTVC1_IRSC_API_COMMAND_RC_BASE ) +#define cOCTVC1_IRSC_RC_API_COMMAND_INTERNAL_ERROR ( 0x0005 + cOCTVC1_IRSC_API_COMMAND_RC_BASE ) + +#endif /* OCTVC1_IRSC_RC_H__ */ + diff --git a/software/include/octvc1/irsc/octvc1_irsc_rc_priv.h b/software/include/octvc1/irsc/octvc1_irsc_rc_priv.h new file mode 100644 index 0000000..fe9ecf9 --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_rc_priv.h @@ -0,0 +1,42 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IRSC_RC_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the return codes for the IRSC API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_IRSC_RC_PRIV_H__ +#define OCTVC1_IRSC_RC_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_irsc_rc.h" +#include "octvc1_irsc_base.h" + +/**************************************************************************** + IRSC return codes + ****************************************************************************/ + +#endif /* OCTVC1_IRSC_RC_PRIV_H__ */ + diff --git a/software/include/octvc1/irsc/octvc1_irsc_version.h b/software/include/octvc1/irsc/octvc1_irsc_version.h new file mode 100644 index 0000000..f3d1706 --- /dev/null +++ b/software/include/octvc1/irsc/octvc1_irsc_version.h @@ -0,0 +1,51 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IRSC_VERSION.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the version of the IRSC API interface. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_IRSC_VERSION_H__ +#define __OCTVC1_IRSC_VERSION_H__ + + +/* The version ID is separated into the following sections: + + bit[31:25]: Major version + bit[24:18]: Minor version + bit[17:11]: Bug fix version + bit[10:0]: Build number +*/ +#define cOCTVC1_IRSC_VERSION_MAJOR 2 +#define cOCTVC1_IRSC_VERSION_MINOR 2 +#define cOCTVC1_IRSC_VERSION_MAINTENANCE 4 +#define cOCTVC1_IRSC_VERSION_BUILD 403 + +#define cOCTVC1_IRSC_VERSION_ID ( (cOCTVC1_IRSC_VERSION_MAJOR << 25) + \ + (cOCTVC1_IRSC_VERSION_MINOR << 18) + \ + (cOCTVC1_IRSC_VERSION_MAINTENANCE << 11) + \ + cOCTVC1_IRSC_VERSION_BUILD ) + +#endif /* __OCTVC1_IRSC_VERSION_H__ */ + diff --git a/software/include/octvc1/main/octvc1_main_api.h b/software/include/octvc1/main/octvc1_main_api.h new file mode 100644 index 0000000..607ced4 --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_api.h @@ -0,0 +1,1497 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAIN_API.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the MAIN API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_MAIN_API_H__ +#define __OCTVC1_MAIN_API_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../../octdev_types.h" +#include "../../octdev_devices.h" +#include "../octvc1_msg.h" +#include "../octvc1_handle.h" +#include "../octvc1_fifo.h" +#include "../octvc1_buffer.h" +#include "../octvc1_eth.h" +#include "../octvc1_mac.h" +#include "../octvc1_cursor.h" +#include "../octvc1_list.h" +#include "../octvc1_log.h" +#include "../octvc1_process.h" +#include "../octvc1_radio.h" +#include "../octvc1_api.h" + +#include "octvc1_main_id.h" +#include "octvc1_main_rc.h" + +/************************ COMMON DEFINITIONS *******************************/ + + +/*------------------------------------------------------------------------------------- + Target related definitions. +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MAIN_TARGET_MAX_INFO_BYTE_SIZE 768 /* Device info buffer size, in bytes. */ +#define cOCTVC1_MAIN_USER_MAX_INFO_BYTE_SIZE 512 /* User info buffer size, in bytes. */ +#define cOCTVC1_MAIN_USER_INFO_SIZE 0x80 + +/*------------------------------------------------------------------------------------- + Application related definitions. +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MAIN_APPLICATION_MAX_INFO_BYTE_SIZE 1024 /* Application info buffer size, in bytes. */ +#define cOCTVC1_MAIN_APPLICATION_MAX_NAME_LENGTH 31 /* Application name max length, in bytes. */ +#define cOCTVC1_MAIN_APPLICATION_MAX_SHORT_NAME_LENGTH 15 /* Application short_name max length, in bytes. */ +#define cOCTVC1_MAIN_APPLICATION_MAX_DESCRIPTION_LENGTH 127 /* Application description max length, in bytes. */ +#define cOCTVC1_MAIN_APPLICATION_MAX_VERSION_LENGTH 31 /* Application version max length, in bytes. */ +#define cOCTVC1_MAIN_APPLICATION_SYSTEM_MAX_VERSION_LENGTH 512 /* System info max length, in bytes. */ +#define cOCTVC1_MAIN_APPLICATION_SYSTEM_MAX_PLATFORM_LENGTH 31 /* System platform max length, in bytes. */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_APPLICATION_STATE_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_MAIN_APPLICATION_STATE_ENUM tOCT_UINT32 + +#define cOCTVC1_MAIN_APPLICATION_STATE_ENUM_STOPPED 0 +#define cOCTVC1_MAIN_APPLICATION_STATE_ENUM_STARTED 1 +#define cOCTVC1_MAIN_APPLICATION_STATE_ENUM_BOOTED 2 + +/*------------------------------------------------------------------------------------- + API related definitions. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + Heartbeat state. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_MAIN_HEARTBEAT_STATE_ENUM tOCT_UINT32 + +#define cOCTVC1_MAIN_HEARTBEAT_STATE_ENUM_STOP 0 +#define cOCTVC1_MAIN_HEARTBEAT_STATE_ENUM_START 1 + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG + + Members: + ulWaitTimeMs + Range: [500..10000] + Default: 1000 + Wait time between heartbeats + ulIdleOnlyFlag + Default: cOCT_TRUE + If true, heartbeat sent only when API session is idle +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulWaitTimeMs; + tOCT_BOOL32 ulIdleOnlyFlag; + +} tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS + + Members: + ulState + ulHeartbeatSentCnt + Number of heartbeats that were sent +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MAIN_HEARTBEAT_STATE_ENUM ulState; + tOCT_UINT32 ulHeartbeatSentCnt; + +} tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS; + +/*------------------------------------------------------------------------------------- + FILE related definiitons. +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE 400 /* File commands (read/write) buffer size, in bytes. */ +#define cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH 127 /* Filesystem string length restriction. */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR + + Members: + szFileName + NULL terminated name of the file. + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + +} tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR; + +/*------------------------------------------------------------------------------------- + API command/response arguments file modes. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_MAIN_FILE_OPEN_MODE_MASK tOCT_UINT32 + +#define cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_READ 0x1 +#define cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_WRITE 0x2 + +/*------------------------------------------------------------------------------------- + LOG related sections. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + Log Trace state. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_MAIN_LOG_TRACE_STATE_ENUM tOCT_UINT32 + +#define cOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_STOP 0 +#define cOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_START 1 +#define cOCTVC1_MAIN_LOG_MAX_NUM_FILES 32 /* Maximum total number of log files that can be logged to */ +#define cOCTVC1_MAIN_LOG_FILE_PREFIX_MAX_LENGTH (cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH-2) /* Maximum length of the prefix of the log filename */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_LOG_TRACE_STATS + + Members: + ulCurrentFileSize + Size (in bytes) of the current log file. + ulCurrentFileIndex + The index number of the current log file. + ulFileOverwriteCnt + The number of times the log files were replaced/overwritten. + ulNumFiles + Number of valid log files. Number of indexes in the array. + abyFileIndexes + An array containing log file index numbers. + This sequence indicates the order that the log files + should be read in. + szFileNamePrefix + Array of bytes containing the prefix of log file name. + The buffer name can be up to LOG_FILE_PREFIX_MAX_LENGTH characters long, + excluding the terminating NULL character. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulCurrentFileSize; + tOCT_UINT32 ulCurrentFileIndex; + tOCT_UINT32 ulFileOverwriteCnt; + tOCT_UINT32 ulNumFiles; + tOCT_UINT8 abyFileIndexes[cOCTVC1_MAIN_LOG_MAX_NUM_FILES]; + tOCT_UINT8 szFileNamePrefix[cOCTVC1_MAIN_LOG_FILE_PREFIX_MAX_LENGTH]; + +} tOCTVC1_MAIN_LOG_TRACE_STATS; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_LOG_TRACE_INFO + + Members: + ulMaxFileSize + The maximum size (in bytes) of each file. + ulMaxNumFiles + Maximum number of files there can be at once. + szFileNamePrefix + Array of bytes containing the prefix of log file name. + The buffer name can be up to LOG_FILE_PREFIX_MAX_LENGTH characters long, + excluding the terminating NULL character. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulMaxFileSize; + tOCT_UINT32 ulMaxNumFiles; + tOCT_UINT8 szFileNamePrefix[cOCTVC1_MAIN_LOG_FILE_PREFIX_MAX_LENGTH]; + +} tOCTVC1_MAIN_LOG_TRACE_INFO; + +/***************************** METHODS *************************************/ +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_TARGET_RESET_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_TARGET_RESET_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_TARGET_RESET_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_TARGET_RESET_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_TARGET_INFO_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_TARGET_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_TARGET_INFO_RSP + + Members: + Header + OCTVC1 Message Header + ulTargetType + Octasic Target type + abyTargetInfo + abyUserInfo +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTDEV_DEVICES_TYPE_ENUM ulTargetType; + tOCT_UINT8 abyTargetInfo[cOCTVC1_MAIN_TARGET_MAX_INFO_BYTE_SIZE]; + tOCT_UINT8 abyUserInfo[cOCTVC1_MAIN_USER_MAX_INFO_BYTE_SIZE]; + +} tOCTVC1_MAIN_MSG_TARGET_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_ERASE_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_ERASE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_ERASE_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_ERASE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_INFO_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_INFO_RSP + + Members: + Header + OCTVC1 Message Header + LogInfo + Log info structure +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_MAIN_LOG_TRACE_INFO LogInfo; + +} tOCTVC1_MAIN_MSG_LOG_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_STATS_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_STATS_RSP + + Members: + Header + OCTVC1 Message Header + LogStats + Log stats structure +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_MAIN_LOG_TRACE_STATS LogStats; + +} tOCTVC1_MAIN_MSG_LOG_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP + + Members: + Header + OCTVC1 Message Header + ulFullAutoStopFlag + If true tracing will stop automatically when the files will be full + ulTraceMask + The tracing masks that are currently active + TraceInfo + Trace info structure +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulFullAutoStopFlag; + tOCTVC1_LOG_TRACE_MASK ulTraceMask; + tOCTVC1_MAIN_LOG_TRACE_INFO TraceInfo; + +} tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD + + Members: + Header + OCTVC1 Message Header + ulFullAutoStopFlag + Default: cOCT_FALSE + If cOCT_TRUE tracing will stop automatically when all the files are full + If cOCT_FALSE tracing will write continuously (overwriting files in ringbuffer) + ulTraceMask + Default: cOCTVC1_LOG_TRACE_MASK_NONE + ulFileSize + Default: 16384 + The maximum size (in bytes) of each trace file + ulFileNumber + Default: 4 + The maximum number of files for tracing +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_BOOL32 ulFullAutoStopFlag; + tOCTVC1_LOG_TRACE_MASK ulTraceMask; + tOCT_UINT32 ulFileSize; + tOCT_UINT32 ulFileNumber; + +} tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP + + Members: + Header + OCTVC1 Message Header + ulState + The current state of the tracer + ulFullAutoStopFlag + If true tracing will stop automatically when the files will be full + ulTraceMask + The tracing masks that are currently active + TraceStats + Trace stats structure +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_MAIN_LOG_TRACE_STATE_ENUM ulState; + tOCT_UINT32 ulFullAutoStopFlag; + tOCTVC1_LOG_TRACE_MASK ulTraceMask; + tOCTVC1_MAIN_LOG_TRACE_STATS TraceStats; + +} tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Default: 1 +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + +} tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP + + Members: + Header + OCTVC1 Message Header + hProcess + ulAlarmThresholdHighPercent + Current threshold value configured to monitor High increasing CPU usage. + ulAlarmThresholdLowPercent + Current threshold value configured to monitor Low decreasing CPU usage. + ulMonitorEnableFlag +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + tOCT_UINT32 ulAlarmThresholdHighPercent; + tOCT_UINT32 ulAlarmThresholdLowPercent; + tOCT_BOOL32 ulMonitorEnableFlag; + +} tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_OPEN_CMD + + Members: + Header + OCTVC1 Message Header + szFileName + Null-Terminated file name string. + ulAccessMode + Default: cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_READ +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; + tOCTVC1_MAIN_FILE_OPEN_MODE_MASK ulAccessMode; + +} tOCTVC1_MAIN_MSG_FILE_OPEN_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_OPEN_RSP + + Members: + Header + OCTVC1 Message Header + hFile +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hFile; + +} tOCTVC1_MAIN_MSG_FILE_OPEN_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD + + Members: + Header + OCTVC1 Message Header + hFile + Default: cOCTVC1_HANDLE_INVALID +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hFile; + +} tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_CLOSE_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_FILE_CLOSE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD + + Members: + Header + OCTVC1 Message Header + szFileName + Null-Terminated file name string. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; + +} tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP + + Members: + Header + OCTVC1 Message Header + szFileName + Null-Terminated file name string. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; + +} tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_WRITE_CMD + + Members: + Header + OCTVC1 Message Header + hFile + Default: cOCTVC1_HANDLE_INVALID + ulNumByteToWrite + Default: 1 + abyData +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hFile; + tOCT_UINT32 ulNumByteToWrite; + tOCT_UINT8 abyData[cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE]; + +} tOCTVC1_MAIN_MSG_FILE_WRITE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_WRITE_RSP + + Members: + Header + OCTVC1 Message Header + ulNumByteWritten +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulNumByteWritten; + +} tOCTVC1_MAIN_MSG_FILE_WRITE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_READ_CMD + + Members: + Header + OCTVC1 Message Header + hFile + Default: cOCTVC1_HANDLE_INVALID + ulMaxNumByteToRead + Default: cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hFile; + tOCT_UINT32 ulMaxNumByteToRead; + +} tOCTVC1_MAIN_MSG_FILE_READ_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_READ_RSP + + Members: + Header + OCTVC1 Message Header + ulNumByteRead + abyData +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulNumByteRead; + tOCT_UINT8 abyData[cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE]; + +} tOCTVC1_MAIN_MSG_FILE_READ_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_INFO_CMD + + Members: + Header + OCTVC1 Message Header + hFile + Default: cOCTVC1_HANDLE_INVALID +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hFile; + +} tOCTVC1_MAIN_MSG_FILE_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_INFO_RSP + + Members: + Header + OCTVC1 Message Header + hFile + szFileName + Null-Terminated file name string. + ulAccessMode + ulMinAlignBytes + Indicates the minimum write size used for proper alignment (in bytes) +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hFile; + tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; + tOCTVC1_MAIN_FILE_OPEN_MODE_MASK ulAccessMode; + tOCT_UINT32 ulMinAlignBytes; + +} tOCTVC1_MAIN_MSG_FILE_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_LIST_CMD + List the cmd that are monitored + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + +} tOCTVC1_MAIN_MSG_FILE_LIST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_LIST_RSP + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor + ObjectList + Object List structure. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + tOCTVC1_LIST_HANDLE_OBJECT_GET ObjectList; + +} tOCTVC1_MAIN_MSG_FILE_LIST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP + + Members: + Header + OCTVC1 Message Header + ulMaxFileEntry +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulMaxFileEntry; + +} tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD + + Members: + Header + OCTVC1 Message Header + ObjectGet +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR ObjectGet; + +} tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP + + Members: + Header + OCTVC1 Message Header + ObjectGet + ulAccessMode +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR ObjectGet; + tOCTVC1_MAIN_FILE_OPEN_MODE_MASK ulAccessMode; + +} tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Default: cOCTVC1_HANDLE_INVALID + Process handle identifier. Typically retrieved using the + cOCTVC1_MAIN_MSG_TARGET_INFO_CID command. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + +} tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP + + Members: + Header + OCTVC1 Message Header + hProcess + szName + Process Name. + szProcessImageName + Process file name. + ulType + Process Type. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + tOCT_UINT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */ + tOCT_UINT8 szProcessImageName[(cOCTVC1_PROCESS_IMAGE_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */ + tOCTVC1_PROCESS_TYPE_ENUM ulType; + +} tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + +} tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor + ObjectNameList + Object32 named list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + tOCTVC1_LIST_NAME_OBJECT32_GET ObjectNameList; + +} tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Default: 1 + ulAlarmThresholdHighPercent + Range: [0..100] + Default: 98 + ulAlarmThresholdLowPercent + Range: [0..100] + Default: 90 + ulMonitorEnableFlag + Default: cOCTVC1_DO_NOT_MODIFY +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + tOCT_UINT32 ulAlarmThresholdHighPercent; + tOCT_UINT32 ulAlarmThresholdLowPercent; + tOCT_BOOL32 ulMonitorEnableFlag; + +} tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP + + Members: + Header + OCTVC1 Message Header + hProcess +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + +} tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD + + Members: + Header + OCTVC1 Message Header + hProcess + Default: 1 +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + +} tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP + + Members: + Header + OCTVC1 Message Header + hProcess + ulProcessCpuUsagePercent + Current Process CPU usage value, expressed as a percentage. + ulProcessCpuUsageMinPercent + Minimal Process CPU usage value, since last + cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID command. + ulProcessCpuUsageMaxPercent + Minimal Process CPU usage value, since last + cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID command. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 hProcess; + tOCT_UINT32 ulProcessCpuUsagePercent; + tOCT_UINT32 ulProcessCpuUsageMinPercent; + tOCT_UINT32 ulProcessCpuUsageMaxPercent; + +} tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD + List the cmd that are monitored + + Members: + Header + OCTVC1 Message Header + IndexGet + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP + + Members: + Header + OCTVC1 Message Header + IndexGet + Object cursor + IndexList + Object name list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_INDEX_GET IndexGet; + tOCTVC1_LIST_INDEX_GET IndexList; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index + SessionInfo + Session Info +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_API_SESSION_INFO SessionInfo; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index + EvtInfo + Session event Info +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_API_SESSION_EVT_INFO EvtInfo; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD + NOTE: This command will force overwrite the selected session's event settings + ex. Forcing events enabled means this session will receive any kind of event + sent + ex. Forcing events disabled means this session will NOT receive any kind of + event anymore + NOTE: In most cases, this command is not necessary. Activating a functionality + that + uses events should enable events automatically. + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index + ulEvtActiveFlag + Default: cOCTVC1_DO_NOT_MODIFY + Event activate flag +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCT_BOOL32 ulEvtActiveFlag; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index + Config +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG Config; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index + Stats +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS Stats; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index + Config +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG Config; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT + Session index + Config +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG Config; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP + + Members: + Header + OCTVC1 Message Header + ulSessionIndex + Session index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_INDEX ulSessionIndex; + +} tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_APPLICATION_START_CMD + This command starts the application. + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_APPLICATION_START_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_APPLICATION_START_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_APPLICATION_START_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD + This command stops the application. + + Members: + Header + OCTVC1 Message Header + ulQuit + Whether the app should quit after stopping. If set to cOCT_TRUE, + the app will quit after stopping. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_BOOL32 ulQuit; + +} tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD + This command retrieves the application configuration parameters. + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP + + Members: + Header + OCTVC1 Message Header + szName + Application name + szDescription + Application description + szVersion + Application Version + abyInfo +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT8 szName[(cOCTVC1_MAIN_APPLICATION_MAX_NAME_LENGTH+1)]; + tOCT_UINT8 szDescription[(cOCTVC1_MAIN_APPLICATION_MAX_DESCRIPTION_LENGTH+1)]; + tOCT_UINT8 szVersion[(cOCTVC1_MAIN_APPLICATION_MAX_VERSION_LENGTH+1)]; + tOCT_UINT8 abyInfo[cOCTVC1_MAIN_APPLICATION_MAX_INFO_BYTE_SIZE]; + +} tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD + This command retrieves the system configuration parameters. + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP + + Members: + Header + OCTVC1 Message Header + szPlatform + System platform + szVersion +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT8 szPlatform[(cOCTVC1_MAIN_APPLICATION_SYSTEM_MAX_PLATFORM_LENGTH+1)]; + tOCT_UINT8 szVersion[cOCTVC1_MAIN_APPLICATION_SYSTEM_MAX_VERSION_LENGTH]; + +} tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP; + + +/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ +#include "octvc1_main_evt.h" + +#endif /* __OCTVC1_MAIN_API_H__ */ + diff --git a/software/include/octvc1/main/octvc1_main_api_priv.h b/software/include/octvc1/main/octvc1_main_api_priv.h new file mode 100644 index 0000000..e1e5ad1 --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_api_priv.h @@ -0,0 +1,56 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAIN_API_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the MAIN API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_MAIN_API_PRIV_H__ +#define __OCTVC1_MAIN_API_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_main_api.h" +#include "octvc1_main_id_priv.h" +#include "octvc1_main_rc_priv.h" + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + MAIN API private definitions +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MAIN_PRIVATE_API_CMD_PASSWORD 0x1FE75CB2 + + + + + + +/***************************** METHODS *************************************/ + +/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ +#include "octvc1_main_evt_priv.h" + +#endif /* __OCTVC1_MAIN_API_PRIV_H__ */ + diff --git a/software/include/octvc1/main/octvc1_main_api_priv_swap.h b/software/include/octvc1/main/octvc1_main_api_priv_swap.h new file mode 100644 index 0000000..f1e3880 --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_api_priv_swap.h @@ -0,0 +1,43 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +File: octvc1_main_api_priv_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_MAIN_API_PRIV_SWAP_H__ +#define __OCTVC1_MAIN_API_PRIV_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_priv_swap_hdrs.h" +#include "octvc1_main_api_priv.h" + +/********************************* MACROS **********************************/ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_MAIN_API_PRIV_SWAP_H__ */ diff --git a/software/include/octvc1/main/octvc1_main_api_swap.h b/software/include/octvc1/main/octvc1_main_api_swap.h new file mode 100644 index 0000000..e01eec3 --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_api_swap.h @@ -0,0 +1,862 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_main_api_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_MAIN_API_SWAP_H__ +#define __OCTVC1_MAIN_API_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_swap_hdrs.h" +#include "octvc1_main_api.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_APPLICATION_STATE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_MAIN_APPLICATION_STATE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_HEARTBEAT_STATE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_MAIN_HEARTBEAT_STATE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG_SWAP( _f_pParms ){ tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG * pOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG)\ + ((tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG *)pOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG)->ulWaitTimeMs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG *)pOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG)->ulWaitTimeMs); \ + ((tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG *)pOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG)->ulIdleOnlyFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG *)pOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG)->ulIdleOnlyFlag); \ +} +#else +#define mOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG_SWAP( pOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS_SWAP( _f_pParms ){ tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS * pOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS)\ + { mOCTVC1_MAIN_HEARTBEAT_STATE_ENUM_SWAP( &((tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS *)pOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS)->ulState ); } \ + ((tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS *)pOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS)->ulHeartbeatSentCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS *)pOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS)->ulHeartbeatSentCnt); \ +} +#else +#define mOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS_SWAP( pOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR_SWAP( _f_pParms ){ tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR * pOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR)\ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR *)pOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR)->ulGetMode ); } \ +} +#else +#define mOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR_SWAP( pOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_FILE_OPEN_MODE_MASK_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_MAIN_FILE_OPEN_MODE_MASK_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_LOG_TRACE_STATS_SWAP( _f_pParms ){ tOCTVC1_MAIN_LOG_TRACE_STATS * pOCTVC1_MAIN_LOG_TRACE_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_LOG_TRACE_STATS)\ + ((tOCTVC1_MAIN_LOG_TRACE_STATS *)pOCTVC1_MAIN_LOG_TRACE_STATS)->ulCurrentFileSize = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_TRACE_STATS *)pOCTVC1_MAIN_LOG_TRACE_STATS)->ulCurrentFileSize); \ + ((tOCTVC1_MAIN_LOG_TRACE_STATS *)pOCTVC1_MAIN_LOG_TRACE_STATS)->ulCurrentFileIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_TRACE_STATS *)pOCTVC1_MAIN_LOG_TRACE_STATS)->ulCurrentFileIndex); \ + ((tOCTVC1_MAIN_LOG_TRACE_STATS *)pOCTVC1_MAIN_LOG_TRACE_STATS)->ulFileOverwriteCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_TRACE_STATS *)pOCTVC1_MAIN_LOG_TRACE_STATS)->ulFileOverwriteCnt); \ + ((tOCTVC1_MAIN_LOG_TRACE_STATS *)pOCTVC1_MAIN_LOG_TRACE_STATS)->ulNumFiles = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_TRACE_STATS *)pOCTVC1_MAIN_LOG_TRACE_STATS)->ulNumFiles); \ +} +#else +#define mOCTVC1_MAIN_LOG_TRACE_STATS_SWAP( pOCTVC1_MAIN_LOG_TRACE_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_LOG_TRACE_INFO_SWAP( _f_pParms ){ tOCTVC1_MAIN_LOG_TRACE_INFO * pOCTVC1_MAIN_LOG_TRACE_INFO = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_LOG_TRACE_INFO)\ + ((tOCTVC1_MAIN_LOG_TRACE_INFO *)pOCTVC1_MAIN_LOG_TRACE_INFO)->ulMaxFileSize = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_TRACE_INFO *)pOCTVC1_MAIN_LOG_TRACE_INFO)->ulMaxFileSize); \ + ((tOCTVC1_MAIN_LOG_TRACE_INFO *)pOCTVC1_MAIN_LOG_TRACE_INFO)->ulMaxNumFiles = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_TRACE_INFO *)pOCTVC1_MAIN_LOG_TRACE_INFO)->ulMaxNumFiles); \ +} +#else +#define mOCTVC1_MAIN_LOG_TRACE_INFO_SWAP( pOCTVC1_MAIN_LOG_TRACE_INFO ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_TARGET_RESET_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_TARGET_RESET_CMD * pOCTVC1_MAIN_MSG_TARGET_RESET_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_TARGET_RESET_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_TARGET_RESET_CMD *)pOCTVC1_MAIN_MSG_TARGET_RESET_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_TARGET_RESET_CMD_SWAP( pOCTVC1_MAIN_MSG_TARGET_RESET_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_TARGET_RESET_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_TARGET_RESET_RSP * pOCTVC1_MAIN_MSG_TARGET_RESET_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_TARGET_RESET_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_TARGET_RESET_RSP *)pOCTVC1_MAIN_MSG_TARGET_RESET_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_TARGET_RESET_RSP_SWAP( pOCTVC1_MAIN_MSG_TARGET_RESET_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_TARGET_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_TARGET_INFO_CMD * pOCTVC1_MAIN_MSG_TARGET_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_TARGET_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_TARGET_INFO_CMD *)pOCTVC1_MAIN_MSG_TARGET_INFO_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_TARGET_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_TARGET_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_TARGET_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_TARGET_INFO_RSP * pOCTVC1_MAIN_MSG_TARGET_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_TARGET_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_TARGET_INFO_RSP *)pOCTVC1_MAIN_MSG_TARGET_INFO_RSP)->Header ); } \ + { mOCTDEV_DEVICES_TYPE_ENUM_SWAP( &((tOCTVC1_MAIN_MSG_TARGET_INFO_RSP *)pOCTVC1_MAIN_MSG_TARGET_INFO_RSP)->ulTargetType ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_TARGET_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_TARGET_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_ERASE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_ERASE_CMD * pOCTVC1_MAIN_MSG_LOG_ERASE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_ERASE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_ERASE_CMD *)pOCTVC1_MAIN_MSG_LOG_ERASE_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_ERASE_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_ERASE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_ERASE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_ERASE_RSP * pOCTVC1_MAIN_MSG_LOG_ERASE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_ERASE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_ERASE_RSP *)pOCTVC1_MAIN_MSG_LOG_ERASE_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_ERASE_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_ERASE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_INFO_CMD * pOCTVC1_MAIN_MSG_LOG_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_INFO_CMD *)pOCTVC1_MAIN_MSG_LOG_INFO_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_INFO_RSP * pOCTVC1_MAIN_MSG_LOG_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_INFO_RSP *)pOCTVC1_MAIN_MSG_LOG_INFO_RSP)->Header ); } \ + { mOCTVC1_MAIN_LOG_TRACE_INFO_SWAP( &((tOCTVC1_MAIN_MSG_LOG_INFO_RSP *)pOCTVC1_MAIN_MSG_LOG_INFO_RSP)->LogInfo ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_STATS_CMD * pOCTVC1_MAIN_MSG_LOG_STATS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_STATS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STATS_CMD *)pOCTVC1_MAIN_MSG_LOG_STATS_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_STATS_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_STATS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_STATS_RSP * pOCTVC1_MAIN_MSG_LOG_STATS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_STATS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STATS_RSP *)pOCTVC1_MAIN_MSG_LOG_STATS_RSP)->Header ); } \ + { mOCTVC1_MAIN_LOG_TRACE_STATS_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STATS_RSP *)pOCTVC1_MAIN_MSG_LOG_STATS_RSP)->LogStats ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_STATS_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_STATS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD * pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP * pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP)->ulFullAutoStopFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP)->ulFullAutoStopFlag); \ + { mOCTVC1_LOG_TRACE_MASK_SWAP( &((tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP)->ulTraceMask ); } \ + { mOCTVC1_MAIN_LOG_TRACE_INFO_SWAP( &((tOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP)->TraceInfo ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_INFO_TRACE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD * pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)->ulFullAutoStopFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)->ulFullAutoStopFlag); \ + { mOCTVC1_LOG_TRACE_MASK_SWAP( &((tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)->ulTraceMask ); } \ + ((tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)->ulFileSize = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)->ulFileSize); \ + ((tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)->ulFileNumber = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD)->ulFileNumber); \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_START_TRACE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP * pOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_START_TRACE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD * pOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP * pOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_STOP_TRACE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD * pOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP * pOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD * pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD *)pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP * pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP)->Header ); } \ + { mOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP)->ulState ); } \ + ((tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP)->ulFullAutoStopFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP)->ulFullAutoStopFlag); \ + { mOCTVC1_LOG_TRACE_MASK_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP)->ulTraceMask ); } \ + { mOCTVC1_MAIN_LOG_TRACE_STATS_SWAP( &((tOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP *)pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP)->TraceStats ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_STATS_TRACE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD * pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD)->hProcess); \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD_SWAP( pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP * pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->hProcess); \ + ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulAlarmThresholdHighPercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulAlarmThresholdHighPercent); \ + ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulAlarmThresholdLowPercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulAlarmThresholdLowPercent); \ + ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulMonitorEnableFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulMonitorEnableFlag); \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP_SWAP( pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_OPEN_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_OPEN_CMD * pOCTVC1_MAIN_MSG_FILE_OPEN_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_OPEN_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_OPEN_CMD *)pOCTVC1_MAIN_MSG_FILE_OPEN_CMD)->Header ); } \ + { mOCTVC1_MAIN_FILE_OPEN_MODE_MASK_SWAP( &((tOCTVC1_MAIN_MSG_FILE_OPEN_CMD *)pOCTVC1_MAIN_MSG_FILE_OPEN_CMD)->ulAccessMode ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_OPEN_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_OPEN_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_OPEN_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_OPEN_RSP * pOCTVC1_MAIN_MSG_FILE_OPEN_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_OPEN_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_OPEN_RSP *)pOCTVC1_MAIN_MSG_FILE_OPEN_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_FILE_OPEN_RSP *)pOCTVC1_MAIN_MSG_FILE_OPEN_RSP)->hFile = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_OPEN_RSP *)pOCTVC1_MAIN_MSG_FILE_OPEN_RSP)->hFile); \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_OPEN_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_OPEN_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_CLOSE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD * pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD *)pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD *)pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD)->hFile = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD *)pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD)->hFile); \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_CLOSE_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_CLOSE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_CLOSE_RSP * pOCTVC1_MAIN_MSG_FILE_CLOSE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_CLOSE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_CLOSE_RSP *)pOCTVC1_MAIN_MSG_FILE_CLOSE_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_CLOSE_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_CLOSE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD * pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP * pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_WRITE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_WRITE_CMD * pOCTVC1_MAIN_MSG_FILE_WRITE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->hFile = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->hFile); \ + ((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->ulNumByteToWrite = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->ulNumByteToWrite); \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_WRITE_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_WRITE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_WRITE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_WRITE_RSP * pOCTVC1_MAIN_MSG_FILE_WRITE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_WRITE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_WRITE_RSP *)pOCTVC1_MAIN_MSG_FILE_WRITE_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_FILE_WRITE_RSP *)pOCTVC1_MAIN_MSG_FILE_WRITE_RSP)->ulNumByteWritten = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_WRITE_RSP *)pOCTVC1_MAIN_MSG_FILE_WRITE_RSP)->ulNumByteWritten); \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_WRITE_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_WRITE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_READ_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_READ_CMD * pOCTVC1_MAIN_MSG_FILE_READ_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_READ_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->hFile = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->hFile); \ + ((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->ulMaxNumByteToRead = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->ulMaxNumByteToRead); \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_READ_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_READ_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_READ_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_READ_RSP * pOCTVC1_MAIN_MSG_FILE_READ_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_READ_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_READ_RSP *)pOCTVC1_MAIN_MSG_FILE_READ_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_FILE_READ_RSP *)pOCTVC1_MAIN_MSG_FILE_READ_RSP)->ulNumByteRead = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_READ_RSP *)pOCTVC1_MAIN_MSG_FILE_READ_RSP)->ulNumByteRead); \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_READ_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_READ_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_INFO_CMD * pOCTVC1_MAIN_MSG_FILE_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_INFO_CMD *)pOCTVC1_MAIN_MSG_FILE_INFO_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_FILE_INFO_CMD *)pOCTVC1_MAIN_MSG_FILE_INFO_CMD)->hFile = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_INFO_CMD *)pOCTVC1_MAIN_MSG_FILE_INFO_CMD)->hFile); \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_INFO_RSP * pOCTVC1_MAIN_MSG_FILE_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->hFile = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->hFile); \ + { mOCTVC1_MAIN_FILE_OPEN_MODE_MASK_SWAP( &((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->ulAccessMode ); } \ + ((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->ulMinAlignBytes = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->ulMinAlignBytes); \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_LIST_CMD * pOCTVC1_MAIN_MSG_FILE_LIST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_LIST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_CMD *)pOCTVC1_MAIN_MSG_FILE_LIST_CMD)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_CMD *)pOCTVC1_MAIN_MSG_FILE_LIST_CMD)->ObjectCursor ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_LIST_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_LIST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_LIST_RSP * pOCTVC1_MAIN_MSG_FILE_LIST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_LIST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_RSP *)pOCTVC1_MAIN_MSG_FILE_LIST_RSP)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_RSP *)pOCTVC1_MAIN_MSG_FILE_LIST_RSP)->ObjectCursor ); } \ + { mOCTVC1_LIST_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_RSP *)pOCTVC1_MAIN_MSG_FILE_LIST_RSP)->ObjectList ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_LIST_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_LIST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD * pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP * pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP)->ulMaxFileEntry = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP)->ulMaxFileEntry); \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD * pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD)->Header ); } \ + { mOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD)->ObjectGet ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP * pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP)->Header ); } \ + { mOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP)->ObjectGet ); } \ + { mOCTVC1_MAIN_FILE_OPEN_MODE_MASK_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP)->ulAccessMode ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD * pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD)->hProcess); \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP * pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP)->hProcess); \ + { mOCTVC1_PROCESS_TYPE_ENUM_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP)->ulType ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD * pOCTVC1_MAIN_MSG_PROCESS_LIST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_LIST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD *)pOCTVC1_MAIN_MSG_PROCESS_LIST_CMD)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD *)pOCTVC1_MAIN_MSG_PROCESS_LIST_CMD)->ObjectCursor ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_LIST_CMD_SWAP( pOCTVC1_MAIN_MSG_PROCESS_LIST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP * pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP *)pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP *)pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP)->ObjectCursor ); } \ + { mOCTVC1_LIST_NAME_OBJECT32_GET_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP *)pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP)->ObjectNameList ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_LIST_RSP_SWAP( pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD * pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->hProcess); \ + ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulAlarmThresholdHighPercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulAlarmThresholdHighPercent); \ + ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulAlarmThresholdLowPercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulAlarmThresholdLowPercent); \ + ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulMonitorEnableFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulMonitorEnableFlag); \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD_SWAP( pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP * pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP)->hProcess); \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP_SWAP( pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD * pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD)->hProcess); \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD_SWAP( pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP * pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)->hProcess); \ + ((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)->ulProcessCpuUsagePercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)->ulProcessCpuUsagePercent); \ + ((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)->ulProcessCpuUsageMinPercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)->ulProcessCpuUsageMinPercent); \ + ((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)->ulProcessCpuUsageMaxPercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP)->ulProcessCpuUsageMaxPercent); \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP_SWAP( pOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD * pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD)->IndexGet ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP * pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP)->Header ); } \ + { mOCTVC1_CURSOR_INDEX_GET_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP)->IndexGet ); } \ + { mOCTVC1_LIST_INDEX_GET_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP)->IndexList ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD * pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP * pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP)->ulSessionIndex); \ + { mOCTVC1_API_SESSION_INFO_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP)->SessionInfo ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD * pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP * pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)->ulSessionIndex); \ + { mOCTVC1_API_SESSION_EVT_INFO_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP)->EvtInfo ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD * pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD)->ulSessionIndex); \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD)->ulEvtActiveFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD)->ulEvtActiveFlag); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP * pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD * pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP * pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP)->ulSessionIndex); \ + { mOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP)->Config ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD * pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP * pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP)->ulSessionIndex); \ + { mOCTVC1_MAIN_API_SESSION_HEARTBEAT_STATS_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP)->Stats ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD * pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD)->ulSessionIndex); \ + { mOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD)->Config ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP * pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD * pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP * pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD * pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD)->ulSessionIndex); \ + { mOCTVC1_MAIN_API_SESSION_HEARTBEAT_CONFIG_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD)->Config ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP * pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP *)pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_APPLICATION_START_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_APPLICATION_START_CMD * pOCTVC1_MAIN_MSG_APPLICATION_START_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_APPLICATION_START_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_START_CMD *)pOCTVC1_MAIN_MSG_APPLICATION_START_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_APPLICATION_START_CMD_SWAP( pOCTVC1_MAIN_MSG_APPLICATION_START_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_APPLICATION_START_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_APPLICATION_START_RSP * pOCTVC1_MAIN_MSG_APPLICATION_START_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_APPLICATION_START_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_START_RSP *)pOCTVC1_MAIN_MSG_APPLICATION_START_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_APPLICATION_START_RSP_SWAP( pOCTVC1_MAIN_MSG_APPLICATION_START_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD * pOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD *)pOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD)->Header ); } \ + ((tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD *)pOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD)->ulQuit = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD *)pOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD)->ulQuit); \ +} +#else +#define mOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD_SWAP( pOCTVC1_MAIN_MSG_APPLICATION_STOP_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP * pOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP *)pOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP_SWAP( pOCTVC1_MAIN_MSG_APPLICATION_STOP_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD * pOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD *)pOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_APPLICATION_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP * pOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP *)pOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_APPLICATION_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD * pOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD *)pOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD_SWAP( pOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP * pOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP *)pOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP)->Header ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP_SWAP( pOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_MAIN_API_SWAP_H__ */ diff --git a/software/include/octvc1/main/octvc1_main_base.h b/software/include/octvc1/main/octvc1_main_base.h new file mode 100644 index 0000000..2b3ac75 --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_base.h @@ -0,0 +1,51 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAIN_BASE.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the OCTVC1 API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_MAIN_BASE_H__ +#define __OCTVC1_MAIN_BASE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" + +/**************************************************************************** + Module unique identifiers + ****************************************************************************/ +#define cOCTVC1_MAIN_UID ( 0x01 ) + +/**************************************************************************** + Module identifier bases + ****************************************************************************/ + +/* Module: MAIN */ +#define cOCTVC1_MAIN_CID_BASE ( (cOCTVC1_MAIN_UID << 16) + cOCTVC1_CID_BASE ) +#define cOCTVC1_MAIN_EID_BASE ( (cOCTVC1_MAIN_UID << 16) + cOCTVC1_EID_BASE ) +#define cOCTVC1_MAIN_RC_BASE ( (cOCTVC1_MAIN_UID << 16) + cOCTVC1_RC_BASE ) + +#endif /* __OCTVC1_MAIN_BASE_H__ */ + diff --git a/software/include/octvc1/main/octvc1_main_default.h b/software/include/octvc1/main/octvc1_main_default.h new file mode 100644 index 0000000..8f5eb17 --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_default.h @@ -0,0 +1,1212 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAIN_DEFAULT.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the event definition of the MAIN API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_MAIN_DEFAULT_H__ +#define __OCTVC1_MAIN_DEFAULT_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_main_api.h" + +/***************************** COMMAND DEFAULT *****************************/ + +/*-------------------------------------------------------------------------- + tOCTVC1_MAIN_MSG_TARGET_RESET_CMD +----------------------------------------------------------------------------*/ +#ifdef OCTVC1_OPT_DECLARE_DEFAULTS + +const tOCTVC1_MAIN_MSG_TARGET_RESET_CMD buf_tOCTVC1_MAIN_MSG_TARGET_RESET_CMD = +{ + { /* Header */ + ((sizeof(tOCTVC1_MAIN_MSG_TARGET_RESET_CMD)<Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->hProcess); \ + { mOCTVC1_PROCESS_TYPE_ENUM_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->ulProcessImageType ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->ulProcessCpuUsagePercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->ulProcessCpuUsagePercent); \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT_SWAP( pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT * pOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT)\ + { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT *)pOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT)->Header ); } \ + ((tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT *)pOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT *)pOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT)->hProcess); \ +} +#else +#define mOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT_SWAP( pOCTVC1_MAIN_MSG_PROCESS_DUMP_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT * pOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT)\ + { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT *)pOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT)->Header ); } \ + ((tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT *)pOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT)->ulSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT *)pOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT)->ulSessionIndex); \ +} +#else +#define mOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT_SWAP( pOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT * pOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT = (_f_pParms); SWAP_UNUSED(pOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT)\ + { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT *)pOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT)->Header ); } \ + { mOCTVC1_MAIN_APPLICATION_STATE_ENUM_SWAP( &((tOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT *)pOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT)->ulState ); } \ +} +#else +#define mOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT_SWAP( pOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EVT ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_MAIN_EVT_SWAP_H__ */ diff --git a/software/include/octvc1/main/octvc1_main_id.h b/software/include/octvc1/main/octvc1_main_id.h new file mode 100644 index 0000000..8ae6024 --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_id.h @@ -0,0 +1,92 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAIN_ID.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the identifiers for the MAIN API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_MAIN_ID_H__ +#define __OCTVC1_MAIN_ID_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "octvc1_main_base.h" + +/**************************************************************************** + Command IDs + ****************************************************************************/ +#define cOCTVC1_MAIN_MSG_TARGET_RESET_CID ( ( 0x004 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_NO_RESPONSE_FLAG ) +#define cOCTVC1_MAIN_MSG_TARGET_INFO_CID ( 0x005 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_LOG_ERASE_CID ( ( 0x006 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) +#define cOCTVC1_MAIN_MSG_LOG_INFO_CID ( 0x007 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_LOG_STATS_CID ( 0x008 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CID ( 0x009 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_LOG_START_TRACE_CID ( 0x00a + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CID ( 0x00b + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CID ( 0x00c + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CID ( 0x00d + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID ( 0x00e + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_FILE_OPEN_CID ( ( 0x00f + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) +#define cOCTVC1_MAIN_MSG_FILE_CLOSE_CID ( ( 0x010 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) +#define cOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CID ( ( 0x011 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) +#define cOCTVC1_MAIN_MSG_FILE_WRITE_CID ( ( 0x012 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) +#define cOCTVC1_MAIN_MSG_FILE_READ_CID ( 0x013 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_FILE_INFO_CID ( 0x014 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_FILE_LIST_CID ( 0x015 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CID ( 0x016 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CID ( 0x017 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_PROCESS_INFO_CID ( 0x018 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_PROCESS_LIST_CID ( 0x019 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CID ( 0x01a + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CID ( 0x01c + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CID ( 0x01d + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CID ( 0x01e + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CID ( 0x01f + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CID ( 0x020 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CID ( 0x021 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CID ( 0x022 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CID ( 0x023 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CID ( 0x024 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CID ( 0x025 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_APPLICATION_START_CID ( 0x026 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_APPLICATION_STOP_CID ( 0x027 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_APPLICATION_INFO_CID ( 0x028 + cOCTVC1_MAIN_CID_BASE ) +#define cOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CID ( 0x029 + cOCTVC1_MAIN_CID_BASE ) + +#define cOCTVC1_MAIN_CID_MAX (( 0x029 + 1 ) & 0xFFF) + +/**************************************************************************** + Event IDs + ****************************************************************************/ +#define cOCTVC1_MAIN_MSG_PROCESS_DUMP_EID ( 0x0001 + cOCTVC1_MAIN_EID_BASE ) +#define cOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EID ( 0x0002 + cOCTVC1_MAIN_EID_BASE ) +#define cOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EID ( 0x0003 + cOCTVC1_MAIN_EID_BASE ) +#define cOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EID ( 0x0004 + cOCTVC1_MAIN_EID_BASE ) + +#define cOCTVC1_MAIN_EID_MAX (( 0x0004 + 1 ) & 0xFFFF) + + +#endif /* __OCTVC1_MAIN_ID_H__ */ + diff --git a/software/include/octvc1/main/octvc1_main_id_priv.h b/software/include/octvc1/main/octvc1_main_id_priv.h new file mode 100644 index 0000000..a03a2ca --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_id_priv.h @@ -0,0 +1,47 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAIN_ID_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the identifiers for the MAIN API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_MAIN_ID_PRIV_H__ +#define __OCTVC1_MAIN_ID_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_main_id.h" +#include "octvc1_main_base.h" + +/**************************************************************************** + Command IDs + ****************************************************************************/ + +/**************************************************************************** + Event IDs + ****************************************************************************/ + + +#endif /* __OCTVC1_MAIN_ID_PRIV_H__ */ + diff --git a/software/include/octvc1/main/octvc1_main_rc.h b/software/include/octvc1/main/octvc1_main_rc.h new file mode 100644 index 0000000..b8f84dc --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_rc.h @@ -0,0 +1,124 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAIN_RC.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the return codes for the MAIN API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_MAIN_RC_H__ +#define OCTVC1_MAIN_RC_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "../octvc1_generic_rc.h" +#include "octvc1_main_base.h" + +/**************************************************************************** + MAIN return codes + ****************************************************************************/ +#define cOCTVC1_MAIN_RC_PROCESS_IMAGE_LOAD_FILE_NOT_FOUND ( 0x0000 + cOCTVC1_MAIN_RC_BASE ) +#define cOCTVC1_MAIN_RC_EVENT_MASK_INVALID ( 0x0005 + cOCTVC1_MAIN_RC_BASE ) +#define cOCTVC1_MAIN_RC_PROCESS_NOT_FOUND ( 0x0007 + cOCTVC1_MAIN_RC_BASE ) +#define cOCTVC1_MAIN_RC_API_SYSTEM_SESSION_NOT_ACTIVE ( 0x0008 + cOCTVC1_MAIN_RC_BASE ) +#define cOCTVC1_MAIN_RC_RESET_STATS_ERROR ( 0x0009 + cOCTVC1_MAIN_RC_BASE ) + +/**************************************************************************** + FILE return codes + ****************************************************************************/ +#define cOCTVC1_MAIN_FILE_RC_BASE ( 0x0200 + cOCTVC1_MAIN_RC_BASE ) + +#define cOCTVC1_MAIN_RC_FILE_OPEN ( 0x0002 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_HANDLE ( 0x0004 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_INVALID_ACCESS_RIGHTS ( 0x0005 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_WRITE ( 0x0006 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_SEEK_UNKOWN_ORIGIN ( 0x0008 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_SEEK_INVALID_OFFSET ( 0x0009 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_SEEK ( 0x000A + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_NOT_FOUND ( 0x000C + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_MAX_READ_BYTE_SIZE ( 0x000D + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_MAX_WRITE_BYTE_SIZE ( 0x000E + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_NAME ( 0x000F + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_ALREADY_OPENED ( 0x0010 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_BUSY ( 0x0011 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_ALREADY_CLOSED ( 0x0012 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_NOT_OPEN ( 0x0013 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_FLASH_CMD_NOT_AVAILABLE ( 0x0014 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_GET_MODE_INVALID ( 0x0015 + cOCTVC1_MAIN_FILE_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_ACCESS_DENIED ( 0x0016 + cOCTVC1_MAIN_FILE_RC_BASE ) + +/**************************************************************************** + FILE_SYSTEM return codes + ****************************************************************************/ +#define cOCTVC1_MAIN_FILE_SYSTEM_RC_BASE ( 0x0300 + cOCTVC1_MAIN_RC_BASE ) + +#define cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO ( 0x0002 + cOCTVC1_MAIN_FILE_SYSTEM_RC_BASE ) +#define cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO_NO_MORE_FILE ( 0x0004 + cOCTVC1_MAIN_FILE_SYSTEM_RC_BASE ) + +/**************************************************************************** + APPLICATION return codes + ****************************************************************************/ +#define cOCTVC1_MAIN_APPLICATION_RC_BASE ( 0x0350 + cOCTVC1_MAIN_RC_BASE ) + +#define cOCTVC1_MAIN_RC_APPLICATION_ALREADY_START ( 0x0001 + cOCTVC1_MAIN_APPLICATION_RC_BASE ) + +/**************************************************************************** + CPU_USAGE return codes + ****************************************************************************/ +#define cOCTVC1_MAIN_CPU_USAGE_RC_BASE ( 0x0400 + cOCTVC1_MAIN_RC_BASE ) + +#define cOCTVC1_MAIN_RC_CPU_USAGE_HANDLE_INVALID ( 0x0000 + cOCTVC1_MAIN_CPU_USAGE_RC_BASE ) +#define cOCTVC1_MAIN_RC_CPU_USAGE_THRESHOLD_INVALID ( 0x0001 + cOCTVC1_MAIN_CPU_USAGE_RC_BASE ) +#define cOCTVC1_MAIN_RC_CPU_USAGE_NOT_ACCESSIBLE ( 0x0002 + cOCTVC1_MAIN_CPU_USAGE_RC_BASE ) + +/**************************************************************************** + API_SESSION return codes + ****************************************************************************/ +#define cOCTVC1_MAIN_API_SESSION_RC_BASE ( 0x04A0 + cOCTVC1_MAIN_RC_BASE ) + +#define cOCTVC1_MAIN_RC_API_SESSION_SERVICE_NOT_INIT ( 0x0001 + cOCTVC1_MAIN_API_SESSION_RC_BASE ) +#define cOCTVC1_MAIN_RC_API_SESSION_HEARTBEAT_ALREADY_START ( 0x0002 + cOCTVC1_MAIN_API_SESSION_RC_BASE ) +#define cOCTVC1_MAIN_RC_API_SESSION_HEARTBEAT_NOT_START ( 0x0003 + cOCTVC1_MAIN_API_SESSION_RC_BASE ) + +/**************************************************************************** + LOG return codes + ****************************************************************************/ +#define cOCTVC1_MAIN_LOG_RC_BASE ( 0x0500 + cOCTVC1_MAIN_RC_BASE ) + +#define cOCTVC1_MAIN_RC_LOG_LOGGER_NOT_INIT ( 0x0001 + cOCTVC1_MAIN_LOG_RC_BASE ) +#define cOCTVC1_MAIN_RC_LOG_MGR_NOT_INIT ( 0x0002 + cOCTVC1_MAIN_LOG_RC_BASE ) +#define cOCTVC1_MAIN_RC_LOG_INTERNAL_ERROR ( 0x0003 + cOCTVC1_MAIN_LOG_RC_BASE ) +#define cOCTVC1_MAIN_RC_LOG_TRACE_ALREADY_START ( 0x0004 + cOCTVC1_MAIN_LOG_RC_BASE ) +#define cOCTVC1_MAIN_RC_LOG_TRACE_NOT_START ( 0x0005 + cOCTVC1_MAIN_LOG_RC_BASE ) + +/**************************************************************************** + Validate return codes + ****************************************************************************/ +#define cOCTVC1_MAIN_AUTO_VALIDATE_RC_BASE ( 0xF000 + cOCTVC1_MAIN_RC_BASE ) + +#define cOCTVC1_MAIN_RC_PROCESS_CPU_USAGE_MONITOR_INVALID_ALARM_THRESHOLD_HIGH_PERCENT ( 0x1 + cOCTVC1_MAIN_AUTO_VALIDATE_RC_BASE ) +#define cOCTVC1_MAIN_RC_PROCESS_CPU_USAGE_MONITOR_INVALID_ALARM_THRESHOLD_LOW_PERCENT ( 0x2 + cOCTVC1_MAIN_AUTO_VALIDATE_RC_BASE ) + +#endif /* OCTVC1_MAIN_RC_H__ */ + diff --git a/software/include/octvc1/main/octvc1_main_rc_priv.h b/software/include/octvc1/main/octvc1_main_rc_priv.h new file mode 100644 index 0000000..b13292e --- /dev/null +++ b/software/include/octvc1/main/octvc1_main_rc_priv.h @@ -0,0 +1,46 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAIN_RC_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the return codes for the MAIN API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_MAIN_RC_PRIV_H__ +#define OCTVC1_MAIN_RC_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_main_rc.h" +#include "octvc1_main_base.h" + +/**************************************************************************** + MAIN return codes + ****************************************************************************/ + +/**************************************************************************** + Validate return codes + ****************************************************************************/ + +#endif /* OCTVC1_MAIN_RC_PRIV_H__ */ + diff --git a/software/include/vocallo/main/octvc1_main_version.h b/software/include/octvc1/main/octvc1_main_version.h similarity index 52% rename from software/include/vocallo/main/octvc1_main_version.h rename to software/include/octvc1/main/octvc1_main_version.h index c7fbff1..01d36f8 100644 --- a/software/include/vocallo/main/octvc1_main_version.h +++ b/software/include/octvc1/main/octvc1_main_version.h @@ -2,13 +2,25 @@ File: OCTVC1_MAIN_VERSION.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contains the version of the MAIN API interface. -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -25,10 +37,10 @@ $Octasic_Revision: $ bit[17:11]: Bug fix version bit[10:0]: Build number */ -#define cOCTVC1_MAIN_VERSION_MAJOR 1 -#define cOCTVC1_MAIN_VERSION_MINOR 0 -#define cOCTVC1_MAIN_VERSION_MAINTENANCE 0 -#define cOCTVC1_MAIN_VERSION_BUILD 0 +#define cOCTVC1_MAIN_VERSION_MAJOR 2 +#define cOCTVC1_MAIN_VERSION_MINOR 2 +#define cOCTVC1_MAIN_VERSION_MAINTENANCE 4 +#define cOCTVC1_MAIN_VERSION_BUILD 403 #define cOCTVC1_MAIN_VERSION_ID ( (cOCTVC1_MAIN_VERSION_MAJOR << 25) + \ (cOCTVC1_MAIN_VERSION_MINOR << 18) + \ diff --git a/software/include/octvc1/octvc1_api.h b/software/include/octvc1/octvc1_api.h new file mode 100644 index 0000000..11f1912 --- /dev/null +++ b/software/include/octvc1/octvc1_api.h @@ -0,0 +1,83 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_API.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_API_H__ +#define __OCTVC1_API_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +#define cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT 0xF0000000 /* Select the session used by the current transport. */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_API_SESSION_INFO + API SESSION information + + Members: + ulActiveFlag + Session active flag + ulSessionId + Session id + ulTransportSessionIndex + Session Index use to transport this command + ulTransportSessionId + Session ID use to transport this command +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_BOOL32 ulActiveFlag; + tOCT_UINT32 ulSessionId; + tOCTVC1_INDEX ulTransportSessionIndex; + tOCT_UINT32 ulTransportSessionId; + +} tOCTVC1_API_SESSION_INFO; + +/*------------------------------------------------------------------------------------- + tOCTVC1_API_SESSION_EVT_INFO + API SESSION Event Info + + Members: + ulEvtActiveFlag + Event activate flag + lEvtEnablerCnt + The number of entities that have enabled events on this session +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_BOOL32 ulEvtActiveFlag; + tOCT_INT32 lEvtEnablerCnt; + +} tOCTVC1_API_SESSION_EVT_INFO; + + +#endif /* __OCTVC1_API_H__ */ + diff --git a/software/include/octvc1/octvc1_api_swap.h b/software/include/octvc1/octvc1_api_swap.h new file mode 100644 index 0000000..cdeedbe --- /dev/null +++ b/software/include/octvc1/octvc1_api_swap.h @@ -0,0 +1,71 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_api_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_API_SWAP_H__ +#define __OCTVC1_API_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_api.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_API_SESSION_INFO_SWAP( _f_pParms ){ tOCTVC1_API_SESSION_INFO * pOCTVC1_API_SESSION_INFO = (_f_pParms); SWAP_UNUSED(pOCTVC1_API_SESSION_INFO)\ + ((tOCTVC1_API_SESSION_INFO *)pOCTVC1_API_SESSION_INFO)->ulActiveFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_API_SESSION_INFO *)pOCTVC1_API_SESSION_INFO)->ulActiveFlag); \ + ((tOCTVC1_API_SESSION_INFO *)pOCTVC1_API_SESSION_INFO)->ulSessionId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_API_SESSION_INFO *)pOCTVC1_API_SESSION_INFO)->ulSessionId); \ + ((tOCTVC1_API_SESSION_INFO *)pOCTVC1_API_SESSION_INFO)->ulTransportSessionIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_API_SESSION_INFO *)pOCTVC1_API_SESSION_INFO)->ulTransportSessionIndex); \ + ((tOCTVC1_API_SESSION_INFO *)pOCTVC1_API_SESSION_INFO)->ulTransportSessionId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_API_SESSION_INFO *)pOCTVC1_API_SESSION_INFO)->ulTransportSessionId); \ +} +#else +#define mOCTVC1_API_SESSION_INFO_SWAP( pOCTVC1_API_SESSION_INFO ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_API_SESSION_EVT_INFO_SWAP( _f_pParms ){ tOCTVC1_API_SESSION_EVT_INFO * pOCTVC1_API_SESSION_EVT_INFO = (_f_pParms); SWAP_UNUSED(pOCTVC1_API_SESSION_EVT_INFO)\ + ((tOCTVC1_API_SESSION_EVT_INFO *)pOCTVC1_API_SESSION_EVT_INFO)->ulEvtActiveFlag = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_API_SESSION_EVT_INFO *)pOCTVC1_API_SESSION_EVT_INFO)->ulEvtActiveFlag); \ + ((tOCTVC1_API_SESSION_EVT_INFO *)pOCTVC1_API_SESSION_EVT_INFO)->lEvtEnablerCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_API_SESSION_EVT_INFO *)pOCTVC1_API_SESSION_EVT_INFO)->lEvtEnablerCnt); \ +} +#else +#define mOCTVC1_API_SESSION_EVT_INFO_SWAP( pOCTVC1_API_SESSION_EVT_INFO ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_API_SWAP_H__ */ diff --git a/software/include/octvc1/octvc1_app.h b/software/include/octvc1/octvc1_app.h new file mode 100644 index 0000000..a89cd63 --- /dev/null +++ b/software/include/octvc1/octvc1_app.h @@ -0,0 +1,53 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_APP.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the OCTVC1 API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_APP_H__ +#define __OCTVC1_APP_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +/**************************************************************************** + Generic application definitions + ****************************************************************************/ + +#define cOCTVC1_APP_COMPANY_NAME "Octasic" +#define cOCTVC1_APP_PRODUCT_NAME "Software Define Radio" +#define cOCTVC1_APP_PRODUCT_SHORT_NAME "octsdr_gsm" +#define cOCTVC1_APP_PRODUCT_GOOSE_ROOT_NAME "octsdr" +#define cOCTVC1_APP_VERSION_MAJOR 2 +#define cOCTVC1_APP_VERSION_MINOR 2 +#define cOCTVC1_APP_VERSION_MAINTENANCE 4 +#define cOCTVC1_APP_VERSION_BUILD 403 +#define cOCTVC1_APP_VERSION_ID ((cOCTVC1_APP_VERSION_MAJOR << 25) + \ + (cOCTVC1_APP_VERSION_MINOR << 18) + \ + (cOCTVC1_APP_VERSION_MAINTENANCE << 11) + \ + (cOCTVC1_APP_VERSION_BUILD) ) + +#endif /* __OCTVC1_APP_H__ */ + diff --git a/software/include/vocallo/octvc1_base.h b/software/include/octvc1/octvc1_base.h similarity index 52% rename from software/include/vocallo/octvc1_base.h rename to software/include/octvc1/octvc1_base.h index 6eef47e..4e023ad 100644 --- a/software/include/vocallo/octvc1_base.h +++ b/software/include/octvc1/octvc1_base.h @@ -2,13 +2,25 @@ File: OCTVC1_BASE.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contains the definition of the OCTVC1 API. -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -45,13 +57,8 @@ $Octasic_Revision: $ Module unique identifiers ****************************************************************************/ #define cOCTVC1_GENERIC_UID ( 0x00 ) -#define cOCTVC1_MAIN_UID ( 0x01 ) #define cOCTVC1_PKT_API_UID ( 0x02 ) -#define cOCTVC1_CTRL_UID ( 0x03 ) -#define cOCTVC1_CPP_UID ( 0x03 ) #define cOCTVC1_LICENSING_UID ( 0x04 ) -#define cOCTVC1_NET_UID ( 0x04 ) -#define cOCTVC1_GSM_UID ( 0x0C ) /**************************************************************************** Module identifier bases @@ -60,33 +67,11 @@ $Octasic_Revision: $ /* Module: GENERIC */ #define cOCTVC1_GENERIC_RC_BASE ( (cOCTVC1_GENERIC_UID << 16) + cOCTVC1_RC_BASE ) -/* Module: MAIN */ -#define cOCTVC1_MAIN_CID_BASE ( (cOCTVC1_MAIN_UID << 16) + cOCTVC1_CID_BASE ) -#define cOCTVC1_MAIN_EID_BASE ( (cOCTVC1_MAIN_UID << 16) + cOCTVC1_EID_BASE ) -#define cOCTVC1_MAIN_RC_BASE ( (cOCTVC1_MAIN_UID << 16) + cOCTVC1_RC_BASE ) - /* Module: PKT_API */ #define cOCTVC1_PKT_API_RC_BASE ( (cOCTVC1_PKT_API_UID << 16) + cOCTVC1_RC_BASE ) -/* Module: CTRL */ -#define cOCTVC1_CTRL_SID_BASE ( (cOCTVC1_CTRL_UID << 16) + cOCTVC1_SID_BASE ) - -/* Module: CPP */ -#define cOCTVC1_CPP_CID_BASE ( (cOCTVC1_CPP_UID << 16) + cOCTVC1_CID_BASE ) -#define cOCTVC1_CPP_RC_BASE ( (cOCTVC1_CPP_UID << 16) + cOCTVC1_RC_BASE ) - /* Module: LICENSING */ #define cOCTVC1_LICENSING_RC_BASE ( (cOCTVC1_LICENSING_UID << 16) + cOCTVC1_RC_BASE ) -/* Module: NET */ -#define cOCTVC1_NET_CID_BASE ( (cOCTVC1_NET_UID << 16) + cOCTVC1_CID_BASE ) -#define cOCTVC1_NET_EID_BASE ( (cOCTVC1_NET_UID << 16) + cOCTVC1_EID_BASE ) -#define cOCTVC1_NET_RC_BASE ( (cOCTVC1_NET_UID << 16) + cOCTVC1_RC_BASE ) - -/* Module: GSM */ -#define cOCTVC1_GSM_CID_BASE ( (cOCTVC1_GSM_UID << 16) + cOCTVC1_CID_BASE ) -#define cOCTVC1_GSM_EID_BASE ( (cOCTVC1_GSM_UID << 16) + cOCTVC1_EID_BASE ) -#define cOCTVC1_GSM_RC_BASE ( (cOCTVC1_GSM_UID << 16) + cOCTVC1_RC_BASE ) - #endif /* __OCTVC1_BASE_H__ */ diff --git a/software/include/vocallo/octvc1_buffer.h b/software/include/octvc1/octvc1_buffer.h similarity index 66% rename from software/include/vocallo/octvc1_buffer.h rename to software/include/octvc1/octvc1_buffer.h index 5051745..9ac15ff 100644 --- a/software/include/vocallo/octvc1_buffer.h +++ b/software/include/octvc1/octvc1_buffer.h @@ -2,13 +2,25 @@ File: OCTVC1_BUFFER.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -20,7 +32,7 @@ $Revision: $ /***************************** INCLUDE FILES *******************************/ #include "../octdev_types.h" -#include "octvc1_base.h" +#include "octvc1_module.h" /************************ COMMON DEFINITIONS *******************************/ @@ -34,7 +46,7 @@ $Revision: $ #define tOCTVC1_BUFFER_FORMAT_ENUM tOCT_UINT32 #define cOCTVC1_BUFFER_FORMAT_ENUM_UNKNOWN 0x0000 -#define cOCTVC1_BUFFER_FORMAT_ENUM_MAIN ((tOCT_UINT32)(cOCTVC1_MAIN_UID<<12) ) +#define cOCTVC1_BUFFER_FORMAT_ENUM_MAIN ((tOCT_UINT32)(cOCTVC1_MODULE_ID_ENUM_MAIN<<12) ) /*------------------------------------------------------------------------------------- tOCTVC1_BUFFER_FORMAT_MAIN_ENUM : diff --git a/software/include/octvc1/octvc1_buffer_swap.h b/software/include/octvc1/octvc1_buffer_swap.h new file mode 100644 index 0000000..40c899a --- /dev/null +++ b/software/include/octvc1/octvc1_buffer_swap.h @@ -0,0 +1,57 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_buffer_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_BUFFER_SWAP_H__ +#define __OCTVC1_BUFFER_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_buffer.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_BUFFER_FORMAT_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_BUFFER_FORMAT_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + + +#define mOCTVC1_BUFFER_FORMAT_MAIN_ENUM_SWAP mOCTVC1_BUFFER_FORMAT_ENUM_SWAP + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_BUFFER_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_cursor.h b/software/include/octvc1/octvc1_cursor.h similarity index 84% rename from software/include/vocallo/octvc1_cursor.h rename to software/include/octvc1/octvc1_cursor.h index 1b23d9d..b96e810 100644 --- a/software/include/vocallo/octvc1_cursor.h +++ b/software/include/octvc1/octvc1_cursor.h @@ -2,13 +2,25 @@ File: OCTVC1_CURSOR.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -205,6 +217,28 @@ typedef struct } tOCTVC1_CURSOR_INDEX_GET; +/*------------------------------------------------------------------------------------- + tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX + Generic Index Object Get structure, + when the parent is identified by tOCTVC1_INDEX. + + Members: + ulParentIndex + Parent index + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST + Get mode + ulSubIndex + Object index +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_INDEX ulParentIndex; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + tOCTVC1_INDEX ulSubIndex; + +} tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX; + /*------------------------------------------------------------------------------------- Legacy types. Please use the new cursors. -------------------------------------------------------------------------------------*/ diff --git a/software/include/vocallo/octvc1_cursor_swap.h b/software/include/octvc1/octvc1_cursor_swap.h similarity index 58% rename from software/include/vocallo/octvc1_cursor_swap.h rename to software/include/octvc1/octvc1_cursor_swap.h index 6dbf621..e2e4596 100644 --- a/software/include/vocallo/octvc1_cursor_swap.h +++ b/software/include/octvc1/octvc1_cursor_swap.h @@ -2,13 +2,25 @@ File: octvc1_cursor_swap.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCTVC1_CURSOR_SWAP_H__ @@ -26,10 +38,18 @@ extern "C" { #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CURSOR_HANDLE_GET_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_GET * pOCTVC1_CURSOR_HANDLE_GET = (_f_pParms); \ +#define mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_CURSOR_HANDLE_GET_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_GET * pOCTVC1_CURSOR_HANDLE_GET = (_f_pParms); SWAP_UNUSED(pOCTVC1_CURSOR_HANDLE_GET)\ { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET *)pOCTVC1_CURSOR_HANDLE_GET)->hObject ); } \ - ((tOCTVC1_CURSOR_HANDLE_GET *)pOCTVC1_CURSOR_HANDLE_GET)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_GET *)pOCTVC1_CURSOR_HANDLE_GET)->ulGetMode); \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET *)pOCTVC1_CURSOR_HANDLE_GET)->ulGetMode ); } \ } #else #define mOCTVC1_CURSOR_HANDLE_GET_SWAP( pOCTVC1_CURSOR_HANDLE_GET ) @@ -38,10 +58,9 @@ extern "C" { #define mOCTVC1_OBJECT_CURSOR_SWAP mOCTVC1_CURSOR_HANDLE_GET_SWAP #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CURSOR_HANDLE_GET_HANDLE_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_GET_HANDLE * pOCTVC1_CURSOR_HANDLE_GET_HANDLE = (_f_pParms); \ +#define mOCTVC1_CURSOR_HANDLE_GET_HANDLE_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_GET_HANDLE * pOCTVC1_CURSOR_HANDLE_GET_HANDLE = (_f_pParms); SWAP_UNUSED(pOCTVC1_CURSOR_HANDLE_GET_HANDLE)\ { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET_HANDLE *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE)->hObject ); } \ - ((tOCTVC1_CURSOR_HANDLE_GET_HANDLE *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_GET_HANDLE *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE)->ulGetMode); \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET_HANDLE *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE)->ulGetMode ); } \ { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET_HANDLE *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE)->hSubObject ); } \ } #else @@ -51,10 +70,9 @@ extern "C" { #define mOCTVC1_SUB_OBJECT_CURSOR_SWAP mOCTVC1_CURSOR_HANDLE_GET_HANDLE_SWAP #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT * pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT = (_f_pParms); \ +#define mOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT * pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT = (_f_pParms); SWAP_UNUSED(pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT)\ { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT)->hObject ); } \ - ((tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT)->ulGetMode); \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT)->ulGetMode ); } \ ((tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT)->hHandleObject = \ mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT)->hHandleObject); \ } @@ -63,10 +81,9 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID * pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID = (_f_pParms); \ +#define mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID * pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID = (_f_pParms); SWAP_UNUSED(pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID)\ { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID)->hObject ); } \ - ((tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID)->ulGetMode); \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID)->ulGetMode ); } \ ((tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID)->ulSubObjectId = \ mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID)->ulSubObjectId); \ } @@ -77,22 +94,20 @@ extern "C" { #define mOCTVC1_SUB_OBJECT_ID_CURSOR_SWAP mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_OBJECT_GET * pOCTVC1_CURSOR_HANDLE_OBJECT_GET = (_f_pParms); \ +#define mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_OBJECT_GET * pOCTVC1_CURSOR_HANDLE_OBJECT_GET = (_f_pParms); SWAP_UNUSED(pOCTVC1_CURSOR_HANDLE_OBJECT_GET)\ ((tOCTVC1_CURSOR_HANDLE_OBJECT_GET *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET)->hObject = \ mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_OBJECT_GET *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET)->hObject); \ - ((tOCTVC1_CURSOR_HANDLE_OBJECT_GET *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_OBJECT_GET *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET)->ulGetMode); \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_CURSOR_HANDLE_OBJECT_GET *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET)->ulGetMode ); } \ } #else #define mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( pOCTVC1_CURSOR_HANDLE_OBJECT_GET ) #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT * pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT = (_f_pParms); \ +#define mOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT * pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT = (_f_pParms); SWAP_UNUSED(pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)\ ((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)->hObject = \ mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)->hObject); \ - ((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)->ulGetMode); \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)->ulGetMode ); } \ ((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)->hHandleObjectGet = \ mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)->hHandleObjectGet); \ } @@ -101,11 +116,10 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID * pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID = (_f_pParms); \ +#define mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID * pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID = (_f_pParms); SWAP_UNUSED(pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)\ ((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->hObject = \ mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->hObject); \ - ((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->ulGetMode); \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->ulGetMode ); } \ ((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->ulSubObjectId = \ mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->ulSubObjectId); \ } @@ -114,16 +128,27 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CURSOR_INDEX_GET_SWAP( _f_pParms ){ tOCTVC1_CURSOR_INDEX_GET * pOCTVC1_CURSOR_INDEX_GET = (_f_pParms); \ +#define mOCTVC1_CURSOR_INDEX_GET_SWAP( _f_pParms ){ tOCTVC1_CURSOR_INDEX_GET * pOCTVC1_CURSOR_INDEX_GET = (_f_pParms); SWAP_UNUSED(pOCTVC1_CURSOR_INDEX_GET)\ ((tOCTVC1_CURSOR_INDEX_GET *)pOCTVC1_CURSOR_INDEX_GET)->ulIndex = \ mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_INDEX_GET *)pOCTVC1_CURSOR_INDEX_GET)->ulIndex); \ - ((tOCTVC1_CURSOR_INDEX_GET *)pOCTVC1_CURSOR_INDEX_GET)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_INDEX_GET *)pOCTVC1_CURSOR_INDEX_GET)->ulGetMode); \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_CURSOR_INDEX_GET *)pOCTVC1_CURSOR_INDEX_GET)->ulGetMode ); } \ } #else #define mOCTVC1_CURSOR_INDEX_GET_SWAP( pOCTVC1_CURSOR_INDEX_GET ) #endif /* _OCT_ENDIAN_TYPE_LE_ */ +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_CURSOR_INDEX_GET_SUB_INDEX_SWAP( _f_pParms ){ tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX * pOCTVC1_CURSOR_INDEX_GET_SUB_INDEX = (_f_pParms); SWAP_UNUSED(pOCTVC1_CURSOR_INDEX_GET_SUB_INDEX)\ + ((tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX *)pOCTVC1_CURSOR_INDEX_GET_SUB_INDEX)->ulParentIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX *)pOCTVC1_CURSOR_INDEX_GET_SUB_INDEX)->ulParentIndex); \ + { mOCTVC1_OBJECT_CURSOR_ENUM_SWAP( &((tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX *)pOCTVC1_CURSOR_INDEX_GET_SUB_INDEX)->ulGetMode ); } \ + ((tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX *)pOCTVC1_CURSOR_INDEX_GET_SUB_INDEX)->ulSubIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_CURSOR_INDEX_GET_SUB_INDEX *)pOCTVC1_CURSOR_INDEX_GET_SUB_INDEX)->ulSubIndex); \ +} +#else +#define mOCTVC1_CURSOR_INDEX_GET_SUB_INDEX_SWAP( pOCTVC1_CURSOR_INDEX_GET_SUB_INDEX ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + #ifdef __cplusplus } diff --git a/software/include/vocallo/octvc1_eth.h b/software/include/octvc1/octvc1_eth.h similarity index 64% rename from software/include/vocallo/octvc1_eth.h rename to software/include/octvc1/octvc1_eth.h index 5eeac4e..d1dc514 100644 --- a/software/include/vocallo/octvc1_eth.h +++ b/software/include/octvc1/octvc1_eth.h @@ -2,13 +2,25 @@ File: OCTVC1_ETH.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/octvc1/octvc1_eth_swap.h b/software/include/octvc1/octvc1_eth_swap.h new file mode 100644 index 0000000..fff128f --- /dev/null +++ b/software/include/octvc1/octvc1_eth_swap.h @@ -0,0 +1,54 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_eth_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_ETH_SWAP_H__ +#define __OCTVC1_ETH_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_eth.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_ETH_PORT_ID_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_ETH_PORT_ID_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_ETH_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_fifo.h b/software/include/octvc1/octvc1_fifo.h similarity index 55% rename from software/include/vocallo/octvc1_fifo.h rename to software/include/octvc1/octvc1_fifo.h index f881ecb..a6779b1 100644 --- a/software/include/vocallo/octvc1_fifo.h +++ b/software/include/octvc1/octvc1_fifo.h @@ -2,13 +2,25 @@ File: OCTVC1_FIFO.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/vocallo/octvc1_file.h b/software/include/octvc1/octvc1_file.h similarity index 61% rename from software/include/vocallo/octvc1_file.h rename to software/include/octvc1/octvc1_file.h index 8798c4b..7e159d7 100644 --- a/software/include/vocallo/octvc1_file.h +++ b/software/include/octvc1/octvc1_file.h @@ -2,13 +2,25 @@ File: OCTVC1_FILE.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -25,13 +37,19 @@ $Revision: $ /************************ COMMON DEFINITIONS *******************************/ /*------------------------------------------------------------------------------------- - File Header endian magic + File Header magic - indicates if file should be swapped because + different endianness. "\x7F""OCT". - 0x54434F7F on little endian machine. - 0x7F4F4354 on big endian machine + 0x7F4F4354 the magic word + 0x54434F7F the magic word backwards ( file needs to be swapped) -------------------------------------------------------------------------------------*/ -#define cOCTVC1_FILE_MAGIC_BIG_ENDIAN 0x7F4F4354 -#define cOCTVC1_FILE_MAGIC_LITTLE_ENDIAN 0x54434F7F +#define cOCTVC1_FILE_ENDIAN_MAGIC_WORD 0x7F4F4354 +#define cOCTVC1_FILE_ENDIAN_MAGIC_WORD_SWAPPED 0x54434F7F + +/*------------------------------------------------------------------------------------- + File name string length restriction. +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_FILE_NAME_MAX_LENGTH 127 /*------------------------------------------------------------------------------------- tOCTVC1_FILE_TYPE_ENUM : File Type description -------------------------------------------------------------------------------------*/ @@ -39,7 +57,7 @@ $Revision: $ #define cOCTVC1_FILE_TYPE_ENUM_NONE 0 #define cOCTVC1_FILE_TYPE_ENUM_TEXT 1 -#define cOCTVC1_FILE_TYPE_ENUM_BIN 1 +#define cOCTVC1_FILE_TYPE_ENUM_BIN 2 /*------------------------------------------------------------------------------------- tOCTVC1_FILE_FORMAT_ENUM : File Type description @@ -72,13 +90,19 @@ $Revision: $ -------------------------------------------------------------------------------------*/ #define cOCTVC1_FILE_HEADER_SIZE_BIT_OFFSET 0 #define cOCTVC1_FILE_HEADER_SIZE_BIT_MASK 0x0000FFFF + +/*------------------------------------------------------------------------------------- + Minimum alignment in bytes. +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_FILE_MIN_ALIGN_BIT_OFFSET 16 +#define cOCTVC1_FILE_MIN_ALIGN_BIT_MASK 0x00FF0000 /*------------------------------------------------------------------------------------- tOCTVC1_FILE_HEADER Generic file header Members: ulMagic - Default: cOCTVC1_FILE_MAGIC_BIG_ENDIAN + Default: cOCTVC1_FILE_ENDIAN_MAGIC_WORD Magic file number. "\x7F""OCT". 0x54434F7F on little endian machine. @@ -87,18 +111,23 @@ $Revision: $ bits[31:24] = File Type. bits[23:16] = File Format Version. bits[15:0] = File Format. - ulReserved - ulHeaderSize + ulTimeStamp + Time Stamp of when file was first written. + ul_Align_HdrSize + Minimum alignment in bytes. This indicates the minumum size of a payload in the + file, + that was used to ensure proper alignment (depends on architecture). Header size with padding. This indicate where the file payload start (in byte). - bits[31:16] = Reserved. + bits[31:24] = Reserved. + bits[23:16] = Minimum alignment in bytes. bits[15:0] = Header Size with padding. -------------------------------------------------------------------------------------*/ typedef struct { tOCT_UINT32 ulMagic; tOCT_UINT32 ul_Type_Ver; - tOCT_UINT32 ulReserved; - tOCT_UINT32 ulHeaderSize; + tOCT_UINT32 ulTimeStamp; + tOCT_UINT32 ul_Align_HdrSize; } tOCTVC1_FILE_HEADER; diff --git a/software/include/octvc1/octvc1_file_swap.h b/software/include/octvc1/octvc1_file_swap.h new file mode 100644 index 0000000..413dbad --- /dev/null +++ b/software/include/octvc1/octvc1_file_swap.h @@ -0,0 +1,78 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_file_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_FILE_SWAP_H__ +#define __OCTVC1_FILE_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_file.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_FILE_TYPE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_FILE_TYPE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_FILE_FORMAT_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_FILE_FORMAT_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_FILE_HEADER_SWAP( _f_pParms ){ tOCTVC1_FILE_HEADER * pOCTVC1_FILE_HEADER = (_f_pParms); SWAP_UNUSED(pOCTVC1_FILE_HEADER)\ + ((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulMagic = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulMagic); \ + ((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ul_Type_Ver = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ul_Type_Ver); \ + ((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulTimeStamp = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulTimeStamp); \ + ((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ul_Align_HdrSize = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ul_Align_HdrSize); \ +} +#else +#define mOCTVC1_FILE_HEADER_SWAP( pOCTVC1_FILE_HEADER ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_FILE_SWAP_H__ */ diff --git a/software/include/octvc1/octvc1_generic_rc.h b/software/include/octvc1/octvc1_generic_rc.h new file mode 100644 index 0000000..56796f3 --- /dev/null +++ b/software/include/octvc1/octvc1_generic_rc.h @@ -0,0 +1,95 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GENERIC_RC.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the return codes for the GENERIC API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_GENERIC_RC_H__ +#define OCTVC1_GENERIC_RC_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_base.h" + +/**************************************************************************** + GENERIC return codes + ****************************************************************************/ +#define cOCTVC1_RC_OK ( 0x0000 ) +#define cOCTVC1_GENERIC_RC_BAD_PARAM ( 0x0001 + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_NOT_FOUND ( 0x0002 + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_ALREADY_USED ( 0x0003 + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_READ_OBJECT ( 0x0004 + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_WRITE_OBJECT ( 0x0005 + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_INVALID_TRANSACTION_ID ( 0x0006 + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_ID_INVALID ( 0x0007 + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_SUB_ID_INVALID ( 0x0008 + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_GET_MODE_INVALID ( 0x0009 + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_NO_MORE_OBJECT ( 0x000A + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_NO_MORE_SUB_OBJECT ( 0x000B + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_FULL ( 0x000C + cOCTVC1_GENERIC_RC_BASE ) +#define cOCTVC1_GENERIC_RC_TIMEOUT ( 0x000D + cOCTVC1_GENERIC_RC_BASE ) + +/**************************************************************************** + API return codes + ****************************************************************************/ +#define cOCTVC1_GENERIC_API_RC_BASE ( 0x0300 + cOCTVC1_GENERIC_RC_BASE ) + +#define cOCTVC1_GENERIC_RC_API_CMD_NOT_IMPLEMENTED ( 0x0001 + cOCTVC1_GENERIC_API_RC_BASE ) +#define cOCTVC1_GENERIC_RC_API_CMD_REJECT ( 0x0002 + cOCTVC1_GENERIC_API_RC_BASE ) +#define cOCTVC1_GENERIC_RC_API_CMD_RETRANSMIT ( 0x0003 + cOCTVC1_GENERIC_API_RC_BASE ) +#define cOCTVC1_GENERIC_RC_API_SESSION_INACTIVE ( 0x0004 + cOCTVC1_GENERIC_API_RC_BASE ) +#define cOCTVC1_GENERIC_RC_API_INVALID_CMD_LENGTH ( 0x0005 + cOCTVC1_GENERIC_API_RC_BASE ) +#define cOCTVC1_GENERIC_RC_API_INVALID_CMD_ID ( 0x0006 + cOCTVC1_GENERIC_API_RC_BASE ) + +/**************************************************************************** + MEMORY return codes + ****************************************************************************/ +#define cOCTVC1_GENERIC_MEMORY_RC_BASE ( 0x0400 + cOCTVC1_GENERIC_RC_BASE ) + +#define cOCTVC1_GENERIC_RC_MEMORY_LOCAL_ALLOC ( 0x0001 + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_LOCAL_FREE ( 0x0002 + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_RESIDENT_ALLOC ( 0x0003 + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_RESIDENT_FREE ( 0x0004 + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_ALLOC ( 0x0005 + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_FREE ( 0x0006 + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_READ ( 0x0007 + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_WRITE ( 0x0008 + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_IO_READ ( 0x0009 + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_IO_WRITE ( 0x000A + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_CHECKSUM ( 0x000B + cOCTVC1_GENERIC_MEMORY_RC_BASE ) +#define cOCTVC1_GENERIC_RC_MEMORY_SIZE ( 0x000C + cOCTVC1_GENERIC_MEMORY_RC_BASE ) + +/**************************************************************************** + INTERNAL return codes + ****************************************************************************/ +#define cOCTVC1_GENERIC_INTERNAL_RC_BASE ( 0x0500 + cOCTVC1_GENERIC_RC_BASE ) + +#define cOCTVC1_GENERIC_RC_INTERNAL_ERROR ( 0x0001 + cOCTVC1_GENERIC_INTERNAL_RC_BASE ) +#define cOCTVC1_GENERIC_RC_INTERNAL_SERVICE_NOT_INIT ( 0x0002 + cOCTVC1_GENERIC_INTERNAL_RC_BASE ) +#define cOCTVC1_GENERIC_RC_INTERNAL_TIMEOUT ( 0x0003 + cOCTVC1_GENERIC_INTERNAL_RC_BASE ) +#define cOCTVC1_GENERIC_RC_INTERNAL_MSG_UNKNOWN ( 0x0004 + cOCTVC1_GENERIC_INTERNAL_RC_BASE ) + +#endif /* OCTVC1_GENERIC_RC_H__ */ + diff --git a/software/include/vocallo/octvc1_handle.h b/software/include/octvc1/octvc1_handle.h similarity index 76% rename from software/include/vocallo/octvc1_handle.h rename to software/include/octvc1/octvc1_handle.h index b92fa2c..a7d2de0 100644 --- a/software/include/vocallo/octvc1_handle.h +++ b/software/include/octvc1/octvc1_handle.h @@ -2,13 +2,25 @@ File: OCTVC1_HANDLE.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -48,6 +60,8 @@ $Revision: $ #define cOCTVC1_DO_NOT_MODIFY 0xEEEEEEEE #define cOCTVC1_INDEX_INVALID 0xFFFFFFFF #define cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY 100 +#define cOCTVC1_HANDLE_OBJECT32_NAME_LIST_MAX_ENTRY 25 +#define cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH 31 /*------------------------------------------------------------------------------------- Base Object Type, for MAIN API @@ -85,6 +99,23 @@ typedef struct #define tOCTVC1_HANDLE_OBJECT tOCT_UINT32 +/*------------------------------------------------------------------------------------- + tOCTVC1_OBJECT32_NAME + + Members: + ulObject32 + 32 bits object identifier + May be tOCTVC1_HANDLE_OBJECT, tOCTVC1_SUB_OBJECT_ID, tOCTVC1_INDEX or any 32bits + szDisplayName + Name given to the object. Normally use for display name threw populate +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulObject32; + tOCT_UINT8 szDisplayName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)]; + +} tOCTVC1_OBJECT32_NAME; + /*------------------------------------------------------------------------------------- tOCTVC1_SUB_OBJECT_ID : Identifier specific to a child. Implementation is specific for every parent. @@ -99,20 +130,6 @@ typedef struct #define tOCTVC1_INDEX tOCT_UINT32 -/*------------------------------------------------------------------------------------- - Handle Type Definitions --------------------------------------------------------------------------------------*/ - -#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_VSPMP_VOC (cOCTVC1_VSPMP_VOC_UID<<8) -#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_CPP (cOCTVC1_CPP_UID<<8) -#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_NET (cOCTVC1_NET_UID<<8) -#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_VSPMP_VID (cOCTVC1_VSPMP_VID_UID<<8) -#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_MUX (cOCTVC1_MUX_UID<<8) - -/*------------------------------------------------------------------------------------- - Generic Vocallo Object Handle --------------------------------------------------------------------------------------*/ - #endif /* __OCTVC1_HANDLE_H__ */ diff --git a/software/include/octvc1/octvc1_handle_swap.h b/software/include/octvc1/octvc1_handle_swap.h new file mode 100644 index 0000000..fd30cba --- /dev/null +++ b/software/include/octvc1/octvc1_handle_swap.h @@ -0,0 +1,66 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_handle_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_HANDLE_SWAP_H__ +#define __OCTVC1_HANDLE_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_handle.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_HANDLE_SWAP( _f_pParms ){ tOCTVC1_HANDLE * pOCTVC1_HANDLE = (_f_pParms); SWAP_UNUSED(pOCTVC1_HANDLE)\ + { tOCT_UINT32 iOCTVC1_HANDLE; \ + for( iOCTVC1_HANDLE=0; \ + iOCTVC1_HANDLE<(3);iOCTVC1_HANDLE++ ) \ + ((tOCTVC1_HANDLE *)pOCTVC1_HANDLE)->aulHandle[iOCTVC1_HANDLE] = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_HANDLE *)pOCTVC1_HANDLE)->aulHandle[iOCTVC1_HANDLE]);}\ +} +#else +#define mOCTVC1_HANDLE_SWAP( pOCTVC1_HANDLE ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_OBJECT32_NAME_SWAP( _f_pParms ){ tOCTVC1_OBJECT32_NAME * pOCTVC1_OBJECT32_NAME = (_f_pParms); SWAP_UNUSED(pOCTVC1_OBJECT32_NAME)\ + ((tOCTVC1_OBJECT32_NAME *)pOCTVC1_OBJECT32_NAME)->ulObject32 = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_OBJECT32_NAME *)pOCTVC1_OBJECT32_NAME)->ulObject32); \ +} +#else +#define mOCTVC1_OBJECT32_NAME_SWAP( pOCTVC1_OBJECT32_NAME ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_HANDLE_SWAP_H__ */ diff --git a/software/include/octvc1/octvc1_id2string.h b/software/include/octvc1/octvc1_id2string.h new file mode 100644 index 0000000..4c7a2f0 --- /dev/null +++ b/software/include/octvc1/octvc1_id2string.h @@ -0,0 +1,316 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_id2string.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This file contains the id2string implementation for package OCTVC1 + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + + +#ifndef __OCTVC1_ID2STRING__ +#define __OCTVC1_ID2STRING__ + +#include "../octdev_types.h" +/* ------------------------------------------------------------------------------------- + OCTVC1_ID2STRING + -------------------------------------------------------------------------------------*/ +#define mOCTVC1_ID2STRING( _f_ulId ) \ + octvc1_id2string( _f_ulId ) + +#ifndef OCTVC1_ID2STRING_DECLARE +extern const char * octvc1_id2string( tOCT_UINT32 f_ulId ); +#endif + + +#ifdef OCTVC1_ID2STRING_DECLARE +#include +#include "main/octvc1_main_id.h" +#include "hw/octvc1_hw_id.h" +#include "irsc/octvc1_irsc_id.h" +#include "gsm/octvc1_gsm_id.h" + + +/* ------------------------------------------------------------------------------------- + octvc1_id2string + -------------------------------------------------------------------------------------*/ +const char * octvc1_id2string( tOCT_UINT32 f_ulId ) +{ + static char g_szUnknownoctvc1_id2string[32]; + switch( f_ulId ) + { + /* OCTVC1_MAIN */ + case cOCTVC1_MAIN_MSG_TARGET_RESET_CID: + return "cOCTVC1_MAIN_MSG_TARGET_RESET_CID"; + case cOCTVC1_MAIN_MSG_TARGET_INFO_CID: + return "cOCTVC1_MAIN_MSG_TARGET_INFO_CID"; + case cOCTVC1_MAIN_MSG_LOG_ERASE_CID: + return "cOCTVC1_MAIN_MSG_LOG_ERASE_CID"; + case cOCTVC1_MAIN_MSG_LOG_INFO_CID: + return "cOCTVC1_MAIN_MSG_LOG_INFO_CID"; + case cOCTVC1_MAIN_MSG_LOG_STATS_CID: + return "cOCTVC1_MAIN_MSG_LOG_STATS_CID"; + case cOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CID: + return "cOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CID"; + case cOCTVC1_MAIN_MSG_LOG_START_TRACE_CID: + return "cOCTVC1_MAIN_MSG_LOG_START_TRACE_CID"; + case cOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CID: + return "cOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CID"; + case cOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CID: + return "cOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CID"; + case cOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CID: + return "cOCTVC1_MAIN_MSG_LOG_STATS_TRACE_CID"; + case cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID: + return "cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID"; + case cOCTVC1_MAIN_MSG_FILE_OPEN_CID: + return "cOCTVC1_MAIN_MSG_FILE_OPEN_CID"; + case cOCTVC1_MAIN_MSG_FILE_CLOSE_CID: + return "cOCTVC1_MAIN_MSG_FILE_CLOSE_CID"; + case cOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CID: + return "cOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CID"; + case cOCTVC1_MAIN_MSG_FILE_WRITE_CID: + return "cOCTVC1_MAIN_MSG_FILE_WRITE_CID"; + case cOCTVC1_MAIN_MSG_FILE_READ_CID: + return "cOCTVC1_MAIN_MSG_FILE_READ_CID"; + case cOCTVC1_MAIN_MSG_FILE_INFO_CID: + return "cOCTVC1_MAIN_MSG_FILE_INFO_CID"; + case cOCTVC1_MAIN_MSG_FILE_LIST_CID: + return "cOCTVC1_MAIN_MSG_FILE_LIST_CID"; + case cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CID: + return "cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CID"; + case cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CID: + return "cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CID"; + case cOCTVC1_MAIN_MSG_PROCESS_INFO_CID: + return "cOCTVC1_MAIN_MSG_PROCESS_INFO_CID"; + case cOCTVC1_MAIN_MSG_PROCESS_LIST_CID: + return "cOCTVC1_MAIN_MSG_PROCESS_LIST_CID"; + case cOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CID: + return "cOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CID"; + case cOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CID: + return "cOCTVC1_MAIN_MSG_PROCESS_STATS_CPU_USAGE_CID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_LIST_SESSION_CID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_CID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_EVT_CID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_EVT_CID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_INFO_SESSION_HEARTBEAT_CID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_STATS_SESSION_HEARTBEAT_CID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_START_SESSION_HEARTBEAT_CID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_STOP_SESSION_HEARTBEAT_CID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_MODIFY_SESSION_HEARTBEAT_CID"; + case cOCTVC1_MAIN_MSG_APPLICATION_START_CID: + return "cOCTVC1_MAIN_MSG_APPLICATION_START_CID"; + case cOCTVC1_MAIN_MSG_APPLICATION_STOP_CID: + return "cOCTVC1_MAIN_MSG_APPLICATION_STOP_CID"; + case cOCTVC1_MAIN_MSG_APPLICATION_INFO_CID: + return "cOCTVC1_MAIN_MSG_APPLICATION_INFO_CID"; + case cOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CID: + return "cOCTVC1_MAIN_MSG_APPLICATION_INFO_SYSTEM_CID"; + case cOCTVC1_MAIN_MSG_PROCESS_DUMP_EID: + return "cOCTVC1_MAIN_MSG_PROCESS_DUMP_EID"; + case cOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EID: + return "cOCTVC1_MAIN_MSG_API_SYSTEM_SESSION_HEARTBEAT_EID"; + case cOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EID: + return "cOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EID"; + case cOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EID: + return "cOCTVC1_MAIN_MSG_APPLICATION_STATE_CHANGE_EID"; + /* OCTVC1_HW */ + case cOCTVC1_HW_MSG_PCB_INFO_CID: + return "cOCTVC1_HW_MSG_PCB_INFO_CID"; + case cOCTVC1_HW_MSG_CPU_CORE_STATS_CID: + return "cOCTVC1_HW_MSG_CPU_CORE_STATS_CID"; + case cOCTVC1_HW_MSG_CPU_CORE_INFO_CID: + return "cOCTVC1_HW_MSG_CPU_CORE_INFO_CID"; + case cOCTVC1_HW_MSG_CPU_CORE_LIST_CID: + return "cOCTVC1_HW_MSG_CPU_CORE_LIST_CID"; + case cOCTVC1_HW_MSG_ETH_PORT_INFO_CID: + return "cOCTVC1_HW_MSG_ETH_PORT_INFO_CID"; + case cOCTVC1_HW_MSG_ETH_PORT_LIST_CID: + return "cOCTVC1_HW_MSG_ETH_PORT_LIST_CID"; + case cOCTVC1_HW_MSG_ETH_PORT_STATS_CID: + return "cOCTVC1_HW_MSG_ETH_PORT_STATS_CID"; + case cOCTVC1_HW_MSG_ETH_PORT_MODIFY_CID: + return "cOCTVC1_HW_MSG_ETH_PORT_MODIFY_CID"; + case cOCTVC1_HW_MSG_RF_PORT_INFO_CID: + return "cOCTVC1_HW_MSG_RF_PORT_INFO_CID"; + case cOCTVC1_HW_MSG_RF_PORT_STATS_CID: + return "cOCTVC1_HW_MSG_RF_PORT_STATS_CID"; + case cOCTVC1_HW_MSG_RF_PORT_LIST_CID: + return "cOCTVC1_HW_MSG_RF_PORT_LIST_CID"; + case cOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CID: + return "cOCTVC1_HW_MSG_RF_PORT_LIST_ANTENNA_CID"; + case cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CID: + return "cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_RX_CONFIG_CID"; + case cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CID: + return "cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_RX_CONFIG_CID"; + case cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CID: + return "cOCTVC1_HW_MSG_RF_PORT_INFO_ANTENNA_TX_CONFIG_CID"; + case cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CID: + return "cOCTVC1_HW_MSG_RF_PORT_MODIFY_ANTENNA_TX_CONFIG_CID"; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CID: + return "cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_CID"; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CID: + return "cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATS_CID"; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CID: + return "cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_INFO_SOURCE_CID"; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CID: + return "cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_MODIFY_SOURCE_CID"; + case cOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EID: + return "cOCTVC1_HW_MSG_CPU_CORE_EXEC_REPORT_EID"; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EID: + return "cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STATUS_CHANGE_EID"; + /* OCTVC1_IRSC */ + case cOCTVC1_IRSC_MSG_PROCESS_INFO_CID: + return "cOCTVC1_IRSC_MSG_PROCESS_INFO_CID"; + case cOCTVC1_IRSC_MSG_PROCESS_STATS_CID: + return "cOCTVC1_IRSC_MSG_PROCESS_STATS_CID"; + case cOCTVC1_IRSC_MSG_PROCESS_LIST_CID: + return "cOCTVC1_IRSC_MSG_PROCESS_LIST_CID"; + case cOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CID: + return "cOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CID"; + case cOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CID: + return "cOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CID"; + case cOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CID: + return "cOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CID"; + case cOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CID: + return "cOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CID"; + case cOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CID: + return "cOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CID"; + case cOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CID: + return "cOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CID"; + case cOCTVC1_IRSC_MSG_OBJMGR_INFO_CID: + return "cOCTVC1_IRSC_MSG_OBJMGR_INFO_CID"; + case cOCTVC1_IRSC_MSG_OBJMGR_STATS_CID: + return "cOCTVC1_IRSC_MSG_OBJMGR_STATS_CID"; + case cOCTVC1_IRSC_MSG_OBJMGR_LIST_CID: + return "cOCTVC1_IRSC_MSG_OBJMGR_LIST_CID"; + case cOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CID: + return "cOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CID"; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CID: + return "cOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CID"; + case cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CID: + return "cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CID"; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CID: + return "cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CID"; + case cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CID: + return "cOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CID"; + case cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CID: + return "cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CID"; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CID: + return "cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CID"; + case cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CID: + return "cOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CID"; + case cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CID: + return "cOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CID"; + case cOCTVC1_IRSC_MSG_PROCESS_DUMP_EID: + return "cOCTVC1_IRSC_MSG_PROCESS_DUMP_EID"; + /* OCTVC1_GSM */ + case cOCTVC1_GSM_MSG_TRX_OPEN_CID: + return "cOCTVC1_GSM_MSG_TRX_OPEN_CID"; + case cOCTVC1_GSM_MSG_TRX_CLOSE_CID: + return "cOCTVC1_GSM_MSG_TRX_CLOSE_CID"; + case cOCTVC1_GSM_MSG_TRX_STATUS_CID: + return "cOCTVC1_GSM_MSG_TRX_STATUS_CID"; + case cOCTVC1_GSM_MSG_TRX_INFO_CID: + return "cOCTVC1_GSM_MSG_TRX_INFO_CID"; + case cOCTVC1_GSM_MSG_TRX_RESET_CID: + return "cOCTVC1_GSM_MSG_TRX_RESET_CID"; + case cOCTVC1_GSM_MSG_TRX_MODIFY_CID: + return "cOCTVC1_GSM_MSG_TRX_MODIFY_CID"; + case cOCTVC1_GSM_MSG_TRX_LIST_CID: + return "cOCTVC1_GSM_MSG_TRX_LIST_CID"; + case cOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CID: + return "cOCTVC1_GSM_MSG_TRX_CLOSE_ALL_CID"; + case cOCTVC1_GSM_MSG_TRX_START_RECORD_CID: + return "cOCTVC1_GSM_MSG_TRX_START_RECORD_CID"; + case cOCTVC1_GSM_MSG_TRX_STOP_RECORD_CID: + return "cOCTVC1_GSM_MSG_TRX_STOP_RECORD_CID"; + case cOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_STATUS_LOGICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_INFO_LOGICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_LIST_LOGICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CID: + return "cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_EMPTY_FRAME_CID"; + case cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CID: + return "cOCTVC1_GSM_MSG_TRX_REQUEST_LOGICAL_CHANNEL_DATA_CID"; + case cOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_DEACTIVATE_PHYSICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_STATUS_PHYSICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_RESET_PHYSICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_LIST_PHYSICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CID: + return "cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CID"; + case cOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CID: + return "cOCTVC1_GSM_MSG_TRX_MODIFY_PHYSICAL_CHANNEL_CIPHERING_CID"; + case cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CID: + return "cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_CIPHERING_CID"; + case cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CID: + return "cOCTVC1_GSM_MSG_TRX_INFO_PHYSICAL_CHANNEL_MEASUREMENT_CID"; + case cOCTVC1_GSM_MSG_TRX_INFO_RF_CID: + return "cOCTVC1_GSM_MSG_TRX_INFO_RF_CID"; + case cOCTVC1_GSM_MSG_TRX_MODIFY_RF_CID: + return "cOCTVC1_GSM_MSG_TRX_MODIFY_RF_CID"; + case cOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID: + return "cOCTVC1_GSM_MSG_TRX_START_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID"; + case cOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID: + return "cOCTVC1_GSM_MSG_TRX_STOP_LOGICAL_CHANNEL_RAW_DATA_INDICATIONS_CID"; + case cOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EID: + return "cOCTVC1_GSM_MSG_TRX_TIME_INDICATION_EID"; + case cOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EID: + return "cOCTVC1_GSM_MSG_TRX_STATUS_CHANGE_EID"; + case cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EID: + return "cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_DATA_INDICATION_EID"; + case cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EID: + return "cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_READY_TO_SEND_INDICATION_EID"; + case cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EID: + return "cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RACH_INDICATION_EID"; + case cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EID: + return "cOCTVC1_GSM_MSG_TRX_LOGICAL_CHANNEL_RAW_DATA_INDICATION_EID"; + + } + sprintf( g_szUnknownoctvc1_id2string, "0x%.8X", f_ulId ); + return g_szUnknownoctvc1_id2string; +} +#endif + +#endif /* __OCTVC1_ID2STRING__ */ diff --git a/software/include/octvc1/octvc1_id2string_priv.h b/software/include/octvc1/octvc1_id2string_priv.h new file mode 100644 index 0000000..01c969b --- /dev/null +++ b/software/include/octvc1/octvc1_id2string_priv.h @@ -0,0 +1,106 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_id2string_priv.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This file contains the id2string implementation for package OCTVC1 + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + + +#ifndef __OCTVC1_ID2STRING_PRIV__ +#define __OCTVC1_ID2STRING_PRIV__ + +#include "../octdev_types.h" +#include "octvc1_id2string.h" +/* ------------------------------------------------------------------------------------- + OCTVC1_ID2STRING_PRIV + -------------------------------------------------------------------------------------*/ +#define mOCTVC1_ID2STRING_PRIV( _f_ulId ) \ + octvc1_id2string_priv( _f_ulId ) + +#ifndef OCTVC1_ID2STRING_PRIV_DECLARE +extern const char * octvc1_id2string_priv( tOCT_UINT32 f_ulId ); +#endif + + +#ifdef OCTVC1_ID2STRING_PRIV_DECLARE +#include +#include "test/octvc1_test_id_priv.h" +#include "hw/octvc1_hw_id_priv.h" + + +/* ------------------------------------------------------------------------------------- + octvc1_id2string_priv + -------------------------------------------------------------------------------------*/ +const char * octvc1_id2string_priv( tOCT_UINT32 f_ulId ) +{ + static char g_szUnknownoctvc1_id2string_priv[32]; + switch( f_ulId ) + { + /* OCTVC1_TEST */ + case cOCTVC1_TEST_MSG_DESCR_LIST_CID: + return "cOCTVC1_TEST_MSG_DESCR_LIST_CID"; + case cOCTVC1_TEST_MSG_DESCR_INFO_CID: + return "cOCTVC1_TEST_MSG_DESCR_INFO_CID"; + case cOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CID: + return "cOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CID"; + case cOCTVC1_TEST_MSG_DESCR_STATS_CID: + return "cOCTVC1_TEST_MSG_DESCR_STATS_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_START_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_START_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CID"; + case cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CID: + return "cOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CID"; + /* OCTVC1_GENERIC */ + case cOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CID: + return "cOCTVC1_HW_MSG_ETH_PORT_RESTRICTED_UNBLOCK_CID"; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CID: + return "cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_START_SYNCHRO_CID"; + case cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CID: + return "cOCTVC1_HW_MSG_CLOCK_SYNC_MGR_STOP_SYNCHRO_CID"; + + } + return octvc1_id2string( f_ulId ); +} +#endif + +#endif /* __OCTVC1_ID2STRING_PRIV__ */ diff --git a/software/include/vocallo/octvc1_ip.h b/software/include/octvc1/octvc1_ip.h similarity index 68% rename from software/include/vocallo/octvc1_ip.h rename to software/include/octvc1/octvc1_ip.h index 7aee2c3..b350c97 100644 --- a/software/include/vocallo/octvc1_ip.h +++ b/software/include/octvc1/octvc1_ip.h @@ -2,13 +2,25 @@ File: OCTVC1_IP.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/octvc1/octvc1_ip_swap.h b/software/include/octvc1/octvc1_ip_swap.h new file mode 100644 index 0000000..ee87f63 --- /dev/null +++ b/software/include/octvc1/octvc1_ip_swap.h @@ -0,0 +1,48 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_ip_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_IP_SWAP_H__ +#define __OCTVC1_IP_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_ip.h" + +/********************************* MACROS **********************************/ + + + +#define mOCTVC1_IP_VERSION_ENUM_SWAP mOCTDEV_IP_VERSION_ENUM_SWAP + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_IP_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_licensing_rc.h b/software/include/octvc1/octvc1_licensing_rc.h similarity index 54% rename from software/include/vocallo/octvc1_licensing_rc.h rename to software/include/octvc1/octvc1_licensing_rc.h index b37c67c..d0c1a8c 100644 --- a/software/include/vocallo/octvc1_licensing_rc.h +++ b/software/include/octvc1/octvc1_licensing_rc.h @@ -2,13 +2,25 @@ File: OCTVC1_LICENSING_RC.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contains the return codes for the LICENSING API. -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ diff --git a/software/include/vocallo/octvc1_list.h b/software/include/octvc1/octvc1_list.h similarity index 57% rename from software/include/vocallo/octvc1_list.h rename to software/include/octvc1/octvc1_list.h index 72011db..c616f4f 100644 --- a/software/include/vocallo/octvc1_list.h +++ b/software/include/octvc1/octvc1_list.h @@ -2,13 +2,25 @@ File: OCTVC1_LIST.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -83,6 +95,46 @@ typedef struct } tOCTVC1_LIST_HANDLE_OBJECT_GET; +/*------------------------------------------------------------------------------------- + tOCTVC1_LIST_NAME_OBJECT32_GET + Handle Object name List structure, + Used when the objects to list are identified by a tOCT_UINT32 and displayed by + name. + + Members: + ulNumObject + Number of valid objects in aNamedObject + aNameObject32 + Array containing the listed handles and named +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulNumObject; + tOCTVC1_OBJECT32_NAME aNameObject32[cOCTVC1_HANDLE_OBJECT32_NAME_LIST_MAX_ENTRY]; + +} tOCTVC1_LIST_NAME_OBJECT32_GET; + +/*------------------------------------------------------------------------------------- + tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME + Handle Object list List structure, + Used when the objects to list are identified by a tOCTVC1_SUB_OBJECT_ID. + + Members: + hParent + Handle object of the parent + ulNumObject + Number of valid sub object IDs in aSubObjectId + aNameObject32 + Array containing the listed handles +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE_OBJECT hParent; + tOCT_UINT32 ulNumObject; + tOCTVC1_OBJECT32_NAME aNameObject32[cOCTVC1_HANDLE_OBJECT32_NAME_LIST_MAX_ENTRY]; + +} tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME; + /*------------------------------------------------------------------------------------- tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID Handle Object list List structure, @@ -122,6 +174,27 @@ typedef struct } tOCTVC1_LIST_INDEX_GET; +/*------------------------------------------------------------------------------------- + tOCTVC1_LIST_INDEX_GET_SUB_INDEX + Object Index List structure, + Used when the objects to list are identified by a tOCTVC1_INDEX. + + Members: + ulParentIndex + Index of the parent of the sub-index + ulNumIndex + Number of valid index in aIndex + aIndex + Array containing the listed of indexes +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_INDEX ulParentIndex; + tOCT_UINT32 ulNumIndex; + tOCTVC1_INDEX aIndex[cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY]; + +} tOCTVC1_LIST_INDEX_GET_SUB_INDEX; + #endif /* __OCTVC1_LIST_H__ */ diff --git a/software/include/vocallo/octvc1_list_swap.h b/software/include/octvc1/octvc1_list_swap.h similarity index 53% rename from software/include/vocallo/octvc1_list_swap.h rename to software/include/octvc1/octvc1_list_swap.h index add670f..6396421 100644 --- a/software/include/vocallo/octvc1_list_swap.h +++ b/software/include/octvc1/octvc1_list_swap.h @@ -2,13 +2,25 @@ File: octvc1_list_swap.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCTVC1_LIST_SWAP_H__ @@ -26,7 +38,7 @@ extern "C" { #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_LIST_HANDLE_GET_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_GET * pOCTVC1_LIST_HANDLE_GET = (_f_pParms); \ +#define mOCTVC1_LIST_HANDLE_GET_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_GET * pOCTVC1_LIST_HANDLE_GET = (_f_pParms); SWAP_UNUSED(pOCTVC1_LIST_HANDLE_GET)\ ((tOCTVC1_LIST_HANDLE_GET *)pOCTVC1_LIST_HANDLE_GET)->ulNumHandle = \ mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_GET *)pOCTVC1_LIST_HANDLE_GET)->ulNumHandle); \ { tOCT_UINT32 jOCTVC1_LIST_HANDLE_GET; \ @@ -39,7 +51,7 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID * pOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID = (_f_pParms); \ +#define mOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID * pOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID = (_f_pParms); SWAP_UNUSED(pOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID)\ { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID)->hParent ); } \ ((tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID)->ulNumSubObjectId = \ mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID)->ulNumSubObjectId); \ @@ -54,7 +66,7 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_LIST_HANDLE_OBJECT_GET_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_OBJECT_GET * pOCTVC1_LIST_HANDLE_OBJECT_GET = (_f_pParms); \ +#define mOCTVC1_LIST_HANDLE_OBJECT_GET_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_OBJECT_GET * pOCTVC1_LIST_HANDLE_OBJECT_GET = (_f_pParms); SWAP_UNUSED(pOCTVC1_LIST_HANDLE_OBJECT_GET)\ ((tOCTVC1_LIST_HANDLE_OBJECT_GET *)pOCTVC1_LIST_HANDLE_OBJECT_GET)->ulNumHandleObject = \ mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_OBJECT_GET *)pOCTVC1_LIST_HANDLE_OBJECT_GET)->ulNumHandleObject); \ { tOCT_UINT32 iOCTVC1_LIST_HANDLE_OBJECT_GET; \ @@ -68,7 +80,35 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID * pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID = (_f_pParms); \ +#define mOCTVC1_LIST_NAME_OBJECT32_GET_SWAP( _f_pParms ){ tOCTVC1_LIST_NAME_OBJECT32_GET * pOCTVC1_LIST_NAME_OBJECT32_GET = (_f_pParms); SWAP_UNUSED(pOCTVC1_LIST_NAME_OBJECT32_GET)\ + ((tOCTVC1_LIST_NAME_OBJECT32_GET *)pOCTVC1_LIST_NAME_OBJECT32_GET)->ulNumObject = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_NAME_OBJECT32_GET *)pOCTVC1_LIST_NAME_OBJECT32_GET)->ulNumObject); \ + { tOCT_UINT32 jOCTVC1_LIST_NAME_OBJECT32_GET; \ + for( jOCTVC1_LIST_NAME_OBJECT32_GET=0; \ + jOCTVC1_LIST_NAME_OBJECT32_GET<(cOCTVC1_HANDLE_OBJECT32_NAME_LIST_MAX_ENTRY);jOCTVC1_LIST_NAME_OBJECT32_GET++ ) \ + { mOCTVC1_OBJECT32_NAME_SWAP( &((tOCTVC1_LIST_NAME_OBJECT32_GET *)pOCTVC1_LIST_NAME_OBJECT32_GET)->aNameObject32[jOCTVC1_LIST_NAME_OBJECT32_GET] ); }} \ +} +#else +#define mOCTVC1_LIST_NAME_OBJECT32_GET_SWAP( pOCTVC1_LIST_NAME_OBJECT32_GET ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME * pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME = (_f_pParms); SWAP_UNUSED(pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME)\ + ((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME)->hParent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME)->hParent); \ + ((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME)->ulNumObject = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME)->ulNumObject); \ + { tOCT_UINT32 jOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME; \ + for( jOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME=0; \ + jOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME<(cOCTVC1_HANDLE_OBJECT32_NAME_LIST_MAX_ENTRY);jOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME++ ) \ + { mOCTVC1_OBJECT32_NAME_SWAP( &((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME)->aNameObject32[jOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME] ); }} \ +} +#else +#define mOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME_SWAP( pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID * pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID = (_f_pParms); SWAP_UNUSED(pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID)\ ((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->hParent = \ mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->hParent); \ ((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->ulNumSubObjectId = \ @@ -84,7 +124,7 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_LIST_INDEX_GET_SWAP( _f_pParms ){ tOCTVC1_LIST_INDEX_GET * pOCTVC1_LIST_INDEX_GET = (_f_pParms); \ +#define mOCTVC1_LIST_INDEX_GET_SWAP( _f_pParms ){ tOCTVC1_LIST_INDEX_GET * pOCTVC1_LIST_INDEX_GET = (_f_pParms); SWAP_UNUSED(pOCTVC1_LIST_INDEX_GET)\ ((tOCTVC1_LIST_INDEX_GET *)pOCTVC1_LIST_INDEX_GET)->ulNumIndex = \ mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_INDEX_GET *)pOCTVC1_LIST_INDEX_GET)->ulNumIndex); \ { tOCT_UINT32 iOCTVC1_LIST_INDEX_GET; \ @@ -97,6 +137,22 @@ extern "C" { #define mOCTVC1_LIST_INDEX_GET_SWAP( pOCTVC1_LIST_INDEX_GET ) #endif /* _OCT_ENDIAN_TYPE_LE_ */ +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_LIST_INDEX_GET_SUB_INDEX_SWAP( _f_pParms ){ tOCTVC1_LIST_INDEX_GET_SUB_INDEX * pOCTVC1_LIST_INDEX_GET_SUB_INDEX = (_f_pParms); SWAP_UNUSED(pOCTVC1_LIST_INDEX_GET_SUB_INDEX)\ + ((tOCTVC1_LIST_INDEX_GET_SUB_INDEX *)pOCTVC1_LIST_INDEX_GET_SUB_INDEX)->ulParentIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_INDEX_GET_SUB_INDEX *)pOCTVC1_LIST_INDEX_GET_SUB_INDEX)->ulParentIndex); \ + ((tOCTVC1_LIST_INDEX_GET_SUB_INDEX *)pOCTVC1_LIST_INDEX_GET_SUB_INDEX)->ulNumIndex = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_INDEX_GET_SUB_INDEX *)pOCTVC1_LIST_INDEX_GET_SUB_INDEX)->ulNumIndex); \ + { tOCT_UINT32 iOCTVC1_LIST_INDEX_GET_SUB_INDEX; \ + for( iOCTVC1_LIST_INDEX_GET_SUB_INDEX=0; \ + iOCTVC1_LIST_INDEX_GET_SUB_INDEX<(cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY);iOCTVC1_LIST_INDEX_GET_SUB_INDEX++ ) \ + ((tOCTVC1_LIST_INDEX_GET_SUB_INDEX *)pOCTVC1_LIST_INDEX_GET_SUB_INDEX)->aIndex[iOCTVC1_LIST_INDEX_GET_SUB_INDEX] = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_INDEX_GET_SUB_INDEX *)pOCTVC1_LIST_INDEX_GET_SUB_INDEX)->aIndex[iOCTVC1_LIST_INDEX_GET_SUB_INDEX]);}\ +} +#else +#define mOCTVC1_LIST_INDEX_GET_SUB_INDEX_SWAP( pOCTVC1_LIST_INDEX_GET_SUB_INDEX ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + #ifdef __cplusplus } diff --git a/software/include/vocallo/octvc1_log.h b/software/include/octvc1/octvc1_log.h similarity index 71% rename from software/include/vocallo/octvc1_log.h rename to software/include/octvc1/octvc1_log.h index bff3275..b42deee 100644 --- a/software/include/vocallo/octvc1_log.h +++ b/software/include/octvc1/octvc1_log.h @@ -2,13 +2,25 @@ File: OCTVC1_LOG.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ @@ -47,19 +59,28 @@ $Revision: $ #define cOCTVC1_LOG_LEVEL_ENUM_WARNING 4 #define cOCTVC1_LOG_LEVEL_ENUM_NOTICE 5 +/*------------------------------------------------------------------------------------- + tOCTVC1_LOG_PAYLOAD_TYPE_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_LOG_PAYLOAD_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_DATA 0 +#define cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_STRING 1 +#define cOCTVC1_LOG_PAYLOAD_TYPE_ENUM_RC 2 + /*------------------------------------------------------------------------------------- tOCTVC1_LOG_TRACE_MASK : -------------------------------------------------------------------------------------*/ #define tOCTVC1_LOG_TRACE_MASK tOCT_UINT32 -#define cOCTVC1_LOG_TRACE_MASK_FNC_IN 0x01 -#define cOCTVC1_LOG_TRACE_MASK_FNC_OUT 0x02 -#define cOCTVC1_LOG_TRACE_MASK_INFO 0x04 -#define cOCTVC1_LOG_TRACE_MASK_DEBUG 0x08 -#define cOCTVC1_LOG_TRACE_MASK_USER_0 0x10 -#define cOCTVC1_LOG_TRACE_MASK_USER_1 0x20 -#define cOCTVC1_LOG_TRACE_MASK_USER_2 0x40 -#define cOCTVC1_LOG_TRACE_MASK_USER_3 0x80 +#define cOCTVC1_LOG_TRACE_MASK_SYSTEM 0x01 +#define cOCTVC1_LOG_TRACE_MASK_IPC_MESSAGE 0x02 +#define cOCTVC1_LOG_TRACE_MASK_USER_0 0x04 +#define cOCTVC1_LOG_TRACE_MASK_USER_1 0x08 +#define cOCTVC1_LOG_TRACE_MASK_USER_2 0x10 +#define cOCTVC1_LOG_TRACE_MASK_USER_3 0x20 +#define cOCTVC1_LOG_TRACE_MASK_USER_4 0x40 +#define cOCTVC1_LOG_TRACE_MASK_USER_5 0x80 #define cOCTVC1_LOG_TRACE_MASK_NONE 0x00 #define cOCTVC1_LOG_TRACE_MASK_ALL 0xFFFFFFFF @@ -84,8 +105,8 @@ $Revision: $ /*------------------------------------------------------------------------------------- Log Header string data -------------------------------------------------------------------------------------*/ -#define cOCTVC1_LOG_PAYLOAD_STR_BIT_OFFSET 26 -#define cOCTVC1_LOG_PAYLOAD_STR_BIT_MASK 0x04000000 +#define cOCTVC1_LOG_PAYLOAD_TYPE_BIT_OFFSET 25 +#define cOCTVC1_LOG_PAYLOAD_TYPE_BIT_MASK 0x06000000 /*------------------------------------------------------------------------------------- Log Header info @@ -93,7 +114,7 @@ $Revision: $ If TYPE_TRACE info value map to tOCTVC1_LOG_TRACE_MASK -------------------------------------------------------------------------------------*/ #define cOCTVC1_LOG_INFO_BIT_OFFSET 16 -#define cOCTVC1_LOG_INFO_BIT_MASK 0x0FFF0000 +#define cOCTVC1_LOG_INFO_BIT_MASK 0x00FF0000 /*------------------------------------------------------------------------------------- Log Header payload length @@ -113,8 +134,8 @@ $Revision: $ ul_Type_Info_Length bits[31:28] = Log TYPE tOCTVC1_LOG_TYPE_ENUM. bits[27] = Fragment Extra Entry will follow. - bits[26] = Payload String Flag. - bits[25:24] = Reserved. + bits[26:25] = Payload TYPE tOCTVC1_LOG_PAYLOAD_TYPE_ENUM. + bits[24] = Reserved. bits[23:16] = Type Info base of Log Type see tOCTVC1_LOG_TYPE_ENUM If TYPE_LOG base tOCTVC1_LOG_LEVEL_ENUM If TYPE_TRACE base tOCTVC1_LOG_TRACE_MASK diff --git a/software/include/octvc1/octvc1_log_swap.h b/software/include/octvc1/octvc1_log_swap.h new file mode 100644 index 0000000..80a2bb5 --- /dev/null +++ b/software/include/octvc1/octvc1_log_swap.h @@ -0,0 +1,95 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_log_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_LOG_SWAP_H__ +#define __OCTVC1_LOG_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_log.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_LOG_TYPE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_LOG_TYPE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_LOG_LEVEL_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_LOG_LEVEL_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_LOG_PAYLOAD_TYPE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_LOG_PAYLOAD_TYPE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_LOG_TRACE_MASK_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_LOG_TRACE_MASK_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_LOG_HEADER_SWAP( _f_pParms ){ tOCTVC1_LOG_HEADER * pOCTVC1_LOG_HEADER = (_f_pParms); SWAP_UNUSED(pOCTVC1_LOG_HEADER)\ + { mOCTVC1_LOG_ID_SWAP( &((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ulId ); } \ + ((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ulTime = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ulTime); \ + ((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->hProcess = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->hProcess); \ + ((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ul_Type_Info_Length = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ul_Type_Info_Length); \ +} +#else +#define mOCTVC1_LOG_HEADER_SWAP( pOCTVC1_LOG_HEADER ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_LOG_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_mac.h b/software/include/octvc1/octvc1_mac.h similarity index 59% rename from software/include/vocallo/octvc1_mac.h rename to software/include/octvc1/octvc1_mac.h index 1d5a83b..b66cc0d 100644 --- a/software/include/vocallo/octvc1_mac.h +++ b/software/include/octvc1/octvc1_mac.h @@ -2,13 +2,25 @@ File: OCTVC1_MAC.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/vocallo/octvc1_macro.h b/software/include/octvc1/octvc1_macro.h similarity index 75% rename from software/include/vocallo/octvc1_macro.h rename to software/include/octvc1/octvc1_macro.h index 52b079d..e1bc559 100644 --- a/software/include/vocallo/octvc1_macro.h +++ b/software/include/octvc1/octvc1_macro.h @@ -2,13 +2,25 @@ File: OCTVC1_MACRO.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/octvc1/octvc1_module.h b/software/include/octvc1/octvc1_module.h new file mode 100644 index 0000000..f331446 --- /dev/null +++ b/software/include/octvc1/octvc1_module.h @@ -0,0 +1,64 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MODULE.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_MODULE_H__ +#define __OCTVC1_MODULE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "octvc1_base.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Module ID identifiers +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_MODULE_ID_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_MODULE_ID_ENUM tOCT_UINT8 + +#define cOCTVC1_MODULE_ID_ENUM_GENERIC 0x00 +#define cOCTVC1_MODULE_ID_ENUM_MAIN 0x01 +#define cOCTVC1_MODULE_ID_ENUM_PKT_API 0x02 +#define cOCTVC1_MODULE_ID_ENUM_CTRL 0x03 +#define cOCTVC1_MODULE_ID_ENUM_LICENSING 0x04 +#define cOCTVC1_MODULE_ID_ENUM_TEST 0x05 +#define cOCTVC1_MODULE_ID_ENUM_HW 0x06 +#define cOCTVC1_MODULE_ID_ENUM_IRSC 0x07 +#define cOCTVC1_MODULE_ID_ENUM_SDR 0x0A +#define cOCTVC1_MODULE_ID_ENUM_GSM 0x0B +#define cOCTVC1_MODULE_ID_ENUM_LTE 0x0C +#define cOCTVC1_MODULE_ID_ENUM_UMTS 0x0D +#define cOCTVC1_MODULE_ID_ENUM_RUS 0x0E + + +#endif /* __OCTVC1_MODULE_H__ */ + diff --git a/software/include/octvc1/octvc1_module_swap.h b/software/include/octvc1/octvc1_module_swap.h new file mode 100644 index 0000000..0a37505 --- /dev/null +++ b/software/include/octvc1/octvc1_module_swap.h @@ -0,0 +1,48 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_module_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_MODULE_SWAP_H__ +#define __OCTVC1_MODULE_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_module.h" + +/********************************* MACROS **********************************/ + + + +#define mOCTVC1_MODULE_ID_ENUM_SWAP( pType ) /* tOCT_UINT8 */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_MODULE_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_msg.h b/software/include/octvc1/octvc1_msg.h similarity index 88% rename from software/include/vocallo/octvc1_msg.h rename to software/include/octvc1/octvc1_msg.h index ed6dad7..041de6b 100644 --- a/software/include/vocallo/octvc1_msg.h +++ b/software/include/octvc1/octvc1_msg.h @@ -2,13 +2,25 @@ File: OCTVC1_MSG.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/vocallo/octvc1_msg_swap.h b/software/include/octvc1/octvc1_msg_swap.h similarity index 64% rename from software/include/vocallo/octvc1_msg_swap.h rename to software/include/octvc1/octvc1_msg_swap.h index 531e8f5..edddde3 100644 --- a/software/include/vocallo/octvc1_msg_swap.h +++ b/software/include/octvc1/octvc1_msg_swap.h @@ -2,13 +2,25 @@ File: octvc1_msg_swap.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCTVC1_MSG_SWAP_H__ @@ -26,7 +38,16 @@ extern "C" { #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MSG_HEADER_SWAP( _f_pParms ){ tOCTVC1_MSG_HEADER * pOCTVC1_MSG_HEADER = (_f_pParms); \ +#define mOCTVC1_MSG_FLAGS_MASK_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_MSG_FLAGS_MASK_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MSG_HEADER_SWAP( _f_pParms ){ tOCTVC1_MSG_HEADER * pOCTVC1_MSG_HEADER = (_f_pParms); SWAP_UNUSED(pOCTVC1_MSG_HEADER)\ ((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ulLength = \ mOCT_SWAP32_IF_LE(((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ulLength); \ ((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ulTransactionId = \ @@ -43,7 +64,7 @@ extern "C" { #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_EVENT_HEADER_SWAP( _f_pParms ){ tOCTVC1_EVENT_HEADER * pOCTVC1_EVENT_HEADER = (_f_pParms); \ +#define mOCTVC1_EVENT_HEADER_SWAP( _f_pParms ){ tOCTVC1_EVENT_HEADER * pOCTVC1_EVENT_HEADER = (_f_pParms); SWAP_UNUSED(pOCTVC1_EVENT_HEADER)\ ((tOCTVC1_EVENT_HEADER *)pOCTVC1_EVENT_HEADER)->ulLength = \ mOCT_SWAP32_IF_LE(((tOCTVC1_EVENT_HEADER *)pOCTVC1_EVENT_HEADER)->ulLength); \ ((tOCTVC1_EVENT_HEADER *)pOCTVC1_EVENT_HEADER)->ulEventId = \ diff --git a/software/include/octvc1/octvc1_priv_swap_hdrs.h b/software/include/octvc1/octvc1_priv_swap_hdrs.h new file mode 100644 index 0000000..fca1c42 --- /dev/null +++ b/software/include/octvc1/octvc1_priv_swap_hdrs.h @@ -0,0 +1,55 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_priv_swap_hdrs.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_PRIV_SWAP_HDRS_H__ +#define __OCTVC1_PRIV_SWAP_HDRS_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" + +/* START OF SWAP FILE HDR */ + +#include "ctrl/octvc1_ctrl_api_priv_swap.h" +#include "main/octvc1_main_api_priv_swap.h" +#include "main/octvc1_main_evt_priv_swap.h" +#include "test/octvc1_test_api_priv_swap.h" +#include "test/octvc1_test_evt_priv_swap.h" +#include "hw/octvc1_hw_api_priv_swap.h" +#include "hw/octvc1_hw_evt_priv_swap.h" +#include "irsc/octvc1_irsc_api_priv_swap.h" +#include "irsc/octvc1_irsc_evt_priv_swap.h" +#include "gsm/octvc1_gsm_api_priv_swap.h" +#include "gsm/octvc1_gsm_evt_priv_swap.h" +/* END OF SWAP FILE HDR */ + +#ifdef __cplusplus +} +#endif +#endif /* __OCTVC1_PRIV_SWAP_HDRS_H__ */ + diff --git a/software/include/octvc1/octvc1_privacy.h b/software/include/octvc1/octvc1_privacy.h new file mode 100644 index 0000000..2c024b8 --- /dev/null +++ b/software/include/octvc1/octvc1_privacy.h @@ -0,0 +1,36 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_PRIVACY.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_PRIVACY_H__ +#define __OCTVC1_PRIVACY_H__ + + +/************************ COMMON DEFINITIONS *******************************/ + +#endif /* __OCTVC1_PRIVACY_H__ */ + diff --git a/software/include/octvc1/octvc1_process.h b/software/include/octvc1/octvc1_process.h new file mode 100644 index 0000000..862b494 --- /dev/null +++ b/software/include/octvc1/octvc1_process.h @@ -0,0 +1,174 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_PROCESS.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_PROCESS_H__ +#define __OCTVC1_PROCESS_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "octvc1_base.h" +#include "octvc1_module.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + PROCESS related definitions. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + Process type. + Process type. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_PROCESS_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_PROCESS_TYPE_ENUM_INVALID 0 +#define cOCTVC1_PROCESS_TYPE_ENUM_CONTROL 1 +#define cOCTVC1_PROCESS_TYPE_ENUM_GSM_SCHED 2 +#define cOCTVC1_PROCESS_TYPE_ENUM_GSM_DL 3 +#define cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULIM 4 +#define cOCTVC1_PROCESS_TYPE_ENUM_GSM_ULOM 5 +#define cOCTVC1_PROCESS_IMAGE_NAME_MAX_LENGTH 63 /* Process image string length restriction. */ + +/*------------------------------------------------------------------------------------- + Process utilization type. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_PROCESS_STATE_ENUM tOCT_UINT32 + +#define cOCTVC1_PROCESS_STATE_ENUM_INVALID 0 +#define cOCTVC1_PROCESS_STATE_ENUM_RESET 1 +#define cOCTVC1_PROCESS_STATE_ENUM_CREATE 2 +#define cOCTVC1_PROCESS_STATE_ENUM_WAITING 3 +#define cOCTVC1_PROCESS_STATE_ENUM_READY 4 +#define cOCTVC1_PROCESS_STATE_ENUM_RUNNING 5 +#define cOCTVC1_PROCESS_STATE_ENUM_ERROR 6 +#define cOCTVC1_PROCESS_STATE_ENUM_HALT 7 + +/*------------------------------------------------------------------------------------- + tOCTVC1_PROCESS_ERROR + Process Errors + + Members: + ulInputOverflowCnt + Count of process input overflow + ulInputUnderflowCnt + Count of process input underflow + ulOutputOverflowCnt + Count of process output overflow + ulOutputUnderflowCnt + Count of process output underflow + ulIpcMsgMissCnt + Total number of IPC messages the process missed. + ulLastErrorRc + An error code that should be set when the process has encountered an error +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulInputOverflowCnt; + tOCT_UINT32 ulInputUnderflowCnt; + tOCT_UINT32 ulOutputOverflowCnt; + tOCT_UINT32 ulOutputUnderflowCnt; + tOCT_UINT32 ulIpcMsgMissCnt; + tOCT_UINT32 ulLastErrorRc; + +} tOCTVC1_PROCESS_ERROR; + +/*------------------------------------------------------------------------------------- + Process task state. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_PROCESS_TASK_STATE_ENUM tOCT_UINT32 + +#define cOCTVC1_PROCESS_TASK_STATE_ENUM_INVALID 0 +#define cOCTVC1_PROCESS_TASK_STATE_ENUM_ERROR 1 +#define cOCTVC1_PROCESS_TASK_STATE_ENUM_IDLE 2 +#define cOCTVC1_PROCESS_TASK_STATE_ENUM_PENDING 3 +#define cOCTVC1_PROCESS_TASK_STATE_ENUM_RUNNING 4 +#define cOCTVC1_PROCESS_TASK_STATE_ENUM_WAIT_TIMER 5 + +/*------------------------------------------------------------------------------------- + tOCTVC1_PROCESS_TASK_STATS + + Members: + ulUserData + User data + ulMaxExecTimeUs + Task's longest execution time (in microseconds) + ulAvgExecTimeUs + Task's average execution time (in microseconds) + ulLastExecTimeUs + Task's last execution time (in microseconds) + ulMaxExecCacheMissCnt + Task's maximum cache miss in one execution + ulLastExecCacheMissCnt + Task's last execution cache miss count + ulExecCnt + Number of times the task has been executed + ulDoneCnt + Number of times the task has been completed + ulErrorCnt + Number of times the task returned an error + State +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulUserData; + tOCT_UINT32 ulMaxExecTimeUs; + tOCT_UINT32 ulAvgExecTimeUs; + tOCT_UINT32 ulLastExecTimeUs; + tOCT_UINT32 ulMaxExecCacheMissCnt; + tOCT_UINT32 ulLastExecCacheMissCnt; + tOCT_UINT32 ulExecCnt; + tOCT_UINT32 ulDoneCnt; + tOCT_UINT32 ulErrorCnt; + tOCTVC1_PROCESS_TASK_STATE_ENUM State; + +} tOCTVC1_PROCESS_TASK_STATS; + +/*------------------------------------------------------------------------------------- + tOCTVC1_PROCESS_CPU_USAGE_STATS + + Members: + ulProcessCpuUsagePercent + Current Process CPU usage value, expressed as a percentage. + ulProcessCpuUsageMinPercent + Minimal Process CPU usage value, since last command request. + ulProcessCpuUsageMaxPercent + Minimal Process CPU usage value, since last command. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulProcessCpuUsagePercent; + tOCT_UINT32 ulProcessCpuUsageMinPercent; + tOCT_UINT32 ulProcessCpuUsageMaxPercent; + +} tOCTVC1_PROCESS_CPU_USAGE_STATS; + + +#endif /* __OCTVC1_PROCESS_H__ */ + diff --git a/software/include/octvc1/octvc1_process_swap.h b/software/include/octvc1/octvc1_process_swap.h new file mode 100644 index 0000000..0b91bf8 --- /dev/null +++ b/software/include/octvc1/octvc1_process_swap.h @@ -0,0 +1,130 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_process_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_PROCESS_SWAP_H__ +#define __OCTVC1_PROCESS_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_process.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_PROCESS_TYPE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_PROCESS_TYPE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_PROCESS_STATE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_PROCESS_STATE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_PROCESS_ERROR_SWAP( _f_pParms ){ tOCTVC1_PROCESS_ERROR * pOCTVC1_PROCESS_ERROR = (_f_pParms); SWAP_UNUSED(pOCTVC1_PROCESS_ERROR)\ + ((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulInputOverflowCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulInputOverflowCnt); \ + ((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulInputUnderflowCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulInputUnderflowCnt); \ + ((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulOutputOverflowCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulOutputOverflowCnt); \ + ((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulOutputUnderflowCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulOutputUnderflowCnt); \ + ((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulIpcMsgMissCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulIpcMsgMissCnt); \ + ((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulLastErrorRc = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_ERROR *)pOCTVC1_PROCESS_ERROR)->ulLastErrorRc); \ +} +#else +#define mOCTVC1_PROCESS_ERROR_SWAP( pOCTVC1_PROCESS_ERROR ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_PROCESS_TASK_STATE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_PROCESS_TASK_STATE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_PROCESS_TASK_STATS_SWAP( _f_pParms ){ tOCTVC1_PROCESS_TASK_STATS * pOCTVC1_PROCESS_TASK_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_PROCESS_TASK_STATS)\ + ((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulUserData = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulUserData); \ + ((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulMaxExecTimeUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulMaxExecTimeUs); \ + ((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulAvgExecTimeUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulAvgExecTimeUs); \ + ((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulLastExecTimeUs = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulLastExecTimeUs); \ + ((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulMaxExecCacheMissCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulMaxExecCacheMissCnt); \ + ((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulLastExecCacheMissCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulLastExecCacheMissCnt); \ + ((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulExecCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulExecCnt); \ + ((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulDoneCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulDoneCnt); \ + ((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulErrorCnt = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->ulErrorCnt); \ + { mOCTVC1_PROCESS_TASK_STATE_ENUM_SWAP( &((tOCTVC1_PROCESS_TASK_STATS *)pOCTVC1_PROCESS_TASK_STATS)->State ); } \ +} +#else +#define mOCTVC1_PROCESS_TASK_STATS_SWAP( pOCTVC1_PROCESS_TASK_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_PROCESS_CPU_USAGE_STATS_SWAP( _f_pParms ){ tOCTVC1_PROCESS_CPU_USAGE_STATS * pOCTVC1_PROCESS_CPU_USAGE_STATS = (_f_pParms); SWAP_UNUSED(pOCTVC1_PROCESS_CPU_USAGE_STATS)\ + ((tOCTVC1_PROCESS_CPU_USAGE_STATS *)pOCTVC1_PROCESS_CPU_USAGE_STATS)->ulProcessCpuUsagePercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_CPU_USAGE_STATS *)pOCTVC1_PROCESS_CPU_USAGE_STATS)->ulProcessCpuUsagePercent); \ + ((tOCTVC1_PROCESS_CPU_USAGE_STATS *)pOCTVC1_PROCESS_CPU_USAGE_STATS)->ulProcessCpuUsageMinPercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_CPU_USAGE_STATS *)pOCTVC1_PROCESS_CPU_USAGE_STATS)->ulProcessCpuUsageMinPercent); \ + ((tOCTVC1_PROCESS_CPU_USAGE_STATS *)pOCTVC1_PROCESS_CPU_USAGE_STATS)->ulProcessCpuUsageMaxPercent = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_PROCESS_CPU_USAGE_STATS *)pOCTVC1_PROCESS_CPU_USAGE_STATS)->ulProcessCpuUsageMaxPercent); \ +} +#else +#define mOCTVC1_PROCESS_CPU_USAGE_STATS_SWAP( pOCTVC1_PROCESS_CPU_USAGE_STATS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_PROCESS_SWAP_H__ */ diff --git a/software/include/octvc1/octvc1_radio.h b/software/include/octvc1/octvc1_radio.h new file mode 100644 index 0000000..f5a4bc2 --- /dev/null +++ b/software/include/octvc1/octvc1_radio.h @@ -0,0 +1,202 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_RADIO.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_RADIO_H__ +#define __OCTVC1_RADIO_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Radio Standard Identifiers +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_RADIO_STANDARD_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_RADIO_STANDARD_ENUM tOCT_UINT32 + +#define cOCTVC1_RADIO_STANDARD_ENUM_GSM 0 +#define cOCTVC1_RADIO_STANDARD_ENUM_UMTS 1 +#define cOCTVC1_RADIO_STANDARD_ENUM_LTE 2 +#define cOCTVC1_RADIO_STANDARD_ENUM_INVALID 0xCAFEDECA + +/*------------------------------------------------------------------------------------- + Radio Standard GSM Frequency Band Identifiers +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM tOCT_UINT32 + +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_450 0 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_480 1 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_750 2 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_850 3 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_E_900 4 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_P_900 5 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_R_900 6 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_DCS_1800 7 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_PCS_1900 8 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_LAST 9 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_INVALID 0xCAFEDECA + +/*------------------------------------------------------------------------------------- + Radio Standard UMTS Frequency Band Identifiers +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM tOCT_UINT32 + +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_1 0 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_2 1 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_3 2 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_4 3 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_5 4 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_8 5 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_2 6 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_4 8 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_ADD_5 7 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_LAST 9 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_INVALID 0xCAFEDECA + +/*------------------------------------------------------------------------------------- + Radio Standard LTE Frequency Band Identifiers +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM tOCT_UINT32 + +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_1 0 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_2 1 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_3 2 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_4 3 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_5 4 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_6 5 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_7 6 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_8 7 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_9 8 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_10 9 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_11 10 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_12 11 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_13 12 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_14 13 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_15 14 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_16 15 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_17 16 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_18 17 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_19 18 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_20 19 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_21 20 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_22 21 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_23 22 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_24 23 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_25 24 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_26 25 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_27 26 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_28 27 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_29 28 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_30 29 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_31 30 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_32 31 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_33 32 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_34 33 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_35 34 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_36 35 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_37 36 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_38 37 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_39 38 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_40 39 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_41 40 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_42 41 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_43 42 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_44 43 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_LAST 44 +#define cOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_INVALID 0xCAFEDECA + +/*------------------------------------------------------------------------------------- + Radio Configiguration Script Identifiers +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_INVALID 0 +#define cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_TEXT 1 +#define cOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_BIN 2 + +/*------------------------------------------------------------------------------------- + Radio Direction Identifiers +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_RADIO_ID_DIRECTION_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_RADIO_ID_DIRECTION_ENUM tOCT_UINT32 + +#define cOCTVC1_RADIO_ID_DIRECTION_ENUM_INVALID 0 +#define cOCTVC1_RADIO_ID_DIRECTION_ENUM_DOWNLINK 1 +#define cOCTVC1_RADIO_ID_DIRECTION_ENUM_UPLINK 2 + +/*------------------------------------------------------------------------------------- + Radio Standard Bandwidth Identifiers +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM tOCT_UINT32 + +#define cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_1P4MHZ 0 +#define cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_3MHZ 1 +#define cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_5MHZ 2 +#define cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_10MHZ 3 +#define cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_15MHZ 4 +#define cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_20MHZ 5 +#define cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_LAST 6 +#define cOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_INVALID 0xCAFEDECA + +/*------------------------------------------------------------------------------------- + RX Gain control identifier +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM tOCT_UINT32 + +#define cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_MGC 0 /* Manual Gain Control */ +#define cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_FAST_ATK 1 /* Automatic Gain Control */ +#define cOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_AGC_SLOW_ATK 2 /* Automatic Gain Control */ + + +#endif /* __OCTVC1_RADIO_H__ */ + diff --git a/software/include/octvc1/octvc1_radio_swap.h b/software/include/octvc1/octvc1_radio_swap.h new file mode 100644 index 0000000..f53017a --- /dev/null +++ b/software/include/octvc1/octvc1_radio_swap.h @@ -0,0 +1,117 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_radio_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_RADIO_SWAP_H__ +#define __OCTVC1_RADIO_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_radio.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_RADIO_STANDARD_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_RADIO_STANDARD_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_RADIO_STANDARD_FREQ_BAND_GSM_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_RADIO_STANDARD_FREQ_BAND_UMTS_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_RADIO_STANDARD_FREQ_BAND_LTE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_RADIO_CONFIG_SCRIPT_TYPE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_RADIO_ID_DIRECTION_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_RADIO_ID_DIRECTION_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_RADIO_STANDARD_BANDWIDTH_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_RADIO_RX_GAIN_CTRL_MODE_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_RADIO_SWAP_H__ */ diff --git a/software/include/octvc1/octvc1_rc2string.h b/software/include/octvc1/octvc1_rc2string.h new file mode 100644 index 0000000..56c1a53 --- /dev/null +++ b/software/include/octvc1/octvc1_rc2string.h @@ -0,0 +1,386 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_rc2string.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This file contains the rc2string implementation for package OCTVC1 + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + + +#ifndef __OCTVC1_RC2STRING__ +#define __OCTVC1_RC2STRING__ + +#include "../octdev_types.h" +/* ------------------------------------------------------------------------------------- + OCTVC1_RC2STRING + -------------------------------------------------------------------------------------*/ +#define mOCTVC1_RC2STRING( _f_ulRc ) \ + octvc1_rc2string( _f_ulRc ) + +#ifndef OCTVC1_RC2STRING_DECLARE +extern const char * octvc1_rc2string( tOCT_UINT32 f_ulRc ); +#endif + + +#ifdef OCTVC1_RC2STRING_DECLARE +#include +#include "octvc1_generic_rc.h" +#include "octvc1_licensing_rc.h" +#include "pkt_api/octvc1_pkt_api_rc.h" +#include "main/octvc1_main_rc.h" +#include "test/octvc1_test_rc.h" +#include "hw/octvc1_hw_rc.h" +#include "irsc/octvc1_irsc_rc.h" +#include "gsm/octvc1_gsm_rc.h" + + +/* ------------------------------------------------------------------------------------- + octvc1_rc2string + -------------------------------------------------------------------------------------*/ +const char * octvc1_rc2string( tOCT_UINT32 f_ulRc ) +{ + static char g_szUnknownoctvc1_rc2string[32]; + switch( f_ulRc ) + { + case cOCTVC1_RC_OK: + return "cOCTVC1_RC_OK"; + case cOCTVC1_GENERIC_RC_BAD_PARAM: + return "cOCTVC1_GENERIC_RC_BAD_PARAM"; + case cOCTVC1_GENERIC_RC_NOT_FOUND: + return "cOCTVC1_GENERIC_RC_NOT_FOUND"; + case cOCTVC1_GENERIC_RC_ALREADY_USED: + return "cOCTVC1_GENERIC_RC_ALREADY_USED"; + case cOCTVC1_GENERIC_RC_READ_OBJECT: + return "cOCTVC1_GENERIC_RC_READ_OBJECT"; + case cOCTVC1_GENERIC_RC_WRITE_OBJECT: + return "cOCTVC1_GENERIC_RC_WRITE_OBJECT"; + case cOCTVC1_GENERIC_RC_INVALID_TRANSACTION_ID: + return "cOCTVC1_GENERIC_RC_INVALID_TRANSACTION_ID"; + case cOCTVC1_GENERIC_RC_ID_INVALID: + return "cOCTVC1_GENERIC_RC_ID_INVALID"; + case cOCTVC1_GENERIC_RC_SUB_ID_INVALID: + return "cOCTVC1_GENERIC_RC_SUB_ID_INVALID"; + case cOCTVC1_GENERIC_RC_GET_MODE_INVALID: + return "cOCTVC1_GENERIC_RC_GET_MODE_INVALID"; + case cOCTVC1_GENERIC_RC_NO_MORE_OBJECT: + return "cOCTVC1_GENERIC_RC_NO_MORE_OBJECT"; + case cOCTVC1_GENERIC_RC_NO_MORE_SUB_OBJECT: + return "cOCTVC1_GENERIC_RC_NO_MORE_SUB_OBJECT"; + case cOCTVC1_GENERIC_RC_FULL: + return "cOCTVC1_GENERIC_RC_FULL"; + case cOCTVC1_GENERIC_RC_TIMEOUT: + return "cOCTVC1_GENERIC_RC_TIMEOUT"; + case cOCTVC1_GENERIC_RC_API_CMD_NOT_IMPLEMENTED: + return "cOCTVC1_GENERIC_RC_API_CMD_NOT_IMPLEMENTED"; + case cOCTVC1_GENERIC_RC_API_CMD_REJECT: + return "cOCTVC1_GENERIC_RC_API_CMD_REJECT"; + case cOCTVC1_GENERIC_RC_API_CMD_RETRANSMIT: + return "cOCTVC1_GENERIC_RC_API_CMD_RETRANSMIT"; + case cOCTVC1_GENERIC_RC_API_SESSION_INACTIVE: + return "cOCTVC1_GENERIC_RC_API_SESSION_INACTIVE"; + case cOCTVC1_GENERIC_RC_API_INVALID_CMD_LENGTH: + return "cOCTVC1_GENERIC_RC_API_INVALID_CMD_LENGTH"; + case cOCTVC1_GENERIC_RC_API_INVALID_CMD_ID: + return "cOCTVC1_GENERIC_RC_API_INVALID_CMD_ID"; + case cOCTVC1_GENERIC_RC_MEMORY_LOCAL_ALLOC: + return "cOCTVC1_GENERIC_RC_MEMORY_LOCAL_ALLOC"; + case cOCTVC1_GENERIC_RC_MEMORY_LOCAL_FREE: + return "cOCTVC1_GENERIC_RC_MEMORY_LOCAL_FREE"; + case cOCTVC1_GENERIC_RC_MEMORY_RESIDENT_ALLOC: + return "cOCTVC1_GENERIC_RC_MEMORY_RESIDENT_ALLOC"; + case cOCTVC1_GENERIC_RC_MEMORY_RESIDENT_FREE: + return "cOCTVC1_GENERIC_RC_MEMORY_RESIDENT_FREE"; + case cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_ALLOC: + return "cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_ALLOC"; + case cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_FREE: + return "cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_FREE"; + case cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_READ: + return "cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_READ"; + case cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_WRITE: + return "cOCTVC1_GENERIC_RC_MEMORY_EXTERNAL_WRITE"; + case cOCTVC1_GENERIC_RC_MEMORY_IO_READ: + return "cOCTVC1_GENERIC_RC_MEMORY_IO_READ"; + case cOCTVC1_GENERIC_RC_MEMORY_IO_WRITE: + return "cOCTVC1_GENERIC_RC_MEMORY_IO_WRITE"; + case cOCTVC1_GENERIC_RC_MEMORY_CHECKSUM: + return "cOCTVC1_GENERIC_RC_MEMORY_CHECKSUM"; + case cOCTVC1_GENERIC_RC_MEMORY_SIZE: + return "cOCTVC1_GENERIC_RC_MEMORY_SIZE"; + case cOCTVC1_GENERIC_RC_INTERNAL_ERROR: + return "cOCTVC1_GENERIC_RC_INTERNAL_ERROR"; + case cOCTVC1_GENERIC_RC_INTERNAL_SERVICE_NOT_INIT: + return "cOCTVC1_GENERIC_RC_INTERNAL_SERVICE_NOT_INIT"; + case cOCTVC1_GENERIC_RC_INTERNAL_TIMEOUT: + return "cOCTVC1_GENERIC_RC_INTERNAL_TIMEOUT"; + case cOCTVC1_GENERIC_RC_INTERNAL_MSG_UNKNOWN: + return "cOCTVC1_GENERIC_RC_INTERNAL_MSG_UNKNOWN"; + case cOCTVC1_LICENSING_RC_DENIED: + return "cOCTVC1_LICENSING_RC_DENIED"; + case cOCTVC1_LICENSING_RC_INVALID_LICENSE: + return "cOCTVC1_LICENSING_RC_INVALID_LICENSE"; + case cOCTVC1_PKT_API_RC_OS_ERROR: + return "cOCTVC1_PKT_API_RC_OS_ERROR"; + case cOCTVC1_PKT_API_RC_TRANSPORT_ERROR: + return "cOCTVC1_PKT_API_RC_TRANSPORT_ERROR"; + case cOCTVC1_PKT_API_RC_TIMEOUT: + return "cOCTVC1_PKT_API_RC_TIMEOUT"; + case cOCTVC1_PKT_API_RC_LOCAL_MAC_INDEX_NOT_FOUND: + return "cOCTVC1_PKT_API_RC_LOCAL_MAC_INDEX_NOT_FOUND"; + case cOCTVC1_PKT_API_RC_BAD_PARAM: + return "cOCTVC1_PKT_API_RC_BAD_PARAM"; + case cOCTVC1_PKT_API_RC_INST_CNCT_NOMORE: + return "cOCTVC1_PKT_API_RC_INST_CNCT_NOMORE"; + case cOCTVC1_PKT_API_RC_INST_PKT_NOMORE: + return "cOCTVC1_PKT_API_RC_INST_PKT_NOMORE"; + case cOCTVC1_PKT_API_RC_INST_SYNC_TOOMANY: + return "cOCTVC1_PKT_API_RC_INST_SYNC_TOOMANY"; + case cOCTVC1_PKT_API_RC_INST_CNCT_DEP: + return "cOCTVC1_PKT_API_RC_INST_CNCT_DEP"; + case cOCTVC1_PKT_API_RC_INST_DISCOVER_INPROGRESS: + return "cOCTVC1_PKT_API_RC_INST_DISCOVER_INPROGRESS"; + case cOCTVC1_PKT_API_RC_INST_RSP_TRUNCATE: + return "cOCTVC1_PKT_API_RC_INST_RSP_TRUNCATE"; + case cOCTVC1_PKT_API_RC_INST_TERMINATED: + return "cOCTVC1_PKT_API_RC_INST_TERMINATED"; + case cOCTVC1_PKT_API_RC_CNCT_SESS_NOMORE: + return "cOCTVC1_PKT_API_RC_CNCT_SESS_NOMORE"; + case cOCTVC1_PKT_API_RC_CNCT_SESS_DEP: + return "cOCTVC1_PKT_API_RC_CNCT_SESS_DEP"; + case cOCTVC1_PKT_API_RC_CNCT_BRIDGE_DEP: + return "cOCTVC1_PKT_API_RC_CNCT_BRIDGE_DEP"; + case cOCTVC1_PKT_API_RC_CNCT_ALREADY_OPEN: + return "cOCTVC1_PKT_API_RC_CNCT_ALREADY_OPEN"; + case cOCTVC1_PKT_API_RC_INTERFACE_NAME_NOT_FOUND: + return "cOCTVC1_PKT_API_RC_INTERFACE_NAME_NOT_FOUND"; + case cOCTVC1_PKT_API_RC_DEPENDENCIES: + return "cOCTVC1_PKT_API_RC_DEPENDENCIES"; + case cOCTVC1_PKT_API_RC_SESS_CLOSE: + return "cOCTVC1_PKT_API_RC_SESS_CLOSE"; + case cOCTVC1_PKT_API_RC_CNCT_CLOSE: + return "cOCTVC1_PKT_API_RC_CNCT_CLOSE"; + case cOCTVC1_PKT_API_RC_SESS_ALREADY_OPEN: + return "cOCTVC1_PKT_API_RC_SESS_ALREADY_OPEN"; + case cOCTVC1_PKT_API_RC_NOT_IMPLEMENT_YET: + return "cOCTVC1_PKT_API_RC_NOT_IMPLEMENT_YET"; + case cOCTVC1_PKT_API_RC_DISPATCHER_NOT_READY: + return "cOCTVC1_PKT_API_RC_DISPATCHER_NOT_READY"; + case cOCTVC1_PKT_API_RC_REQUIRES_MULTI_THREAD: + return "cOCTVC1_PKT_API_RC_REQUIRES_MULTI_THREAD"; + case cOCTVC1_MAIN_RC_PROCESS_IMAGE_LOAD_FILE_NOT_FOUND: + return "cOCTVC1_MAIN_RC_PROCESS_IMAGE_LOAD_FILE_NOT_FOUND"; + case cOCTVC1_MAIN_RC_EVENT_MASK_INVALID: + return "cOCTVC1_MAIN_RC_EVENT_MASK_INVALID"; + case cOCTVC1_MAIN_RC_PROCESS_NOT_FOUND: + return "cOCTVC1_MAIN_RC_PROCESS_NOT_FOUND"; + case cOCTVC1_MAIN_RC_API_SYSTEM_SESSION_NOT_ACTIVE: + return "cOCTVC1_MAIN_RC_API_SYSTEM_SESSION_NOT_ACTIVE"; + case cOCTVC1_MAIN_RC_RESET_STATS_ERROR: + return "cOCTVC1_MAIN_RC_RESET_STATS_ERROR"; + case cOCTVC1_MAIN_RC_FILE_OPEN: + return "cOCTVC1_MAIN_RC_FILE_OPEN"; + case cOCTVC1_MAIN_RC_FILE_HANDLE: + return "cOCTVC1_MAIN_RC_FILE_HANDLE"; + case cOCTVC1_MAIN_RC_FILE_INVALID_ACCESS_RIGHTS: + return "cOCTVC1_MAIN_RC_FILE_INVALID_ACCESS_RIGHTS"; + case cOCTVC1_MAIN_RC_FILE_WRITE: + return "cOCTVC1_MAIN_RC_FILE_WRITE"; + case cOCTVC1_MAIN_RC_FILE_SEEK_UNKOWN_ORIGIN: + return "cOCTVC1_MAIN_RC_FILE_SEEK_UNKOWN_ORIGIN"; + case cOCTVC1_MAIN_RC_FILE_SEEK_INVALID_OFFSET: + return "cOCTVC1_MAIN_RC_FILE_SEEK_INVALID_OFFSET"; + case cOCTVC1_MAIN_RC_FILE_SEEK: + return "cOCTVC1_MAIN_RC_FILE_SEEK"; + case cOCTVC1_MAIN_RC_FILE_NOT_FOUND: + return "cOCTVC1_MAIN_RC_FILE_NOT_FOUND"; + case cOCTVC1_MAIN_RC_FILE_MAX_READ_BYTE_SIZE: + return "cOCTVC1_MAIN_RC_FILE_MAX_READ_BYTE_SIZE"; + case cOCTVC1_MAIN_RC_FILE_MAX_WRITE_BYTE_SIZE: + return "cOCTVC1_MAIN_RC_FILE_MAX_WRITE_BYTE_SIZE"; + case cOCTVC1_MAIN_RC_FILE_NAME: + return "cOCTVC1_MAIN_RC_FILE_NAME"; + case cOCTVC1_MAIN_RC_FILE_ALREADY_OPENED: + return "cOCTVC1_MAIN_RC_FILE_ALREADY_OPENED"; + case cOCTVC1_MAIN_RC_FILE_BUSY: + return "cOCTVC1_MAIN_RC_FILE_BUSY"; + case cOCTVC1_MAIN_RC_FILE_ALREADY_CLOSED: + return "cOCTVC1_MAIN_RC_FILE_ALREADY_CLOSED"; + case cOCTVC1_MAIN_RC_FILE_NOT_OPEN: + return "cOCTVC1_MAIN_RC_FILE_NOT_OPEN"; + case cOCTVC1_MAIN_RC_FILE_FLASH_CMD_NOT_AVAILABLE: + return "cOCTVC1_MAIN_RC_FILE_FLASH_CMD_NOT_AVAILABLE"; + case cOCTVC1_MAIN_RC_FILE_GET_MODE_INVALID: + return "cOCTVC1_MAIN_RC_FILE_GET_MODE_INVALID"; + case cOCTVC1_MAIN_RC_FILE_ACCESS_DENIED: + return "cOCTVC1_MAIN_RC_FILE_ACCESS_DENIED"; + case cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO: + return "cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO"; + case cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO_NO_MORE_FILE: + return "cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO_NO_MORE_FILE"; + case cOCTVC1_MAIN_RC_APPLICATION_ALREADY_START: + return "cOCTVC1_MAIN_RC_APPLICATION_ALREADY_START"; + case cOCTVC1_MAIN_RC_CPU_USAGE_HANDLE_INVALID: + return "cOCTVC1_MAIN_RC_CPU_USAGE_HANDLE_INVALID"; + case cOCTVC1_MAIN_RC_CPU_USAGE_THRESHOLD_INVALID: + return "cOCTVC1_MAIN_RC_CPU_USAGE_THRESHOLD_INVALID"; + case cOCTVC1_MAIN_RC_CPU_USAGE_NOT_ACCESSIBLE: + return "cOCTVC1_MAIN_RC_CPU_USAGE_NOT_ACCESSIBLE"; + case cOCTVC1_MAIN_RC_API_SESSION_SERVICE_NOT_INIT: + return "cOCTVC1_MAIN_RC_API_SESSION_SERVICE_NOT_INIT"; + case cOCTVC1_MAIN_RC_API_SESSION_HEARTBEAT_ALREADY_START: + return "cOCTVC1_MAIN_RC_API_SESSION_HEARTBEAT_ALREADY_START"; + case cOCTVC1_MAIN_RC_API_SESSION_HEARTBEAT_NOT_START: + return "cOCTVC1_MAIN_RC_API_SESSION_HEARTBEAT_NOT_START"; + case cOCTVC1_MAIN_RC_LOG_LOGGER_NOT_INIT: + return "cOCTVC1_MAIN_RC_LOG_LOGGER_NOT_INIT"; + case cOCTVC1_MAIN_RC_LOG_MGR_NOT_INIT: + return "cOCTVC1_MAIN_RC_LOG_MGR_NOT_INIT"; + case cOCTVC1_MAIN_RC_LOG_INTERNAL_ERROR: + return "cOCTVC1_MAIN_RC_LOG_INTERNAL_ERROR"; + case cOCTVC1_MAIN_RC_LOG_TRACE_ALREADY_START: + return "cOCTVC1_MAIN_RC_LOG_TRACE_ALREADY_START"; + case cOCTVC1_MAIN_RC_LOG_TRACE_NOT_START: + return "cOCTVC1_MAIN_RC_LOG_TRACE_NOT_START"; + case cOCTVC1_MAIN_RC_PROCESS_CPU_USAGE_MONITOR_INVALID_ALARM_THRESHOLD_HIGH_PERCENT: + return "cOCTVC1_MAIN_RC_PROCESS_CPU_USAGE_MONITOR_INVALID_ALARM_THRESHOLD_HIGH_PERCENT"; + case cOCTVC1_MAIN_RC_PROCESS_CPU_USAGE_MONITOR_INVALID_ALARM_THRESHOLD_LOW_PERCENT: + return "cOCTVC1_MAIN_RC_PROCESS_CPU_USAGE_MONITOR_INVALID_ALARM_THRESHOLD_LOW_PERCENT"; + case cOCTVC1_HW_RC_CORE_NOT_FOUND: + return "cOCTVC1_HW_RC_CORE_NOT_FOUND"; + case cOCTVC1_HW_RC_ETH_PORT_RESTRICTED_API_DENIED: + return "cOCTVC1_HW_RC_ETH_PORT_RESTRICTED_API_DENIED"; + case cOCTVC1_HW_RC_ETH_PORT_IN_USED: + return "cOCTVC1_HW_RC_ETH_PORT_IN_USED"; + case cOCTVC1_HW_RC_RF_PORT_UNUSED: + return "cOCTVC1_HW_RC_RF_PORT_UNUSED"; + case cOCTVC1_HW_RC_RF_PORT_ANTENNA_UNUSED: + return "cOCTVC1_HW_RC_RF_PORT_ANTENNA_UNUSED"; + case cOCTVC1_HW_RC_RF_PORT_ANTENNA_INTERNAL_ERROR: + return "cOCTVC1_HW_RC_RF_PORT_ANTENNA_INTERNAL_ERROR"; + case cOCTVC1_HW_RC_RF_PORT_ANTENNA_CANNOT_MODIFY: + return "cOCTVC1_HW_RC_RF_PORT_ANTENNA_CANNOT_MODIFY"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_ALREADY_OPEN: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_ALREADY_OPEN"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_OPEN_ERROR: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_OPEN_ERROR"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_CLOSE_ERROR: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_CLOSE_ERROR"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_BAD_PCB_INFO: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_BAD_PCB_INFO"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_DAC_OPEN_ERROR: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_DAC_OPEN_ERROR"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_PROCESS_OPEN_ERROR: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_PROCESS_OPEN_ERROR"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_PROCESS_CLOSE_ERROR: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_PROCESS_CLOSE_ERROR"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_DAC_CLOSE_ERROR: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_DAC_CLOSE_ERROR"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_STATS_ERROR: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_STATS_ERROR"; + case cOCTVC1_HW_RC_CLOCK_SYNC_MGR_NOT_SUPPORTED: + return "cOCTVC1_HW_RC_CLOCK_SYNC_MGR_NOT_SUPPORTED"; + case cOCTVC1_IRSC_RC_INVALID_TASK: + return "cOCTVC1_IRSC_RC_INVALID_TASK"; + case cOCTVC1_IRSC_RC_OBJMGR_LIST_ERROR: + return "cOCTVC1_IRSC_RC_OBJMGR_LIST_ERROR"; + case cOCTVC1_IRSC_RC_OBJMGR_INVALID_OBJECT: + return "cOCTVC1_IRSC_RC_OBJMGR_INVALID_OBJECT"; + case cOCTVC1_IRSC_RC_OBJMGR_INTERNAL_ERROR: + return "cOCTVC1_IRSC_RC_OBJMGR_INTERNAL_ERROR"; + case cOCTVC1_IRSC_RC_OBJMGR_NOT_INIT: + return "cOCTVC1_IRSC_RC_OBJMGR_NOT_INIT"; + case cOCTVC1_IRSC_RC_API_COMMAND_MONITORING_DISABLE: + return "cOCTVC1_IRSC_RC_API_COMMAND_MONITORING_DISABLE"; + case cOCTVC1_IRSC_RC_API_COMMAND_MAX_REACHED: + return "cOCTVC1_IRSC_RC_API_COMMAND_MAX_REACHED"; + case cOCTVC1_IRSC_RC_API_COMMAND_MONITORING_ALREADY_START: + return "cOCTVC1_IRSC_RC_API_COMMAND_MONITORING_ALREADY_START"; + case cOCTVC1_IRSC_RC_API_COMMAND_INTERNAL_ERROR: + return "cOCTVC1_IRSC_RC_API_COMMAND_INTERNAL_ERROR"; + case cOCTVC1_GSM_RC_GENERIC_EVENT_MASK_INVALID: + return "cOCTVC1_GSM_RC_GENERIC_EVENT_MASK_INVALID"; + case cOCTVC1_GSM_RC_TRX_RESOURCE_UNAVAILABLE: + return "cOCTVC1_GSM_RC_TRX_RESOURCE_UNAVAILABLE"; + case cOCTVC1_GSM_RC_TRX_ALREADY_OPENED: + return "cOCTVC1_GSM_RC_TRX_ALREADY_OPENED"; + case cOCTVC1_GSM_RC_TRX_ID_INVALID: + return "cOCTVC1_GSM_RC_TRX_ID_INVALID"; + case cOCTVC1_GSM_RC_TRX_NOT_FOUND: + return "cOCTVC1_GSM_RC_TRX_NOT_FOUND"; + case cOCTVC1_GSM_RC_TRX_RADIO_INIT: + return "cOCTVC1_GSM_RC_TRX_RADIO_INIT"; + case cOCTVC1_GSM_RC_TRX_RADIO_CONFIG: + return "cOCTVC1_GSM_RC_TRX_RADIO_CONFIG"; + case cOCTVC1_GSM_RC_TRX_RADIO_RESET: + return "cOCTVC1_GSM_RC_TRX_RADIO_RESET"; + case cOCTVC1_GSM_RC_TRX_RADIO_TERMINATE: + return "cOCTVC1_GSM_RC_TRX_RADIO_TERMINATE"; + case cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_RESOURCE_UNAVAILABLE: + return "cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_RESOURCE_UNAVAILABLE"; + case cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_ALREADY_ACTIVATED: + return "cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_ALREADY_ACTIVATED"; + case cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_NOT_ACTIVATED: + return "cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_NOT_ACTIVATED"; + case cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_ID_INVALID: + return "cOCTVC1_GSM_RC_PHYSICAL_CHANNEL_ID_INVALID"; + case cOCTVC1_GSM_RC_SUB_CHANNEL_ID_INVALID: + return "cOCTVC1_GSM_RC_SUB_CHANNEL_ID_INVALID"; + case cOCTVC1_GSM_RC_SUB_CHANNEL_DIRECTION_INVALID: + return "cOCTVC1_GSM_RC_SUB_CHANNEL_DIRECTION_INVALID"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RESOURCE_UNAVAILABLE: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RESOURCE_UNAVAILABLE"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_ALREADY_ACTIVATED: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_ALREADY_ACTIVATED"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_NOT_ACTIVATED: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_NOT_ACTIVATED"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_ID_INVALID: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_ID_INVALID"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DIRECTION_INVALID: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DIRECTION_INVALID"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_SAPI_INVALID: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_SAPI_INVALID"; + case cOCTVC1_GSM_RC_RF_CONFIG_INVALID_RX_GAIN_DB: + return "cOCTVC1_GSM_RC_RF_CONFIG_INVALID_RX_GAIN_DB"; + case cOCTVC1_GSM_RC_RF_CONFIG_INVALID_TX_ATTND_B: + return "cOCTVC1_GSM_RC_RF_CONFIG_INVALID_TX_ATTND_B"; + case cOCTVC1_GSM_RC_TRX_CONFIG_INVALID_US_TSC: + return "cOCTVC1_GSM_RC_TRX_CONFIG_INVALID_US_TSC"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_FRAME_NUMBER: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_FRAME_NUMBER"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_DATA_LENGTH: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_DATA_INVALID_DATA_LENGTH"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_FRAME_NUMBER: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_FRAME_NUMBER"; + case cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_DATA_LENGTH: + return "cOCTVC1_GSM_RC_LOGICAL_CHANNEL_RAW_DATA_INVALID_DATA_LENGTH"; + case cOCTVC1_GSM_RC_TRX_LOGICAL_CHANNEL_EMPTY_FRAME_REQUEST_INVALID_FRAME_NUMBER: + return "cOCTVC1_GSM_RC_TRX_LOGICAL_CHANNEL_EMPTY_FRAME_REQUEST_INVALID_FRAME_NUMBER"; + + } + sprintf( g_szUnknownoctvc1_rc2string, "0x%.8X", f_ulRc ); + return g_szUnknownoctvc1_rc2string; +} +#endif + +#endif /* __OCTVC1_RC2STRING__ */ diff --git a/software/include/octvc1/octvc1_swap_hdrs.h b/software/include/octvc1/octvc1_swap_hdrs.h new file mode 100644 index 0000000..d29b273 --- /dev/null +++ b/software/include/octvc1/octvc1_swap_hdrs.h @@ -0,0 +1,77 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_swap_hdrs.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_SWAP_HDRS_H__ +#define __OCTVC1_SWAP_HDRS_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_macro.h" +#ifndef SWAP_UNUSED +#define SWAP_UNUSED(x) (void)(x); +#endif + +/* START OF SWAP FILE HDR */ + +#include "../octdev_types_swap.h" +#include "../octdev_devices_swap.h" +#include "../octpkt/octpkt_hdr_swap.h" +#include "../octpkt/octpkt_hdrxl_swap.h" +#include "octvocnet_pkt_swap.h" +#include "octvc1_cursor_swap.h" +#include "octvc1_buffer_swap.h" +#include "octvc1_eth_swap.h" +#include "octvc1_handle_swap.h" +#include "octvc1_ip_swap.h" +#include "octvc1_vlan_swap.h" +#include "octvc1_list_swap.h" +#include "octvc1_msg_swap.h" +#include "octvc1_log_swap.h" +#include "octvc1_file_swap.h" +#include "octvc1_module_swap.h" +#include "octvc1_process_swap.h" +#include "octvc1_radio_swap.h" +#include "octvc1_api_swap.h" +#include "ctrl/octvc1_ctrl_api_swap.h" +#include "main/octvc1_main_api_swap.h" +#include "main/octvc1_main_evt_swap.h" +#include "test/octvc1_test_api_swap.h" +#include "test/octvc1_test_evt_swap.h" +#include "hw/octvc1_hw_api_swap.h" +#include "hw/octvc1_hw_evt_swap.h" +#include "irsc/octvc1_irsc_api_swap.h" +#include "irsc/octvc1_irsc_evt_swap.h" +#include "gsm/octvc1_gsm_api_swap.h" +#include "gsm/octvc1_gsm_evt_swap.h" +/* END OF SWAP FILE HDR */ +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_SWAP_HDRS_H__ */ diff --git a/software/include/vocallo/octvc1_udp.h b/software/include/octvc1/octvc1_udp.h similarity index 62% rename from software/include/vocallo/octvc1_udp.h rename to software/include/octvc1/octvc1_udp.h index c1fd9ab..9c9d69d 100644 --- a/software/include/vocallo/octvc1_udp.h +++ b/software/include/octvc1/octvc1_udp.h @@ -2,13 +2,25 @@ File: OCTVC1_UDP.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/vocallo/octvc1_vlan.h b/software/include/octvc1/octvc1_vlan.h similarity index 74% rename from software/include/vocallo/octvc1_vlan.h rename to software/include/octvc1/octvc1_vlan.h index bef3fae..4e2169f 100644 --- a/software/include/vocallo/octvc1_vlan.h +++ b/software/include/octvc1/octvc1_vlan.h @@ -2,13 +2,25 @@ File: OCTVC1_VLAN.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Revision: $ diff --git a/software/include/vocallo/octvc1_vlan_swap.h b/software/include/octvc1/octvc1_vlan_swap.h similarity index 56% rename from software/include/vocallo/octvc1_vlan_swap.h rename to software/include/octvc1/octvc1_vlan_swap.h index 8c47e93..4cbf9d3 100644 --- a/software/include/vocallo/octvc1_vlan_swap.h +++ b/software/include/octvc1/octvc1_vlan_swap.h @@ -2,13 +2,25 @@ File: octvc1_vlan_swap.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #ifndef __OCTVC1_VLAN_SWAP_H__ @@ -26,20 +38,28 @@ extern "C" { #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_VLAN_TAG_SWAP( _f_pParms ){ tOCTVC1_VLAN_TAG * pOCTVC1_VLAN_TAG = (_f_pParms); \ +#define mOCTVC1_VLAN_PROTOCOL_ID_ENUM_SWAP( pType ){ \ + *((tOCT_UINT32 *)pType) = mOCT_SWAP32_IF_LE( *((tOCT_UINT32 *)pType) ); } +#else + +#define mOCTVC1_VLAN_PROTOCOL_ID_ENUM_SWAP( pType ) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_VLAN_TAG_SWAP( _f_pParms ){ tOCTVC1_VLAN_TAG * pOCTVC1_VLAN_TAG = (_f_pParms); SWAP_UNUSED(pOCTVC1_VLAN_TAG)\ ((tOCTVC1_VLAN_TAG *)pOCTVC1_VLAN_TAG)->ulPriority = \ mOCT_SWAP32_IF_LE(((tOCTVC1_VLAN_TAG *)pOCTVC1_VLAN_TAG)->ulPriority); \ ((tOCTVC1_VLAN_TAG *)pOCTVC1_VLAN_TAG)->ulVlanId = \ mOCT_SWAP32_IF_LE(((tOCTVC1_VLAN_TAG *)pOCTVC1_VLAN_TAG)->ulVlanId); \ - ((tOCTVC1_VLAN_TAG *)pOCTVC1_VLAN_TAG)->ulProtocolId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_VLAN_TAG *)pOCTVC1_VLAN_TAG)->ulProtocolId); \ + { mOCTVC1_VLAN_PROTOCOL_ID_ENUM_SWAP( &((tOCTVC1_VLAN_TAG *)pOCTVC1_VLAN_TAG)->ulProtocolId ); } \ } #else #define mOCTVC1_VLAN_TAG_SWAP( pOCTVC1_VLAN_TAG ) #endif /* _OCT_ENDIAN_TYPE_LE_ */ #if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_VLAN_HEADER_INFO_SWAP( _f_pParms ){ tOCTVC1_VLAN_HEADER_INFO * pOCTVC1_VLAN_HEADER_INFO = (_f_pParms); \ +#define mOCTVC1_VLAN_HEADER_INFO_SWAP( _f_pParms ){ tOCTVC1_VLAN_HEADER_INFO * pOCTVC1_VLAN_HEADER_INFO = (_f_pParms); SWAP_UNUSED(pOCTVC1_VLAN_HEADER_INFO)\ ((tOCTVC1_VLAN_HEADER_INFO *)pOCTVC1_VLAN_HEADER_INFO)->ulNumVlanTag = \ mOCT_SWAP32_IF_LE(((tOCTVC1_VLAN_HEADER_INFO *)pOCTVC1_VLAN_HEADER_INFO)->ulNumVlanTag); \ { tOCT_UINT32 jOCTVC1_VLAN_HEADER_INFO; \ diff --git a/software/include/octvc1/octvocnet_pkt.h b/software/include/octvc1/octvocnet_pkt.h new file mode 100644 index 0000000..921cd60 --- /dev/null +++ b/software/include/octvc1/octvocnet_pkt.h @@ -0,0 +1,225 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVOCNET_PKT.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVOCNET_PKT_H__ +#define __OCTVOCNET_PKT_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "../octpkt/octpkt_hdr.h" +#include "octvc1_handle.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +#define cOCTVOCNET_PKT_ETHERTYPE cOCTPKT_HDR_ETHERTYPE + +/*------------------------------------------------------------------------------------- + VocalloNet Packet Format Values +-------------------------------------------------------------------------------------*/ +#define cOCTVOCNET_PKT_FORMAT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT +#define cOCTVOCNET_PKT_FORMAT_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET +#define cOCTVOCNET_PKT_FORMAT_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK +#define cOCTVOCNET_PKT_TRACE_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE +#define cOCTVOCNET_PKT_TRACE_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_OFFSET +#define cOCTVOCNET_PKT_TRACE_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_MASK +#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE +#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_OFFSET +#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_MASK +#define cOCTVOCNET_PKT_LENGTH_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH +#define cOCTVOCNET_PKT_LENGTH_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_OFFSET +#define cOCTVOCNET_PKT_LENGTH_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_MASK + +/*------------------------------------------------------------------------------------- + VocalloNet Format Control Packet +-------------------------------------------------------------------------------------*/ +#define cOCTVOCNET_PKT_FORMAT_CTRL 0x00 +#define cOCTVOCNET_PKT_FORMAT_A 0x01 +#define cOCTVOCNET_PKT_FORMAT_B 0x02 +#define cOCTVOCNET_PKT_FORMAT_D 0x04 +#define cOCTVOCNET_PKT_FORMAT_F 0x06 +#define cOCTVOCNET_PKT_FORMAT_H 0x08 +#define cOCTVOCNET_PKT_FORMAT_I 0x09 + +/*------------------------------------------------------------------------------------- + VocalloNet Format Control Bit Shifted +-------------------------------------------------------------------------------------*/ +#define cOCTVOCNET_PKT_BITSHIFTED_FORMAT_CTRL (cOCTVOCNET_PKT_FORMAT_CTRL< Fields marked with "valid_rtp=1" are not valid; + 1 -> Fields marked with "valid_rtp=1" are valid. In this case, + aulRtp[] contains a complete RTP header which can also include a + CSRC list and a RTP extension. Refer to RFC 1889 for additional + details. + bits[30:22] = Packet encoding type. + bits[21:14] = RTP padding size in bytes. (valid_rtp=1) + bits[13:11] = Reserved and must be 0. + bits[10:0] = RTP payload offset in bytes. (valid_rtp=1) + aulRtp + aulRtp[ 0 ].bits[31:30] = RTP version = 0x2. (valid_rtp=1) + .bit[29] = RTP padding. (valid_rtp=1) + .bit[28] = RTP extension. (valid_rtp=1) + .bits[27:24] = RTP contributing source count. (valid_rtp=1) + .bit[23] = Marker. + .bits[22:16] = RTP payload type. (valid_rtp=1) + .bits[15:0] = Sequence Number + aulRtp[ 1 ].bits[31:0] = Timestamp + aulRtp[ 2 ].bits[31:0] = + valid_rtp=1: RTP Synchronization source. + valid_rtp=0: Vocoder-dependant flags as defined below: + Enhanced Full Rate (EFR), see 3GPP TS 48.081 + .bits[31:4]:reserved, must be 0 + .bit[3]:BFI + .bit[2]:TAF + .bits[1:0]:SID +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVOCNET_PKT_DATA_HEADER VocNetHeader; + tOCT_UINT32 ulReserved; + tOCT_UINT32 ul_Rtp_PktType_Pad_Offset; + tOCT_UINT32 aulRtp[3]; + +} tOCTVOCNET_PKT_DATA_D_HEADER; + +/*------------------------------------------------------------------------------------- + tOCTVOCNET_PKT_DATA_F_HEADER + VocalloNet Format F Packet Header (Raw Data packet) + + Members: + VocNetHeader + ulTimestamp + bits[31:0] = Timestamp + ulSubType + bits[31:4] = Reserved, bits[3:0] = SubType +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVOCNET_PKT_DATA_HEADER VocNetHeader; + tOCT_UINT32 ulTimestamp; + tOCT_UINT32 ulSubType; + +} tOCTVOCNET_PKT_DATA_F_HEADER; + + +#endif /* __OCTVOCNET_PKT_H__ */ + diff --git a/software/include/octvc1/octvocnet_pkt_swap.h b/software/include/octvc1/octvocnet_pkt_swap.h new file mode 100644 index 0000000..42a6e39 --- /dev/null +++ b/software/include/octvc1/octvocnet_pkt_swap.h @@ -0,0 +1,102 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvocnet_pkt_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVOCNET_PKT_SWAP_H__ +#define __OCTVOCNET_PKT_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvocnet_pkt.h" + +/********************************* MACROS **********************************/ + + + +#define mOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_ENUM_SWAP mOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_SWAP + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVOCNET_PKT_CTL_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_CTL_HEADER * pOCTVOCNET_PKT_CTL_HEADER = (_f_pParms); SWAP_UNUSED(pOCTVOCNET_PKT_CTL_HEADER)\ + ((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulDestFifoId = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulDestFifoId); \ + ((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulSourceFifoId = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulSourceFifoId); \ + ((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulSocketId = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulSocketId); \ +} +#else +#define mOCTVOCNET_PKT_CTL_HEADER_SWAP( pOCTVOCNET_PKT_CTL_HEADER ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVOCNET_PKT_DATA_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_HEADER * pOCTVOCNET_PKT_DATA_HEADER = (_f_pParms); SWAP_UNUSED(pOCTVOCNET_PKT_DATA_HEADER)\ + { mOCTVC1_HANDLE_SWAP( &((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->hLogicalObj ); } \ + ((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->ulLogicalObjPktPort = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->ulLogicalObjPktPort); \ + ((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->ulDestFifoId = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->ulDestFifoId); \ +} +#else +#define mOCTVOCNET_PKT_DATA_HEADER_SWAP( pOCTVOCNET_PKT_DATA_HEADER ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVOCNET_PKT_DATA_D_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_D_HEADER * pOCTVOCNET_PKT_DATA_D_HEADER = (_f_pParms); SWAP_UNUSED(pOCTVOCNET_PKT_DATA_D_HEADER)\ + { mOCTVOCNET_PKT_DATA_HEADER_SWAP( &((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->VocNetHeader ); } \ + ((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->ulReserved = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->ulReserved); \ + ((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->ul_Rtp_PktType_Pad_Offset = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->ul_Rtp_PktType_Pad_Offset); \ + { tOCT_UINT32 iOCTVOCNET_PKT_DATA_D_HEADER; \ + for( iOCTVOCNET_PKT_DATA_D_HEADER=0; \ + iOCTVOCNET_PKT_DATA_D_HEADER<(3);iOCTVOCNET_PKT_DATA_D_HEADER++ ) \ + ((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->aulRtp[iOCTVOCNET_PKT_DATA_D_HEADER] = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->aulRtp[iOCTVOCNET_PKT_DATA_D_HEADER]);}\ +} +#else +#define mOCTVOCNET_PKT_DATA_D_HEADER_SWAP( pOCTVOCNET_PKT_DATA_D_HEADER ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVOCNET_PKT_DATA_F_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_F_HEADER * pOCTVOCNET_PKT_DATA_F_HEADER = (_f_pParms); SWAP_UNUSED(pOCTVOCNET_PKT_DATA_F_HEADER)\ + { mOCTVOCNET_PKT_DATA_HEADER_SWAP( &((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->VocNetHeader ); } \ + ((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->ulTimestamp = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->ulTimestamp); \ + ((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->ulSubType = \ + mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->ulSubType); \ +} +#else +#define mOCTVOCNET_PKT_DATA_F_HEADER_SWAP( pOCTVOCNET_PKT_DATA_F_HEADER ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVOCNET_PKT_SWAP_H__ */ diff --git a/software/include/vocallo/pkt_api/octvc1_pkt_api.h b/software/include/octvc1/pkt_api/octvc1_pkt_api.h similarity index 88% rename from software/include/vocallo/pkt_api/octvc1_pkt_api.h rename to software/include/octvc1/pkt_api/octvc1_pkt_api.h index 040d296..8acd73e 100644 --- a/software/include/vocallo/pkt_api/octvc1_pkt_api.h +++ b/software/include/octvc1/pkt_api/octvc1_pkt_api.h @@ -2,15 +2,27 @@ File: OCTVC1_PKT_API.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. -$Revision: 25549 $ +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) + +$Revision: $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -20,12 +32,13 @@ $Revision: 25549 $ /***************************** INCLUDE FILES *******************************/ #include "octvc1_pkt_api_rc.h" #include "../../octdev_types.h" +#include "../../octdev_macro.h" +#include "../../../common/octtransapi/include/octtransapi.h" #include "../octvc1_generic_rc.h" #include "../octvc1_fifo.h" #include "../octvc1_handle.h" #include "../octvocnet_pkt.h" #include "../octvc1_msg.h" -#include "../octvc1_macro.h" #include "../main/octvc1_main_api.h" /*-------------------------------------------------------------------------- @@ -98,21 +111,33 @@ extern "C" { ----------------------------------------------------------------------------*/ #define cOCTVC1_PKT_API_DEV_PORT_MAX (2) +/*-------------------------------------------------------------------------- + Maximum number of port per device +----------------------------------------------------------------------------*/ +#define cOCTVC1_PKT_API_DISCOVER_TRANSPORT_MAX (16) + + /*-------------------------------------------------------------------------- Device port type ----------------------------------------------------------------------------*/ #define cOCTVC1_PKT_API_DEV_PORT_TYPE_INVALID (0) #define cOCTVC1_PKT_API_DEV_PORT_TYPE_ETH (1) -#define tOCTVC1_PKT_API_DEV_PORT_TYPE_ENUM tOCT_UINT32 -#define cOCTVC1_PKT_API_DEV_PORT_TYPE_ENUM_INVALID cOCTVC1_PKT_API_DEV_PORT_TYPE_INVALID -#define cOCTVC1_PKT_API_DEV_PORT_TYPE_ENUM_ETH cOCTVC1_PKT_API_DEV_PORT_TYPE_ETH +#define tOCTVC1_PKT_API_DEV_PORT_TYPE_ENUM tOCT_UINT32 +#define cOCTVC1_PKT_API_DEV_PORT_TYPE_ENUM_INVALID cOCTVC1_PKT_API_DEV_PORT_TYPE_INVALID +#define cOCTVC1_PKT_API_DEV_PORT_TYPE_ENUM_ETH cOCTVC1_PKT_API_DEV_PORT_TYPE_ETH +#define cOCTVC1_PKT_API_DEV_PORT_TYPE_ENUM_TRANSPORT (2) /*-------------------------------------------------------------------------- - Device user infor maximum length + Device user info maximum length ----------------------------------------------------------------------------*/ #define cOCTVC1_PKT_API_DEV_USER_INFO_LEN_MAX (cOCTVC1_MAIN_USER_INFO_SIZE*sizeof(tOCT_UINT32)) +/*-------------------------------------------------------------------------- + Device info report by the embedded application +----------------------------------------------------------------------------*/ +#define cOCTVC1_PKT_API_DEV_INFO_LEN_MAX (cOCTVC1_MAIN_TARGET_MAX_INFO_BYTE_SIZE) + /*-------------------------------------------------------------------------- Maximum number of simultaneous synchronous command @@ -130,6 +155,7 @@ extern "C" { #define cOCTVC1_PKT_API_INSTANCE_OPTION_MASK_NONE (0) #define cOCTVC1_PKT_API_INSTANCE_OPTION_MASK_DISABLE_TIMEOUT (0x00000001) + /*************************** STRUCTURES *************************************/ /*---------------------------------------------------------------------------- @@ -148,7 +174,6 @@ typedef void *tPOCTVC1_PKT_API_CNCT; typedef void *tPOCTVC1_PKT_API_SESS; - /*-------------------------------------------------------------------------- Optionnal User Transport Function Pointer ----------------------------------------------------------------------------*/ @@ -203,7 +228,7 @@ typedef struct tOCT_UINT16 usSessionInstanceStart; /* 16 MSB of session identifier start instance */ - void * pOsContext; /* Porting OS layer context, submitted to Porting OS layer functions */ + void * pOsContext; /* Depricated: Porting OS layer context, submitted to Porting OS layer functions */ void * pTransportContext; /* Porting transport layer context, submitted to Porting transport layer functions */ void * pTransportLocalContext; /* Porting transport layer local context, @@ -226,6 +251,9 @@ typedef struct tOCTVC1_PKT_API_INSTANCE_OPTION_MASK ulOptionMask; /* Instance option: */ /* cOCTVC1_PKT_API_INSTANCE_OPTION_MASK_NONE - (default) */ /* cOCTVC1_PKT_API_INSTANCE_OPTION_MASK_DISABLE_TIMEOUT - Allow not to report timeout. Command response will wait forever */ + tOCT_BOOL32 fUseExternalTransport; /* Application is taking care of the transport */ + tOCTTRANSAPI_DISPATCHER_HANDLE hTransDispatcher; /* Application did call OctTransApiDispatcherRun in a separate thread. PktApi does not have to get msg from transport */ + } tOCTVC1_PKT_API_INST_INIT_PARMS, *tPOCTVC1_PKT_API_INST_INIT_PARMS; @@ -304,7 +332,6 @@ typedef struct /* Longest elapse time stayed in the transport porting layer waiting without received packet */ tOCT_UINT32 ulHighestTransportNoRxTimeMs; - } tOCTVC1_PKT_API_INST_STATS_PARMS, *tPOCTVC1_PKT_API_INST_STATS_PARMS; @@ -320,7 +347,7 @@ typedef struct submitted to Porting transport layer open function */ tOCT_UINT8 abyLocalMac[ cOCTVC1_PKT_API_MAC_ADDR_SIZE ]; - /* Local MAC address */ + /* Local MAC address. Valid when fUseExternalTransport is set to FALSE. */ tOCT_UINT32 ulMaxConnection; /* Maximum connection on this instance */ tOCT_UINT32 ulMaxSession; /* Maximum session per connection on this instance */ @@ -334,6 +361,13 @@ typedef struct /* 16 MSB of session identifier start instance */ tOCTVC1_PKT_API_INSTANCE_OPTION_MASK ulOptionMask; /* Instance option: */ + /* Application is taking care of the transport */ + tOCT_BOOL32 fUseExternalTransport; + + /* Application is responsible to call OctTransApiDispatcherRun in a separate thread */ + tOCTTRANSAPI_DISPATCHER_HANDLE hTransDispatcher; + + } tOCTVC1_PKT_API_INST_INFO_PARMS, *tPOCTVC1_PKT_API_INST_INFO_PARMS; /*-------------------------------------------------------------------------- @@ -350,6 +384,8 @@ typedef struct void * pUserConnectionContext; tPOCTVC1_PKT_API_CNCT pConnection; /* Pointer to allocated connection */ + tOCTTRANSAPI_DESTINATION_HANDLE hTransDest; /* Handle to transport destination. To be used when instance is initialize with fUseExternalTransport = cOCT_TRUE */ + } tOCTVC1_PKT_API_CNCT_OPEN_PARMS, *tPOCTVC1_PKT_API_CNCT_OPEN_PARMS; @@ -369,6 +405,8 @@ typedef struct void * pUserConnectionContext; /* Supplied to all received packets of this connection */ + tOCTTRANSAPI_DESTINATION_HANDLE hTransDest; /* Handle to transport destination. To be used when instance is initialize with fUseExternalTransport = cOCT_TRUE */ + } tOCTVC1_PKT_API_CNCT_MODIFY_PARMS, *tPOCTVC1_PKT_API_CNCT_MODIFY_PARMS; @@ -440,6 +478,7 @@ typedef struct submitted to Porting transport layer open function */ void * pUserConnectionContext; /* Supplied to all received packets of this connection */ + tOCTTRANSAPI_DESTINATION_HANDLE hTransDest; /* Handle to transport destination. To be used when instance is initialize with fUseExternalTransport = cOCT_TRUE */ } tOCTVC1_PKT_API_CNCT_INFO_PARMS, *tPOCTVC1_PKT_API_CNCT_INFO_PARMS; @@ -583,6 +622,7 @@ typedef struct tOCT_UINT32 ulLogicalObjPktPort;/* Logical_Object Packet_Port */ tOCT_UINT32 ulDestFifoId; /* Destination FIFO ID.*/ tOCT_UINT32 ulEvtId; /* Identifier of the command */ + tOCT_UINT32 ulUserEvtId; /* User Identifier of the command */ } Evt; @@ -617,9 +657,13 @@ typedef struct { tOCT_UINT32 ulPortId; /* Ethernet port identifier (0 or 1) */ tOCT_UINT8 abyMacAddr[ cOCTVC1_PKT_API_MAC_ADDR_SIZE ]; - /* Local MAC address of the port device */ - } Eth; + + struct + { + tOCT_UINT8 szDestinationAddr[ cOCTRANSAPI_DESTINATION_ADDR_STR_SIZE ]; + } Transport; + } Type; } tOCTVC1_PKT_API_DEV_PORT_INFO, *tPOCTVC1_PKT_API_DEV_PORT_INFO; @@ -635,10 +679,12 @@ typedef struct tOCT_UINT32 ulUserInfoLength; /* User information length */ tOCT_UINT8 abyUserInfo[ cOCTVC1_PKT_API_DEV_USER_INFO_LEN_MAX ]; - /* User information buffer - Current implementation returns the value - read by GPIO read on bank 0 - */ + /* User information buffer */ + + tOCT_UINT8 abyDeviceInfo[cOCTVC1_PKT_API_DEV_INFO_LEN_MAX]; + /* User information buffer */ + + tOCTTRANSAPI_HANDLE hTransport; /* Transport handle where the device response from */ } tOCTVC1_PKT_API_DEV_INFO, *tPOCTVC1_PKT_API_DEV_INFO; @@ -652,10 +698,15 @@ typedef struct /* Transport discover context. submitted to Porting transport layer send function */ - tOCT_UINT32 ulDeviceCnt; /* Discovered devices count */ + tOCT_UINT32 ulExpectedDeviceCnt; /* Expected devices count */ + tOCT_UINT32 ulDeviceCnt; /* Discovered devices count */ tOCTVC1_PKT_API_DEV_INFO aDeviceInfo[ cOCTVC1_PKT_API_DEV_MAX ]; /* Discovered devices information array */ + /* To be used when instance is initialize with fUseExternalTransport = cOCT_TRUE */ + tOCT_UINT32 ulTransportCnt; /* Number of transport used to discover device */ + tOCTTRANSAPI_HANDLE ahTransport[cOCTVC1_PKT_API_DISCOVER_TRANSPORT_MAX]; /* Number of transport used to discover device */ + } tOCTVC1_PKT_API_INST_DISCOVER_DEV_PARMS, *tPOCTVC1_PKT_API_INST_DISCOVER_DEV_PARMS; /*-------------------------------------------------------------------------- @@ -803,19 +854,6 @@ extern tOCT_UINT32 OctVc1PktApiCnctOpen( tPOCTVC1_PKT_API_INST f_pInstance, tPOCTVC1_PKT_API_CNCT_OPEN_PARMS f_pParms ); -/*-------------------------------------------------------------------------- - OctVc1PktApiCnctBridgedOpen - This function creates the packet API bridged connection. The user layer - objects required by the packet API connection are created within this - function, this includes: Remote transport object, - - f_pInstance : IN Pointer to packet API instance. - f_pParms : IN Pointer to bridged connection creation parameters structure. -----------------------------------------------------------------------------*/ -extern tOCT_UINT32 OctVc1PktApiCnctBridgedOpen( - tPOCTVC1_PKT_API_CNCT f_pConnection, - tPOCTVC1_PKT_API_CNCT_OPEN_PARMS f_pParms ); - /*-------------------------------------------------------------------------- OctVc1PktApiCnctClose This function close a packet API connection. @@ -932,8 +970,11 @@ extern tOCT_UINT32 OctVc1PktApiSessCmdSend( This function excutes a command on a session. The retransmit mechanism is activated for the command. The response packet to the command is returned. - The response packet must be released by the user when processing - done. + + Note: When the instance was initialized with fUseMsgAllocator set to true: + 1: The structure element 'pCmd' will be release by the API function. + 2: The structure element 'pRsp' is allocated by the API and should be release by the application + calling OctVc1PktApiSessMsgRelease. f_pSession : IN Pointer to packet API instance. f_pParms : IN Pointer to command execute parameters structure. @@ -942,7 +983,6 @@ extern tOCT_UINT32 OctVc1PktApiSessCmdExecute( tPOCTVC1_PKT_API_SESS f_pSession, tPOCTVC1_PKT_API_CMD_EXECUTE_PARMS f_pParms ); - /*-------------------------------------------------------------------------- MISC functions ----------------------------------------------------------------------------*/ diff --git a/software/include/vocallo/pkt_api/octvc1_pkt_api_default.h b/software/include/octvc1/pkt_api/octvc1_pkt_api_default.h similarity index 90% rename from software/include/vocallo/pkt_api/octvc1_pkt_api_default.h rename to software/include/octvc1/pkt_api/octvc1_pkt_api_default.h index 4abfe67..8b4706e 100644 --- a/software/include/vocallo/pkt_api/octvc1_pkt_api_default.h +++ b/software/include/octvc1/pkt_api/octvc1_pkt_api_default.h @@ -2,15 +2,27 @@ File: OCTVC1_PKT_API.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. -$Revision: 21846 $ +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) + +$Revision: $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -80,6 +92,8 @@ extern "C" { _pParms->TransportFunc.pfnTransportApiRecv = 0x0; \ _pParms->TransportFunc.pfnTransportApiSelect = 0x0; \ _pParms->TransportFunc.pfnTransportApiOpenLoopBack = 0x0;\ + _pParms->fUseExternalTransport = cOCT_FALSE; \ + _pParms->hTransDispatcher = NULL; \ } /*---------------------------------------------------------------------------- @@ -141,7 +155,9 @@ extern "C" { _pParms = (_f_pParms); \ _pParms->ulTimeoutMs = 500; \ _pParms->pTransportDiscoverContext = NULL; \ + _pParms->ulExpectedDeviceCnt = 0; \ _pParms->ulDeviceCnt = 0; \ + _pParms->ulTransportCnt = 0; \ } @@ -167,6 +183,7 @@ extern "C" { _pParms->pTransportRemoteContext = NULL; \ _pParms->pUserConnectionContext = NULL; \ _pParms->pConnection = NULL; \ + _pParms->hTransDest = NULL; \ } /*---------------------------------------------------------------------------- @@ -214,6 +231,7 @@ extern "C" { _pParms->abyRemoteMac[5] = 0x0; \ _pParms->pTransportRemoteContext = NULL; \ _pParms->pUserConnectionContext = NULL; \ + _pParms->hTransDest = NULL; \ } @@ -232,6 +250,7 @@ extern "C" { _pParms->abyRemoteMac[5] = 0x0; \ _pParms->pTransportRemoteContext = NULL; \ _pParms->pUserConnectionContext = NULL; \ + _pParms->hTransDest = NULL; \ } @@ -312,7 +331,7 @@ extern "C" { { \ tOCTVC1_PKT_API_DATA_SEND_PARMS * _pParms; \ _pParms = (_f_pParms); \ - _pParms->ulFormat = cOCTVOCNET_PKT_FORMAT_Q; \ + _pParms->ulFormat = cOCTVOCNET_PKT_FORMAT_D; \ _pParms->ulLength = 0; \ _pParms->pData = NULL; \ } @@ -324,7 +343,6 @@ extern "C" { { \ tOCTVC1_PKT_API_CMD_SEND_PARMS * _pParms; \ _pParms = (_f_pParms); \ - _pParms->ulCmdTimeoutMs = 0; \ _pParms->pUserCmdContext = NULL; \ _pParms->pCmd = NULL; \ } @@ -336,7 +354,6 @@ extern "C" { { \ tOCTVC1_PKT_API_CMD_EXECUTE_PARMS * _pParms; \ _pParms = (_f_pParms); \ - _pParms->ulCmdTimeoutMs = 0; \ _pParms->pCmd = NULL; \ _pParms->ulMaxRspLength = 0; \ _pParms->ulRcvRspLength = 0; \ diff --git a/software/include/vocallo/pkt_api/octvc1_pkt_api_rc.h b/software/include/octvc1/pkt_api/octvc1_pkt_api_rc.h similarity index 71% rename from software/include/vocallo/pkt_api/octvc1_pkt_api_rc.h rename to software/include/octvc1/pkt_api/octvc1_pkt_api_rc.h index 3dfcdcd..c6dcdce 100644 --- a/software/include/vocallo/pkt_api/octvc1_pkt_api_rc.h +++ b/software/include/octvc1/pkt_api/octvc1_pkt_api_rc.h @@ -2,13 +2,25 @@ File: OCTVC1_PKT_API_RC.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: Contains the return codes for the PKT_API API. -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) $Octasic_Revision: $ @@ -46,6 +58,9 @@ $Octasic_Revision: $ #define cOCTVC1_PKT_API_RC_SESS_CLOSE ( 0x0206 + cOCTVC1_PKT_API_RC_BASE ) #define cOCTVC1_PKT_API_RC_CNCT_CLOSE ( 0x0207 + cOCTVC1_PKT_API_RC_BASE ) #define cOCTVC1_PKT_API_RC_SESS_ALREADY_OPEN ( 0x0208 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_NOT_IMPLEMENT_YET ( 0x0209 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_DISPATCHER_NOT_READY ( 0x020A + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_REQUIRES_MULTI_THREAD ( 0x020B + cOCTVC1_PKT_API_RC_BASE ) #endif /* OCTVC1_PKT_API_RC_H__ */ diff --git a/software/include/vocallo/pkt_api/octvc1_pkt_api_version.h b/software/include/octvc1/pkt_api/octvc1_pkt_api_version.h similarity index 59% rename from software/include/vocallo/pkt_api/octvc1_pkt_api_version.h rename to software/include/octvc1/pkt_api/octvc1_pkt_api_version.h index 2c77a22..e056b37 100644 --- a/software/include/vocallo/pkt_api/octvc1_pkt_api_version.h +++ b/software/include/octvc1/pkt_api/octvc1_pkt_api_version.h @@ -2,15 +2,27 @@ File: OCTVC1_PKT_API_VERSION.h -Copyright (c) 2014 Octasic Inc. All rights reserved. +Copyright (c) 2015 Octasic Inc. All rights reserved. Description: -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. -$Revision: 25841 $ +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: Octasic Application Development Framework OCTADF-03.03.00-B1571 (2015/03/24) + +$Revision: $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -37,10 +49,10 @@ extern "C" { bit[17:11]: Bug fix version bit[10:0]: Build number */ -#define cOCTVC1_PKT_API_VERSION_MAJOR 1 -#define cOCTVC1_PKT_API_VERSION_MINOR 3 -#define cOCTVC1_PKT_API_VERSION_MAINTENANCE 27 -#define cOCTVC1_PKT_API_VERSION_BUILD 0 +#define cOCTVC1_PKT_API_VERSION_MAJOR 3 +#define cOCTVC1_PKT_API_VERSION_MINOR 3 +#define cOCTVC1_PKT_API_VERSION_MAINTENANCE 4 +#define cOCTVC1_PKT_API_VERSION_BUILD 1571 #define cOCTVC1_PKT_API_VERSION_ID ( (cOCTVC1_PKT_API_VERSION_MAJOR << 25) + \ (cOCTVC1_PKT_API_VERSION_MINOR << 18) + \ diff --git a/software/include/octvc1/test/octvc1_test_api.h b/software/include/octvc1/test/octvc1_test_api.h new file mode 100644 index 0000000..e744107 --- /dev/null +++ b/software/include/octvc1/test/octvc1_test_api.h @@ -0,0 +1,80 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_TEST_API.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the TEST API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_TEST_API_H__ +#define __OCTVC1_TEST_API_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../../octdev_types.h" +#include "../../octdev_devices.h" +#include "../octvc1_msg.h" +#include "../octvc1_handle.h" +#include "../octvc1_cursor.h" +#include "../octvc1_list.h" + +#include "octvc1_test_id.h" +#include "octvc1_test_rc.h" + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Test API constant definitions +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_TEST_DESCR_MAX_LENGTH 127 /* Maximum char in test description string. */ +#define cOCTVC1_TEST_USAGE_MAX_LENGTH 511 /* Maximum char in test description string. */ +#define cOCTVC1_TEST_PARMS_MAX_LENGTH 511 /* Maximum char in test parameters string. */ +#define cOCTVC1_TEST_RUNNER_TEST_MAX_OBJ 8 /* Maximum object handle to pass as test parameter. */ +#define cOCTVC1_TEST_RUNNER_TEST_STATS_MAX_LENGTH 1023 /* Maximum number of char in szStats. */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_EXEC_PARMS + + Members: + ahObj + Object handle to pass as test parameter. + See Test Descriptor Usage for more information. + szParms + String Test parameter. + The buffer name can be up to cOCTVC1_TEST_PARMS_MAX_LENGTH characters long, + excluding the terminating NULL character. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE_OBJECT ahObj[cOCTVC1_TEST_RUNNER_TEST_MAX_OBJ]; + tOCT_UINT8 szParms[(cOCTVC1_TEST_PARMS_MAX_LENGTH+1)]; + +} tOCTVC1_TEST_EXEC_PARMS; + +/***************************** METHODS *************************************/ + +/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ + +#endif /* __OCTVC1_TEST_API_H__ */ + diff --git a/software/include/octvc1/test/octvc1_test_api_priv.h b/software/include/octvc1/test/octvc1_test_api_priv.h new file mode 100644 index 0000000..30ce6b9 --- /dev/null +++ b/software/include/octvc1/test/octvc1_test_api_priv.h @@ -0,0 +1,569 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_TEST_API_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the TEST API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_TEST_API_PRIV_H__ +#define __OCTVC1_TEST_API_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_test_api.h" +#include "octvc1_test_id_priv.h" +#include "octvc1_test_rc_priv.h" + +/************************ COMMON DEFINITIONS *******************************/ + + +/***************************** METHODS *************************************/ +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_DESCR_LIST_CMD + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + +} tOCTVC1_TEST_MSG_DESCR_LIST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_DESCR_LIST_RSP + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor + ObjectNameList + Object32 named list. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + tOCTVC1_LIST_NAME_OBJECT32_GET ObjectNameList; + +} tOCTVC1_TEST_MSG_DESCR_LIST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_DESCR_INFO_CMD + + Members: + Header + OCTVC1 Message Header + hDescr + Test Descriptor identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hDescr; + +} tOCTVC1_TEST_MSG_DESCR_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_DESCR_INFO_RSP + + Members: + Header + OCTVC1 Message Header + hDescr + Test Descriptor identifier. + szName + Test name string (Array of bytes) . + The buffer name can be up to cOCTVC1_TEST_NAME_MAX_LENGTH characters long, + excluding the terminating NULL character. + szDescription + Test description string (Array of bytes) . + The buffer name can be up to cOCTVC1_TEST_DESCR_MAX_LENGTH characters long, + excluding the terminating NULL character. + szUsage + Test usage description . + The buffer name can be up to cOCTVC1_TEST_USAGE_MAX_LENGTH characters long, + excluding the terminating NULL character. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hDescr; + tOCT_UINT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)]; + tOCT_UINT8 szDescription[(cOCTVC1_TEST_DESCR_MAX_LENGTH+1)]; + tOCT_UINT8 szUsage[(cOCTVC1_TEST_USAGE_MAX_LENGTH+1)]; + +} tOCTVC1_TEST_MSG_DESCR_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD + + Members: + Header + OCTVC1 Message Header + szName + Descriptor Test name string (Array of bytes) . + The buffer name can be up to cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH characters + long, excluding the terminating NULL character. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)]; + +} tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP + + Members: + Header + OCTVC1 Message Header + hDescr + Test Descriptor identifier. + szName + Test name string (Array of bytes) . + The buffer name can be up to cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH characters + long, excluding the terminating NULL character. + szDescription + Test description string (Array of bytes) . + The buffer name can be up to cOCTVC1_TEST_DESCR_MAX_LENGTH characters long, + excluding the terminating NULL character. + szUsage + Test usage description . + The buffer name can be up to cOCTVC1_TEST_USAGE_MAX_LENGTH characters long, + excluding the terminating NULL character. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hDescr; + tOCT_UINT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)]; + tOCT_UINT8 szDescription[(cOCTVC1_TEST_DESCR_MAX_LENGTH+1)]; + tOCT_UINT8 szUsage[(cOCTVC1_TEST_USAGE_MAX_LENGTH+1)]; + +} tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_DESCR_STATS_CMD + + Members: + Header + OCTVC1 Message Header + hDescr + Test Descriptor identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hDescr; + +} tOCTVC1_TEST_MSG_DESCR_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_DESCR_STATS_RSP + + Members: + Header + OCTVC1 Message Header + hDescr + Test Descriptor identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hDescr; + +} tOCTVC1_TEST_MSG_DESCR_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD + This command adds a test in the runner server to the server. + + Members: + Header + OCTVC1 Message Header + hDescr + Default: cOCTVC1_HANDLE_INVALID + Test Descriptor. + Parms + test parameter. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hDescr; + tOCTVC1_TEST_EXEC_PARMS Parms; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP + + Members: + Header + OCTVC1 Message Header + hTest + Test Identifier. + szDisplayName + Descriptor Test name string (Array of bytes) . + The buffer name can be up to cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH characters + long, excluding the terminating NULL character. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + tOCT_UINT8 szDisplayName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)]; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD + This command removes a redundant MGW. The redundant MGW’s resources are freed. + + Members: + Header + OCTVC1 Message Header + hTest + Default: cOCTVC1_HANDLE_INVALID + Test identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP + + Members: + Header + OCTVC1 Message Header + hTest + Test identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP + + Members: + Header + OCTVC1 Message Header + ObjectCursor + Object cursor + ObjectNameList + Object List structure. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; + tOCTVC1_LIST_NAME_OBJECT32_GET ObjectNameList; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD + + Members: + Header + OCTVC1 Message Header + hTest + Default: cOCTVC1_HANDLE_INVALID + Transport identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP + + Members: + Header + OCTVC1 Message Header + hTest + Transport identifier. + hDescr + Default: cOCTVC1_HANDLE_INVALID + Transport identifier. + Parms + test parameter. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + tOCTVC1_HANDLE_OBJECT hDescr; + tOCTVC1_TEST_EXEC_PARMS Parms; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD + + Members: + Header + OCTVC1 Message Header + hTest + Default: cOCTVC1_HANDLE_INVALID + Transport identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP + + Members: + Header + OCTVC1 Message Header + hTest + Transport identifier. + szStats + String (Array of bytes) containing the parameter of transport remote + destination parameter. + The buffer name can be up to cOCTVC1_TEST_RUNNER_TEST_STATS_MAX_LENGTH + characters long, excluding the terminating NULL character. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + tOCT_UINT8 szStats[(cOCTVC1_TEST_RUNNER_TEST_STATS_MAX_LENGTH+1)]; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD + + Members: + Header + OCTVC1 Message Header + hTest + Default: cOCTVC1_HANDLE_INVALID + Transport identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP + + Members: + Header + OCTVC1 Message Header + hTest + Transport identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD + + Members: + Header + OCTVC1 Message Header + hTest + Default: cOCTVC1_HANDLE_INVALID + Transport identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP + + Members: + Header + OCTVC1 Message Header + hTest + Transport identifier. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE_OBJECT hTest; + +} tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP; + + +/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ + +#endif /* __OCTVC1_TEST_API_PRIV_H__ */ + diff --git a/software/include/octvc1/test/octvc1_test_api_priv_swap.h b/software/include/octvc1/test/octvc1_test_api_priv_swap.h new file mode 100644 index 0000000..1c32b10 --- /dev/null +++ b/software/include/octvc1/test/octvc1_test_api_priv_swap.h @@ -0,0 +1,327 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* +File: octvc1_test_api_priv_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_TEST_API_PRIV_SWAP_H__ +#define __OCTVC1_TEST_API_PRIV_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_priv_swap_hdrs.h" +#include "octvc1_test_api_priv.h" + +/********************************* MACROS **********************************/ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_DESCR_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_DESCR_LIST_CMD * pOCTVC1_TEST_MSG_DESCR_LIST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_DESCR_LIST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_DESCR_LIST_CMD *)pOCTVC1_TEST_MSG_DESCR_LIST_CMD)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_TEST_MSG_DESCR_LIST_CMD *)pOCTVC1_TEST_MSG_DESCR_LIST_CMD)->ObjectCursor ); } \ +} +#else +#define mOCTVC1_TEST_MSG_DESCR_LIST_CMD_SWAP( pOCTVC1_TEST_MSG_DESCR_LIST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_DESCR_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_DESCR_LIST_RSP * pOCTVC1_TEST_MSG_DESCR_LIST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_DESCR_LIST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_DESCR_LIST_RSP *)pOCTVC1_TEST_MSG_DESCR_LIST_RSP)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_TEST_MSG_DESCR_LIST_RSP *)pOCTVC1_TEST_MSG_DESCR_LIST_RSP)->ObjectCursor ); } \ + { mOCTVC1_LIST_NAME_OBJECT32_GET_SWAP( &((tOCTVC1_TEST_MSG_DESCR_LIST_RSP *)pOCTVC1_TEST_MSG_DESCR_LIST_RSP)->ObjectNameList ); } \ +} +#else +#define mOCTVC1_TEST_MSG_DESCR_LIST_RSP_SWAP( pOCTVC1_TEST_MSG_DESCR_LIST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_DESCR_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_DESCR_INFO_CMD * pOCTVC1_TEST_MSG_DESCR_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_DESCR_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_DESCR_INFO_CMD *)pOCTVC1_TEST_MSG_DESCR_INFO_CMD)->Header ); } \ + ((tOCTVC1_TEST_MSG_DESCR_INFO_CMD *)pOCTVC1_TEST_MSG_DESCR_INFO_CMD)->hDescr = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_DESCR_INFO_CMD *)pOCTVC1_TEST_MSG_DESCR_INFO_CMD)->hDescr); \ +} +#else +#define mOCTVC1_TEST_MSG_DESCR_INFO_CMD_SWAP( pOCTVC1_TEST_MSG_DESCR_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_DESCR_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_DESCR_INFO_RSP * pOCTVC1_TEST_MSG_DESCR_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_DESCR_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_DESCR_INFO_RSP *)pOCTVC1_TEST_MSG_DESCR_INFO_RSP)->Header ); } \ + ((tOCTVC1_TEST_MSG_DESCR_INFO_RSP *)pOCTVC1_TEST_MSG_DESCR_INFO_RSP)->hDescr = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_DESCR_INFO_RSP *)pOCTVC1_TEST_MSG_DESCR_INFO_RSP)->hDescr); \ +} +#else +#define mOCTVC1_TEST_MSG_DESCR_INFO_RSP_SWAP( pOCTVC1_TEST_MSG_DESCR_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD * pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD *)pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD)->Header ); } \ +} +#else +#define mOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD_SWAP( pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP * pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP *)pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP)->Header ); } \ + ((tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP *)pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP)->hDescr = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP *)pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP)->hDescr); \ +} +#else +#define mOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP_SWAP( pOCTVC1_TEST_MSG_DESCR_INFO_BY_NAME_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_DESCR_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_DESCR_STATS_CMD * pOCTVC1_TEST_MSG_DESCR_STATS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_DESCR_STATS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_DESCR_STATS_CMD *)pOCTVC1_TEST_MSG_DESCR_STATS_CMD)->Header ); } \ + ((tOCTVC1_TEST_MSG_DESCR_STATS_CMD *)pOCTVC1_TEST_MSG_DESCR_STATS_CMD)->hDescr = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_DESCR_STATS_CMD *)pOCTVC1_TEST_MSG_DESCR_STATS_CMD)->hDescr); \ +} +#else +#define mOCTVC1_TEST_MSG_DESCR_STATS_CMD_SWAP( pOCTVC1_TEST_MSG_DESCR_STATS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_DESCR_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_DESCR_STATS_RSP * pOCTVC1_TEST_MSG_DESCR_STATS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_DESCR_STATS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_DESCR_STATS_RSP *)pOCTVC1_TEST_MSG_DESCR_STATS_RSP)->Header ); } \ + ((tOCTVC1_TEST_MSG_DESCR_STATS_RSP *)pOCTVC1_TEST_MSG_DESCR_STATS_RSP)->hDescr = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_DESCR_STATS_RSP *)pOCTVC1_TEST_MSG_DESCR_STATS_RSP)->hDescr); \ +} +#else +#define mOCTVC1_TEST_MSG_DESCR_STATS_RSP_SWAP( pOCTVC1_TEST_MSG_DESCR_STATS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD)->Header ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP)->Header ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD)->Header ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP)->Header ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD)->Header ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_START_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP)->Header ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_START_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD)->Header ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP)->Header ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD)->hDescr = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD)->hDescr); \ + { mOCTVC1_TEST_EXEC_PARMS_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD)->Parms ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_ADD_TEST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_REMOVE_TEST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD)->ObjectCursor ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP)->Header ); } \ + { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP)->ObjectCursor ); } \ + { mOCTVC1_LIST_NAME_OBJECT32_GET_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP)->ObjectNameList ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_LIST_TEST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP)->hTest); \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP)->hDescr = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP)->hDescr); \ + { mOCTVC1_TEST_EXEC_PARMS_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP)->Parms ); } \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_INFO_TEST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_STATS_TEST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_START_TEST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD * pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_CMD ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP_SWAP( _f_pParms ){ tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP * pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP)\ + { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP)->Header ); } \ + ((tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP)->hTest = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP *)pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP)->hTest); \ +} +#else +#define mOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP_SWAP( pOCTVC1_TEST_MSG_RUNNER_SERVER_STOP_TEST_RSP ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_TEST_API_PRIV_SWAP_H__ */ diff --git a/software/include/octvc1/test/octvc1_test_api_swap.h b/software/include/octvc1/test/octvc1_test_api_swap.h new file mode 100644 index 0000000..9489b99 --- /dev/null +++ b/software/include/octvc1/test/octvc1_test_api_swap.h @@ -0,0 +1,57 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_test_api_swap.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_TEST_API_SWAP_H__ +#define __OCTVC1_TEST_API_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_swap_hdrs.h" +#include "octvc1_test_api.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_TEST_EXEC_PARMS_SWAP( _f_pParms ){ tOCTVC1_TEST_EXEC_PARMS * pOCTVC1_TEST_EXEC_PARMS = (_f_pParms); SWAP_UNUSED(pOCTVC1_TEST_EXEC_PARMS)\ + { tOCT_UINT32 iOCTVC1_TEST_EXEC_PARMS; \ + for( iOCTVC1_TEST_EXEC_PARMS=0; \ + iOCTVC1_TEST_EXEC_PARMS<(cOCTVC1_TEST_RUNNER_TEST_MAX_OBJ);iOCTVC1_TEST_EXEC_PARMS++ ) \ + ((tOCTVC1_TEST_EXEC_PARMS *)pOCTVC1_TEST_EXEC_PARMS)->ahObj[iOCTVC1_TEST_EXEC_PARMS] = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_TEST_EXEC_PARMS *)pOCTVC1_TEST_EXEC_PARMS)->ahObj[iOCTVC1_TEST_EXEC_PARMS]);}\ +} +#else +#define mOCTVC1_TEST_EXEC_PARMS_SWAP( pOCTVC1_TEST_EXEC_PARMS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_TEST_API_SWAP_H__ */ diff --git a/software/include/octvc1/test/octvc1_test_base.h b/software/include/octvc1/test/octvc1_test_base.h new file mode 100644 index 0000000..144a959 --- /dev/null +++ b/software/include/octvc1/test/octvc1_test_base.h @@ -0,0 +1,50 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_TEST_BASE.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the definition of the OCTVC1 API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_TEST_BASE_H__ +#define __OCTVC1_TEST_BASE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" + +/**************************************************************************** + Module unique identifiers + ****************************************************************************/ +#define cOCTVC1_TEST_UID ( 0x05 ) + +/**************************************************************************** + Module identifier bases + ****************************************************************************/ + +/* Module: TEST */ +#define cOCTVC1_TEST_CID_BASE ( (cOCTVC1_TEST_UID << 16) + cOCTVC1_CID_BASE ) +#define cOCTVC1_TEST_RC_BASE ( (cOCTVC1_TEST_UID << 16) + cOCTVC1_RC_BASE ) + +#endif /* __OCTVC1_TEST_BASE_H__ */ + diff --git a/software/include/octvc1/test/octvc1_test_default.h b/software/include/octvc1/test/octvc1_test_default.h new file mode 100644 index 0000000..2308059 --- /dev/null +++ b/software/include/octvc1/test/octvc1_test_default.h @@ -0,0 +1,39 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_TEST_DEFAULT.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the event definition of the TEST API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_TEST_DEFAULT_H__ +#define __OCTVC1_TEST_DEFAULT_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_test_api.h" + +/***************************** COMMAND DEFAULT *****************************/ + +#endif /* __OCTVC1_TEST_DEFAULT_H__ */ + diff --git a/software/include/octvc1/test/octvc1_test_default_priv.h b/software/include/octvc1/test/octvc1_test_default_priv.h new file mode 100644 index 0000000..25348ff --- /dev/null +++ b/software/include/octvc1/test/octvc1_test_default_priv.h @@ -0,0 +1,524 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_TEST_DEFAULT_PRIV.h + +Copyright (c) 2015 Octasic Inc. All rights reserved. + +Description: Contains the event definition of the TEST API. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Release: OCTSDR Software Development Kit OCTSDR_GSM-02.02.04-B403 (2015/04/27) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_TEST_DEFAULT_PRIV_H__ +#define __OCTVC1_TEST_DEFAULT_PRIV_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_test_api_priv.h" +#include "octvc1_test_default.h" + +/***************************** COMMAND DEFAULT *****************************/ + +/*-------------------------------------------------------------------------- + tOCTVC1_TEST_MSG_DESCR_LIST_CMD +----------------------------------------------------------------------------*/ +#ifdef OCTVC1_OPT_DECLARE_DEFAULTS + +const tOCTVC1_TEST_MSG_DESCR_LIST_CMD buf_tOCTVC1_TEST_MSG_DESCR_LIST_CMD = +{ + { /* Header */ + ((sizeof(tOCTVC1_TEST_MSG_DESCR_LIST_CMD)<ulMaxDestination = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxDestination); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxUdpPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxUdpPort); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxUdpCnct = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxUdpCnct); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxTxUdpCnct = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxTxUdpCnct); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxRtpPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxRtpPort); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxRtpCnct = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxRtpCnct); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxTxRtpCnct = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxTxRtpCnct); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxTcpPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxTcpPort); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxTcpCnct = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxTcpCnct); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxIpPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxRxIpPort); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxForwardObj = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxForwardObj); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulIpFragmentIdMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulIpFragmentIdMask); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulIpFragmentIdMatch = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulIpFragmentIdMatch); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxNonEthernetBandwidth = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxNonEthernetBandwidth); \ - ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxNonUdpBandwidth = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->ulMaxNonUdpBandwidth); \ -} -#else -#define mOCTVC1_CPP_CONFIG_STATIC_SWAP( pOCTVC1_CPP_CONFIG_STATIC ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_RX_RTP_PROFILE_ENTRY_SWAP( _f_pParms ){ tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY * pOCTVC1_CPP_RX_RTP_PROFILE_ENTRY = (_f_pParms); \ - ((tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_RX_RTP_PROFILE_ENTRY)->ulPacketEncodeType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_RX_RTP_PROFILE_ENTRY)->ulPacketEncodeType); \ - ((tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_RX_RTP_PROFILE_ENTRY)->ulRtpPayloadType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_RX_RTP_PROFILE_ENTRY)->ulRtpPayloadType); \ - ((tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_RX_RTP_PROFILE_ENTRY)->ulPktPortIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_RX_RTP_PROFILE_ENTRY)->ulPktPortIndex); \ -} -#else -#define mOCTVC1_CPP_RX_RTP_PROFILE_ENTRY_SWAP( pOCTVC1_CPP_RX_RTP_PROFILE_ENTRY ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_RTP_PROFILE_ENTRY_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY * pOCTVC1_CPP_TX_RTP_PROFILE_ENTRY = (_f_pParms); \ - ((tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_TX_RTP_PROFILE_ENTRY)->ulPacketEncodeType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_TX_RTP_PROFILE_ENTRY)->ulPacketEncodeType); \ - ((tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_TX_RTP_PROFILE_ENTRY)->ulRtpPayloadType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY *)pOCTVC1_CPP_TX_RTP_PROFILE_ENTRY)->ulRtpPayloadType); \ -} -#else -#define mOCTVC1_CPP_TX_RTP_PROFILE_ENTRY_SWAP( pOCTVC1_CPP_TX_RTP_PROFILE_ENTRY ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_DEST_ENTRY_SWAP( _f_pParms ){ tOCTVC1_CPP_DEST_ENTRY * pOCTVC1_CPP_DEST_ENTRY = (_f_pParms); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_DEST_ENTRY *)pOCTVC1_CPP_DEST_ENTRY)->hCppObj ); } \ - ((tOCTVC1_CPP_DEST_ENTRY *)pOCTVC1_CPP_DEST_ENTRY)->ulCppObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_DEST_ENTRY *)pOCTVC1_CPP_DEST_ENTRY)->ulCppObjPort); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_DEST_ENTRY *)pOCTVC1_CPP_DEST_ENTRY)->hDestObj ); } \ - ((tOCTVC1_CPP_DEST_ENTRY *)pOCTVC1_CPP_DEST_ENTRY)->ulDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_DEST_ENTRY *)pOCTVC1_CPP_DEST_ENTRY)->ulDestObjPort); \ - ((tOCTVC1_CPP_DEST_ENTRY *)pOCTVC1_CPP_DEST_ENTRY)->ulDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_DEST_ENTRY *)pOCTVC1_CPP_DEST_ENTRY)->ulDestObjFifoId); \ -} -#else -#define mOCTVC1_CPP_DEST_ENTRY_SWAP( pOCTVC1_CPP_DEST_ENTRY ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_COMMON_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_COMMON * pOCTVC1_CPP_TX_HDR_COMMON = (_f_pParms); \ - ((tOCTVC1_CPP_TX_HDR_COMMON *)pOCTVC1_CPP_TX_HDR_COMMON)->ulHeaderType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_COMMON *)pOCTVC1_CPP_TX_HDR_COMMON)->ulHeaderType); \ - ((tOCTVC1_CPP_TX_HDR_COMMON *)pOCTVC1_CPP_TX_HDR_COMMON)->ulHeaderLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_COMMON *)pOCTVC1_CPP_TX_HDR_COMMON)->ulHeaderLength); \ -} -#else -#define mOCTVC1_CPP_TX_HDR_COMMON_SWAP( pOCTVC1_CPP_TX_HDR_COMMON ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_ETHERNET_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_ETHERNET * pOCTVC1_CPP_TX_HDR_ETHERNET = (_f_pParms); \ - { mOCTVC1_CPP_TX_HDR_COMMON_SWAP( &((tOCTVC1_CPP_TX_HDR_ETHERNET *)pOCTVC1_CPP_TX_HDR_ETHERNET)->CommonHeader ); } \ - ((tOCTVC1_CPP_TX_HDR_ETHERNET *)pOCTVC1_CPP_TX_HDR_ETHERNET)->ulEthertypeEncoding = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_ETHERNET *)pOCTVC1_CPP_TX_HDR_ETHERNET)->ulEthertypeEncoding); \ - ((tOCTVC1_CPP_TX_HDR_ETHERNET *)pOCTVC1_CPP_TX_HDR_ETHERNET)->ulEthertype = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_ETHERNET *)pOCTVC1_CPP_TX_HDR_ETHERNET)->ulEthertype); \ -} -#else -#define mOCTVC1_CPP_TX_HDR_ETHERNET_SWAP( pOCTVC1_CPP_TX_HDR_ETHERNET ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_ETH_PQ_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_ETH_PQ * pOCTVC1_CPP_TX_HDR_ETH_PQ = (_f_pParms); \ - { mOCTVC1_CPP_TX_HDR_COMMON_SWAP( &((tOCTVC1_CPP_TX_HDR_ETH_PQ *)pOCTVC1_CPP_TX_HDR_ETH_PQ)->CommonHeader ); } \ - ((tOCTVC1_CPP_TX_HDR_ETH_PQ *)pOCTVC1_CPP_TX_HDR_ETH_PQ)->ulEthertypeEncoding = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_ETH_PQ *)pOCTVC1_CPP_TX_HDR_ETH_PQ)->ulEthertypeEncoding); \ - ((tOCTVC1_CPP_TX_HDR_ETH_PQ *)pOCTVC1_CPP_TX_HDR_ETH_PQ)->ulEthertype = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_ETH_PQ *)pOCTVC1_CPP_TX_HDR_ETH_PQ)->ulEthertype); \ - ((tOCTVC1_CPP_TX_HDR_ETH_PQ *)pOCTVC1_CPP_TX_HDR_ETH_PQ)->ulTci = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_ETH_PQ *)pOCTVC1_CPP_TX_HDR_ETH_PQ)->ulTci); \ -} -#else -#define mOCTVC1_CPP_TX_HDR_ETH_PQ_SWAP( pOCTVC1_CPP_TX_HDR_ETH_PQ ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_LLC_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_LLC * pOCTVC1_CPP_TX_HDR_LLC = (_f_pParms); \ - { mOCTVC1_CPP_TX_HDR_COMMON_SWAP( &((tOCTVC1_CPP_TX_HDR_LLC *)pOCTVC1_CPP_TX_HDR_LLC)->CommonHeader ); } \ - ((tOCTVC1_CPP_TX_HDR_LLC *)pOCTVC1_CPP_TX_HDR_LLC)->ulLlcValue = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_LLC *)pOCTVC1_CPP_TX_HDR_LLC)->ulLlcValue); \ -} -#else -#define mOCTVC1_CPP_TX_HDR_LLC_SWAP( pOCTVC1_CPP_TX_HDR_LLC ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_NLPID_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_NLPID * pOCTVC1_CPP_TX_HDR_NLPID = (_f_pParms); \ - { mOCTVC1_CPP_TX_HDR_COMMON_SWAP( &((tOCTVC1_CPP_TX_HDR_NLPID *)pOCTVC1_CPP_TX_HDR_NLPID)->CommonHeader ); } \ - ((tOCTVC1_CPP_TX_HDR_NLPID *)pOCTVC1_CPP_TX_HDR_NLPID)->ulNlpidValue = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_NLPID *)pOCTVC1_CPP_TX_HDR_NLPID)->ulNlpidValue); \ -} -#else -#define mOCTVC1_CPP_TX_HDR_NLPID_SWAP( pOCTVC1_CPP_TX_HDR_NLPID ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_SNAP_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_SNAP * pOCTVC1_CPP_TX_HDR_SNAP = (_f_pParms); \ - { mOCTVC1_CPP_TX_HDR_COMMON_SWAP( &((tOCTVC1_CPP_TX_HDR_SNAP *)pOCTVC1_CPP_TX_HDR_SNAP)->CommonHeader ); } \ - ((tOCTVC1_CPP_TX_HDR_SNAP *)pOCTVC1_CPP_TX_HDR_SNAP)->ulOuiValue = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_SNAP *)pOCTVC1_CPP_TX_HDR_SNAP)->ulOuiValue); \ - ((tOCTVC1_CPP_TX_HDR_SNAP *)pOCTVC1_CPP_TX_HDR_SNAP)->ulPidValue = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_SNAP *)pOCTVC1_CPP_TX_HDR_SNAP)->ulPidValue); \ -} -#else -#define mOCTVC1_CPP_TX_HDR_SNAP_SWAP( pOCTVC1_CPP_TX_HDR_SNAP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_IPV4_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_IPV4 * pOCTVC1_CPP_TX_HDR_IPV4 = (_f_pParms); \ - { mOCTVC1_CPP_TX_HDR_COMMON_SWAP( &((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->CommonHeader ); } \ - ((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulTypeOfService = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulTypeOfService); \ - ((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulTimeToLive = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulTimeToLive); \ - ((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulProtocol = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulProtocol); \ - ((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulFlags = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulFlags); \ - ((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulSourceAddr = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulSourceAddr); \ - ((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulDestinationAddr = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulDestinationAddr); \ - ((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulUdpChecksumAddr = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulUdpChecksumAddr); \ - ((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulOptionsLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV4 *)pOCTVC1_CPP_TX_HDR_IPV4)->ulOptionsLength); \ -} -#else -#define mOCTVC1_CPP_TX_HDR_IPV4_SWAP( pOCTVC1_CPP_TX_HDR_IPV4 ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_IPV6_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_IPV6 * pOCTVC1_CPP_TX_HDR_IPV6 = (_f_pParms); \ - { mOCTVC1_CPP_TX_HDR_COMMON_SWAP( &((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->CommonHeader ); } \ - ((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->ulTrafficClass = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->ulTrafficClass); \ - ((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->ulFlowLabel = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->ulFlowLabel); \ - ((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->ulHopLimit = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->ulHopLimit); \ - { tOCT_UINT32 iOCTVC1_CPP_TX_HDR_IPV6; \ - for( iOCTVC1_CPP_TX_HDR_IPV6=0; \ - iOCTVC1_CPP_TX_HDR_IPV6<(4);iOCTVC1_CPP_TX_HDR_IPV6++ ) \ - ((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->aulSourceAddr[iOCTVC1_CPP_TX_HDR_IPV6] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->aulSourceAddr[iOCTVC1_CPP_TX_HDR_IPV6]);}\ - { tOCT_UINT32 iOCTVC1_CPP_TX_HDR_IPV6; \ - for( iOCTVC1_CPP_TX_HDR_IPV6=0; \ - iOCTVC1_CPP_TX_HDR_IPV6<(4);iOCTVC1_CPP_TX_HDR_IPV6++ ) \ - ((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->aulDestinationAddr[iOCTVC1_CPP_TX_HDR_IPV6] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->aulDestinationAddr[iOCTVC1_CPP_TX_HDR_IPV6]);}\ - { tOCT_UINT32 iOCTVC1_CPP_TX_HDR_IPV6; \ - for( iOCTVC1_CPP_TX_HDR_IPV6=0; \ - iOCTVC1_CPP_TX_HDR_IPV6<(4);iOCTVC1_CPP_TX_HDR_IPV6++ ) \ - ((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->aulUdpChecksumAddr[iOCTVC1_CPP_TX_HDR_IPV6] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->aulUdpChecksumAddr[iOCTVC1_CPP_TX_HDR_IPV6]);}\ - ((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->ulNextHeader = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_IPV6 *)pOCTVC1_CPP_TX_HDR_IPV6)->ulNextHeader); \ -} -#else -#define mOCTVC1_CPP_TX_HDR_IPV6_SWAP( pOCTVC1_CPP_TX_HDR_IPV6 ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_UDP_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_UDP * pOCTVC1_CPP_TX_HDR_UDP = (_f_pParms); \ - { mOCTVC1_CPP_TX_HDR_COMMON_SWAP( &((tOCTVC1_CPP_TX_HDR_UDP *)pOCTVC1_CPP_TX_HDR_UDP)->CommonHeader ); } \ - ((tOCTVC1_CPP_TX_HDR_UDP *)pOCTVC1_CPP_TX_HDR_UDP)->ulSourcePort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_UDP *)pOCTVC1_CPP_TX_HDR_UDP)->ulSourcePort); \ - ((tOCTVC1_CPP_TX_HDR_UDP *)pOCTVC1_CPP_TX_HDR_UDP)->ulDestinationPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_UDP *)pOCTVC1_CPP_TX_HDR_UDP)->ulDestinationPort); \ -} -#else -#define mOCTVC1_CPP_TX_HDR_UDP_SWAP( pOCTVC1_CPP_TX_HDR_UDP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_TX_HDR_RTP_SWAP( _f_pParms ){ tOCTVC1_CPP_TX_HDR_RTP * pOCTVC1_CPP_TX_HDR_RTP = (_f_pParms); \ - { mOCTVC1_CPP_TX_HDR_COMMON_SWAP( &((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->CommonHeader ); } \ - ((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulNumContributingSources = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulNumContributingSources); \ - ((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulSynchronizationSource = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulSynchronizationSource); \ - ((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulExtensionFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulExtensionFlag); \ - ((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulExtensionType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulExtensionType); \ - ((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulExtensionLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->ulExtensionLength); \ - { tOCT_UINT32 iOCTVC1_CPP_TX_HDR_RTP; \ - for( iOCTVC1_CPP_TX_HDR_RTP=0; \ - iOCTVC1_CPP_TX_HDR_RTP<(15);iOCTVC1_CPP_TX_HDR_RTP++ ) \ - ((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->aulCsrcs[iOCTVC1_CPP_TX_HDR_RTP] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_TX_HDR_RTP *)pOCTVC1_CPP_TX_HDR_RTP)->aulCsrcs[iOCTVC1_CPP_TX_HDR_RTP]);}\ -} -#else -#define mOCTVC1_CPP_TX_HDR_RTP_SWAP( pOCTVC1_CPP_TX_HDR_RTP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD * pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD)->Header ); } \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD)->ulResetStatsFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD)->ulResetStatsFlag); \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD_SWAP( pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP * pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->Header ); } \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulControlRxPktCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulControlRxPktCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulDataRxPktCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulDataRxPktCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulControlBadHdrLenCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulControlBadHdrLenCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulDataBadHdrLenCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulDataBadHdrLenCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulInvalidPktFormatCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulInvalidPktFormatCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulNoFwdPktCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulNoFwdPktCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulCppCmdOverflowCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulCppCmdOverflowCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulTxPktQueueOverflowFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulTxPktQueueOverflowFlag); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulTxPktQueueOverflowFifoPoolId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulTxPktQueueOverflowFifoPoolId); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulTxPktQueueOverflowFifoIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulTxPktQueueOverflowFifoIndex); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulRxFifoResynchFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulRxFifoResynchFlag); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulRxFifoResynchFifoPoolId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulRxFifoResynchFifoPoolId); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulRxFifoResynchFifoIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP)->ulRxFifoResynchFifoIndex); \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP_SWAP( pOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD * pOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD)->Header ); } \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD)->ulEthPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD)->ulEthPort); \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD_SWAP( pOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP * pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->Header ); } \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthPort); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthRxPktCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthRxPktCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthTxPktCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthTxPktCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthRxByteCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthRxByteCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthTxByteCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthTxByteCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthBadHdrCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthBadHdrCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthBadHdrLenCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEthBadHdrLenCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEth8023BadLlcOuiCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulEth8023BadLlcOuiCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulRxFifoReSyncCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulRxFifoReSyncCnt); \ - ((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulTxPktQueueOverflowCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP *)pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP)->ulTxPktQueueOverflowCnt); \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP_SWAP( pOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CMD * pOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CMD *)pOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CMD)->Header ); } \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CMD_SWAP( pOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP * pOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP *)pOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP)->Header ); } \ - { mOCTVC1_CPP_CONFIG_STATIC_SWAP( &((tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP *)pOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP)->Static ); } \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP_SWAP( pOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_FORWARD_OPEN_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD * pOCTVC1_CPP_MSG_FORWARD_OPEN_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD *)pOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD *)pOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)->hDestObj ); } \ - ((tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD *)pOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)->ulDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD *)pOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)->ulDestObjPort); \ - ((tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD *)pOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)->ulDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_OPEN_CMD *)pOCTVC1_CPP_MSG_FORWARD_OPEN_CMD)->ulDestObjFifoId); \ -} -#else -#define mOCTVC1_CPP_MSG_FORWARD_OPEN_CMD_SWAP( pOCTVC1_CPP_MSG_FORWARD_OPEN_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_FORWARD_OPEN_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP * pOCTVC1_CPP_MSG_FORWARD_OPEN_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP *)pOCTVC1_CPP_MSG_FORWARD_OPEN_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP *)pOCTVC1_CPP_MSG_FORWARD_OPEN_RSP)->hForward ); } \ - ((tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP *)pOCTVC1_CPP_MSG_FORWARD_OPEN_RSP)->ulFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP *)pOCTVC1_CPP_MSG_FORWARD_OPEN_RSP)->ulFifoId); \ -} -#else -#define mOCTVC1_CPP_MSG_FORWARD_OPEN_RSP_SWAP( pOCTVC1_CPP_MSG_FORWARD_OPEN_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD * pOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD *)pOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD *)pOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD)->hForward ); } \ -} -#else -#define mOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD_SWAP( pOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP * pOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP *)pOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP *)pOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP)->hForward ); } \ -} -#else -#define mOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP_SWAP( pOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_FORWARD_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_FORWARD_STATS_CMD * pOCTVC1_CPP_MSG_FORWARD_STATS_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_STATS_CMD *)pOCTVC1_CPP_MSG_FORWARD_STATS_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_STATS_CMD *)pOCTVC1_CPP_MSG_FORWARD_STATS_CMD)->ObjectGet ); } \ - ((tOCTVC1_CPP_MSG_FORWARD_STATS_CMD *)pOCTVC1_CPP_MSG_FORWARD_STATS_CMD)->ulResetStatsFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_STATS_CMD *)pOCTVC1_CPP_MSG_FORWARD_STATS_CMD)->ulResetStatsFlag); \ -} -#else -#define mOCTVC1_CPP_MSG_FORWARD_STATS_CMD_SWAP( pOCTVC1_CPP_MSG_FORWARD_STATS_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_FORWARD_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_FORWARD_STATS_RSP * pOCTVC1_CPP_MSG_FORWARD_STATS_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_STATS_RSP *)pOCTVC1_CPP_MSG_FORWARD_STATS_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_STATS_RSP *)pOCTVC1_CPP_MSG_FORWARD_STATS_RSP)->ObjectGet ); } \ -} -#else -#define mOCTVC1_CPP_MSG_FORWARD_STATS_RSP_SWAP( pOCTVC1_CPP_MSG_FORWARD_STATS_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_FORWARD_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_FORWARD_INFO_CMD * pOCTVC1_CPP_MSG_FORWARD_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_INFO_CMD *)pOCTVC1_CPP_MSG_FORWARD_INFO_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_INFO_CMD *)pOCTVC1_CPP_MSG_FORWARD_INFO_CMD)->ObjectGet ); } \ - ((tOCTVC1_CPP_MSG_FORWARD_INFO_CMD *)pOCTVC1_CPP_MSG_FORWARD_INFO_CMD)->ulGetType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_INFO_CMD *)pOCTVC1_CPP_MSG_FORWARD_INFO_CMD)->ulGetType); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_INFO_CMD *)pOCTVC1_CPP_MSG_FORWARD_INFO_CMD)->hDestObj ); } \ - ((tOCTVC1_CPP_MSG_FORWARD_INFO_CMD *)pOCTVC1_CPP_MSG_FORWARD_INFO_CMD)->ulDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_INFO_CMD *)pOCTVC1_CPP_MSG_FORWARD_INFO_CMD)->ulDestObjPort); \ - ((tOCTVC1_CPP_MSG_FORWARD_INFO_CMD *)pOCTVC1_CPP_MSG_FORWARD_INFO_CMD)->ulDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_INFO_CMD *)pOCTVC1_CPP_MSG_FORWARD_INFO_CMD)->ulDestObjFifoId); \ -} -#else -#define mOCTVC1_CPP_MSG_FORWARD_INFO_CMD_SWAP( pOCTVC1_CPP_MSG_FORWARD_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_FORWARD_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_FORWARD_INFO_RSP * pOCTVC1_CPP_MSG_FORWARD_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_INFO_RSP *)pOCTVC1_CPP_MSG_FORWARD_INFO_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_INFO_RSP *)pOCTVC1_CPP_MSG_FORWARD_INFO_RSP)->ObjectGet ); } \ - ((tOCTVC1_CPP_MSG_FORWARD_INFO_RSP *)pOCTVC1_CPP_MSG_FORWARD_INFO_RSP)->ulFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_INFO_RSP *)pOCTVC1_CPP_MSG_FORWARD_INFO_RSP)->ulFifoId); \ - ((tOCTVC1_CPP_MSG_FORWARD_INFO_RSP *)pOCTVC1_CPP_MSG_FORWARD_INFO_RSP)->ulMoreFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_INFO_RSP *)pOCTVC1_CPP_MSG_FORWARD_INFO_RSP)->ulMoreFlag); \ - ((tOCTVC1_CPP_MSG_FORWARD_INFO_RSP *)pOCTVC1_CPP_MSG_FORWARD_INFO_RSP)->ulNumDestEntry = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_FORWARD_INFO_RSP *)pOCTVC1_CPP_MSG_FORWARD_INFO_RSP)->ulNumDestEntry); \ - { tOCT_UINT32 jOCTVC1_CPP_MSG_FORWARD_INFO_RSP; \ - for( jOCTVC1_CPP_MSG_FORWARD_INFO_RSP=0; \ - jOCTVC1_CPP_MSG_FORWARD_INFO_RSP<(cOCTVC1_CPP_MAX_DEST_ENTRY);jOCTVC1_CPP_MSG_FORWARD_INFO_RSP++ ) \ - { mOCTVC1_CPP_DEST_ENTRY_SWAP( &((tOCTVC1_CPP_MSG_FORWARD_INFO_RSP *)pOCTVC1_CPP_MSG_FORWARD_INFO_RSP)->aDestEntry[jOCTVC1_CPP_MSG_FORWARD_INFO_RSP] ); }} \ -} -#else -#define mOCTVC1_CPP_MSG_FORWARD_INFO_RSP_SWAP( pOCTVC1_CPP_MSG_FORWARD_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD * pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)->hCppObj ); } \ - ((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)->ulCppObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)->ulCppObjPort); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)->hDestObj ); } \ - ((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)->ulDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)->ulDestObjPort); \ - ((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)->ulDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD)->ulDestObjFifoId); \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD_SWAP( pOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP * pOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP)->hCppObj ); } \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP_SWAP( pOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD * pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->Header ); } \ - ((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->ulRemoveMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->ulRemoveMode); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->hCppObj ); } \ - ((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->ulCppObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->ulCppObjPort); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->hDestObj ); } \ - ((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->ulDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->ulDestObjPort); \ - ((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->ulDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD)->ulDestObjFifoId); \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD_SWAP( pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP * pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP)->Header ); } \ - ((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP)->ulNumDestRemoved = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP)->ulNumDestRemoved); \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP_SWAP( pOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD * pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->Header ); } \ - ((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->ulGetType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->ulGetType); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->hCppObj ); } \ - ((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->ulCppObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->ulCppObjPort); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->hDestObj ); } \ - ((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->ulDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->ulDestObjPort); \ - ((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->ulDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD)->ulDestObjFifoId); \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD_SWAP( pOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP_SWAP( _f_pParms ){ tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP * pOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)->Header ); } \ - ((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)->ulMoreFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)->ulMoreFlag); \ - ((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)->ulNumDestEntry = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)->ulNumDestEntry); \ - { tOCT_UINT32 jOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP; \ - for( jOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP=0; \ - jOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP<(cOCTVC1_CPP_MAX_DEST_ENTRY);jOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP++ ) \ - { mOCTVC1_CPP_DEST_ENTRY_SWAP( &((tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP *)pOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP)->aDestEntry[jOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP] ); }} \ -} -#else -#define mOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP_SWAP( pOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_CPP_API_SWAP_H__ */ diff --git a/software/include/vocallo/cpp/octvc1_cpp_default.h b/software/include/vocallo/cpp/octvc1_cpp_default.h deleted file mode 100644 index c0e5635..0000000 --- a/software/include/vocallo/cpp/octvc1_cpp_default.h +++ /dev/null @@ -1,541 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_CPP_DEFAULT.h - -$Octasic_Copyright: $ - -Description: Contains the event definition of the CPP API. - -$Octasic_Confidentiality: $ - -$Octasic_Release: $ - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_CPP_DEFAULT_H__ -#define __OCTVC1_CPP_DEFAULT_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "octvc1_cpp_api.h" - -/***************************** COMMAND DEFAULT *****************************/ - -/*-------------------------------------------------------------------------- - tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD -----------------------------------------------------------------------------*/ -#ifdef OCTVC1_OPT_DECLARE_DEFAULTS - -const tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD buf_tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD = -{ - { /* Header */ - ((sizeof(tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD)<. - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_GSM_API_H__ -#define __OCTVC1_GSM_API_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../../octdev_types.h" -#include "../../octdev_devices.h" -#include "../octvc1_msg.h" -#include "../octvc1_handle.h" -#include "../octvc1_cursor.h" -#include "../octvc1_list.h" -#include "../octvc1_fifo.h" - -#include "octvc1_gsm_id.h" -#include "octvc1_gsm_rc.h" - -/************************ COMMON DEFINITIONS *******************************/ - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_tSUBCHANNEL_STATUS - - Members: - usActiveUplinkSAPIMapMSW - usActiveUplinkSAPIMapLSW - usActiveDownlinkSAPIMapMSW - usActiveDownlinkSAPIMapLSW --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT16 usActiveUplinkSAPIMapMSW; - tOCT_UINT16 usActiveUplinkSAPIMapLSW; - tOCT_UINT16 usActiveDownlinkSAPIMapMSW; - tOCT_UINT16 usActiveDownlinkSAPIMapLSW; - -} tOCTVC1_GSM_tSUBCHANNEL_STATUS; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_tMEASUREMENT_INFO - - Members: - sRSSI - sSNR - sBurstTiming - usBERCount - usBERTOtalBitCOunt --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_INT16 sRSSI; - tOCT_INT16 sSNR; - tOCT_INT16 sBurstTiming; - tOCT_UINT16 usBERCount; - tOCT_UINT16 usBERTOtalBitCOunt; - -} tOCTVC1_GSM_tMEASUREMENT_INFO; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK : TRX_BAND --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK tOCT_UINT16 - -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT0 ((tOCT_UINT16)(1<<15) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT1 ((tOCT_UINT16)(1<<14) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT2 ((tOCT_UINT16)(1<<13) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT3 ((tOCT_UINT16)(1<<12) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT4 ((tOCT_UINT16)(1<<11) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TRX_ID_BIT5 ((tOCT_UINT16)(1<<10) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT0 ((tOCT_UINT16)(1<<9) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT1 ((tOCT_UINT16)(1<<8) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT2 ((tOCT_UINT16)(1<<7) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_BAND_BIT3 ((tOCT_UINT16)(1<<6) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_HOPPING ((tOCT_UINT16)(1<<5) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT0 ((tOCT_UINT16)(1<<4) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT1 ((tOCT_UINT16)(1<<3) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT2 ((tOCT_UINT16)(1<<2) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT3 ((tOCT_UINT16)(1<<1) ) -#define cOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK_TSC_BIT4 ((tOCT_UINT16)(1<<0) ) - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_TIMESLOT_STATUS - - Members: - byChannelType - bySubchannelCount --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT8 byChannelType; - tOCT_UINT8 bySubchannelCount; - -} tOCTVC1_GSM_TIMESLOT_STATUS; - -#define cOCTVC1_GSM_HOPPING_LIST_SIZE_WORD 64 /* This is the maximum number of entries in a hopping list */ -#define cOCTVC1_GSM_HARDWARE_INFO_RESPONSE_LENGTH 253 /* This is the maximum length of the string to be returned by a Hardware Info */ - /* Response message. */ -#define cOCTVC1_GSM_TRX_NUM_TIMESLOTS 8 /* This is the number of timeslots associated with a TRX. */ -#define cOCTVC1_GSM_TRX_NUM_SUBCHANNELS 16 /* This is the number of subchannels associated with a TRX timeslot. */ -#define cOCTVC1_GSM_cSDR_DATA_IND_MAX_DATA_SIZE_WORDS 234 /* This is the maximum number of words in the Data Indicator message's frame data. */ - /* NEEDS TO BE DEFINED PROPERLY */ -#define cOCTVC1_GSM_cSDR_RACH_IND_MAX_MESSAGE_LENGTH_WORDS 16 /* This is the maximum number of words in the Data Indicator message's frame data. */ - /* nEEDS TO BE DEFINED PROPERLY */ - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_SAPI_ENUM : Indicates the SAPI to use --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_SAPI_ENUM tOCT_UINT8 - -#define cOCTVC1_GSM_SAPI_ENUM_IDLE 0x00 -#define cOCTVC1_GSM_SAPI_ENUM_FCCH 0x01 -#define cOCTVC1_GSM_SAPI_ENUM_SCH 0x02 -#define cOCTVC1_GSM_SAPI_ENUM_SACCH 0x03 -#define cOCTVC1_GSM_SAPI_ENUM_SDCCH 0x04 -#define cOCTVC1_GSM_SAPI_ENUM_BCCH 0x05 -#define cOCTVC1_GSM_SAPI_ENUM_PCH_AGCH 0x07 -#define cOCTVC1_GSM_SAPI_ENUM_CBCH 0x08 -#define cOCTVC1_GSM_SAPI_ENUM_RACH 0x09 -#define cOCTVC1_GSM_SAPI_ENUM_TCHF 0x0a -#define cOCTVC1_GSM_SAPI_ENUM_FACCHF 0x0b -#define cOCTVC1_GSM_SAPI_ENUM_TCHH 0x0c -#define cOCTVC1_GSM_SAPI_ENUM_FACCHH 0x0D -#define cOCTVC1_GSM_SAPI_ENUM_NCH 0x0E -#define cOCTVC1_GSM_SAPI_ENUM_PDTCH 0x0F -#define cOCTVC1_GSM_SAPI_ENUM_PACCH 0x10 -#define cOCTVC1_GSM_SAPI_ENUM_PBCCH 0x11 -#define cOCTVC1_GSM_SAPI_ENUM_PAGCH 0x12 -#define cOCTVC1_GSM_SAPI_ENUM_PPCH 0x13 -#define cOCTVC1_GSM_SAPI_ENUM_PNCH 0x14 -#define cOCTVC1_GSM_SAPI_ENUM_PTCCH 0x15 -#define cOCTVC1_GSM_SAPI_ENUM_PRACH 0x16 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_Channel_Type_ENUM : Indicates the Channel Type to use --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_Channel_Type_ENUM tOCT_UINT8 - -#define cOCTVC1_GSM_Channel_Type_ENUM_CCCH 0x01 -#define cOCTVC1_GSM_Channel_Type_ENUM_CCCH4 0x02 -#define cOCTVC1_GSM_Channel_Type_ENUM_SDCCH 0x03 -#define cOCTVC1_GSM_Channel_Type_ENUM_TCH_F 0x04 -#define cOCTVC1_GSM_Channel_Type_ENUM_TCH_H 0x05 -#define cOCTVC1_GSM_Channel_Type_ENUM_PDTCH 0x06 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_CIPHERING_ENUM : Indicates the Ciphering to use --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_CIPHERING_ENUM tOCT_UINT8 - -#define cOCTVC1_GSM_CIPHERING_ENUM_A5_0 0x00 -#define cOCTVC1_GSM_CIPHERING_ENUM_A5_1 0x01 -#define cOCTVC1_GSM_CIPHERING_ENUM_A5_2 0x02 -#define cOCTVC1_GSM_CIPHERING_ENUM_A5_3 0x03 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_LOGICAL_CHANNEL_ENUM : Indicates the Logical channel Combination to use --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_LOGICAL_CHANNEL_ENUM tOCT_UINT8 - -#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_EMPTY 0x00 -#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_TCHF 0x01 -#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_TCHH 0x02 -#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_FCCH_SCH_BCCH_CCCH 0x03 -#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_FCCH_SCH_BCCH_CCCH_SDCCH_SACCH 0x04 -#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_SDCCH_SACCH 0x05 -#define cOCTVC1_GSM_LOGICAL_CHANNEL_ENUM_PDTCH_PACCH_PTCCH 0x06 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_AMR_CODEC_ENUM : Indicates the AMR CODEC to use --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_AMR_CODEC_ENUM tOCT_UINT8 - -#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_4_75 0x00 -#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_5_15 0x01 -#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_5_90 0x02 -#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_6_70 0x03 -#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_7_40 0x04 -#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_7_95 0x05 -#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_10_2 0x07 -#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_12_2 0x08 -#define cOCTVC1_GSM_AMR_CODEC_ENUM_RATE_Unset 0x0F - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_BURST_ENUM : Indicates the BURST to use --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_BURST_ENUM tOCT_UINT8 - -#define cOCTVC1_GSM_BURST_ENUM_Synchronization 0x00 -#define cOCTVC1_GSM_BURST_ENUM_Normal 0x01 -#define cOCTVC1_GSM_BURST_ENUM_Dummy 0x02 -#define cOCTVC1_GSM_BURST_ENUM_Normal_8PSK 0x03 -#define cOCTVC1_GSM_BURST_ENUM_Access_TSC0 0x04 -#define cOCTVC1_GSM_BURST_ENUM_Access_TSC1 0x05 -#define cOCTVC1_GSM_BURST_ENUM_Access_TSC2 0x06 -#define cOCTVC1_GSM_BURST_ENUM_Frequency_Correction 0x07 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_DIR_ENUM : Indicates the Direction to use --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_DIR_ENUM tOCT_UINT8 - -#define cOCTVC1_GSM_DIR_ENUM_NO_PATH 0x00 -#define cOCTVC1_GSM_DIR_ENUM_RX_MS_BTS 0x01 -#define cOCTVC1_GSM_DIR_ENUM_RX_BTS_MS 0x02 -#define cOCTVC1_GSM_DIR_ENUM_TX_BTS_MS 0x03 -#define cOCTVC1_GSM_DIR_ENUM_TX_MS_BTS 0x04 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_BAND_ENUM : Indicates the GSM band to use --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_BAND_ENUM tOCT_UINT32 - -#define cOCTVC1_GSM_BAND_ENUM_GSM450 0x0000 -#define cOCTVC1_GSM_BAND_ENUM_GSM850 0x0001 -#define cOCTVC1_GSM_BAND_ENUM_GSM900 0x0002 -#define cOCTVC1_GSM_BAND_ENUM_GSM1800 0x0003 -#define cOCTVC1_GSM_BAND_ENUM_GSM1900 0x0004 -#define cOCTVC1_GSM_BAND_ENUM_EGSM 0x0005 -#define cOCTVC1_GSM_BAND_ENUM_RGSM 0x0006 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_PROCESS_TYPE_ENUM : Process utilization type. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_PROCESS_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_INVALID 0 -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_CONTROL 1 -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_TDM_DRIVER 2 -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ROUTER 3 -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_SCHEDULER 4 -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_VSPMGR 5 -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_AF_SRV 6 -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_CAMERA_DRIVER 7 -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_WCDMA_SCHEDULER ((tOCT_UINT32)(1|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_L1C_APAPTATION_LAYER ((tOCT_UINT32)(2|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_RACH ((tOCT_UINT32)(3|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_MASTER ((tOCT_UINT32)(4|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_RFI ((tOCT_UINT32)(5|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULIM_SLAVE ((tOCT_UINT32)(6|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULOM_MASTER ((tOCT_UINT32)(7|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ULOM_SLAVE ((tOCT_UINT32)(8|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLIM_MASTER ((tOCT_UINT32)(9|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLIM_SLAVE ((tOCT_UINT32)(10|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLOM_MASTER ((tOCT_UINT32)(11|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_DLOM_SLAVE ((tOCT_UINT32)(12|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_RFI ((tOCT_UINT32)(13|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_ETH ((tOCT_UINT32)(14|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_HSDLOM ((tOCT_UINT32)(15|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_HSDLIM ((tOCT_UINT32)(16|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_GSM_PROCESS_TYPE_ENUM_CTRL ((tOCT_UINT32)(17|cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG) ) - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_EVT_MASK : Phy Events. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_EVT_MASK tOCT_UINT32 - -#define cOCTVC1_GSM_EVT_MASK_ERROR ((tOCT_UINT32)(1<<0) ) -#define cOCTVC1_GSM_EVT_MASK_TRACE_REQUEST ((tOCT_UINT32)(1<<1) ) -#define cOCTVC1_GSM_EVT_MASK_TRACE_RESPONSE ((tOCT_UINT32)(1<<2) ) -#define cOCTVC1_GSM_EVT_MASK_MESSAGE ((tOCT_UINT32)(1<<3) ) -#define cOCTVC1_GSM_EVT_MASK_CHECKPOINT ((tOCT_UINT32)(1<<4) ) -#define cOCTVC1_GSM_EVT_MASK_ALL 0xFFFFFFFF - -#define cOCTVC1_GSM_SDR_PROCESS_TYPE_FLAG 0x0020 -#define cOCTVC1_GSM_REQUEST_INDICATION_FLAG 0x8000 -#define cOCTVC1_GSM_RESPONSE_INDICATION_FLAG 0x4000 -#define cOCTVC1_GSM_TRACING_BUFFER_SIZE 512 /* This is the maximum size of a tracing packet. */ -#define cOCTVC1_GSM_NB_RESERVED 3 /* This is the maximum size of a tracing packet. */ - -/***************************** METHODS *************************************/ -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byu3TN_u5SAPI - bySubchannelNum - byPad - usFrameNumberMsb - usFrameNumberLsb - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu3TN_u5SAPI; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byPad; - tOCT_UINT16 usFrameNumberMsb; - tOCT_UINT16 usFrameNumberLsb; - tOCT_UINT8 aPadding[480]; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP - The empty frame request has no response. This structure should not be defined, - but the xml requires us to do so - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD - - Members: - Header - OCTVC1 Message Header - byU2Pad_u6TRXId - byU3TN_u5SAPI - bySubchannelNum - byPad - usFrameNumberMSB - usFrameNumberLSB - usDataLength - ausDataContents --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byU2Pad_u6TRXId; - tOCT_UINT8 byU3TN_u5SAPI; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byPad; - tOCT_UINT16 usFrameNumberMSB; - tOCT_UINT16 usFrameNumberLSB; - tOCT_UINT16 usDataLength; - tOCT_UINT8 ausDataContents[478]; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TrxId - Default: 0 - byu5Pad_u3TimeslotNumber - byChannelType - byPayloadType - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TrxId; - tOCT_UINT8 byu5Pad_u3TimeslotNumber; - tOCT_UINT8 byChannelType; - tOCT_UINT8 byPayloadType; - tOCT_UINT8 aPadding[484]; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byu5Pad_u3TN - usStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu5Pad_u3TN; - tOCT_UINT16 usStatus; - tOCT_UINT8 aPadding[460]; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TrxId - Default: 0 - byu5Pad_u3TimeslotNumber - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TrxId; - tOCT_UINT8 byu5Pad_u3TimeslotNumber; - tOCT_UINT8 aPadding[476]; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byu5Pad_u3TN - usStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu5Pad_u3TN; - tOCT_UINT16 usStatus; - tOCT_UINT8 aPadding[460]; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_STATUS_CMD - - Members: - Header - OCTVC1 Message Header - usu2Pad_u6TRXId_u8Pad --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usu2Pad_u6TRXId_u8Pad; - -} tOCTVC1_GSM_MSG_TRX_STATUS_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_STATUS_RSP - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byPad - atStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byPad; - tOCTVC1_GSM_TIMESLOT_STATUS atStatus[cOCTVC1_GSM_TRX_NUM_TIMESLOTS]; - tOCT_UINT8 aPadding[446]; - -} tOCTVC1_GSM_MSG_TRX_STATUS_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD - - Members: - Header - OCTVC1 Message Header - usu2Pad_u6TRXId_u5Pad_u3TN --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usu2Pad_u6TRXId_u5Pad_u3TN;/* NOSWAPMAC */ - -} tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP - - Members: - Header - OCTVC1 Message Header - usu2Pad_u6TRXId_u5Pad_u3TN - byChannelType - bySubchannelCount - atSubchannnelStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usu2Pad_u6TRXId_u5Pad_u3TN;/* NOSWAPMAC */ - tOCT_UINT8 byChannelType;/* NOSWAPMAC */ - tOCT_UINT8 bySubchannelCount;/* NOSWAPMAC */ - tOCTVC1_GSM_tSUBCHANNEL_STATUS atSubchannnelStatus[cOCTVC1_GSM_TRX_NUM_SUBCHANNELS];/* NOSWAPMAC */ - tOCT_UINT8 aPadding[332]; - -} tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_RESET_CMD - - Members: - Header - OCTVC1 Message Header - usu2Pad_u6TRXId_u8Pad - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usu2Pad_u6TRXId_u8Pad; - tOCT_UINT8 aPadding[486]; - -} tOCTVC1_GSM_MSG_TRX_RESET_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_RESET_RSP - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byPad - usStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byPad; - tOCT_UINT16 usStatus; - tOCT_UINT8 aPadding[460]; - -} tOCTVC1_GSM_MSG_TRX_RESET_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD - - Members: - Header - OCTVC1 Message Header - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 aPadding[462]; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP - - Members: - Header - OCTVC1 Message Header - usStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usStatus; - tOCT_UINT8 aPadding[476]; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byu2Pad_u3TN_u3Dir - bySubchannelNum - byu3Pad_u5SAPI - byTimingAdvance - byPad - byBSIC - byu1CMIPhase_u7InitRate - byu4Rate1_u4Rate2 - byu4Rate3_u4Rate4 - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu2Pad_u3TN_u3Dir; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byu3Pad_u5SAPI; - tOCT_UINT8 byTimingAdvance; - tOCT_UINT8 byPad; - tOCT_UINT8 byBSIC; - tOCT_UINT8 byu1CMIPhase_u7InitRate; - tOCT_UINT8 byu4Rate1_u4Rate2; - tOCT_UINT8 byu4Rate3_u4Rate4; - tOCT_UINT8 aPadding[476]; - -} tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP - - Members: - Header - OCTVC1 Message Header - byu2Pad_u3TRXId - byu2Pad_u3TN_u3Dir - bySubchannelNum - byu3Pad_u5SAPI - usStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u3TRXId; - tOCT_UINT8 byu2Pad_u3TN_u3Dir; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byu3Pad_u5SAPI; - tOCT_UINT16 usStatus; - tOCT_UINT8 aPadding[458]; - -} tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byu2Pad_u3TN_u3Dir - bySubchannelNum - byu3Pad_u5SAPI --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu2Pad_u3TN_u3Dir; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byu3Pad_u5SAPI; - -} tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP - - Members: - Header - OCTVC1 Message Header - byu2Pad_u3TRXId - byu2Pad_u3TN_u3Dir - bySubchannelNum - byu3Pad_u5SAPI - usStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u3TRXId; - tOCT_UINT8 byu2Pad_u3TN_u3Dir; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byu3Pad_u5SAPI; - tOCT_UINT16 usStatus; - tOCT_UINT8 aPadding[458]; - -} tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byu2Pad_u3TN_u3Dir - bySubchannelNum - byuCipherId - usKC0 - usKC1 - usKC2 - usKC3 --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu2Pad_u3TN_u3Dir; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byuCipherId; - tOCT_UINT16 usKC0; - tOCT_UINT16 usKC1; - tOCT_UINT16 usKC2; - tOCT_UINT16 usKC3; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byu2Pad_u3TN_u3Dir - bySubchannelNum - byPad - usStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu2Pad_u3TN_u3Dir; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byPad; - tOCT_UINT16 usStatus; - tOCT_UINT8 aPadding[458]; - -} tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD - - Members: - Header - OCTVC1 Message Header - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 aPadding[488]; - -} tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP - - Members: - Header - OCTVC1 Message Header - szHardwareInfo - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 szHardwareInfo[cOCTVC1_GSM_HARDWARE_INFO_RESPONSE_LENGTH]; - tOCT_UINT8 aPadding[210]; - -} tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byu5Pad_u3TN --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId;/* NOSWAPMAC */ - tOCT_UINT8 byu5Pad_u3TN;/* NOSWAPMAC */ - -} tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP - - Members: - Header - OCTVC1 Message Header - byu2Pad_u6TRXId - byu5Pad_u3TN - tMeasurementInfo - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId;/* NOSWAPMAC */ - tOCT_UINT8 byu5Pad_u3TN;/* NOSWAPMAC */ - tOCTVC1_GSM_tMEASUREMENT_INFO tMeasurementInfo;/* NOSWAPMAC */ - tOCT_UINT8 aPadding[454]; - -} tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TEST_START_FCC_CMD - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_TEST_START_FCC_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TEST_START_FCC_RSP - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_TEST_START_FCC_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TEST_END_FCC_CMD - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_TEST_END_FCC_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TEST_END_FCC_RSP - - Members: - Header - OCTVC1 Message Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_TEST_END_FCC_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD - - Members: - Header - OCTVC1 Message Header - ulEventMask - Default: (cOCTVC1_GSM_EVT_MASK_MESSAGE|cOCTVC1_GSM_EVT_MASK_ERROR) - ulUserEventId - hEventDestObj - Destination Object handle - ulEventDestObjPort - Destination packet port to bind. - ulEventDestObjFifoId - Destination object FIFO ID. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_GSM_EVT_MASK ulEventMask; - tOCT_UINT32 ulUserEventId; - tOCTVC1_HANDLE hEventDestObj; - tOCT_UINT32 ulEventDestObjPort; - tOCT_UINT32 ulEventDestObjFifoId; - -} tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP - - Members: - Header - OCTVC1 Message Header - ulEventMask - Default: (cOCTVC1_GSM_EVT_MASK_MESSAGE|cOCTVC1_GSM_EVT_MASK_ERROR) - ulUserEventId - hEventDestObj - Destination Object handle - ulEventDestObjPort - Destination packet port to bind. - ulEventDestObjFifoId - Destination object FIFO ID. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_GSM_EVT_MASK ulEventMask; - tOCT_UINT32 ulUserEventId; - tOCTVC1_HANDLE hEventDestObj; - tOCT_UINT32 ulEventDestObjPort; - tOCT_UINT32 ulEventDestObjFifoId; - -} tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_INFO_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_GSM_MSG_MODULE_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ulDeviceType --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulDeviceType; - -} tOCTVC1_GSM_MSG_MODULE_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD - Event parameters can be sent upon detection of errors or particular situation. - This command allows the user to specify which events are returned and which are - masked by the device. - This can be useful for both in-system monitoring and debugging. - - Members: - Header - OCTVC1 Message Header - hProcessUnit - Handle of the VSP Termination. - ulUserEventId - Default: cOCTVC1_DO_NOT_MODIFY - User-specified value that is included in the events packets generated by this - termination. - ulEventMask - Default: (cOCTVC1_GSM_EVT_MASK_MESSAGE|cOCTVC1_GSM_EVT_MASK_ERROR) - ulDebugFwdEventMask - Default: (cOCTVC1_GSM_EVT_MASK_MESSAGE|cOCTVC1_GSM_EVT_MASK_ERROR) - Bit field that contains the list of API events that can be generated by this - termination. Those events will be forwarded by the - OCTVC1_MAIN_MSG_DEBUG_FORWARD object. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - tOCT_UINT32 ulUserEventId; - tOCTVC1_GSM_EVT_MASK ulEventMask; - tOCTVC1_GSM_EVT_MASK ulDebugFwdEventMask; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP - - Members: - Header - OCTVC1 Message Header - hProcessUnit - Handle of the VSP Termination. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD - - Members: - Header - OCTVC1 Message Header - hProcessUnit - Handle of the VSP Termination. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP - - Members: - Header - OCTVC1 Message Header - ulEventMask - ulUserEventId - hEventDestObj - Destination Object handle - ulEventDestObjPort - Destination packet port to bind. - ulEventDestObjFifoId - Destination object FIFO ID. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_GSM_EVT_MASK ulEventMask; - tOCT_UINT32 ulUserEventId; - tOCTVC1_HANDLE hEventDestObj; - tOCT_UINT32 ulEventDestObjPort; - tOCT_UINT32 ulEventDestObjFifoId; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD - - Members: - Header - OCTVC1 Message Header - u6TrxId_u4band_u1H_u5TSC - ARFCN - BCCH_ARFCN - HSN - MAIO - HoppingListLength - ausHoppingList - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK u6TrxId_u4band_u1H_u5TSC;/* NOSWAPMAC */ - tOCT_UINT16 ARFCN;/* NOSWAPMAC */ - tOCT_UINT16 BCCH_ARFCN;/* NOSWAPMAC */ - tOCT_UINT8 HSN;/* NOSWAPMAC */ - tOCT_UINT8 MAIO;/* NOSWAPMAC */ - tOCT_UINT16 HoppingListLength;/* NOSWAPMAC */ - tOCT_UINT16 ausHoppingList[cOCTVC1_GSM_HOPPING_LIST_SIZE_WORD];/* NOSWAPMAC */ - tOCT_UINT8 aPadding[350]; - -} tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP - - Members: - Header - OCTVC1 Message Header - u6TrxId_u4band_u6Pad - usStatus - aPadding --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_GSM_TRX_BAND_HOPPING_TSC_MASK u6TrxId_u4band_u6Pad;/* NOSWAPMAC */ - tOCT_UINT16 usStatus;/* NOSWAPMAC */ - tOCT_UINT8 aPadding[460]; - -} tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD - List all precess unit - - Members: - Header - OCTVC1 Message Header - ObjectCursor - Object Cursor. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectCursor; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP - - Members: - Header - ObjectCursor - Object Cursor. - ObjectList - List of opened voice terminations. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectCursor; - tOCTVC1_LIST_HANDLE_GET ObjectList; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. - ulProcessType - ulInstance - ulMasterCore - ulCoreId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - tOCTVC1_GSM_PROCESS_TYPE_ENUM ulProcessType; - tOCT_UINT32 ulInstance; - tOCT_BOOL32 ulMasterCore; - tOCT_UINT32 ulCoreId; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. - ulResetStatsFlag - Whether or not to reset the statistics counters to zero after the current - values are returned. cOCT_TRUE: resets the statistics counters to zero after - the current values are returned. cOCT_FALSE: returns the current values but - does not reset the statistics counters. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - tOCT_BOOL32 ulResetStatsFlag; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. - ulLastFrameIndex - . --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - tOCT_UINT32 ulLastFrameIndex; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP; - - -/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ -#include "octvc1_gsm_evt.h" - -#ifdef cDO_PRAGMA_PACK_POP -#pragma pack( pop ) -#endif /* cDO_PRAGMA_PACK_POP */ -#undef cDO_PRAGMA_PACK_POP - -#endif /* __OCTVC1_GSM_API_H__ */ - diff --git a/software/include/vocallo/gsm/octvc1_gsm_api_swap.h b/software/include/vocallo/gsm/octvc1_gsm_api_swap.h deleted file mode 100644 index f1f82eb..0000000 --- a/software/include/vocallo/gsm/octvc1_gsm_api_swap.h +++ /dev/null @@ -1,604 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvc1_gsm_api_swap.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVC1_GSM_API_SWAP_H__ -#define __OCTVC1_GSM_API_SWAP_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_swap_hdrs.h" -#include "octvc1_gsm_api.h" - -/********************************* MACROS **********************************/ - - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_tSUBCHANNEL_STATUS_SWAP( _f_pParms ){ tOCTVC1_GSM_tSUBCHANNEL_STATUS * pOCTVC1_GSM_tSUBCHANNEL_STATUS = (_f_pParms); \ - ((tOCTVC1_GSM_tSUBCHANNEL_STATUS *)pOCTVC1_GSM_tSUBCHANNEL_STATUS)->usActiveUplinkSAPIMapMSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_tSUBCHANNEL_STATUS *)pOCTVC1_GSM_tSUBCHANNEL_STATUS)->usActiveUplinkSAPIMapMSW); \ - ((tOCTVC1_GSM_tSUBCHANNEL_STATUS *)pOCTVC1_GSM_tSUBCHANNEL_STATUS)->usActiveUplinkSAPIMapLSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_tSUBCHANNEL_STATUS *)pOCTVC1_GSM_tSUBCHANNEL_STATUS)->usActiveUplinkSAPIMapLSW); \ - ((tOCTVC1_GSM_tSUBCHANNEL_STATUS *)pOCTVC1_GSM_tSUBCHANNEL_STATUS)->usActiveDownlinkSAPIMapMSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_tSUBCHANNEL_STATUS *)pOCTVC1_GSM_tSUBCHANNEL_STATUS)->usActiveDownlinkSAPIMapMSW); \ - ((tOCTVC1_GSM_tSUBCHANNEL_STATUS *)pOCTVC1_GSM_tSUBCHANNEL_STATUS)->usActiveDownlinkSAPIMapLSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_tSUBCHANNEL_STATUS *)pOCTVC1_GSM_tSUBCHANNEL_STATUS)->usActiveDownlinkSAPIMapLSW); \ -} -#else -#define mOCTVC1_GSM_tSUBCHANNEL_STATUS_SWAP( pOCTVC1_GSM_tSUBCHANNEL_STATUS ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_tMEASUREMENT_INFO_SWAP( _f_pParms ){ tOCTVC1_GSM_tMEASUREMENT_INFO * pOCTVC1_GSM_tMEASUREMENT_INFO = (_f_pParms); \ - ((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->sRSSI = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->sRSSI); \ - ((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->sSNR = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->sSNR); \ - ((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->sBurstTiming = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->sBurstTiming); \ - ((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->usBERCount = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->usBERCount); \ - ((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->usBERTOtalBitCOunt = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_tMEASUREMENT_INFO *)pOCTVC1_GSM_tMEASUREMENT_INFO)->usBERTOtalBitCOunt); \ -} -#else -#define mOCTVC1_GSM_tMEASUREMENT_INFO_SWAP( pOCTVC1_GSM_tMEASUREMENT_INFO ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_TIMESLOT_STATUS_SWAP( _f_pParms ) -#else -#define mOCTVC1_GSM_TIMESLOT_STATUS_SWAP( pOCTVC1_GSM_TIMESLOT_STATUS ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD)->usFrameNumberMsb = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD)->usFrameNumberMsb); \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD)->usFrameNumberLsb = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD)->usFrameNumberLsb); \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD)->usFrameNumberMSB = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD)->usFrameNumberMSB); \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD)->usFrameNumberLSB = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD)->usFrameNumberLSB); \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD)->usDataLength = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD)->usDataLength); \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP)->usStatus = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP)->usStatus); \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP)->usStatus = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP)->usStatus); \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_STATUS_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_CMD * pOCTVC1_GSM_MSG_TRX_STATUS_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_TRX_STATUS_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_CMD)->usu2Pad_u6TRXId_u8Pad = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TRX_STATUS_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_CMD)->usu2Pad_u6TRXId_u8Pad); \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_STATUS_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_STATUS_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_RSP * pOCTVC1_GSM_MSG_TRX_STATUS_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_RSP)->Header ); } \ - { tOCT_UINT32 jOCTVC1_GSM_MSG_TRX_STATUS_RSP; \ - for( jOCTVC1_GSM_MSG_TRX_STATUS_RSP=0; \ - jOCTVC1_GSM_MSG_TRX_STATUS_RSP<(cOCTVC1_GSM_TRX_NUM_TIMESLOTS);jOCTVC1_GSM_MSG_TRX_STATUS_RSP++ ) \ - { mOCTVC1_GSM_TIMESLOT_STATUS_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_RSP)->atStatus[jOCTVC1_GSM_MSG_TRX_STATUS_RSP] ); }} \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_STATUS_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD * pOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD *)pOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP * pOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP *)pOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_RESET_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_RESET_CMD * pOCTVC1_GSM_MSG_TRX_RESET_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_CMD *)pOCTVC1_GSM_MSG_TRX_RESET_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_TRX_RESET_CMD *)pOCTVC1_GSM_MSG_TRX_RESET_CMD)->usu2Pad_u6TRXId_u8Pad = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TRX_RESET_CMD *)pOCTVC1_GSM_MSG_TRX_RESET_CMD)->usu2Pad_u6TRXId_u8Pad); \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_RESET_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_RESET_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_RESET_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_RESET_RSP * pOCTVC1_GSM_MSG_TRX_RESET_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_RESET_RSP *)pOCTVC1_GSM_MSG_TRX_RESET_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_TRX_RESET_RSP *)pOCTVC1_GSM_MSG_TRX_RESET_RSP)->usStatus = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TRX_RESET_RSP *)pOCTVC1_GSM_MSG_TRX_RESET_RSP)->usStatus); \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_RESET_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_RESET_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP)->usStatus = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP)->usStatus); \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD * pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD *)pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD_SWAP( pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP * pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP *)pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP *)pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP)->usStatus = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP *)pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP)->usStatus); \ -} -#else -#define mOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP_SWAP( pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD * pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD *)pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD_SWAP( pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP * pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP *)pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP *)pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP)->usStatus = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP *)pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP)->usStatus); \ -} -#else -#define mOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP_SWAP( pOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)->usKC0 = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)->usKC0); \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)->usKC1 = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)->usKC1); \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)->usKC2 = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)->usKC2); \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)->usKC3 = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD)->usKC3); \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP * pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP)->usStatus = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP *)pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP)->usStatus); \ -} -#else -#define mOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP_SWAP( pOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD * pOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD *)pOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD_SWAP( pOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP * pOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP_SWAP( pOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD * pOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD *)pOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP * pOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP *)pOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TEST_START_ETSI_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD * pOCTVC1_GSM_MSG_TEST_START_ETSI_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD *)pOCTVC1_GSM_MSG_TEST_START_ETSI_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD *)pOCTVC1_GSM_MSG_TEST_START_ETSI_CMD)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD *)pOCTVC1_GSM_MSG_TEST_START_ETSI_CMD)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_TEST_START_ETSI_CMD_SWAP( pOCTVC1_GSM_MSG_TEST_START_ETSI_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TEST_START_ETSI_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP * pOCTVC1_GSM_MSG_TEST_START_ETSI_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP *)pOCTVC1_GSM_MSG_TEST_START_ETSI_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP *)pOCTVC1_GSM_MSG_TEST_START_ETSI_RSP)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP *)pOCTVC1_GSM_MSG_TEST_START_ETSI_RSP)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_TEST_START_ETSI_RSP_SWAP( pOCTVC1_GSM_MSG_TEST_START_ETSI_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TEST_START_FCC_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TEST_START_FCC_CMD * pOCTVC1_GSM_MSG_TEST_START_FCC_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TEST_START_FCC_CMD *)pOCTVC1_GSM_MSG_TEST_START_FCC_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_TEST_START_FCC_CMD *)pOCTVC1_GSM_MSG_TEST_START_FCC_CMD)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TEST_START_FCC_CMD *)pOCTVC1_GSM_MSG_TEST_START_FCC_CMD)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_TEST_START_FCC_CMD_SWAP( pOCTVC1_GSM_MSG_TEST_START_FCC_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TEST_START_FCC_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TEST_START_FCC_RSP * pOCTVC1_GSM_MSG_TEST_START_FCC_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TEST_START_FCC_RSP *)pOCTVC1_GSM_MSG_TEST_START_FCC_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_TEST_START_FCC_RSP *)pOCTVC1_GSM_MSG_TEST_START_FCC_RSP)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TEST_START_FCC_RSP *)pOCTVC1_GSM_MSG_TEST_START_FCC_RSP)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_TEST_START_FCC_RSP_SWAP( pOCTVC1_GSM_MSG_TEST_START_FCC_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TEST_END_ETSI_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD * pOCTVC1_GSM_MSG_TEST_END_ETSI_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD *)pOCTVC1_GSM_MSG_TEST_END_ETSI_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD *)pOCTVC1_GSM_MSG_TEST_END_ETSI_CMD)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD *)pOCTVC1_GSM_MSG_TEST_END_ETSI_CMD)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_TEST_END_ETSI_CMD_SWAP( pOCTVC1_GSM_MSG_TEST_END_ETSI_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TEST_END_ETSI_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP * pOCTVC1_GSM_MSG_TEST_END_ETSI_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP *)pOCTVC1_GSM_MSG_TEST_END_ETSI_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP *)pOCTVC1_GSM_MSG_TEST_END_ETSI_RSP)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP *)pOCTVC1_GSM_MSG_TEST_END_ETSI_RSP)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_TEST_END_ETSI_RSP_SWAP( pOCTVC1_GSM_MSG_TEST_END_ETSI_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TEST_END_FCC_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TEST_END_FCC_CMD * pOCTVC1_GSM_MSG_TEST_END_FCC_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TEST_END_FCC_CMD *)pOCTVC1_GSM_MSG_TEST_END_FCC_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_TEST_END_FCC_CMD *)pOCTVC1_GSM_MSG_TEST_END_FCC_CMD)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TEST_END_FCC_CMD *)pOCTVC1_GSM_MSG_TEST_END_FCC_CMD)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_TEST_END_FCC_CMD_SWAP( pOCTVC1_GSM_MSG_TEST_END_FCC_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TEST_END_FCC_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TEST_END_FCC_RSP * pOCTVC1_GSM_MSG_TEST_END_FCC_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TEST_END_FCC_RSP *)pOCTVC1_GSM_MSG_TEST_END_FCC_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_TEST_END_FCC_RSP *)pOCTVC1_GSM_MSG_TEST_END_FCC_RSP)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TEST_END_FCC_RSP *)pOCTVC1_GSM_MSG_TEST_END_FCC_RSP)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_TEST_END_FCC_RSP_SWAP( pOCTVC1_GSM_MSG_TEST_END_FCC_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD * pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->Header ); } \ - ((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->ulEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->ulEventMask); \ - ((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->ulUserEventId); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->hEventDestObj ); } \ - ((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->ulEventDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->ulEventDestObjPort); \ - ((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->ulEventDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD)->ulEventDestObjFifoId); \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD_SWAP( pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP * pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP_SWAP( pOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD * pOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD_SWAP( pOCTVC1_GSM_MSG_MODULE_INFO_EVT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP * pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->ulEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->ulEventMask); \ - ((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->ulUserEventId); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->hEventDestObj ); } \ - ((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->ulEventDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->ulEventDestObjPort); \ - ((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->ulEventDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP)->ulEventDestObjFifoId); \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP_SWAP( pOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_INFO_CMD * pOCTVC1_GSM_MSG_MODULE_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_INFO_CMD *)pOCTVC1_GSM_MSG_MODULE_INFO_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_INFO_CMD_SWAP( pOCTVC1_GSM_MSG_MODULE_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_INFO_RSP * pOCTVC1_GSM_MSG_MODULE_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_INFO_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_MODULE_INFO_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_RSP)->ulDeviceType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_INFO_RSP *)pOCTVC1_GSM_MSG_MODULE_INFO_RSP)->ulDeviceType); \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_INFO_RSP_SWAP( pOCTVC1_GSM_MSG_MODULE_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD * pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)->hProcessUnit ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)->ulUserEventId); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)->ulEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)->ulEventMask); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)->ulDebugFwdEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD)->ulDebugFwdEventMask); \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP * pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP)->hProcessUnit ); } \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD * pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD)->hProcessUnit ); } \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP * pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->Header ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->ulEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->ulEventMask); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->ulUserEventId); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->hEventDestObj ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->ulEventDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->ulEventDestObjPort); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->ulEventDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP)->ulEventDestObjFifoId); \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD * pOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD *)pOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD_SWAP( pOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP * pOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP *)pOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP_SWAP( pOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD * pOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD)->ObjectCursor ); } \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP * pOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP)->ObjectCursor ); } \ - { mOCTVC1_LIST_HANDLE_GET_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP)->ObjectList ); } \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD * pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD)->ObjectGet ); } \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP * pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->ObjectGet ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->ulProcessType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->ulProcessType); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->ulInstance = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->ulInstance); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->ulMasterCore = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->ulMasterCore); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->ulCoreId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP)->ulCoreId); \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD * pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD)->ObjectGet ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD)->ulResetStatsFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD *)pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD)->ulResetStatsFlag); \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP * pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP)->ObjectGet ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP)->ulLastFrameIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP *)pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP)->ulLastFrameIndex); \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_GSM_API_SWAP_H__ */ diff --git a/software/include/vocallo/gsm/octvc1_gsm_default.h b/software/include/vocallo/gsm/octvc1_gsm_default.h deleted file mode 100644 index 0f5b031..0000000 --- a/software/include/vocallo/gsm/octvc1_gsm_default.h +++ /dev/null @@ -1,5186 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_GSM_DEFAULT.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contains the event definition of the GSM API. - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_GSM_DEFAULT_H__ -#define __OCTVC1_GSM_DEFAULT_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "octvc1_gsm_api.h" - -/***************************** COMMAND DEFAULT *****************************/ - -/*-------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD -----------------------------------------------------------------------------*/ -#ifdef OCTVC1_OPT_DECLARE_DEFAULTS - -const tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD buf_tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD = -{ - { /* Header */ - ((sizeof(tOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CMD)<. - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_GSM_EVT_H__ -#define __OCTVC1_GSM_EVT_H__ - - -/***************************** INCLUDE FILES *******************************/ - -#include "octvc1_gsm_api.h" - -/************************ COMMON DEFINITIONS *******************************/ - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM : Process utilization type. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_INVALID 0 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_WCDMA_SCHEDULER 1 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_L1C_APAPTATION_LAYER 2 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_RACH 3 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_MASTER 4 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_RFI 5 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULIM_SLAVE 6 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULOM_MASTER 7 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ULOM_SLAVE 8 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLIM_MASTER 9 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLIM_SLAVE 10 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLOM_MASTER 11 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLOM_SLAVE 12 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_DLIM_RFI 13 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_ETH 14 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_HSDLOM 15 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_HSDLIM 16 -#define cOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM_CTRL 17 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_CHECKPOINT_TYPE_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_CHECKPOINT_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_GSM_CHECKPOINT_TYPE_ENUM_START 0 -#define cOCTVC1_GSM_CHECKPOINT_TYPE_ENUM_END 1 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_CHECKPOINT_STATE_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_CHECKPOINT_STATE_ENUM tOCT_UINT32 - -#define cOCTVC1_GSM_CHECKPOINT_STATE_ENUM_OK 0 -#define cOCTVC1_GSM_CHECKPOINT_STATE_ENUM_PROCESSING_ERROR 1 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_SEVERITY_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_MSG_SEVERITY_ENUM tOCT_UINT32 - -#define cOCTVC1_GSM_MSG_SEVERITY_ENUM_INFO 10 -#define cOCTVC1_GSM_MSG_SEVERITY_ENUM_WARNING 20 -#define cOCTVC1_GSM_MSG_SEVERITY_ENUM_ERROR 30 -#define cOCTVC1_GSM_MSG_SEVERITY_ENUM_FATAL 40 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_TRACING_TYPE_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_TRACING_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_DLOM_REQUEST ((tOCT_UINT32)(0x51|cOCTVC1_GSM_REQUEST_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_DLOM_RESPONSE ((tOCT_UINT32)(0x52|cOCTVC1_GSM_RESPONSE_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_DLIM_REQUEST ((tOCT_UINT32)(0x53|cOCTVC1_GSM_REQUEST_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_DLIM_RESPONSE ((tOCT_UINT32)(0x54|cOCTVC1_GSM_RESPONSE_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_ULOM_REQUEST ((tOCT_UINT32)(0x55|cOCTVC1_GSM_REQUEST_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_ULOM_RESPONSE ((tOCT_UINT32)(0x56|cOCTVC1_GSM_RESPONSE_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_REQUEST ((tOCT_UINT32)(0x57|cOCTVC1_GSM_REQUEST_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RESPONSE ((tOCT_UINT32)(0x58|cOCTVC1_GSM_RESPONSE_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RACH_REQUEST ((tOCT_UINT32)(0x59|cOCTVC1_GSM_REQUEST_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RACHM_RESPONSE ((tOCT_UINT32)(0x5A|cOCTVC1_GSM_RESPONSE_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_ULIM_RACHP_RESPONSE ((tOCT_UINT32)(0x5B|cOCTVC1_GSM_RESPONSE_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_SCHEDPARAMS 0x5C -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLOM_REQUEST ((tOCT_UINT32)(0x5D|cOCTVC1_GSM_REQUEST_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLOM_RESPONSE ((tOCT_UINT32)(0x5E|cOCTVC1_GSM_RESPONSE_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLIM_REQUEST ((tOCT_UINT32)(0x5F|cOCTVC1_GSM_REQUEST_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_HSDLIM_RESPONSE ((tOCT_UINT32)(0x60|cOCTVC1_GSM_RESPONSE_INDICATION_FLAG) ) -#define cOCTVC1_GSM_TRACING_TYPE_ENUM_NOTDEFINED 0x7F - -/***************************** NOTIFICATIONS **********************************/ -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT - - Members: - Header - byu2Pad_u6TRXId - byu5Pad_u3TN - usFrameNumberMSW - usFrameNumberLSW --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu5Pad_u3TN; - tOCT_UINT16 usFrameNumberMSW; - tOCT_UINT16 usFrameNumberLSW; - -} tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT - - Members: - Header - byu2Pad_u6TRXId - byu5SAPI_u3Dir - bySubchannelNum - byu5Pad_u3TN - usFrameNumberMSW - usFrameNumberLSW - tMeasurementInfo - usDataFrameLength - ausDataFrameContents --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu5SAPI_u3Dir; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byu5Pad_u3TN; - tOCT_UINT16 usFrameNumberMSW; - tOCT_UINT16 usFrameNumberLSW; - tOCTVC1_GSM_tMEASUREMENT_INFO tMeasurementInfo; - tOCT_UINT16 usDataFrameLength; - tOCT_UINT16 ausDataFrameContents[cOCTVC1_GSM_cSDR_DATA_IND_MAX_DATA_SIZE_WORDS]; - -} tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT - - Members: - Header - byu2Pad_u6TRXId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - -} tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT - - Members: - Header - byu2Pad_u6TRXId - byu3TN_u5SAPI - bySubchannelNum - byPad - usFrameNumberMSW - usFrameNumberLSW --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byu3TN_u5SAPI; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byPad; - tOCT_UINT16 usFrameNumberMSW; - tOCT_UINT16 usFrameNumberLSW; - -} tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT - - Members: - Header - byu2Pad_u6TRXId - byuu3TN_u5SAPI - bySubchannelNum - byBurstType - usFrameNumberMSW - usFrameNumberLSW - tMeasurementInfo - usMessageLength - Range: [0..cOCTVC1_GSM_cSDR_RACH_IND_MAX_MESSAGE_LENGTH_WORDS] - ausMessageContents --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCT_UINT8 byu2Pad_u6TRXId; - tOCT_UINT8 byuu3TN_u5SAPI; - tOCT_UINT8 bySubchannelNum; - tOCT_UINT8 byBurstType; - tOCT_UINT16 usFrameNumberMSW; - tOCT_UINT16 usFrameNumberLSW; - tOCTVC1_GSM_tMEASUREMENT_INFO tMeasurementInfo; - tOCT_UINT16 usMessageLength; - tOCT_UINT16 ausMessageContents[cOCTVC1_GSM_cSDR_RACH_IND_MAX_MESSAGE_LENGTH_WORDS]; - -} tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_ERROR_EVT - - Members: - Header - hProcessUnit - Handle of the object that is sending the event. - ulErrorCode --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - tOCTVC1_GSM_ERR_ENUM ulErrorCode; - -} tOCTVC1_GSM_MSG_MODULE_ERROR_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT - - Members: - Header - hProcessUnit - Handle of the object that is sending the event. - ulMessageCode - ulSeverityLevel --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - tOCTVC1_GSM_2G_MSG_ENUM ulMessageCode; - tOCTVC1_GSM_MSG_SEVERITY_ENUM ulSeverityLevel; - -} tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT - - Members: - Header - OCTVC1 Event Header. - hProcessUnit - Handle of the object that is sending the event. - ulCoreId - The logical core Id, on which the data processing occurs. - ulFrameIndex - Frame index being processed. - ulSlotIndex - Slot index being processed. - ulCheckPointType - Type of checkpoint . - ulProcessUnitType - Type of data or codec processed. - ulState - The status of the actual processing - aulReserved - Reserved for future used. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - tOCT_UINT32 ulCoreId; - tOCT_UINT32 ulFrameIndex; - tOCT_UINT32 ulSlotIndex; - tOCTVC1_GSM_CHECKPOINT_TYPE_ENUM ulCheckPointType; - tOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM ulProcessUnitType; - tOCTVC1_GSM_CHECKPOINT_STATE_ENUM ulState; - tOCT_UINT32 aulReserved[cOCTVC1_GSM_NB_RESERVED]; - -} tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_MODULE_TRACING_EVT - - Members: - Header - OCTVC1 Event Header. - hProcessUnit - Handle of the object that is sending the event. - ulCoreId - The logical core Id, on which the data processing occurs. - ulTraceType - The type of tracing. - ulLastTracePacket - cOCT_FALSE Indicates that more trace packet are to come. - cOCT_TRUE Indicates that the tracing is completed. - ulTraceIndex - This is the tracing packet idx. This is used when tracing are sent into muliple - packets . - ulPayloadSizeBytes - The number of valid data that can be found in abyUnparsedPayload. - abyUnparsedPayload - Ctx structure --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - tOCT_UINT32 ulCoreId; - tOCTVC1_GSM_TRACING_TYPE_ENUM ulTraceType; - tOCT_BOOL32 ulLastTracePacket; - tOCT_UINT32 ulTraceIndex; - tOCT_UINT32 ulPayloadSizeBytes; - tOCT_UINT8 abyUnparsedPayload[cOCTVC1_GSM_TRACING_BUFFER_SIZE]; - -} tOCTVC1_GSM_MSG_MODULE_TRACING_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT - - Members: - Header - hProcessUnit - Handle of the object that is sending the event. - ulErrorCode --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - tOCTVC1_GSM_ERR_ENUM ulErrorCode; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT - - Members: - Header - hProcessUnit - Handle of the object that is sending the event. - ulMessageCode - ulSeverityLevel --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - tOCTVC1_GSM_2G_MSG_ENUM ulMessageCode; - tOCTVC1_GSM_MSG_SEVERITY_ENUM ulSeverityLevel; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT - - Members: - Header - OCTVC1 Event Header. - hProcessUnit - Handle of the object that is sending the event. - ulCoreId - The logical core Id, on which the data processing occurs. - ulFrameIndex - Frame index being processed. - ulSlotIndex - Slot index being processed. - ulCheckPointType - Type of checkpoint . - ulProcessUnitType - Type of data or codec processed. - ulState - The status of the actual processing - aulReserved - Reserved for future used. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - tOCT_UINT32 ulCoreId; - tOCT_UINT32 ulFrameIndex; - tOCT_UINT32 ulSlotIndex; - tOCTVC1_GSM_CHECKPOINT_TYPE_ENUM ulCheckPointType; - tOCTVC1_GSM_PROCESS_UNIT_TYPE_ENUM ulProcessUnitType; - tOCTVC1_GSM_CHECKPOINT_STATE_ENUM ulState; - tOCT_UINT32 aulReserved[cOCTVC1_GSM_NB_RESERVED]; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT - - Members: - Header - OCTVC1 Event Header. - hProcessUnit - Handle of the object that is sending the event. - ulCoreId - The logical core Id, on which the data processing occurs. - ulTraceType - The type of tracing. - ulPayloadSizeBytes - The number of valid data that can be found in abyUnparsedPayload. - abyUnparsedPayload - Ctx structure --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE hProcessUnit; - tOCT_UINT32 ulCoreId; - tOCTVC1_GSM_TRACING_TYPE_ENUM ulTraceType; - tOCT_UINT32 ulPayloadSizeBytes; - tOCT_UINT8 abyUnparsedPayload[cOCTVC1_GSM_TRACING_BUFFER_SIZE]; - -} tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT - - Members: - Header - usTodo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCT_UINT16 usTodo; - -} tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT; - - -#endif /* __OCTVC1_GSM_EVT_H__ */ - diff --git a/software/include/vocallo/gsm/octvc1_gsm_evt_swap.h b/software/include/vocallo/gsm/octvc1_gsm_evt_swap.h deleted file mode 100644 index 040032e..0000000 --- a/software/include/vocallo/gsm/octvc1_gsm_evt_swap.h +++ /dev/null @@ -1,249 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvc1_gsm_evt_swap.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVC1_GSM_EVT_SWAP_H__ -#define __OCTVC1_GSM_EVT_SWAP_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_swap_hdrs.h" -#include "octvc1_gsm_evt.h" - -/********************************* MACROS **********************************/ - - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT * pOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT)->Header ); } \ - ((tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT)->usFrameNumberMSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT)->usFrameNumberMSW); \ - ((tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT)->usFrameNumberLSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT)->usFrameNumberLSW); \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT_SWAP( pOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT * pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->Header ); } \ - ((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->usFrameNumberMSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->usFrameNumberMSW); \ - ((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->usFrameNumberLSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->usFrameNumberLSW); \ - { mOCTVC1_GSM_tMEASUREMENT_INFO_SWAP( &((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->tMeasurementInfo ); } \ - ((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->usDataFrameLength = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->usDataFrameLength); \ - { tOCT_UINT32 iOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT; \ - for( iOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT=0; \ - iOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT<(cOCTVC1_GSM_cSDR_DATA_IND_MAX_DATA_SIZE_WORDS);iOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT++ ) \ - ((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->ausDataFrameContents[iOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT] = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT)->ausDataFrameContents[iOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT]);} \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT_SWAP( pOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT * pOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT *)pOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT)->Header ); } \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT_SWAP( pOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT * pOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT)->Header ); } \ - ((tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT)->usFrameNumberMSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT)->usFrameNumberMSW); \ - ((tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT)->usFrameNumberLSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT)->usFrameNumberLSW); \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT_SWAP( pOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT * pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->Header ); } \ - ((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->usFrameNumberMSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->usFrameNumberMSW); \ - ((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->usFrameNumberLSW = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->usFrameNumberLSW); \ - { mOCTVC1_GSM_tMEASUREMENT_INFO_SWAP( &((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->tMeasurementInfo ); } \ - ((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->usMessageLength = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->usMessageLength); \ - { tOCT_UINT32 iOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT; \ - for( iOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT=0; \ - iOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT<(cOCTVC1_GSM_cSDR_RACH_IND_MAX_MESSAGE_LENGTH_WORDS);iOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT++ ) \ - ((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->ausMessageContents[iOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT] = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT *)pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT)->ausMessageContents[iOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT]);} \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT_SWAP( pOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_ERROR_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_ERROR_EVT * pOCTVC1_GSM_MSG_MODULE_ERROR_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_ERROR_EVT *)pOCTVC1_GSM_MSG_MODULE_ERROR_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_MODULE_ERROR_EVT *)pOCTVC1_GSM_MSG_MODULE_ERROR_EVT)->hProcessUnit ); } \ - ((tOCTVC1_GSM_MSG_MODULE_ERROR_EVT *)pOCTVC1_GSM_MSG_MODULE_ERROR_EVT)->ulErrorCode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_ERROR_EVT *)pOCTVC1_GSM_MSG_MODULE_ERROR_EVT)->ulErrorCode); \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_ERROR_EVT_SWAP( pOCTVC1_GSM_MSG_MODULE_ERROR_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT * pOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT *)pOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT *)pOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT)->hProcessUnit ); } \ - ((tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT *)pOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT)->ulMessageCode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT *)pOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT)->ulMessageCode); \ - ((tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT *)pOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT)->ulSeverityLevel = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT *)pOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT)->ulSeverityLevel); \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT_SWAP( pOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT * pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->hProcessUnit ); } \ - ((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulCoreId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulCoreId); \ - ((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulFrameIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulFrameIndex); \ - ((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulSlotIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulSlotIndex); \ - ((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulCheckPointType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulCheckPointType); \ - ((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulProcessUnitType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulProcessUnitType); \ - ((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulState = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->ulState); \ - { tOCT_UINT32 iOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT; \ - for( iOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT=0; \ - iOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT<(cOCTVC1_GSM_NB_RESERVED);iOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT++ ) \ - ((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->aulReserved[iOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT)->aulReserved[iOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT]);}\ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT_SWAP( pOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_MODULE_TRACING_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_MODULE_TRACING_EVT * pOCTVC1_GSM_MSG_MODULE_TRACING_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->hProcessUnit ); } \ - ((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulCoreId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulCoreId); \ - ((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulTraceType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulTraceType); \ - ((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulLastTracePacket = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulLastTracePacket); \ - ((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulTraceIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulTraceIndex); \ - ((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulPayloadSizeBytes = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_MODULE_TRACING_EVT *)pOCTVC1_GSM_MSG_MODULE_TRACING_EVT)->ulPayloadSizeBytes); \ -} -#else -#define mOCTVC1_GSM_MSG_MODULE_TRACING_EVT_SWAP( pOCTVC1_GSM_MSG_MODULE_TRACING_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT * pOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT)->hProcessUnit ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT)->ulErrorCode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT)->ulErrorCode); \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT * pOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT)->hProcessUnit ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT)->ulMessageCode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT)->ulMessageCode); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT)->ulSeverityLevel = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT)->ulSeverityLevel); \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT * pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->hProcessUnit ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulCoreId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulCoreId); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulFrameIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulFrameIndex); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulSlotIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulSlotIndex); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulCheckPointType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulCheckPointType); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulProcessUnitType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulProcessUnitType); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulState = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->ulState); \ - { tOCT_UINT32 iOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT; \ - for( iOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT=0; \ - iOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT<(cOCTVC1_GSM_NB_RESERVED);iOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT++ ) \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->aulReserved[iOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT)->aulReserved[iOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT]);}\ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT * pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)->hProcessUnit ); } \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)->ulCoreId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)->ulCoreId); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)->ulTraceType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)->ulTraceType); \ - ((tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)->ulPayloadSizeBytes = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT *)pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT)->ulPayloadSizeBytes); \ -} -#else -#define mOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT_SWAP( pOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT_SWAP( _f_pParms ){ tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT * pOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT *)pOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT)->Header ); } \ - ((tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT *)pOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT)->usTodo = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT *)pOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT)->usTodo); \ -} -#else -#define mOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT_SWAP( pOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_GSM_EVT_SWAP_H__ */ diff --git a/software/include/vocallo/gsm/octvc1_gsm_id.h b/software/include/vocallo/gsm/octvc1_gsm_id.h deleted file mode 100644 index c61418b..0000000 --- a/software/include/vocallo/gsm/octvc1_gsm_id.h +++ /dev/null @@ -1,78 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_GSM_ID.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contains the identifiers for the GSM API. - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_GSM_ID_H__ -#define __OCTVC1_GSM_ID_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_base.h" - -/**************************************************************************** - Command IDs - ****************************************************************************/ -#define cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CID ( ( 0x001 + cOCTVC1_GSM_CID_BASE )| cOCTVC1_MSG_NO_RESPONSE_FLAG ) -#define cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CID ( ( 0x002 + cOCTVC1_GSM_CID_BASE )| cOCTVC1_MSG_NO_RESPONSE_FLAG ) -#define cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CID ( 0x003 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CID ( 0x004 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_TRX_STATUS_CID ( 0x005 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CID ( 0x006 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_TRX_RESET_CID ( 0x008 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CID ( 0x009 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CID ( 0x00b + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CID ( 0x00c + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CID ( 0x00d + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CID ( 0x00f + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CID ( 0x011 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_TEST_START_ETSI_CID ( 0x012 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_TEST_START_FCC_CID ( 0x013 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_TEST_END_ETSI_CID ( 0x014 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_TEST_END_FCC_CID ( 0x015 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CID ( 0x021 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_INFO_EVT_CID ( 0x022 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_INFO_CID ( 0x023 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CID ( 0x024 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CID ( 0x025 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_TRX_CONFIGURE_CID ( 0x100 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CID ( 0x106 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CID ( 0x107 + cOCTVC1_GSM_CID_BASE ) -#define cOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CID ( 0x108 + cOCTVC1_GSM_CID_BASE ) - -#define cOCTVC1_GSM_CID_MAX (( 0x108 + 1 ) & 0xFFF) - -/**************************************************************************** - Event IDs - ****************************************************************************/ -#define cOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EID ( 0x0001 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EID ( 0x0002 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EID ( 0x0007 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EID ( 0x000e + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EID ( 0x0016 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EID ( 0x0017 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_ERROR_EID ( 0x0021 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_MESSAGE_EID ( 0x0022 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EID ( 0x0023 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_MODULE_TRACING_EID ( 0x0024 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EID ( 0x0025 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EID ( 0x0026 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EID ( 0x0027 + cOCTVC1_GSM_EID_BASE ) -#define cOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EID ( 0x0028 + cOCTVC1_GSM_EID_BASE ) - -#define cOCTVC1_GSM_EID_MAX (( 0x0028 + 1 ) & 0xFFFF) - - -#endif /* __OCTVC1_GSM_ID_H__ */ - diff --git a/software/include/vocallo/gsm/octvc1_gsm_rc.h b/software/include/vocallo/gsm/octvc1_gsm_rc.h deleted file mode 100644 index 231059a..0000000 --- a/software/include/vocallo/gsm/octvc1_gsm_rc.h +++ /dev/null @@ -1,120 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_GSM_RC.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contains the return codes for the GSM API. - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef OCTVC1_GSM_RC_H__ -#define OCTVC1_GSM_RC_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_base.h" - -/***************************** DATA TYPES *******************************/ - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_ERR_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_ERR_ENUM tOCT_UINT32 - -#define cOCTVC1_GSM_ERR_ENUM_GENERIC_BASE 0x0100 -#define cOCTVC1_GSM_ERR_ENUM_GENERIC_INPUT_FIFO_OVERFLOW ( 0x0000 + cOCTVC1_GSM_ERR_ENUM_GENERIC_BASE ) -#define cOCTVC1_GSM_ERR_ENUM_GENERIC_INVALID_INPUT_PKT_FORMAT ( 0x0002 + cOCTVC1_GSM_ERR_ENUM_GENERIC_BASE ) -#define cOCTVC1_GSM_ERR_ENUM_GENERIC_OUTPUT_FIFO_FULL ( 0x0003 + cOCTVC1_GSM_ERR_ENUM_GENERIC_BASE ) -#define cOCTVC1_GSM_ERR_ENUM_GENERIC_INPUT_FIFO_EMPTY ( 0x0005 + cOCTVC1_GSM_ERR_ENUM_GENERIC_BASE ) - -#define cOCTVC1_GSM_ERR_ENUM_SYSTEM_BASE 0x0200 -#define cOCTVC1_GSM_ERR_ENUM_SYSTEM_BOOT_ERROR ( 0x0001 + cOCTVC1_GSM_ERR_ENUM_SYSTEM_BASE ) /* Unexpected error. */ -#define cOCTVC1_GSM_ERR_ENUM_SYSTEM_EXIT_ERROR ( 0x0001 + cOCTVC1_GSM_ERR_ENUM_SYSTEM_BASE ) /* Unexpected error. */ - -#define cOCTVC1_GSM_ERR_ENUM_DMA_BASE 0x0300 -#define cOCTVC1_GSM_ERR_ENUM_DMA_INIT_ERROR ( 0x0001 + cOCTVC1_GSM_ERR_ENUM_DMA_BASE ) -#define cOCTVC1_GSM_ERR_ENUM_DMA_MODE_ERROR ( 0x0002 + cOCTVC1_GSM_ERR_ENUM_DMA_BASE ) -#define cOCTVC1_GSM_ERR_ENUM_DMA_WRITE_ERROR ( 0x0003 + cOCTVC1_GSM_ERR_ENUM_DMA_BASE ) -#define cOCTVC1_GSM_ERR_ENUM_DMA_READ_ERROR ( 0x0004 + cOCTVC1_GSM_ERR_ENUM_DMA_BASE ) - -#define cOCTVC1_GSM_ERR_ENUM_DOWNLINK_INNER_MODEM_BASE 0x0500 -#define cOCTVC1_GSM_ERR_ENUM_DOWNLINK_INNER_MODEM_INTERNAL_ERROR ( 0x0001 + cOCTVC1_GSM_ERR_ENUM_DOWNLINK_INNER_MODEM_BASE ) /* Unexpected error. */ - -#define cOCTVC1_GSM_ERR_ENUM_DOWNLINK_OUTER_MODEM_BASE 0x0600 -#define cOCTVC1_GSM_ERR_ENUM_DOWNLINK_OUTER_MODEM_INTERNAL_ERROR ( 0x0001 + cOCTVC1_GSM_ERR_ENUM_DOWNLINK_OUTER_MODEM_BASE ) /* Unexpected error. */ - -#define cOCTVC1_GSM_ERR_ENUM_UPLINK_INNER_MODEM_BASE 0x0700 -#define cOCTVC1_GSM_ERR_ENUM_UPLINK_INNER_MODEM_INTERNAL_ERROR ( 0x0001 + cOCTVC1_GSM_ERR_ENUM_UPLINK_INNER_MODEM_BASE ) /* Unexpected error. */ - -#define cOCTVC1_GSM_ERR_ENUM_UPLINK_OUTER_MODEM_BASE 0x0800 -#define cOCTVC1_GSM_ERR_ENUM_UPLINK_OUTER_MODEM_INTERNAL_ERROR ( 0x0001 + cOCTVC1_GSM_ERR_ENUM_UPLINK_OUTER_MODEM_BASE ) /* Unexpected error. */ - -#define cOCTVC1_GSM_ERR_ENUM_RF_INTERFACE_BASE 0x0900 -#define cOCTVC1_GSM_ERR_ENUM_RF_INTERFACE_INTERNAL_ERROR ( 0x0001 + cOCTVC1_GSM_ERR_ENUM_RF_INTERFACE_BASE ) /* Unexpected error. */ - -#define cOCTVC1_GSM_ERR_ENUM_LAST 0x1000 - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_RC : Generic message and commands errors --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_RC tOCT_UINT32 - - -/*------------------------------------------------------------------------------------- - tOCTVC1_GSM_2G_MSG_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_GSM_2G_MSG_ENUM tOCT_UINT32 - -#define cOCTVC1_GSM_2G_MSG_ENUM_INTERNAL_ERROR 0x0001 -#define cOCTVC1_GSM_2G_MSG_ENUM_GENERIC_BASE 0x0100 -#define cOCTVC1_GSM_2G_MSG_ENUM_GENERIC_HELLO_WORLD ( 0x0000 + cOCTVC1_GSM_2G_MSG_ENUM_GENERIC_BASE ) - -#define cOCTVC1_GSM_2G_MSG_ENUM_SPECIFIC_SUBJECT_BASE 0x0200 -#define cOCTVC1_GSM_2G_MSG_ENUM_SPECIFIC_SUBJECT_HELLO_WORLD ( 0x0001 + cOCTVC1_GSM_2G_MSG_ENUM_SPECIFIC_SUBJECT_BASE ) /* Unexpected error. */ - -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE 0x0300 -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_ULIM_READY ( 0x0001 + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The up link inner modem is ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_ULOM_READY ( 0x0002 + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The up link outer modem is ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_DLIM_READY ( 0x0003 + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The down link inner modem is ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_DLOM_READY ( 0x0004 + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The down link outer modem is ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_L1C_READY ( 0x0005 + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The down link outer modem is ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_RACH_READY ( 0x0006 + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The down link outer modem is ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_DL_RFI_READY ( 0x0007 + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The down link radio frequency interface ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_UL_RFI_READY ( 0x0008 + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The up link radio frequency interface ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_HSDLOM_READY ( 0x0009 + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The up link radio frequency interface ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_HSDLIM_READY ( 0x000A + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* The up link radio frequency interface ready to process data. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_MODEM_SETUP_COMPLETED ( 0x000B + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* Indicates that the modem setup is completed. */ -#define cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_CELL_SETUP_COMPLETED ( 0x000C + cOCTVC1_GSM_2G_MSG_ENUM_SYSTEM_BASE ) /* Indicate that the cell setup is completed. */ - -#define cOCTVC1_GSM_2G_MSG_ENUM_ULIM_BASE 0x0400 -#define cOCTVC1_GSM_2G_MSG_ENUM_ULIM_RACH_DETECT ( 0x0001 + cOCTVC1_GSM_2G_MSG_ENUM_ULIM_BASE ) /* Random access channel dectection. */ - -#define cOCTVC1_GSM_2G_MSG_ENUM_LAST 0x1000 - -/**************************************************************************** - GSM return codes - ****************************************************************************/ - -/**************************************************************************** - GENERIC return codes - ****************************************************************************/ -#define cOCTVC1_GSM_GENERIC_RC_BASE ( 0x0100 + cOCTVC1_GSM_RC_BASE ) - -#define cOCTVC1_GSM_RC_GENERIC_EVENT_MASK_INVALID ( 0x0000 + cOCTVC1_GSM_GENERIC_RC_BASE ) - -/**************************************************************************** - Validate return codes - ****************************************************************************/ -#define cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ( 0xF000 + cOCTVC1_GSM_RC_BASE ) - -#define cOCTVC1_GSM_RC_MODULE__INVALID_US_MESSAGE_LENGTH ( 0x1 + cOCTVC1_GSM_AUTO_VALIDATE_RC_BASE ) - -#endif /* OCTVC1_GSM_RC_H__ */ - diff --git a/software/include/vocallo/main/octvc1_main_api.h b/software/include/vocallo/main/octvc1_main_api.h deleted file mode 100644 index ffb74f3..0000000 --- a/software/include/vocallo/main/octvc1_main_api.h +++ /dev/null @@ -1,3264 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_MAIN_API.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contains the definition of the MAIN API. - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_MAIN_API_H__ -#define __OCTVC1_MAIN_API_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../../octdev_types.h" -#include "../../octdev_devices.h" -#include "../octvc1_msg.h" -#include "../octvc1_handle.h" -#include "../octvc1_fifo.h" -#include "../octvc1_buffer.h" -#include "../octvc1_eth.h" -#include "../octvc1_mac.h" -#include "../octvc1_cursor.h" -#include "../octvc1_list.h" -#include "../octvc1_log.h" - -#include "octvc1_main_id.h" -#include "octvc1_main_rc.h" - -/************************ COMMON DEFINITIONS *******************************/ - -#define cOCTVC1_MAIN_MAX_CORE_NUMBER 24 /* Maximum number of core in the chip. */ -#define cOCTVC1_MAIN_SPI_ACCESS_TRANSFER_MAX_LENGTH 16 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM : SPI clock polarity. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM_LOW 0 -#define cOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM_HIGH 1 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM : SPI clock phase. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM_CHIP_SELECT_EDGE 0 -#define cOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM_CLOCK_TRANSITION 1 - -#define cOCTVC1_MAIN_DEVICE_MAX_INFO_BYTE_SIZE 768 /* Device info buffer size, in bytes. */ -#define cOCTVC1_MAIN_USER_MAX_INFO_BYTE_SIZE 512 /* User info buffer size, in bytes. */ -#define cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE 400 /* File commands (read/write) buffer size, in bytes. */ -#define cOCTVC1_MAIN_BUFFER_MAX_DATA_BYTE_SIZE 1024 -#define cOCTVC1_MAIN_TRACING_START_MAX_NUM_BUFFER 4 -#define cOCTVC1_MAIN_API_LICENSING_MAX_STRING_LENGTH 63 /* Maximum length, including trailing zero that a licensed feature or module */ - /* name can have, in bytes. */ - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_LICENSING_CURSOR - - Members: - szFeatureName - NULL terminated name of the feature. - ulGetMode - Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT8 szFeatureName[(cOCTVC1_MAIN_API_LICENSING_MAX_STRING_LENGTH+1)]; - tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; - -} tOCTVC1_MAIN_LICENSING_CURSOR; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM : Licensing feature types. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_FLAG 0x1 -#define cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_COUNT 0x2 -#define cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_MIN 0x3 -#define cOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM_MAX 0x4 - -/*------------------------------------------------------------------------------------- - MAIN API configuration values --------------------------------------------------------------------------------------*/ -#define cOCTVC1_MAIN_FIFO_POOL_ID_MGW_SYSTEM 0 -#define cOCTVC1_MAIN_FIFO_POOL_ID_MGW_ROUTER 1 -#define cOCTVC1_MAIN_FIFO_POOL_ID_MGW_VSP_VOC 4 -#define cOCTVC1_MAIN_ETH_MAX_NUM_PORT 2 -#define cOCTVC1_MAIN_OCT1010_ETH_MAX_NUM_PORT 8 -#define cOCTVC1_MAIN_USER_INFO_SIZE 0x80 - -/*------------------------------------------------------------------------------------- - MAIN API configuration default values. --------------------------------------------------------------------------------------*/ -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_PKT_QUEUES_BYTE_SIZE 1048576 -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_ACCEPT_ALL_MAC cOCT_FALSE -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_ACCEPT_UNICAST cOCT_TRUE -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_ACCEPT_MULTICAST cOCT_TRUE -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_ACCEPT_BAD_CRC_PKT cOCT_FALSE -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_LONG_PKT_FORMAT cOCT_FALSE -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_RESTRICTED_API cOCT_FALSE -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_BROADCAST_FORWARD_PORT cOCTVC1_ETH_PORT_ID_ENUM_INVALID -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_MULTICAST_FORWARD_PORT cOCTVC1_ETH_PORT_ID_ENUM_INVALID -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_UNICAST_FORWARD_PORT cOCTVC1_ETH_PORT_ID_ENUM_INVALID -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_RX_MIRROR_FORWARD_PORT cOCTVC1_ETH_PORT_ID_ENUM_INVALID -#define cOCTVC1_MAIN_DEFAULT_ETH_PORT_ETHERNET_PQ_TCI cOCTVC1_ETH_PORT_ID_ENUM_INVALID - -/*------------------------------------------------------------------------------------- - FIFO default values. --------------------------------------------------------------------------------------*/ -#define cOCTVC1_MAIN_DEFAULT_FIFO_SYSTEM_FIFO_BYTE_SIZE 524288 -#define cOCTVC1_MAIN_DEFAULT_FIFO_ROUTER_FIFO_BYTE_SIZE 196608 -#define cOCTVC1_MAIN_DEFAULT_FIFO_ROUTER_FIFO_LARGE_BYTE_SIZE 1048576 -#define cOCTVC1_MAIN_DEFAULT_FIFO_VSP_VOC_FIFO_BYTE_SIZE 4096 - -/*------------------------------------------------------------------------------------- - GPIO default values. --------------------------------------------------------------------------------------*/ -#define cOCTVC1_MAIN_DEFAULT_GPIO_OUTPUT_VALUE 0x00000000 -#define cOCTVC1_MAIN_DEFAULT_GPIO_TRISTATE_HIGH 0x00000000 -#define cOCTVC1_MAIN_DEFAULT_GPIO_DIRECTION 0x00000000 - -/*------------------------------------------------------------------------------------- - DMA default values. --------------------------------------------------------------------------------------*/ -#define cOCTVC1_MAIN_DEFAULT_DMA_TRACE_ENABLE 0 -#define cOCTVC1_MAIN_DEFAULT_DMA_TRACE_MAX_EVENT 16 -#define cOCTVC1_MAIN_DEFAULT_DMA_TRACE_LAST_EVENT cOCT_TRUE -#define cOCTVC1_MAIN_DEFAULT_DMA_TRACE_CORE_MASK 0x0000 - -/*------------------------------------------------------------------------------------- - MAIN API Object Type. --------------------------------------------------------------------------------------*/ -#define cOCTVC1_MAIN_OBJ_TYPE_DEBUG_FORWARD (0x0001|cOCTVC1_HANDLE_BASE_OBJ_TYPE_MAIN) -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_BOOT_PROGRESS_ENUM : Control process booting progress. - Control process booting progress. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_BOOT_PROGRESS_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_DONE 0x00 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_CONTROL 0x01 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_REMAPPING_CONTROL 0x02 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_ALLOCATING_LOCAL_MEMORY 0x03 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_VALIDATING_LICENSE 0x04 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_PARSING_CONFIG_FILE 0x05 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_CONTROL_FIFO 0x06 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_GPIO 0x07 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_MAIN_API 0x08 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_CPP_API 0x09 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_NET_API 0x0A -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VOC_MANAGEMENT 0x0B -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VID_MANAGEMENT 0x0C -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_TDM_DRIVER_MEMORY 0x0D -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_AF_SERVER_MEMORY 0x0E -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_ALLOCATING_VSPMGR_MEMORY 0x0F -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_ROUTER 0x10 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_SCHEDULER 0x11 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_STARTING_VSPMGR 0x12 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VOC_MEMORY 0x13 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_INITIALIZING_VSPMP_VID_MEMORY 0x14 -#define cOCTVC1_MAIN_BOOT_PROGRESS_ENUM_VALIDATING_SYSTEM_CLOCK 0x15 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_SYSLOG_MSG_ENUM : System log message. - System log message. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_SYSLOG_MSG_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE 0xC0000000 - -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_BASE (0x0000|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_ERROR (0x01|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_FIRMWARE_UPDATE_SUCCESSFUL (0x02|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_VALIDATION_ERROR_LOOPBACK (0x03|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_BOOT_IMAGE_BASE) - -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_BASE (0x0100|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_FILE_NOT_FOUND (0x01|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_INVALID_XML_VERSION (0x02|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_MALFORMED_XML (0x03|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_NO_ETHERNET_PORTS (0x04|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_NO_UNRESTRICTED_ETHERNET_PORTS (0x05|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_INVALID_ETHERNET_PORT_INTERFACE (0x06|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CFG_BASE) - -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE (0x0200|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ETH_PORTS_DEFAULT (0x01|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FATAL_VSP_COMMAND_TIMEOUT (0x02|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FATAL_VSP_COMMAND_SEQUENCE (0x03|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_VSP_CORE_ALLOC (0x04|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_RESET (0x05|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_INIT_DONE (0x06|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) /* Will never be returned. Reserved for internal use. */ -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_EXT_MEM_ALLOC (0x07|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_PROCESS_CREATE (0x08|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_THREAD_CREATE (0x09|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_TOO_MANY_VSP_CHANNELS (0x0A|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ETH_QUEUE_ALLOC (0x0B|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_VSPMGR_ALLOC (0x0C|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_MAIN_ALLOC (0x0D|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_NET_ALLOC (0x0E|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_AF_ALLOC (0x0F|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_TDM_ALLOC (0x10|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FIFO_ALLOC (0x11|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CORE_MONITORING (0x12|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_IO_MONITORING (0x13|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ETH_PORT_MONITORING (0x14|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ROUTER_MONITORING (0x15|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CORE_REMAP (0x16|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_ROUTER_RESOURCES (0x17|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_SCHED_CREATE (0x18|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_TDM_RESET (0x19|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_DIRECTORY_TREE (0x1A|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILURE_RECOVERED (0x1B|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILURE_CORE_DISABLED (0x1C|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CAMERA_DRIVER_CREATE (0x1D|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_CORE_HALTED_AND_DUMPED (0x1E|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILOVER_STARTED (0x1F|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILOVER_SUCCESS (0x20|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_FAILOVER_ERROR (0x21|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_CTRL_BASE) - -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_BASE (0x0300|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_BOOT_IMAGE_UPDATE_DONE (0x01|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_OCT1010ID_UPDATE_DONE (0x02|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_MALFORMED_TARBALL (0x03|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_FS_BASE) - -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LOG_BASE (0x0400|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LOG_RESET (0x01|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LOG_BASE) - -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_BASE (0x0500|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_ARP_MODULE (0x01|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_ND_MODULE (0x02|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_RTCP_TIMER (0x03|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_NET_BASE) - -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_BASE (0x0600|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_MAX_TSST (0x01|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_NO_CLOCK (0x02|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_UNSUPPORTED_CLOCK_SPEED_AUTO_DETECT (0x03|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_INVALID_MODULE_TYPE (0x04|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_TRI_STATE_NOT_SUPPORTED (0x05|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_TDM_BASE) - -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LICENSING_BASE (0x0700|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_SYSLOG_MSG_BASE) -#define cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LICENSING_FORMAT_ERROR (0x01|cOCTVC1_MAIN_SYSLOG_MSG_ENUM_LICENSING_BASE) - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_EVT_MASK : Event generation mask. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_EVT_MASK tOCT_UINT32 - -#define cOCTVC1_MAIN_EVT_MASK_NONE 0 -#define cOCTVC1_MAIN_EVT_MASK_GPIO_CHANGE ((tOCT_UINT32)(1<<0) ) -#define cOCTVC1_MAIN_EVT_MASK_PHY_STATUS ((tOCT_UINT32)(1<<1) ) -#define cOCTVC1_MAIN_EVT_MASK_CORE_STATUS ((tOCT_UINT32)(1<<2) ) -#define cOCTVC1_MAIN_EVT_MASK_PROCESS_CPU_USAGE ((tOCT_UINT32)(1<<3) ) -#define cOCTVC1_MAIN_EVT_MASK_TRACING_BUFFER_FULL ((tOCT_UINT32)(1<<4) ) -#define cOCTVC1_MAIN_EVT_MASK_TRACING_STOP ((tOCT_UINT32)(1<<5) ) -#define cOCTVC1_MAIN_EVT_MASK_REDUNDANCY_SERVER_MGW_FAILOVER_DONE ((tOCT_UINT32)(1<<6) ) - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_THREAD_CPU_USAGE - - Members: - hThread - ulCpuUsagePercent --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 hThread; - tOCT_UINT32 ulCpuUsagePercent; - -} tOCTVC1_MAIN_THREAD_CPU_USAGE; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_PROCESS_TYPE_ENUM : Process utilization type. - Process utilization type. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_PROCESS_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_INVALID 0 -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_CONTROL 1 -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_TDM_DRIVER 2 -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_ROUTER 3 -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_SCHEDULER 4 -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_VSPMGR 5 -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_AF_SRV 6 -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_CAMERA_DRIVER 7 -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_SCHEDULER ((tOCT_UINT32)(1|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_L1C_APAPTATION_LAYER ((tOCT_UINT32)(2|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_RACH ((tOCT_UINT32)(3|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_MASTER ((tOCT_UINT32)(4|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_RFI ((tOCT_UINT32)(5|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_SLAVE ((tOCT_UINT32)(6|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULOM_MASTER ((tOCT_UINT32)(7|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULOM_SLAVE ((tOCT_UINT32)(8|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLIM_MASTER ((tOCT_UINT32)(9|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLIM_SLAVE ((tOCT_UINT32)(10|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLOM_MASTER ((tOCT_UINT32)(11|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_DLOM_SLAVE ((tOCT_UINT32)(12|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_RFI ((tOCT_UINT32)(13|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_ETH ((tOCT_UINT32)(14|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_HSDLOM ((tOCT_UINT32)(15|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_HSDLIM ((tOCT_UINT32)(16|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_3G_ULIM_SSE ((tOCT_UINT32)(18|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_CTRL ((tOCT_UINT32)(17|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_SCHEDULER ((tOCT_UINT32)(19|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_DL ((tOCT_UINT32)(20|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_ULIM ((tOCT_UINT32)(21|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) -#define cOCTVC1_MAIN_PROCESS_TYPE_ENUM_2G_ULOM ((tOCT_UINT32)(22|cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG) ) - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM : Core Status. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_RESET 0 -#define cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_RUNNING 1 -#define cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_HALT 2 -#define cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_TRAP 3 -#define cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_ACCESS_VIOLATION 4 -#define cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_NOT_PRESENT 5 -#define cOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM_FAILURE_DETECTED 6 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM : DEPRECATED as of OCTVOC-1.06.00-PR. Replaced by - tOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM. Refer to the Main API document octvocas5001 - for further information. - Core Status. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_RESET 0 -#define cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_RUNNING 1 -#define cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_HALT 2 -#define cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_TRAP 3 -#define cOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM_ACCESS_VIOLATION 4 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_FAILURE_MASK : Main core failure mask. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_FAILURE_MASK tOCT_UINT32 - -#define cOCTVC1_MAIN_FAILURE_MASK_NONE ((tOCT_UINT32)(0<<0) ) -#define cOCTVC1_MAIN_FAILURE_MASK_MEMORY ((tOCT_UINT32)(1<<0) ) - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_OPUS_CORE_STATUS - - Members: - ulCoreStatus - ulProgramCounter - ulFailureMask - ulAccessViolationAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MAIN_OPUS_CORE_STATUS_ENUM ulCoreStatus; - tOCT_UINT32 ulProgramCounter; - tOCT_UINT32 ulFailureMask; - tOCT_UINT32 ulAccessViolationAddress; - -} tOCTVC1_MAIN_OPUS_CORE_STATUS; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_OCT1010_CORE_STATUS - - Members: - ulCoreStatus - ulProgramCounter - ulAccessViolationAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MAIN_OCT1010_CORE_STATUS_ENUM ulCoreStatus; - tOCT_UINT32 ulProgramCounter; - tOCT_UINT32 ulAccessViolationAddress; - -} tOCTVC1_MAIN_OCT1010_CORE_STATUS; - -#define cOCTVC1_MAIN_PROCESS_IMAGE_NAME_MAX_LENGTH 63 /* Process image string length restriction. */ - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_OPUS_CORE_INFO - - Members: - hProcess - Default: cOCTVC1_HANDLE_INVALID - Process handle identifier. Value INVALID means no process running on this core. - ulPhysicalCoreId - Default: 0 - Physical core index (1..cOCTVC1_MAIN_MAX_CORE_NUMBER). Value 0 means no core is - running for this logical identifier. - ulProcessImageType - Default: cOCTVC1_MAIN_PROCESS_TYPE_ENUM_INVALID - Process Type identifier. Value INVALID means no process running on this core. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 hProcess; - tOCT_UINT32 ulPhysicalCoreId; - tOCTVC1_MAIN_PROCESS_TYPE_ENUM ulProcessImageType; - -} tOCTVC1_MAIN_OPUS_CORE_INFO; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_OCT1010_CORE_INFO - - Members: - hProcess - Default: cOCTVC1_HANDLE_INVALID - Process handle identifier. Value INVALID means no process running on this core. - hThread - Default: cOCTVC1_HANDLE_INVALID - Thread handle identifier.. Value INVALID means no thread running on this core. - ulProcessImageType - Default: cOCTVC1_MAIN_PROCESS_TYPE_ENUM_INVALID - Process Type identifier. Value INVALID means no process running on this core. - szProcessImageName - Name of the process running on the core. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 hProcess; - tOCT_UINT32 hThread; - tOCTVC1_MAIN_PROCESS_TYPE_ENUM ulProcessImageType; - tOCT_UINT8 szProcessImageName[(cOCTVC1_MAIN_PROCESS_IMAGE_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */ - -} tOCTVC1_MAIN_OCT1010_CORE_INFO; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM : TDM stream frequency. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_2MHZ 0 -#define cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_4MHZ 1 -#define cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_8MHZ 2 -#define cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_16MHZ 3 -#define cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_RESERVED 4 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM : Ethernet port interface type. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_INVALID 0xFFFFFFFF -#define cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES0 0 -#define cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES1 1 -#define cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES2 2 -#define cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_SERDES3 3 -#define cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_ETH0 4 -#define cOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM_ETH1 5 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_ETH_PORT_MODE_ENUM : Ethernet port mode. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_ETH_PORT_MODE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_INVALID 0xFFFFFFFF -#define cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_MII_10 0 -#define cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_MII_100 1 -#define cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_RMII_100 2 -#define cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_GMII_1000 3 -#define cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_RGMII_1000 4 -#define cOCTVC1_MAIN_ETH_PORT_MODE_ENUM_SGMII_1000 5 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_ETH_MODE_ENUM : Ethernet port mode of operation. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_ETH_MODE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_ETH_MODE_ENUM_INVALID 0xFFFFFFFF -#define cOCTVC1_MAIN_ETH_MODE_ENUM_MII 0 -#define cOCTVC1_MAIN_ETH_MODE_ENUM_RMII 1 -#define cOCTVC1_MAIN_ETH_MODE_ENUM_GMII 2 -#define cOCTVC1_MAIN_ETH_MODE_ENUM_RGMII 3 -#define cOCTVC1_MAIN_ETH_MODE_ENUM_SGMII 4 - -#define cOCTVC1_MAIN_ETH_PORT_PHY_ADDRESS_INVALID 63 /* Invalid Phy Address */ - /* This definition indicates that either no PHY is present or */ - /* that communication with the phy is not allowed. */ - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC - - Members: - ulEthPortEnableFlag - Default: cOCTVC1_DO_NOT_MODIFY - MacAddress - ulAcceptAllMacFlag - Default: cOCTVC1_DO_NOT_MODIFY - ulAcceptUnicastFlag - Default: cOCTVC1_DO_NOT_MODIFY - ulAcceptMulticastFlag - Default: cOCTVC1_DO_NOT_MODIFY - ulAcceptBadCrcPktFlag - Default: cOCTVC1_DO_NOT_MODIFY - ulAcceptLongPktFormatFlag - Default: cOCTVC1_DO_NOT_MODIFY - ulBroadcastForwardPort - Default: cOCTVC1_DO_NOT_MODIFY - ulMulticastForwardPort - Default: cOCTVC1_DO_NOT_MODIFY - ulUnicastForwardPort - Default: cOCTVC1_DO_NOT_MODIFY - ulRxMirrorForwardPort - Default: cOCTVC1_DO_NOT_MODIFY - ulRestrictedApiFlag - Default: cOCTVC1_DO_NOT_MODIFY --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_BOOL32 ulEthPortEnableFlag; - tOCTVC1_MAC_ADDRESS MacAddress; - tOCT_BOOL32 ulAcceptAllMacFlag; - tOCT_BOOL32 ulAcceptUnicastFlag; - tOCT_BOOL32 ulAcceptMulticastFlag; - tOCT_BOOL32 ulAcceptBadCrcPktFlag; - tOCT_BOOL32 ulAcceptLongPktFormatFlag; - tOCTVC1_ETH_PORT_ID_ENUM ulBroadcastForwardPort; - tOCTVC1_ETH_PORT_ID_ENUM ulMulticastForwardPort; - tOCTVC1_ETH_PORT_ID_ENUM ulUnicastForwardPort; - tOCTVC1_ETH_PORT_ID_ENUM ulRxMirrorForwardPort; - tOCT_BOOL32 ulRestrictedApiFlag; - -} tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC - - Members: - ulInterfaceType - ulMode - ulSpeed - ulFullDuplexFlag - ulPhyAddress - ulPktQueuesByteSize --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MAIN_ETH_PORT_INTERFACE_TYPE_ENUM ulInterfaceType; - tOCTVC1_MAIN_ETH_MODE_ENUM ulMode; - tOCT_UINT32 ulSpeed; - tOCT_BOOL32 ulFullDuplexFlag; - tOCT_UINT32 ulPhyAddress; - tOCT_UINT32 ulPktQueuesByteSize; - -} tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_ETH_PORT_STATS - - Members: - ulRxPktErrorCnt - Number of times Ethernet port detected packets with the RX_ER signal set during - reception. Note that an odd number of nibbles will also lead to this error. - NOTE: available on OCT1010 only. - ulRxOddNibbleCnt - Number of times Ethernet port detected packets with an odd number of nibbles. A - packet may have an odd number of preamble nibbles. - NOTE: available on OCT1010 only - ulRxCrcErrorCnt - Number of times the Ethernet port detected packets with an invalid Cyclic - Redundancy Check (CRC). - ulRxSfdAbsentCnt - Number of times Ethernet port detected packets without a Start Frame Delimiter - (SFD) byte. - NOTE: available on OCT1010 only - ulRxShortFrameCnt - Number of times Ethernet port detected packets that were too short. A packet - must be at least 64 bytes long (from MACs to CRC). - ulRxLongFrameCnt - Number of times Ethernet port detected packets that were too long. A packet - must be no more than 1536 bytes long (from MACs to CRC) if - ulAcceptLongPktFormatFlag = '0', and no more than 2044 bytes if - ulAcceptLongPktFormatFlag = '1'. - ulRxFalseCarrierCnt - Number of times Ethernet port detected false carrier event - NOTE: available on OCT1010 only - ulTxFalseCarrierCnt - Number of frames aborted due to no carrier or loss of carrier - NOTE: not available on OCT1010. - ulRxMemOverflowCnt - Number of times Ethernet port detected an overflow in the Rx packet flow. If an - overflow occurs, the packet is dropped and not written to the Rx external - memory packet queue. - ulRxBufferOverflowCnt - Number of times Ethernet port detected that Rx buffer has overflowed. This - should never happen. If this occurs,it means the module has halted all packet - processing in both the Rx and Tx directions. - NOTE: available on OCT1010 only - ulRxPauseFrameCnt - Number of times Ethernet port detected a PAUSE frame. - ulTxPauseFrameCnt - Number of times Ethernet port sent a PAUSE frame. - ulTxMemChecksum - Number of times Ethernet port detected a packet read from the Tx external - memory packet queue with an invalid checksum. If this occurs,it means the - module has halted all packet processing in both the Rx and Tx directions. - NOTE: available on OCT1010 only - ulTxBufferUnderflowCnt - Number of times the Ethernet port detected the Tx buffer has underflowed. - NOTE: If this occurs on OCT1010,it means the module has halted all packet - processing in both the Rx and Tx directions. - ulDefaultMacAddressUsedFlag - DEPRECATED as of OCTVOC-2.01.00-PR. - Indicate that the FPGA use the default locally administrated MAC address. '0' - indicate a MAC address as been assigned to the module and '1' indicate the - module use the FPGA default mac (02:0c:90:ff:ff:xx). - ulTxLateCollisionCnt - Number of frames aborted due to late collision error. - NOTE: not available on OCT1010. - ulTxExcessCollisionCnt - Number of frames aborted due to excessive collision errors. - NOTE: not available on OCT1010. - ulTxExcessDeferralCnt - Number of frames aborted due to excessive deferral error. - NOTE: not available on OCT1010. - ulRxAlignmentErrorCnt - Number of frames received with alignment (dribble) error. Valid only in 10/100 - mode. - NOTE: not available on OCT1010. - ulRxJabberErrorCnt - Number of giant frames received with length (including CRC) greater than 1,518 - bytes (1,522 bytes for VLAN tagged) and with CRC error. - NOTE: not available on OCT1010. - ulRxLengthErrorCnt - Number of frames received with length error (Length type field does not equal - frame size), for all frames with valid length field. - NOTE: not available on OCT1010. - ulRxOutOfRangeTypeCnt - Number of frames received with length field not equal to the valid frame size - (greater than 1,500 but less than 1,536). - NOTE: not available on OCT1010. - ulRxWatchdogErrorCnt - Number of frames dropped due to a watchdog timeout. Frames larger than 2,048 - bytes will be aborted due to the watchdog time-out. - NOTE: not available on OCT1010. - ulRxIPv4HeaderErrorCnt - Number of IPv4 datagrams received with header errors. - NOTE: not available on OCT1010. - ulRxIPv6HeaderErrorCnt - Number of IPv6 datagrams received with header errors. - NOTE: not available on OCT1010. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 ulRxPktErrorCnt; - tOCT_UINT32 ulRxOddNibbleCnt; - tOCT_UINT32 ulRxCrcErrorCnt; - tOCT_UINT32 ulRxSfdAbsentCnt; - tOCT_UINT32 ulRxShortFrameCnt; - tOCT_UINT32 ulRxLongFrameCnt; - tOCT_UINT32 ulRxFalseCarrierCnt; - tOCT_UINT32 ulTxFalseCarrierCnt; - tOCT_UINT32 ulRxMemOverflowCnt; - tOCT_UINT32 ulRxBufferOverflowCnt; - tOCT_UINT32 ulRxPauseFrameCnt; - tOCT_UINT32 ulTxPauseFrameCnt; - tOCT_UINT32 ulTxMemChecksum; - tOCT_UINT32 ulTxBufferUnderflowCnt; - tOCT_BOOL32 ulDefaultMacAddressUsedFlag; - tOCT_UINT32 ulTxLateCollisionCnt; - tOCT_UINT32 ulTxExcessCollisionCnt; - tOCT_UINT32 ulTxExcessDeferralCnt; - tOCT_UINT32 ulRxAlignmentErrorCnt; - tOCT_UINT32 ulRxJabberErrorCnt; - tOCT_UINT32 ulRxLengthErrorCnt; - tOCT_UINT32 ulRxOutOfRangeTypeCnt; - tOCT_UINT32 ulRxWatchdogErrorCnt; - tOCT_UINT32 ulRxIPv4HeaderErrorCnt; - tOCT_UINT32 ulRxIPv6HeaderErrorCnt; - -} tOCTVC1_MAIN_ETH_PORT_STATS; - -#define cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH 127 /* Filesystem string length restriction. */ - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR - - Members: - szFileName - NULL terminated name of the file. - ulGetMode - Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; - -} tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_FILE_OPEN_MODE_MASK : API command/response arguments file modes. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_FILE_OPEN_MODE_MASK tOCT_UINT32 - -#define cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_READ 0x1 -#define cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_WRITE 0x2 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_LOG_ENTRY - - Members: - ulLogSeqNumber - ulLogTimestamp - ulLogReserved0 - ulLogReserved1 - achLogMsg --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 ulLogSeqNumber; - tOCT_UINT32 ulLogTimestamp; - tOCT_UINT32 ulLogReserved0; - tOCT_UINT32 ulLogReserved1; - tOCT_UINT8 achLogMsg[48]; - -} tOCTVC1_MAIN_LOG_ENTRY; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_OPUS_CORE_MASK : Octasic Opus Core Mask. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_OPUS_CORE_MASK tOCT_UINT32 - -#define cOCTVC1_MAIN_OPUS_CORE_MASK_1 ((tOCT_UINT32)(1<<1) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_2 ((tOCT_UINT32)(1<<2) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_3 ((tOCT_UINT32)(1<<3) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_4 ((tOCT_UINT32)(1<<4) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_5 ((tOCT_UINT32)(1<<5) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_6 ((tOCT_UINT32)(1<<6) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_7 ((tOCT_UINT32)(1<<7) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_8 ((tOCT_UINT32)(1<<8) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_9 ((tOCT_UINT32)(1<<9) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_10 ((tOCT_UINT32)(1<<10) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_11 ((tOCT_UINT32)(1<<11) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_12 ((tOCT_UINT32)(1<<12) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_13 ((tOCT_UINT32)(1<<13) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_14 ((tOCT_UINT32)(1<<14) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_15 ((tOCT_UINT32)(1<<15) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_16 ((tOCT_UINT32)(1<<16) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_17 ((tOCT_UINT32)(1<<17) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_18 ((tOCT_UINT32)(1<<18) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_19 ((tOCT_UINT32)(1<<19) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_20 ((tOCT_UINT32)(1<<20) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_21 ((tOCT_UINT32)(1<<21) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_22 ((tOCT_UINT32)(1<<22) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_23 ((tOCT_UINT32)(1<<23) ) -#define cOCTVC1_MAIN_OPUS_CORE_MASK_24 ((tOCT_UINT32)(1<<24) ) - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_OCT1010_CORE_MASK : OCT1010 Core Mask. - DEPRECATED as of OCTVOC-1.06.00-PR. Replaced by tOCTVC1_MAIN_OPUS_CORE_MASK. - Refer to the Main API document octvocas5001 for further information. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_OCT1010_CORE_MASK tOCT_UINT32 - -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_1 ((tOCT_UINT32)(1<<1) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_2 ((tOCT_UINT32)(1<<2) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_3 ((tOCT_UINT32)(1<<3) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_4 ((tOCT_UINT32)(1<<4) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_5 ((tOCT_UINT32)(1<<5) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_6 ((tOCT_UINT32)(1<<6) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_7 ((tOCT_UINT32)(1<<7) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_8 ((tOCT_UINT32)(1<<8) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_9 ((tOCT_UINT32)(1<<9) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_10 ((tOCT_UINT32)(1<<10) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_11 ((tOCT_UINT32)(1<<11) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_12 ((tOCT_UINT32)(1<<12) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_13 ((tOCT_UINT32)(1<<13) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_14 ((tOCT_UINT32)(1<<14) ) -#define cOCTVC1_MAIN_OCT1010_CORE_MASK_15 ((tOCT_UINT32)(1<<15) ) - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_TRACING_MODE_ENUM : Tracing mode. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_TRACING_MODE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_TRACING_MODE_ENUM_NORMAL ((tOCT_UINT32)(1<<0) ) -#define cOCTVC1_MAIN_TRACING_MODE_ENUM_WRAP ((tOCT_UINT32)(1<<1) ) -#define cOCTVC1_MAIN_TRACING_MODE_ENUM_AUTO_WRAP ((tOCT_UINT32)(1<<2) ) - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_TRACING_TYPE_ENUM : Tracing data type. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_TRACING_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_TRACING_TYPE_ENUM_CONTROL_ONLY 0x1 -#define cOCTVC1_MAIN_TRACING_TYPE_ENUM_HEADER 0x2 -#define cOCTVC1_MAIN_TRACING_TYPE_ENUM_ALL 0x3 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM : Current state of redundancy server. - See tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM_STOPPED 0 -#define cOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM_STARTED 1 -#define cOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM_FAILOVER_EXECUTED 2 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM : Status of the failover. Invalid means no failover requested. - See tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM_NONE 0 -#define cOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM_SUCCESS 1 -#define cOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM_ERROR 2 - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_LOG_TRACE_STATE_ENUM : Log Trace state. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_LOG_TRACE_STATE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_STOP 0 -#define cOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_START 1 - - - -#define cOCTVC1_MAIN_MAX_VSPMGR_THREADS 21 /* Maximum number of VSP Mgr threads that can be started by one command. */ -#define cOCTVC1_MAIN_SDR_PROCESS_TYPE_FLAG 0x0020 -#define cOCTVC1_MAIN_INVALID_TSST 0xFFFFFFFF /* MAIN API Invalid TSST definition. */ - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_FILE_CURSOR - - Members: - szFileName - NULL terminated name of the file. - ulGetMode - Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; - -} tOCTVC1_MAIN_FILE_CURSOR; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_FILE_SEEK_ENUM : File seek mode. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_FILE_SEEK_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_FILE_SEEK_ENUM_SET 0x0 -#define cOCTVC1_MAIN_FILE_SEEK_ENUM_CUR 0x1 -#define cOCTVC1_MAIN_FILE_SEEK_ENUM_END 0x2 - -/*------------------------------------------------------------------------------------- - MAIN API configuration values --------------------------------------------------------------------------------------*/ -#define cOCTVC1_MAIN_FIFO_POOL_ID_MGW_SDR_PU 16 - -/*------------------------------------------------------------------------------------- - TDM frame. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_TDM_FRAME_ACTIVE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_TDM_FRAME_ACTIVE_ENUM_LOW 0 -#define cOCTVC1_MAIN_TDM_FRAME_ACTIVE_ENUM_HIGH 1 - -/*------------------------------------------------------------------------------------- - TDM sample. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_TDM_SAMPLE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_TDM_SAMPLE_ENUM_AT_FALLING_EDGE 0 -#define cOCTVC1_MAIN_TDM_SAMPLE_ENUM_AT_RISING_EDGE 1 - -/*------------------------------------------------------------------------------------- - TDM disabled frame: --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_TDM_DISABLED_FRAME_SOURCE_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_TDM_DISABLED_FRAME_SOURCE_ENUM_INTERNAL 0 /* Generate frame internally. */ -#define cOCTVC1_MAIN_TDM_DISABLED_FRAME_SOURCE_ENUM_EXTERNAL 1 /* Receive externally frame signal. */ - -/*------------------------------------------------------------------------------------- - TDM data resolution: --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_TDM_DATA_RESOLUTION_ENUM tOCT_UINT32 - -#define cOCTVC1_MAIN_TDM_DATA_RESOLUTION_ENUM_8_BITS_PER_SAMPLE 0 /* Each sample from the TDM is 8 bits. */ -#define cOCTVC1_MAIN_TDM_DATA_RESOLUTION_ENUM_16_BITS_PER_SAMPLE 1 /* Each sample from the TDM is 16 bits. */ - -/*------------------------------------------------------------------------------------- - TDM default values. --------------------------------------------------------------------------------------*/ -#define cOCTVC1_MAIN_DEFAULT_TDM_FRAME_POLARITY cOCTVC1_MAIN_TDM_FRAME_ACTIVE_ENUM_LOW -#define cOCTVC1_MAIN_DEFAULT_TDM_FRAME_SAMPLING_MODE cOCTVC1_MAIN_TDM_SAMPLE_ENUM_AT_RISING_EDGE -#define cOCTVC1_MAIN_DEFAULT_TDM_DATA_SAMPLING_MODE cOCTVC1_MAIN_TDM_SAMPLE_ENUM_AT_FALLING_EDGE -#define cOCTVC1_MAIN_DEFAULT_TDM_NUM_STREAM 4 -#define cOCTVC1_MAIN_DEFAULT_TDM_BUS_SPEED cOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM_8MHZ -#define cOCTVC1_MAIN_DEFAULT_TDM_DISABLED_FRAME_SOURCE cOCTVC1_MAIN_TDM_DISABLED_FRAME_SOURCE_ENUM_INTERNAL -#define cOCTVC1_MAIN_DEFAULT_TDM_FROM_TSST_BUFFER_SIZE_MS 70 -#define cOCTVC1_MAIN_DEFAULT_TDM_TO_TSST_BUFFER_SIZE_MS 130 -#define cOCTVC1_MAIN_DEFAULT_TDM_TO_BIT_OFFSET 0 -#define cOCTVC1_MAIN_DEFAULT_TDM_FROM_BIT_OFFSET 0 -#define cOCTVC1_MAIN_DEFAULT_TDM_DRIVER_ENABLE cOCT_TRUE -#define cOCTVC1_MAIN_DEFAULT_TDM_OUTPUT_ENABLE cOCT_TRUE -#define cOCTVC1_MAIN_DEFAULT_TDM_DATA_RESOLUTION cOCTVC1_MAIN_TDM_DATA_RESOLUTION_ENUM_8_BITS_PER_SAMPLE - -/*------------------------------------------------------------------------------------- - Generic default values. --------------------------------------------------------------------------------------*/ -#define cOCTVC1_MAIN_DEFAULT_SCHED_VSP_ENABLE cOCT_FALSE -#define cOCTVC1_MAIN_DEFAULT_ADAPTIVE_FILTER_ENABLE cOCT_FALSE - -/***************************** METHODS *************************************/ -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD - - Members: - Header - OCTVC1 Message Header - hForward - Debug Forward Object Handle --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hForward; - -} tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP - - Members: - Header - OCTVC1 Message Header - hForward - Debug Forward Object Handle --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hForward; - -} tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - -} tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - -} tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEVICE_RESET_CMD - NOTE: This command is only valid as of OCTVOC-1.06.00-PR. Be aware that older - versions will return an error (invalid command ID) when this command is - received. - Older versions (pre OCTVOC-1.06.00-PR) must be reset using the - cOCTVC1_MAIN_MSG_OCT1010_RESET_CID command. - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_DEVICE_RESET_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEVICE_RESET_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_DEVICE_RESET_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEVICE_INFO_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_DEVICE_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ulDeviceType - Octasic Device type - abyDeviceInfo - abyUserInfo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTDEV_DEVICES_TYPE_ENUM ulDeviceType; - tOCT_UINT8 abyDeviceInfo[cOCTVC1_MAIN_DEVICE_MAX_INFO_BYTE_SIZE]; - tOCT_UINT8 abyUserInfo[cOCTVC1_MAIN_USER_MAX_INFO_BYTE_SIZE]; - -} tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP - - Members: - Header - OCTVC1 Message Header - aCoreStatus --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_OPUS_CORE_STATUS aCoreStatus[cOCTVC1_MAIN_MAX_CORE_NUMBER]; - -} tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP - - Members: - Header - OCTVC1 Message Header - aCoreInfo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_OPUS_CORE_INFO aCoreInfo[cOCTVC1_MAIN_MAX_CORE_NUMBER]; - -} tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD - This command starts the redundancy server within the Vocallo MGW. It transforms - an active MGW to a backup MGW (by default, a MGW boots in active mode). - Multiple redundant MGWs can be added to and removed from this server. - Note that once a redundancy server is started, all resources necessary for - VSPMP VOC, VPSMP VID, NET and CPP are disabled and reused for redundancy. - Hence, all commands from these APIs are ignored if transmitted directly to the - server. - - Members: - Header - OCTVC1 Message Header - ulMaxNumServerMgw - Range: [1..] - Default: 2 - Number of redundant MGWs supported by this server. - Cannot be higher then the ulMaxNumSystemMgw returned by - cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CID. - ulForceApiResourceCleanUpFlag - Default: cOCT_FALSE - If set to cOCT_TRUE, will force the execution of a - cOCTVC1_MAIN_MSG_MODULE_CLEANUP_API_RESOURCE_CID on the active MGW, with the - ulMainBufferFlag, ulVspMpPlaylistFlag, ulVspMpUserToneFlag, - ulMainDebugForwardFlag and ulCppForwardObjFlag flags set to cOCT_FALSE. - If set to cOCT_FALSE, the cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CID will - fail if there are any opened object on the acitve MGW, except for - ulMainNumBufferOpened, ulVspMpNumPlaylistOpened, ulVspMpNumUserToneOpened or - ulCppNumForwardObjOpened from the cOCTVC1_MAIN_MSG_MODULE_GET_API_RESOURCE_CID. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulMaxNumServerMgw; - tOCT_BOOL32 ulForceApiResourceCleanUpFlag; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CMD - This command stops the redundancy server within the backup Vocallo MGW. - Note: this command will remove all redundant MGWs in the redundancy server. - Once the redundancy server stopped, all resources necessary for VSPMP VOC, - VPSMP VID, NET and CPP are re-enabled. - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CMD - This command retrieves the current redundancy server configuration parameters. - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ulMaxNumSystemMgw - Maximum number of redundant MGW supported by this system. - This indicates the maximum value of the ulServerMaxMgwCnt in the - cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CID. - ulMaxNumServerMgw - Maximum number of redundant MGW supported by this server. - Value of the ulServerMaxMgwCnt used the - cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CID, 0 if the redundancy server is not - started. - ulMgwCnt - Current number of redundant MGW added in this server, 0 if the redundancy - server is not started. - State - Current state of redundancy server. - hFailoverMgw - Redundant MGW identifier used for failover. - Set to cOCTVC1_HANDLE_INVALID if no failover performed. - In other words, set to cOCTVC1_HANDLE_INVALID when FailoverStatus is INVALID - FailoverStatus - Status of the failover. Invalid means no failover requested. - ulFailoverReturnCode - First cOCTVC1_RC that occured while executing the failover. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulMaxNumSystemMgw; - tOCT_UINT32 ulMaxNumServerMgw; - tOCT_UINT32 ulMgwCnt; - tOCTVC1_MAIN_REDUNDANCY_SERVER_STATE_ENUM State; - tOCTVC1_HANDLE_OBJECT hFailoverMgw; - tOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM FailoverStatus; - tOCT_UINT32 ulFailoverReturnCode; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD - This command adds a redundant MGW to the server. - The response returns hMgw, the identifier for the redundant MGW. This - identifier corresponds to the Destination FIFO Identifier described in the the - Vocallo API Messaging Interface [2]. - In the Vocallo Packets Transport API Library [9] implementation, the - Destination FIFO Identifier corresponds to the - tOCTVC1_PKT_API_SESS_OPEN_PARMS.ulControlProcessFifoId. - Every API command transmitted to the redundant MGW must have its Destination - FIFO Identifier set to the value of hMgw returned in the response. - - Members: - Header - OCTVC1 Message Header - hMgw - Default: cOCTVC1_HANDLE_INVALID - Redundant MGW identifier and control FIFO identifier (ulControlProcessFifoId in - the tOCTVC1_PKT_API_SESS_OPEN_PARMS) used to reach the redundancy API session. - To allocate an auto-assigned Redundant MGW identifier, set this field to - cOCTVC1_HANDLE_INVALID. - To force an Redundant MGW identifier, set this field to an unused value between - 1 and ulServerMaxMgwCnt inclusively. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hMgw; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP - - Members: - Header - OCTVC1 Message Header - hMgw - Redundant MGW identifier and control FIFO identifier (ulControlProcessFifoId) - used to reach the redundant MGW. - An API command must be sent to this FIFO ID in order to affect the redundant - MGW maintained by this session. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hMgw; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD - This command removes a redundant MGW. The redundant MGW’s resources are freed. - - Members: - Header - OCTVC1 Message Header - hMgw - Default: cOCTVC1_HANDLE_INVALID - Redundant MGW identifier and control FIFO identifier used to reach the - redundant MGW. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hMgw; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP - - Members: - Header - OCTVC1 Message Header - hMgw - Redundant MGW identifier and control FIFO identifier used to reach the - redundant MGW. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hMgw; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD - This command returns the list of added redundant MGWs. - - Members: - Header - OCTVC1 Message Header - ObjectCursor - Object cursor --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP - - Members: - Header - OCTVC1 Message Header - ObjectCursor - Object cursor - ObjectList - Object List structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; - tOCTVC1_LIST_HANDLE_OBJECT_GET ObjectList; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD - This command retrieves the redundant MGW configuration parameters. - - Members: - Header - OCTVC1 Message Header - hMgw - Redundant MGW identifier and control FIFO identifier used to reach the - redundant MGW. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hMgw; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP - - Members: - Header - OCTVC1 Message Header - hMgw - Redundant MGW identifier and control FIFO identifier used to reach the - redundant MGW. - FailoverStatus - Status of the failover for Redundant MGW. Invalid means no failover requested. - ulFailoverReturnCode - First cOCTVC1_RC that occured while executing the failover. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hMgw; - tOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM FailoverStatus; - tOCT_UINT32 ulFailoverReturnCode; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_OPEN_CMD - - Members: - Header - OCTVC1 Message Header - szFileName - Null-Terminated file name string. - ulAccessMode - Default: cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_READ --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - tOCTVC1_MAIN_FILE_OPEN_MODE_MASK ulAccessMode; - -} tOCTVC1_MAIN_MSG_FILE_OPEN_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_OPEN_RSP - - Members: - Header - OCTVC1 Message Header - hFile --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hFile; - -} tOCTVC1_MAIN_MSG_FILE_OPEN_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD - - Members: - Header - OCTVC1 Message Header - hFile - Default: cOCTVC1_HANDLE_INVALID --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hFile; - -} tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_CLOSE_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_FILE_CLOSE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD - - Members: - Header - OCTVC1 Message Header - szFileName - Null-Terminated file name string. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - -} tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP - - Members: - Header - OCTVC1 Message Header - szFileName - Null-Terminated file name string. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - -} tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_WRITE_CMD - - Members: - Header - OCTVC1 Message Header - hFile - Default: cOCTVC1_HANDLE_INVALID - ulNumByteToWrite - Default: 1 - abyData --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hFile; - tOCT_UINT32 ulNumByteToWrite; - tOCT_UINT8 abyData[cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE]; - -} tOCTVC1_MAIN_MSG_FILE_WRITE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_WRITE_RSP - - Members: - Header - OCTVC1 Message Header - ulNumByteWritten --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulNumByteWritten; - -} tOCTVC1_MAIN_MSG_FILE_WRITE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_READ_CMD - - Members: - Header - OCTVC1 Message Header - hFile - Default: cOCTVC1_HANDLE_INVALID - ulMaxNumByteToRead - Default: cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hFile; - tOCT_UINT32 ulMaxNumByteToRead; - -} tOCTVC1_MAIN_MSG_FILE_READ_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_READ_RSP - - Members: - Header - OCTVC1 Message Header - ulNumByteRead - abyData --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulNumByteRead; - tOCT_UINT8 abyData[cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE]; - -} tOCTVC1_MAIN_MSG_FILE_READ_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_INFO_CMD - - Members: - Header - OCTVC1 Message Header - hFile - Default: cOCTVC1_HANDLE_INVALID --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hFile; - -} tOCTVC1_MAIN_MSG_FILE_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_INFO_RSP - - Members: - Header - OCTVC1 Message Header - hFile - szFileName - Null-Terminated file name string. - ulAccessMode --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hFile; - tOCT_UINT8 szFileName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - tOCTVC1_MAIN_FILE_OPEN_MODE_MASK ulAccessMode; - -} tOCTVC1_MAIN_MSG_FILE_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_LIST_CMD - List the cmd that are monitored - - Members: - Header - OCTVC1 Message Header - ObjectCursor - Object cursor --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; - -} tOCTVC1_MAIN_MSG_FILE_LIST_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_LIST_RSP - - Members: - Header - OCTVC1 Message Header - ObjectCursor - Object cursor - ObjectList - Object List structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; - tOCTVC1_LIST_HANDLE_OBJECT_GET ObjectList; - -} tOCTVC1_MAIN_MSG_FILE_LIST_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ulMaxFileEntry --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulMaxFileEntry; - -} tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD - - Members: - Header - OCTVC1 Message Header - ObjectGet --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR ObjectGet; - -} tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP - - Members: - Header - OCTVC1 Message Header - ObjectGet - ulAccessMode --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR ObjectGet; - tOCTVC1_MAIN_FILE_OPEN_MODE_MASK ulAccessMode; - -} tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD - - Members: - Header - OCTVC1 Message Header - ulGetNewestFlag - Default: cOCT_TRUE --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_BOOL32 ulGetNewestFlag; - -} tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP - - Members: - Header - OCTVC1 Message Header - ulNumLogEntry - aLogEntry --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulNumLogEntry; - tOCTVC1_MAIN_LOG_ENTRY aLogEntry[5]; - -} tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_LOG_ERASE_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_LOG_ERASE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_LOG_ERASE_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_LOG_ERASE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_LICENSING_CURSOR ObjectGet; - -} tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. - ulFeatureType - ulManagedFlag - Whether the feature is managed by the licensing module or not. If set to - cOCT_TRUE, - the licensing module is responsible for enforcing the specified feature usage. - If set to cOCT_FALSE, the process(es) using the feature is responsible for - implementing - its own enforcement. - ulLicenseValue - Interpretation depends on feature type specified in ulFeatureType parameter: - FLAG: 0 or 1, whether the feature is allowed or not. - COUNT: Maximum number of times the feature can be used. - MIN: Absolute minimum value allowed for this feature. - MAX: Absolute maximum value allowed for this feature. - ulCurrentCount - If feature is of type "COUNT" and is "MANAGED" by the licensing server - (parameter fManaged - set to cOCT_TRUE), this value will indicate the current usage of the feature. - Otherwise - this field will be set to 0. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_LICENSING_CURSOR ObjectGet; - tOCTVC1_MAIN_API_LICENSING_FEATURE_TYPE_ENUM ulFeatureType; - tOCT_BOOL32 ulManagedFlag; - tOCT_UINT32 ulLicenseValue; - tOCT_UINT32 ulCurrentCount; - -} tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_RESET_CMD - DEPRECATED as of OCTVOC-1.06.00-PR. Replaced by - cOCTVC1_MAIN_MSG_DEVICE_RESET_CID. Refer to the Main API document octvocas5001 - for further information. - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_OCT1010_RESET_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_RESET_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_OCT1010_RESET_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_INFO_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_OCT1010_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ulOCT1010VersionId - szOCT1010Version - ulSerialNumber - ulProjectNumber - aOCT1010MacAddress - ulOCT1010IDVersionId - szOCT1010IDVersion - ulTdmNumStream - ulTdmStreamFrequency - aMacAddress - aulUserInfo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulOCT1010VersionId; - tOCT_UINT8 szOCT1010Version[24]; - tOCT_UINT32 ulSerialNumber; - tOCT_UINT32 ulProjectNumber; - tOCTVC1_MAC_ADDRESS aOCT1010MacAddress[cOCTVC1_MAIN_OCT1010_ETH_MAX_NUM_PORT]; - tOCT_UINT32 ulOCT1010IDVersionId; - tOCT_UINT8 szOCT1010IDVersion[24]; - tOCT_UINT32 ulTdmNumStream; - tOCTVC1_MAIN_TDM_STREAM_FREQ_ENUM ulTdmStreamFrequency; - tOCTVC1_MAC_ADDRESS aMacAddress[cOCTVC1_MAIN_ETH_MAX_NUM_PORT]; - tOCT_UINT32 aulUserInfo[cOCTVC1_MAIN_USER_INFO_SIZE];/* NOSWAPMAC */ - -} tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_ETH_STATS_CMD - - Members: - Header - OCTVC1 Message Header - ulResetStatsFlag - Default: cOCT_FALSE - Statistics counters will be reset to zero after the current values are returned. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_BOOL32 ulResetStatsFlag; - -} tOCTVC1_MAIN_MSG_ETH_STATS_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_ETH_STATS_RSP - - Members: - Header - OCTVC1 Message Header - aStats --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_ETH_PORT_STATS aStats[cOCTVC1_MAIN_ETH_MAX_NUM_PORT]; - -} tOCTVC1_MAIN_MSG_ETH_STATS_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP - - Members: - Header - OCTVC1 Message Header - aDynamic - aStatic --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC aDynamic[cOCTVC1_MAIN_ETH_MAX_NUM_PORT]; - tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC aStatic[cOCTVC1_MAIN_ETH_MAX_NUM_PORT]; - -} tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD - - Members: - Header - OCTVC1 Message Header - aDynamic --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC aDynamic[cOCTVC1_MAIN_ETH_MAX_NUM_PORT]; - -} tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REGISTER_READ_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_REGISTER_READ_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REGISTER_READ_RSP - - Members: - Header - OCTVC1 Message Header - ulTdmTimestampReg - TDM Timestamp register. - ulNanoSecondCounterReg - NanoSecond timer register. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulTdmTimestampReg; - tOCT_UINT32 ulNanoSecondCounterReg; - -} tOCTVC1_MAIN_MSG_REGISTER_READ_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP - - Members: - Header - OCTVC1 Message Header - ulOct1010IdType - OCT1010ID type value. - szOct1010IdType - OCT1010ID type, in string format ("octfxxx"). - ulTdmOutputEnableSupportFlag - Whether enabling and disabling the TDM output of the OCT1010ID is supported. - ulTdmOutputEnableDeviceFlag - Whether the TDM output of the OCT1010ID is currently active. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulOct1010IdType; - tOCT_INT8 szOct1010IdType[16]; - tOCT_BOOL32 ulTdmOutputEnableSupportFlag; - tOCT_BOOL32 ulTdmOutputEnableDeviceFlag; - -} tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CMD - DEPRECATED as of OCTVOC-1.06.00-PR. Replaced by - cOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CID. Refer to the Main API document - octvocas5001 for further information. - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP - - Members: - Header - OCTVC1 Message Header - aCoreStatus --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_OCT1010_CORE_STATUS aCoreStatus[cOCTDEV_DEVICES_OCT1010_MAX_CORE_NUMBER]; - -} tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CMD - DEPRECATED as of OCTVOC-1.06.00-PR. Replaced by - cOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CID. Refer to the Main API document - octvocas5001 for further information. - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP - - Members: - Header - OCTVC1 Message Header - aCoreInfo --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_OCT1010_CORE_INFO aCoreInfo[cOCTDEV_DEVICES_OCT1010_MAX_CORE_NUMBER]; - -} tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD - - Members: - Header - OCTVC1 Message Header - ulBank - ulDirection - ulTriStateHigh --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulBank; - tOCT_UINT32 ulDirection; - tOCT_UINT32 ulTriStateHigh; - -} tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP - - Members: - Header - OCTVC1 Message Header - ulBank --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulBank; - -} tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD - - Members: - Header - OCTVC1 Message Header - ulBank --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulBank; - -} tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP - - Members: - Header - OCTVC1 Message Header - ulBank - ulValue --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulBank; - tOCT_UINT32 ulValue; - -} tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD - - Members: - Header - OCTVC1 Message Header - ulBank - ulValue --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulBank; - tOCT_UINT32 ulValue; - -} tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP - - Members: - Header - OCTVC1 Message Header - ulBank --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulBank; - -} tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD - - Members: - Header - OCTVC1 Message Header - ulChipSelectPin - Default: 0x00000000 - ulClockPin - Default: 0x00000000 - ulDataOutPin - Default: 0x00000000 - ulDataInPin - Default: 0x00000000 - ulDivider - Default: 0x3E - ulSlaveSelectId - Default: 0 - ulClockFrequency - Default: 1000000 - ulClockPolarity - Default: cOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM_HIGH - ulClockPhase - Default: cOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM_CLOCK_TRANSITION - ulReadByteCnt - Default: 0 - ulWriteByteCnt - Default: 0 - aulWriteData --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulChipSelectPin; - tOCT_UINT32 ulClockPin; - tOCT_UINT32 ulDataOutPin; - tOCT_UINT32 ulDataInPin; - tOCT_UINT32 ulDivider; - tOCT_UINT32 ulSlaveSelectId; - tOCT_UINT32 ulClockFrequency; - tOCTVC1_MAIN_SPI_CLOCK_POLARITY_ENUM ulClockPolarity; - tOCTVC1_MAIN_SPI_CLOCK_PHASE_ENUM ulClockPhase; - tOCT_UINT32 ulReadByteCnt; - tOCT_UINT32 ulWriteByteCnt; - tOCT_UINT32 aulWriteData[cOCTVC1_MAIN_SPI_ACCESS_TRANSFER_MAX_LENGTH]; - -} tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP - - Members: - Header - OCTVC1 Message Header - aulReadData --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 aulReadData[cOCTVC1_MAIN_SPI_ACCESS_TRANSFER_MAX_LENGTH]; - -} tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD - - Members: - Header - OCTVC1 Message Header - ObjectCursor - Object cursor --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; - -} tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP - - Members: - Header - OCTVC1 Message Header - ObjectCursor - Object cursor - ObjectList - Object List structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; - tOCTVC1_LIST_HANDLE_OBJECT_GET ObjectList; - -} tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD - - Members: - Header - OCTVC1 Message Header - hProcess - Default: cOCTVC1_HANDLE_INVALID - Process handle identifier. Typically retrieved using the - cOCTVC1_MAIN_MSG_DEVICE_INFO_CID command. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 hProcess; - -} tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP - - Members: - Header - OCTVC1 Message Header - hProcess - szProcessImageName - Name of the process. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 hProcess; - tOCT_UINT8 szProcessImageName[(cOCTVC1_MAIN_PROCESS_IMAGE_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */ - -} tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD - - Members: - Header - OCTVC1 Message Header - ulPhyAddress - ulRegisterAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulPhyAddress; - tOCT_UINT32 ulRegisterAddress; - -} tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP - - Members: - Header - OCTVC1 Message Header - ulPhyAddress - ulReadData --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulPhyAddress; - tOCT_UINT32 ulReadData; - -} tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD - - Members: - Header - OCTVC1 Message Header - ulPhyAddress - ulRegisterAddress - ulWriteData --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulPhyAddress; - tOCT_UINT32 ulRegisterAddress; - tOCT_UINT32 ulWriteData; - -} tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP - - Members: - Header - OCTVC1 Message Header - ulPhyAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulPhyAddress; - -} tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD - - Members: - Header - OCTVC1 Message Header - ulEventMask - ulUserEventId - hEventDestObj - Destination Object handle - ulEventDestObjPort - Destination packet port to bind. - ulEventDestObjFifoId - Destination object FIFO ID. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_EVT_MASK ulEventMask; - tOCT_UINT32 ulUserEventId; - tOCTVC1_HANDLE hEventDestObj; - tOCT_UINT32 ulEventDestObjPort; - tOCT_UINT32 ulEventDestObjFifoId; - -} tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD - - Members: - Header - OCTVC1 Message Header - ulBank - ulMonitor --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulBank; - tOCT_UINT32 ulMonitor; - -} tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP - - Members: - Header - OCTVC1 Message Header - ulBank --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulBank; - -} tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD - - Members: - Header - OCTVC1 Message Header - aulPhyAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 aulPhyAddress[2]; - -} tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP - - Members: - Header - OCTVC1 Message Header - aulPhyAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 aulPhyAddress[2]; - -} tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD - - Members: - Header - OCTVC1 Message Header - hProcess - Default: 1 - ulAlarmThresholdHighPercent - ulAlarmThresholdLowPercent --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 hProcess; - tOCT_UINT32 ulAlarmThresholdHighPercent; - tOCT_UINT32 ulAlarmThresholdLowPercent; - -} tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP - - Members: - Header - OCTVC1 Message Header - hProcess - ulProcessImageType - Process Type identifier. Value INVALID means no process running on this core. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 hProcess; - tOCTVC1_MAIN_PROCESS_TYPE_ENUM ulProcessImageType; - -} tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD - - Members: - Header - OCTVC1 Message Header - hProcess - Default: 1 --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 hProcess; - -} tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP - - Members: - Header - OCTVC1 Message Header - hProcess - ulProcessImageType - Process Type identifier. Value INVALID means no process running on this core. - ulAlarmThresholdHighPercent - Current threshold value configured to monitor High increasing CPU usage. - ulAlarmThresholdLowPercent - Current threshold value configured to monitor Low decreasing CPU usage. - ulProcessCpuUsagePercent - Current Process CPU usage value, expressed as a percentage. - ulProcessCpuUsageMinPercent - Minimal Process CPU usage value, since last - cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID command. - ulProcessCpuUsageMaxPercent - Minimal Process CPU usage value, since last - cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID command. - ulNumThread - Number of active threads, which also represents the number of cores allocated - to this process. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 hProcess; - tOCTVC1_MAIN_PROCESS_TYPE_ENUM ulProcessImageType; - tOCT_UINT32 ulAlarmThresholdHighPercent; - tOCT_UINT32 ulAlarmThresholdLowPercent; - tOCT_UINT32 ulProcessCpuUsagePercent; - tOCT_UINT32 ulProcessCpuUsageMinPercent; - tOCT_UINT32 ulProcessCpuUsageMaxPercent; - tOCT_UINT32 ulNumThread; - -} tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD - - Members: - Header - OCTVC1 Message Header - ulFormat - Default: cOCTVC1_BUFFER_FORMAT_ENUM_UNKNOWN - Format of the content to be stored in the buffer. - ulByteLength - Range: [..] - Default: 8192 - Size, in bytes, requested for the new buffer. Depending on the buffer format, a - different minimum length may be used. - szBufferName - Array of bytes containing the name of the new buffer. - The buffer name can be up to cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH characters long, - excluding the terminating NULL character. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_BUFFER_FORMAT_ENUM ulFormat; - tOCT_UINT32 ulByteLength; - tOCT_UINT8 szBufferName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - -} tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP - - Members: - Header - OCTVC1 Message Header - hBuffer - Unique Object Identifier. - ulAllocatedByteLength - Range: [..] - Size, in bytes, allocated for the new buffer. - The size may have been rounded up in order to make sure it is a multiple of 16 - bytes. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - tOCT_UINT32 ulAllocatedByteLength; - -} tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD - - Members: - Header - OCTVC1 Message Header - szBufferName - Array of bytes containing the name of the buffer. - The buffer name can be up to cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH characters long, - excluding the terminating NULL character. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT8 szBufferName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - -} tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP - - Members: - Header - OCTVC1 Message Header - hBuffer - Unique Object Identifier. - ulFormat - Format of the content to be stored in the buffer. - szBufferName - Array of bytes containing the name of the buffer. - The buffer name can be up to cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH characters long, - excluding the terminating NULL character. - ulUsedByteLength - Size, in bytes, of the information containeds in the buffer. - ulAllocatedByteLength - Size, in bytes, allocated for the buffer. - ulDependencyCount - Number of resources currently using this buffer. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - tOCTVC1_BUFFER_FORMAT_ENUM ulFormat; - tOCT_UINT8 szBufferName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - tOCT_UINT32 ulUsedByteLength; - tOCT_UINT32 ulAllocatedByteLength; - tOCT_UINT32 ulDependencyCount; - -} tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD - - Members: - Header - OCTVC1 Message Header - hBuffer - Default: cOCTVC1_HANDLE_INVALID - Unique Object Identifier. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - -} tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP - - Members: - Header - OCTVC1 Message Header - hBuffer - Unique Object Identifier. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - -} tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD - - Members: - Header - OCTVC1 Message Header - hBuffer - Default: cOCTVC1_HANDLE_INVALID - Unique Object Identifier. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - -} tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP - - Members: - Header - OCTVC1 Message Header - hBuffer - Unique Object Identifier. - ulFormat - Format of the content to be stored in the buffer. - szBufferName - Array of bytes containing the name of the buffer. - The buffer name can be up to cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH characters long, - excluding the terminating NULL character. - ulUsedByteLength - Size, in bytes, of the information containeds in the buffer. - ulAllocatedByteLength - Size, in bytes, allocated for the buffer. - ulDependencyCount - Number of resources currently using this buffer. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - tOCTVC1_BUFFER_FORMAT_ENUM ulFormat; - tOCT_UINT8 szBufferName[(cOCTVC1_MAIN_FILE_NAME_MAX_LENGTH+1)]; - tOCT_UINT32 ulUsedByteLength; - tOCT_UINT32 ulAllocatedByteLength; - tOCT_UINT32 ulDependencyCount; - -} tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD - - Members: - Header - OCTVC1 Message Header - ObjectCursor - Object cursor --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; - -} tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP - - Members: - Header - OCTVC1 Message Header - ObjectCursor - Object cursor - ObjectList - Object List structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor; - tOCTVC1_LIST_HANDLE_OBJECT_GET ObjectList; - -} tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD - - Members: - Header - OCTVC1 Message Header - hBuffer - Default: cOCTVC1_HANDLE_INVALID - Unique Object Identifier. - ulFormat - Default: cOCTVC1_DO_NOT_MODIFY - Format of the content to be stored in the buffer. - ulUsedByteSize - Default: cOCTVC1_DO_NOT_MODIFY - Size, in bytes, of the information contained in the buffer. - Setting this parameter to zero resets the content of the buffer. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - tOCTVC1_BUFFER_FORMAT_ENUM ulFormat; - tOCT_UINT32 ulUsedByteSize; - -} tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP - - Members: - Header - OCTVC1 Message Header - hBuffer - Unique Object Identifier. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - -} tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD - - Members: - Header - OCTVC1 Message Header - hBuffer - Default: cOCTVC1_HANDLE_INVALID - Unique Object Identifier. - ulWriteByteLength - Range: [..] - Default: 0 - Number of bytes in abyWriteData to write to the buffer. - The length must be a multiple of 16 bytes. - ulWriteByteOffset - Range: [..] - Default: 0 - Offset within the buffer where abyWriteData must be written. - The offset must be a multiple of 16 bytes. - abyWriteData - Array of bytes containing the data to write to the buffer. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - tOCT_UINT32 ulWriteByteLength; - tOCT_UINT32 ulWriteByteOffset; - tOCT_UINT8 abyWriteData[cOCTVC1_MAIN_BUFFER_MAX_DATA_BYTE_SIZE]; - -} tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP - - Members: - Header - OCTVC1 Message Header - hBuffer - Unique Object Identifier. - ulNumByteWritten - Number of bytes successfully written to the buffer. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - tOCT_UINT32 ulNumByteWritten; - -} tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_READ_CMD - - Members: - Header - OCTVC1 Message Header - hBuffer - Default: cOCTVC1_HANDLE_INVALID - Unique Object Identifier. - ulMaxReadByteLength - Range: [..] - Default: cOCTVC1_MAIN_BUFFER_MAX_DATA_BYTE_SIZE - Maximum number of bytes to read from the buffer. - The length must be a multiple of 16 bytes. - ulReadByteOffset - Range: [..] - Default: 0 - Offset within the buffer where the first byte to read is located. - The offset must be a multiple of 16 bytes. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - tOCT_UINT32 ulMaxReadByteLength; - tOCT_UINT32 ulReadByteOffset; - -} tOCTVC1_MAIN_MSG_BUFFER_READ_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_BUFFER_READ_RSP - - Members: - Header - OCTVC1 Message Header - hBuffer - Unique Object Identifier. - ulDoneFlag - This flag indicates if the end of the buffer has been reached. - cOCT_TRUE: No more data can be read from the buffer, the end of the buffer has - been reached. - cOCT_FALSE: More data can be read from the buffer. - ulNumByteRead - Number of bytes successfully read from the buffer. - abyData - Array of bytes containing the data read from the buffer. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hBuffer; - tOCT_BOOL32 ulDoneFlag; - tOCT_UINT32 ulNumByteRead; - tOCT_UINT8 abyData[cOCTVC1_MAIN_BUFFER_MAX_DATA_BYTE_SIZE]; - -} tOCTVC1_MAIN_MSG_BUFFER_READ_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD - - Members: - Header - OCTVC1 Message Header - ulTracingMode - Default: cOCTVC1_MAIN_TRACING_MODE_ENUM_NORMAL - Tracing mode to use. - ulTracingType - Default: cOCTVC1_MAIN_TRACING_TYPE_ENUM_ALL - Type of payload to trace. - ulNumBuffer - Default: 1 - Number of buffer identifier provide for the tracing mechanism. - aBufferId - Array of unique Object Identifier. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_TRACING_MODE_ENUM ulTracingMode; - tOCTVC1_MAIN_TRACING_TYPE_ENUM ulTracingType; - tOCT_UINT32 ulNumBuffer; - tOCTVC1_HANDLE_OBJECT aBufferId[cOCTVC1_MAIN_TRACING_START_MAX_NUM_BUFFER]; - -} tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_START_TRACING_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_MODULE_START_TRACING_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_RSP - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD - - Members: - Header - OCTVC1 Message Header - hDestObj - Destination Object handle - ulDestObjPort - Destination packet port to bind. - ulDestObjFifoId - Default: cOCTVC1_FIFO_ID_INVALID - Destination object FIFO ID. - DestMacAddress - Mac Address of the Vocallo port of the destination object - SrcMacAddress - Mac Address of the Vocallo port of the source object, only effective if - the destination Mac Address is not equal to 0 --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hDestObj; - tOCT_UINT32 ulDestObjPort; - tOCT_UINT32 ulDestObjFifoId; - tOCTVC1_MAC_ADDRESS DestMacAddress; - tOCTVC1_MAC_ADDRESS SrcMacAddress; - -} tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP - - Members: - Header - OCTVC1 Message Header - hForward - Debug Forward Object Handle - ulFifoId - Fifo ID used to reach the Debug Forward object. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hForward; - tOCT_UINT32 ulFifoId; - -} tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CMD - - Members: - Header - OCTVC1 Message Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - -} tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP - - Members: - Header - OCTVC1 Message Header - ulEventMask - ulUserEventId - hEventDestObj - Destination Object handle - ulEventDestObjPort - Destination packet port to bind. - ulEventDestObjFifoId - Destination object FIFO ID. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_MAIN_EVT_MASK ulEventMask; - tOCT_UINT32 ulUserEventId; - tOCTVC1_HANDLE hEventDestObj; - tOCT_UINT32 ulEventDestObjPort; - tOCT_UINT32 ulEventDestObjFifoId; - -} tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD - This command initiates a failover on one of the redundant MGWs. - During a failover, MGW resource contexts and control FIFOs are destroyed. - The backup MGW sends an event once the failover is completed to inform the host - of the result of the failover. Once failover done, the backup MGW becomes an - active MGW. - - Members: - Header - OCTVC1 Message Header - hMgw - Default: cOCTVC1_HANDLE_INVALID - Redundant MGW identifier and control FIFO identifier used to reach the - redundant MGW. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hMgw; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP - - Members: - Header - OCTVC1 Message Header - hMgw - Default: cOCTVC1_HANDLE_INVALID - Redundant MGW identifier and control FIFO identifier used to reach the - redundant MGW. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE_OBJECT hMgw; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD - - Members: - Header - OCTVC1 Message Header - ulResetStatsFlag - Default: cOCT_FALSE - Statistics counters will be reset to zero after the current values are returned. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_BOOL32 ulResetStatsFlag; - -} tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP - - Members: - Header - OCTVC1 Message Header - ulOCT1010MonitorNumber - OCT1010 monitoring value. - ulTdmCpyOutOfBandwidthCnt - Number of time TDM out of bandwidth ROL is detected. TDM out of bandwidth ROL - is detected when mclk frequency is too slow to transfer all available data from - H100 SYNC fifos to TDMCPY module. - ulTdmTxTimeslotPtrOutOfSyncCnt - Number of time TDM pointer desynchronisation has occurred on the TDM bus. - ulTdmTimestampIncrementErrorCnt - Number of time a problem has occurred with the OCT1010 Timestamp Increment - command. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulOCT1010MonitorNumber; - tOCT_UINT32 ulTdmCpyOutOfBandwidthCnt; - tOCT_UINT32 ulTdmTxTimeslotPtrOutOfSyncCnt; - tOCT_UINT32 ulTdmTimestampIncrementErrorCnt; - -} tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD - - Members: - Header - OCTVC1 Message Header - ulResetStatsFlag - Default: cOCT_FALSE - Statistics counters will be reset to zero after the current values are returned. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_BOOL32 ulResetStatsFlag; - -} tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP - - Members: - Header - OCTVC1 Message Header - ulOCT2200MonitorNumber - OCT1010 monitoring value. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_UINT32 ulOCT2200MonitorNumber; - -} tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP; - - -/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ -#include "octvc1_main_evt.h" - -#ifdef cDO_PRAGMA_PACK_POP -#pragma pack( pop ) -#endif /* cDO_PRAGMA_PACK_POP */ -#undef cDO_PRAGMA_PACK_POP - -#endif /* __OCTVC1_MAIN_API_H__ */ - diff --git a/software/include/vocallo/main/octvc1_main_api_swap.h b/software/include/vocallo/main/octvc1_main_api_swap.h deleted file mode 100644 index 81e79c7..0000000 --- a/software/include/vocallo/main/octvc1_main_api_swap.h +++ /dev/null @@ -1,1628 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvc1_main_api_swap.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVC1_MAIN_API_SWAP_H__ -#define __OCTVC1_MAIN_API_SWAP_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_swap_hdrs.h" -#include "octvc1_main_api.h" - -/********************************* MACROS **********************************/ - - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_LICENSING_CURSOR_SWAP( _f_pParms ){ tOCTVC1_MAIN_LICENSING_CURSOR * pOCTVC1_MAIN_LICENSING_CURSOR = (_f_pParms); \ - ((tOCTVC1_MAIN_LICENSING_CURSOR *)pOCTVC1_MAIN_LICENSING_CURSOR)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LICENSING_CURSOR *)pOCTVC1_MAIN_LICENSING_CURSOR)->ulGetMode); \ -} -#else -#define mOCTVC1_MAIN_LICENSING_CURSOR_SWAP( pOCTVC1_MAIN_LICENSING_CURSOR ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_THREAD_CPU_USAGE_SWAP( _f_pParms ){ tOCTVC1_MAIN_THREAD_CPU_USAGE * pOCTVC1_MAIN_THREAD_CPU_USAGE = (_f_pParms); \ - ((tOCTVC1_MAIN_THREAD_CPU_USAGE *)pOCTVC1_MAIN_THREAD_CPU_USAGE)->hThread = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_THREAD_CPU_USAGE *)pOCTVC1_MAIN_THREAD_CPU_USAGE)->hThread); \ - ((tOCTVC1_MAIN_THREAD_CPU_USAGE *)pOCTVC1_MAIN_THREAD_CPU_USAGE)->ulCpuUsagePercent = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_THREAD_CPU_USAGE *)pOCTVC1_MAIN_THREAD_CPU_USAGE)->ulCpuUsagePercent); \ -} -#else -#define mOCTVC1_MAIN_THREAD_CPU_USAGE_SWAP( pOCTVC1_MAIN_THREAD_CPU_USAGE ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_OPUS_CORE_STATUS_SWAP( _f_pParms ){ tOCTVC1_MAIN_OPUS_CORE_STATUS * pOCTVC1_MAIN_OPUS_CORE_STATUS = (_f_pParms); \ - ((tOCTVC1_MAIN_OPUS_CORE_STATUS *)pOCTVC1_MAIN_OPUS_CORE_STATUS)->ulCoreStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OPUS_CORE_STATUS *)pOCTVC1_MAIN_OPUS_CORE_STATUS)->ulCoreStatus); \ - ((tOCTVC1_MAIN_OPUS_CORE_STATUS *)pOCTVC1_MAIN_OPUS_CORE_STATUS)->ulProgramCounter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OPUS_CORE_STATUS *)pOCTVC1_MAIN_OPUS_CORE_STATUS)->ulProgramCounter); \ - ((tOCTVC1_MAIN_OPUS_CORE_STATUS *)pOCTVC1_MAIN_OPUS_CORE_STATUS)->ulFailureMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OPUS_CORE_STATUS *)pOCTVC1_MAIN_OPUS_CORE_STATUS)->ulFailureMask); \ - ((tOCTVC1_MAIN_OPUS_CORE_STATUS *)pOCTVC1_MAIN_OPUS_CORE_STATUS)->ulAccessViolationAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OPUS_CORE_STATUS *)pOCTVC1_MAIN_OPUS_CORE_STATUS)->ulAccessViolationAddress); \ -} -#else -#define mOCTVC1_MAIN_OPUS_CORE_STATUS_SWAP( pOCTVC1_MAIN_OPUS_CORE_STATUS ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_OCT1010_CORE_STATUS_SWAP( _f_pParms ){ tOCTVC1_MAIN_OCT1010_CORE_STATUS * pOCTVC1_MAIN_OCT1010_CORE_STATUS = (_f_pParms); \ - ((tOCTVC1_MAIN_OCT1010_CORE_STATUS *)pOCTVC1_MAIN_OCT1010_CORE_STATUS)->ulCoreStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OCT1010_CORE_STATUS *)pOCTVC1_MAIN_OCT1010_CORE_STATUS)->ulCoreStatus); \ - ((tOCTVC1_MAIN_OCT1010_CORE_STATUS *)pOCTVC1_MAIN_OCT1010_CORE_STATUS)->ulProgramCounter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OCT1010_CORE_STATUS *)pOCTVC1_MAIN_OCT1010_CORE_STATUS)->ulProgramCounter); \ - ((tOCTVC1_MAIN_OCT1010_CORE_STATUS *)pOCTVC1_MAIN_OCT1010_CORE_STATUS)->ulAccessViolationAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OCT1010_CORE_STATUS *)pOCTVC1_MAIN_OCT1010_CORE_STATUS)->ulAccessViolationAddress); \ -} -#else -#define mOCTVC1_MAIN_OCT1010_CORE_STATUS_SWAP( pOCTVC1_MAIN_OCT1010_CORE_STATUS ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_OPUS_CORE_INFO_SWAP( _f_pParms ){ tOCTVC1_MAIN_OPUS_CORE_INFO * pOCTVC1_MAIN_OPUS_CORE_INFO = (_f_pParms); \ - ((tOCTVC1_MAIN_OPUS_CORE_INFO *)pOCTVC1_MAIN_OPUS_CORE_INFO)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OPUS_CORE_INFO *)pOCTVC1_MAIN_OPUS_CORE_INFO)->hProcess); \ - ((tOCTVC1_MAIN_OPUS_CORE_INFO *)pOCTVC1_MAIN_OPUS_CORE_INFO)->ulPhysicalCoreId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OPUS_CORE_INFO *)pOCTVC1_MAIN_OPUS_CORE_INFO)->ulPhysicalCoreId); \ - ((tOCTVC1_MAIN_OPUS_CORE_INFO *)pOCTVC1_MAIN_OPUS_CORE_INFO)->ulProcessImageType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OPUS_CORE_INFO *)pOCTVC1_MAIN_OPUS_CORE_INFO)->ulProcessImageType); \ -} -#else -#define mOCTVC1_MAIN_OPUS_CORE_INFO_SWAP( pOCTVC1_MAIN_OPUS_CORE_INFO ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_OCT1010_CORE_INFO_SWAP( _f_pParms ){ tOCTVC1_MAIN_OCT1010_CORE_INFO * pOCTVC1_MAIN_OCT1010_CORE_INFO = (_f_pParms); \ - ((tOCTVC1_MAIN_OCT1010_CORE_INFO *)pOCTVC1_MAIN_OCT1010_CORE_INFO)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OCT1010_CORE_INFO *)pOCTVC1_MAIN_OCT1010_CORE_INFO)->hProcess); \ - ((tOCTVC1_MAIN_OCT1010_CORE_INFO *)pOCTVC1_MAIN_OCT1010_CORE_INFO)->hThread = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OCT1010_CORE_INFO *)pOCTVC1_MAIN_OCT1010_CORE_INFO)->hThread); \ - ((tOCTVC1_MAIN_OCT1010_CORE_INFO *)pOCTVC1_MAIN_OCT1010_CORE_INFO)->ulProcessImageType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_OCT1010_CORE_INFO *)pOCTVC1_MAIN_OCT1010_CORE_INFO)->ulProcessImageType); \ -} -#else -#define mOCTVC1_MAIN_OCT1010_CORE_INFO_SWAP( pOCTVC1_MAIN_OCT1010_CORE_INFO ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC_SWAP( _f_pParms ){ tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC * pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC = (_f_pParms); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulEthPortEnableFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulEthPortEnableFlag); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptAllMacFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptAllMacFlag); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptUnicastFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptUnicastFlag); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptMulticastFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptMulticastFlag); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptBadCrcPktFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptBadCrcPktFlag); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptLongPktFormatFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulAcceptLongPktFormatFlag); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulBroadcastForwardPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulBroadcastForwardPort); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulMulticastForwardPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulMulticastForwardPort); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulUnicastForwardPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulUnicastForwardPort); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulRxMirrorForwardPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulRxMirrorForwardPort); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulRestrictedApiFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC)->ulRestrictedApiFlag); \ -} -#else -#define mOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC_SWAP( pOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC_SWAP( _f_pParms ){ tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC * pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC = (_f_pParms); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulInterfaceType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulInterfaceType); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulMode); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulSpeed = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulSpeed); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulFullDuplexFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulFullDuplexFlag); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulPhyAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulPhyAddress); \ - ((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulPktQueuesByteSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC *)pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC)->ulPktQueuesByteSize); \ -} -#else -#define mOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC_SWAP( pOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_ETH_PORT_STATS_SWAP( _f_pParms ){ tOCTVC1_MAIN_ETH_PORT_STATS * pOCTVC1_MAIN_ETH_PORT_STATS = (_f_pParms); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxPktErrorCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxPktErrorCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxOddNibbleCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxOddNibbleCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxCrcErrorCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxCrcErrorCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxSfdAbsentCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxSfdAbsentCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxShortFrameCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxShortFrameCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxLongFrameCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxLongFrameCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxFalseCarrierCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxFalseCarrierCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxFalseCarrierCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxFalseCarrierCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxMemOverflowCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxMemOverflowCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxBufferOverflowCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxBufferOverflowCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxPauseFrameCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxPauseFrameCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxPauseFrameCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxPauseFrameCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxMemChecksum = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxMemChecksum); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxBufferUnderflowCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxBufferUnderflowCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulDefaultMacAddressUsedFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulDefaultMacAddressUsedFlag); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxLateCollisionCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxLateCollisionCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxExcessCollisionCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxExcessCollisionCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxExcessDeferralCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulTxExcessDeferralCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxAlignmentErrorCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxAlignmentErrorCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxJabberErrorCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxJabberErrorCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxLengthErrorCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxLengthErrorCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxOutOfRangeTypeCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxOutOfRangeTypeCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxWatchdogErrorCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxWatchdogErrorCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxIPv4HeaderErrorCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxIPv4HeaderErrorCnt); \ - ((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxIPv6HeaderErrorCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_ETH_PORT_STATS *)pOCTVC1_MAIN_ETH_PORT_STATS)->ulRxIPv6HeaderErrorCnt); \ -} -#else -#define mOCTVC1_MAIN_ETH_PORT_STATS_SWAP( pOCTVC1_MAIN_ETH_PORT_STATS ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR_SWAP( _f_pParms ){ tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR * pOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR = (_f_pParms); \ - ((tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR *)pOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR *)pOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR)->ulGetMode); \ -} -#else -#define mOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR_SWAP( pOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_LOG_ENTRY_SWAP( _f_pParms ){ tOCTVC1_MAIN_LOG_ENTRY * pOCTVC1_MAIN_LOG_ENTRY = (_f_pParms); \ - ((tOCTVC1_MAIN_LOG_ENTRY *)pOCTVC1_MAIN_LOG_ENTRY)->ulLogSeqNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_ENTRY *)pOCTVC1_MAIN_LOG_ENTRY)->ulLogSeqNumber); \ - ((tOCTVC1_MAIN_LOG_ENTRY *)pOCTVC1_MAIN_LOG_ENTRY)->ulLogTimestamp = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_ENTRY *)pOCTVC1_MAIN_LOG_ENTRY)->ulLogTimestamp); \ - ((tOCTVC1_MAIN_LOG_ENTRY *)pOCTVC1_MAIN_LOG_ENTRY)->ulLogReserved0 = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_ENTRY *)pOCTVC1_MAIN_LOG_ENTRY)->ulLogReserved0); \ - ((tOCTVC1_MAIN_LOG_ENTRY *)pOCTVC1_MAIN_LOG_ENTRY)->ulLogReserved1 = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_LOG_ENTRY *)pOCTVC1_MAIN_LOG_ENTRY)->ulLogReserved1); \ -} -#else -#define mOCTVC1_MAIN_LOG_ENTRY_SWAP( pOCTVC1_MAIN_LOG_ENTRY ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_FILE_CURSOR_SWAP( _f_pParms ){ tOCTVC1_MAIN_FILE_CURSOR * pOCTVC1_MAIN_FILE_CURSOR = (_f_pParms); \ - ((tOCTVC1_MAIN_FILE_CURSOR *)pOCTVC1_MAIN_FILE_CURSOR)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_FILE_CURSOR *)pOCTVC1_MAIN_FILE_CURSOR)->ulGetMode); \ -} -#else -#define mOCTVC1_MAIN_FILE_CURSOR_SWAP( pOCTVC1_MAIN_FILE_CURSOR ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD * pOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD)->hForward ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD_SWAP( pOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP * pOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP)->hForward ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP_SWAP( pOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD * pOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD)->ObjectGet ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP * pOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP)->ObjectGet ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEVICE_RESET_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEVICE_RESET_CMD * pOCTVC1_MAIN_MSG_DEVICE_RESET_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_RESET_CMD *)pOCTVC1_MAIN_MSG_DEVICE_RESET_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_DEVICE_RESET_CMD_SWAP( pOCTVC1_MAIN_MSG_DEVICE_RESET_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEVICE_RESET_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEVICE_RESET_RSP * pOCTVC1_MAIN_MSG_DEVICE_RESET_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_RESET_RSP *)pOCTVC1_MAIN_MSG_DEVICE_RESET_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_DEVICE_RESET_RSP_SWAP( pOCTVC1_MAIN_MSG_DEVICE_RESET_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEVICE_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEVICE_INFO_CMD * pOCTVC1_MAIN_MSG_DEVICE_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_INFO_CMD *)pOCTVC1_MAIN_MSG_DEVICE_INFO_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_DEVICE_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_DEVICE_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEVICE_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP * pOCTVC1_MAIN_MSG_DEVICE_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP *)pOCTVC1_MAIN_MSG_DEVICE_INFO_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP *)pOCTVC1_MAIN_MSG_DEVICE_INFO_RSP)->ulDeviceType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_DEVICE_INFO_RSP *)pOCTVC1_MAIN_MSG_DEVICE_INFO_RSP)->ulDeviceType); \ -} -#else -#define mOCTVC1_MAIN_MSG_DEVICE_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_DEVICE_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CMD * pOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CMD *)pOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CMD_SWAP( pOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP * pOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP *)pOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP)->Header ); } \ - { tOCT_UINT32 jOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP; \ - for( jOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP=0; \ - jOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP<(cOCTVC1_MAIN_MAX_CORE_NUMBER);jOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP++ ) \ - { mOCTVC1_MAIN_OPUS_CORE_STATUS_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP *)pOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP)->aCoreStatus[jOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP] ); }} \ -} -#else -#define mOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP_SWAP( pOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CMD * pOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CMD *)pOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CMD_SWAP( pOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP * pOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP *)pOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP)->Header ); } \ - { tOCT_UINT32 jOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP; \ - for( jOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP=0; \ - jOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP<(cOCTVC1_MAIN_MAX_CORE_NUMBER);jOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP++ ) \ - { mOCTVC1_MAIN_OPUS_CORE_INFO_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP *)pOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP)->aCoreInfo[jOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP] ); }} \ -} -#else -#define mOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP_SWAP( pOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD)->ulMaxNumServerMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD)->ulMaxNumServerMgw); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD)->ulForceApiResourceCleanUpFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD)->ulForceApiResourceCleanUpFlag); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_RSP * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_RSP_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CMD * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CMD_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_RSP * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_RSP_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CMD * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->ulMaxNumSystemMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->ulMaxNumSystemMgw); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->ulMaxNumServerMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->ulMaxNumServerMgw); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->ulMgwCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->ulMgwCnt); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->State = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->State); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->hFailoverMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->hFailoverMgw); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->FailoverStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->FailoverStatus); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->ulFailoverReturnCode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP)->ulFailoverReturnCode); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD)->hMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD)->hMgw); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP)->hMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP)->hMgw); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD)->hMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD)->hMgw); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP)->hMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP)->hMgw); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD)->ObjectCursor ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP)->ObjectCursor ); } \ - { mOCTVC1_LIST_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP)->ObjectList ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD)->hMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD)->hMgw); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP)->hMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP)->hMgw); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP)->FailoverStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP)->FailoverStatus); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP)->ulFailoverReturnCode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP)->ulFailoverReturnCode); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_OPEN_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_OPEN_CMD * pOCTVC1_MAIN_MSG_FILE_OPEN_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_OPEN_CMD *)pOCTVC1_MAIN_MSG_FILE_OPEN_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_OPEN_CMD *)pOCTVC1_MAIN_MSG_FILE_OPEN_CMD)->ulAccessMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_OPEN_CMD *)pOCTVC1_MAIN_MSG_FILE_OPEN_CMD)->ulAccessMode); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_OPEN_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_OPEN_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_OPEN_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_OPEN_RSP * pOCTVC1_MAIN_MSG_FILE_OPEN_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_OPEN_RSP *)pOCTVC1_MAIN_MSG_FILE_OPEN_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_OPEN_RSP *)pOCTVC1_MAIN_MSG_FILE_OPEN_RSP)->hFile = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_OPEN_RSP *)pOCTVC1_MAIN_MSG_FILE_OPEN_RSP)->hFile); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_OPEN_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_OPEN_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_CLOSE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD * pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD *)pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD *)pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD)->hFile = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD *)pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD)->hFile); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_CLOSE_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_CLOSE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_CLOSE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_CLOSE_RSP * pOCTVC1_MAIN_MSG_FILE_CLOSE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_CLOSE_RSP *)pOCTVC1_MAIN_MSG_FILE_CLOSE_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_CLOSE_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_CLOSE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD * pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP * pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_WRITE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_WRITE_CMD * pOCTVC1_MAIN_MSG_FILE_WRITE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->hFile = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->hFile); \ - ((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->ulNumByteToWrite = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_WRITE_CMD *)pOCTVC1_MAIN_MSG_FILE_WRITE_CMD)->ulNumByteToWrite); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_WRITE_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_WRITE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_WRITE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_WRITE_RSP * pOCTVC1_MAIN_MSG_FILE_WRITE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_WRITE_RSP *)pOCTVC1_MAIN_MSG_FILE_WRITE_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_WRITE_RSP *)pOCTVC1_MAIN_MSG_FILE_WRITE_RSP)->ulNumByteWritten = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_WRITE_RSP *)pOCTVC1_MAIN_MSG_FILE_WRITE_RSP)->ulNumByteWritten); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_WRITE_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_WRITE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_READ_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_READ_CMD * pOCTVC1_MAIN_MSG_FILE_READ_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->hFile = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->hFile); \ - ((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->ulMaxNumByteToRead = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_READ_CMD *)pOCTVC1_MAIN_MSG_FILE_READ_CMD)->ulMaxNumByteToRead); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_READ_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_READ_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_READ_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_READ_RSP * pOCTVC1_MAIN_MSG_FILE_READ_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_READ_RSP *)pOCTVC1_MAIN_MSG_FILE_READ_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_READ_RSP *)pOCTVC1_MAIN_MSG_FILE_READ_RSP)->ulNumByteRead = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_READ_RSP *)pOCTVC1_MAIN_MSG_FILE_READ_RSP)->ulNumByteRead); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_READ_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_READ_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_INFO_CMD * pOCTVC1_MAIN_MSG_FILE_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_INFO_CMD *)pOCTVC1_MAIN_MSG_FILE_INFO_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_INFO_CMD *)pOCTVC1_MAIN_MSG_FILE_INFO_CMD)->hFile = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_INFO_CMD *)pOCTVC1_MAIN_MSG_FILE_INFO_CMD)->hFile); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_INFO_RSP * pOCTVC1_MAIN_MSG_FILE_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->hFile = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->hFile); \ - ((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->ulAccessMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_INFO_RSP)->ulAccessMode); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_LIST_CMD * pOCTVC1_MAIN_MSG_FILE_LIST_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_CMD *)pOCTVC1_MAIN_MSG_FILE_LIST_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_CMD *)pOCTVC1_MAIN_MSG_FILE_LIST_CMD)->ObjectCursor ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_LIST_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_LIST_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_LIST_RSP * pOCTVC1_MAIN_MSG_FILE_LIST_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_RSP *)pOCTVC1_MAIN_MSG_FILE_LIST_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_RSP *)pOCTVC1_MAIN_MSG_FILE_LIST_RSP)->ObjectCursor ); } \ - { mOCTVC1_LIST_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_FILE_LIST_RSP *)pOCTVC1_MAIN_MSG_FILE_LIST_RSP)->ObjectList ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_LIST_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_LIST_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD * pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP * pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP)->ulMaxFileEntry = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP)->ulMaxFileEntry); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD * pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD)->Header ); } \ - { mOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD)->ObjectGet ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP * pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP)->Header ); } \ - { mOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR_SWAP( &((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP)->ObjectGet ); } \ - ((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP)->ulAccessMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP *)pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP)->ulAccessMode); \ -} -#else -#define mOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP_SWAP( pOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD * pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD *)pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD *)pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD)->ulGetNewestFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD *)pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD)->ulGetNewestFlag); \ -} -#else -#define mOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP * pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP *)pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP *)pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP)->ulNumLogEntry = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP *)pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP)->ulNumLogEntry); \ - { tOCT_UINT32 jOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP; \ - for( jOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP=0; \ - jOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP<(5);jOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP++ ) \ - { mOCTVC1_MAIN_LOG_ENTRY_SWAP( &((tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP *)pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP)->aLogEntry[jOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP] ); }} \ -} -#else -#define mOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_LOG_ERASE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_ERASE_CMD * pOCTVC1_MAIN_MSG_LOG_ERASE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_ERASE_CMD *)pOCTVC1_MAIN_MSG_LOG_ERASE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_LOG_ERASE_CMD_SWAP( pOCTVC1_MAIN_MSG_LOG_ERASE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_LOG_ERASE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LOG_ERASE_RSP * pOCTVC1_MAIN_MSG_LOG_ERASE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LOG_ERASE_RSP *)pOCTVC1_MAIN_MSG_LOG_ERASE_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_LOG_ERASE_RSP_SWAP( pOCTVC1_MAIN_MSG_LOG_ERASE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_LICENSING_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD * pOCTVC1_MAIN_MSG_LICENSING_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD *)pOCTVC1_MAIN_MSG_LICENSING_INFO_CMD)->Header ); } \ - { mOCTVC1_MAIN_LICENSING_CURSOR_SWAP( &((tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD *)pOCTVC1_MAIN_MSG_LICENSING_INFO_CMD)->ObjectGet ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_LICENSING_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_LICENSING_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_LICENSING_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP * pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->Header ); } \ - { mOCTVC1_MAIN_LICENSING_CURSOR_SWAP( &((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->ObjectGet ); } \ - ((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->ulFeatureType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->ulFeatureType); \ - ((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->ulManagedFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->ulManagedFlag); \ - ((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->ulLicenseValue = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->ulLicenseValue); \ - ((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->ulCurrentCount = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_LICENSING_INFO_RSP *)pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP)->ulCurrentCount); \ -} -#else -#define mOCTVC1_MAIN_MSG_LICENSING_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_LICENSING_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_RESET_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_RESET_CMD * pOCTVC1_MAIN_MSG_OCT1010_RESET_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_RESET_CMD *)pOCTVC1_MAIN_MSG_OCT1010_RESET_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_RESET_CMD_SWAP( pOCTVC1_MAIN_MSG_OCT1010_RESET_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_RESET_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_RESET_RSP * pOCTVC1_MAIN_MSG_OCT1010_RESET_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_RESET_RSP *)pOCTVC1_MAIN_MSG_OCT1010_RESET_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_RESET_RSP_SWAP( pOCTVC1_MAIN_MSG_OCT1010_RESET_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_INFO_CMD * pOCTVC1_MAIN_MSG_OCT1010_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_INFO_CMD *)pOCTVC1_MAIN_MSG_OCT1010_INFO_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_OCT1010_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP * pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulOCT1010VersionId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulOCT1010VersionId); \ - ((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulSerialNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulSerialNumber); \ - ((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulProjectNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulProjectNumber); \ - ((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulOCT1010IDVersionId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulOCT1010IDVersionId); \ - ((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulTdmNumStream = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulTdmNumStream); \ - ((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulTdmStreamFrequency = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_INFO_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP)->ulTdmStreamFrequency); \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_OCT1010_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_ETH_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_ETH_STATS_CMD * pOCTVC1_MAIN_MSG_ETH_STATS_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_ETH_STATS_CMD *)pOCTVC1_MAIN_MSG_ETH_STATS_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_ETH_STATS_CMD *)pOCTVC1_MAIN_MSG_ETH_STATS_CMD)->ulResetStatsFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_ETH_STATS_CMD *)pOCTVC1_MAIN_MSG_ETH_STATS_CMD)->ulResetStatsFlag); \ -} -#else -#define mOCTVC1_MAIN_MSG_ETH_STATS_CMD_SWAP( pOCTVC1_MAIN_MSG_ETH_STATS_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_ETH_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_ETH_STATS_RSP * pOCTVC1_MAIN_MSG_ETH_STATS_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_ETH_STATS_RSP *)pOCTVC1_MAIN_MSG_ETH_STATS_RSP)->Header ); } \ - { tOCT_UINT32 jOCTVC1_MAIN_MSG_ETH_STATS_RSP; \ - for( jOCTVC1_MAIN_MSG_ETH_STATS_RSP=0; \ - jOCTVC1_MAIN_MSG_ETH_STATS_RSP<(cOCTVC1_MAIN_ETH_MAX_NUM_PORT);jOCTVC1_MAIN_MSG_ETH_STATS_RSP++ ) \ - { mOCTVC1_MAIN_ETH_PORT_STATS_SWAP( &((tOCTVC1_MAIN_MSG_ETH_STATS_RSP *)pOCTVC1_MAIN_MSG_ETH_STATS_RSP)->aStats[jOCTVC1_MAIN_MSG_ETH_STATS_RSP] ); }} \ -} -#else -#define mOCTVC1_MAIN_MSG_ETH_STATS_RSP_SWAP( pOCTVC1_MAIN_MSG_ETH_STATS_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CMD * pOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CMD *)pOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CMD_SWAP( pOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP * pOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP *)pOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP)->Header ); } \ - { tOCT_UINT32 jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP; \ - for( jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP=0; \ - jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP<(cOCTVC1_MAIN_ETH_MAX_NUM_PORT);jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP++ ) \ - { mOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC_SWAP( &((tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP *)pOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP)->aDynamic[jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP] ); }} \ - { tOCT_UINT32 jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP; \ - for( jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP=0; \ - jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP<(cOCTVC1_MAIN_ETH_MAX_NUM_PORT);jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP++ ) \ - { mOCTVC1_MAIN_ETH_PORT_CONFIG_STATIC_SWAP( &((tOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP *)pOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP)->aStatic[jOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP] ); }} \ -} -#else -#define mOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP_SWAP( pOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD * pOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD *)pOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD)->Header ); } \ - { tOCT_UINT32 jOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD; \ - for( jOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD=0; \ - jOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD<(cOCTVC1_MAIN_ETH_MAX_NUM_PORT);jOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD++ ) \ - { mOCTVC1_MAIN_ETH_PORT_CONFIG_DYNAMIC_SWAP( &((tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD *)pOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD)->aDynamic[jOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD] ); }} \ -} -#else -#define mOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD_SWAP( pOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_RSP * pOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_RSP *)pOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_RSP_SWAP( pOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REGISTER_READ_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REGISTER_READ_CMD * pOCTVC1_MAIN_MSG_REGISTER_READ_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REGISTER_READ_CMD *)pOCTVC1_MAIN_MSG_REGISTER_READ_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_REGISTER_READ_CMD_SWAP( pOCTVC1_MAIN_MSG_REGISTER_READ_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REGISTER_READ_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REGISTER_READ_RSP * pOCTVC1_MAIN_MSG_REGISTER_READ_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REGISTER_READ_RSP *)pOCTVC1_MAIN_MSG_REGISTER_READ_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REGISTER_READ_RSP *)pOCTVC1_MAIN_MSG_REGISTER_READ_RSP)->ulTdmTimestampReg = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REGISTER_READ_RSP *)pOCTVC1_MAIN_MSG_REGISTER_READ_RSP)->ulTdmTimestampReg); \ - ((tOCTVC1_MAIN_MSG_REGISTER_READ_RSP *)pOCTVC1_MAIN_MSG_REGISTER_READ_RSP)->ulNanoSecondCounterReg = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REGISTER_READ_RSP *)pOCTVC1_MAIN_MSG_REGISTER_READ_RSP)->ulNanoSecondCounterReg); \ -} -#else -#define mOCTVC1_MAIN_MSG_REGISTER_READ_RSP_SWAP( pOCTVC1_MAIN_MSG_REGISTER_READ_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CMD * pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CMD *)pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CMD_SWAP( pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP * pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP)->ulOct1010IdType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP)->ulOct1010IdType); \ - ((tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP)->ulTdmOutputEnableSupportFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP)->ulTdmOutputEnableSupportFlag); \ - ((tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP)->ulTdmOutputEnableDeviceFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP)->ulTdmOutputEnableDeviceFlag); \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP_SWAP( pOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CMD * pOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CMD *)pOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CMD_SWAP( pOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP * pOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP)->Header ); } \ - { tOCT_UINT32 jOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP; \ - for( jOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP=0; \ - jOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP<(cOCTDEV_DEVICES_OCT1010_MAX_CORE_NUMBER);jOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP++ ) \ - { mOCTVC1_MAIN_OCT1010_CORE_STATUS_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP)->aCoreStatus[jOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP] ); }} \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP_SWAP( pOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CMD * pOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CMD *)pOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CMD_SWAP( pOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP * pOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP)->Header ); } \ - { tOCT_UINT32 jOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP; \ - for( jOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP=0; \ - jOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP<(cOCTDEV_DEVICES_OCT1010_MAX_CORE_NUMBER);jOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP++ ) \ - { mOCTVC1_MAIN_OCT1010_CORE_INFO_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP *)pOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP)->aCoreInfo[jOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP] ); }} \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP_SWAP( pOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD * pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD)->ulBank = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD)->ulBank); \ - ((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD)->ulDirection = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD)->ulDirection); \ - ((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD)->ulTriStateHigh = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD)->ulTriStateHigh); \ -} -#else -#define mOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD_SWAP( pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP * pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP)->ulBank = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP *)pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP)->ulBank); \ -} -#else -#define mOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP_SWAP( pOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD * pOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD)->ulBank = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD)->ulBank); \ -} -#else -#define mOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD_SWAP( pOCTVC1_MAIN_MSG_GPIO_READ_BANK_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP * pOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP)->ulBank = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP)->ulBank); \ - ((tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP)->ulValue = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP)->ulValue); \ -} -#else -#define mOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP_SWAP( pOCTVC1_MAIN_MSG_GPIO_READ_BANK_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD * pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD)->ulBank = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD)->ulBank); \ - ((tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD)->ulValue = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD)->ulValue); \ -} -#else -#define mOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD_SWAP( pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP * pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP)->ulBank = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP)->ulBank); \ -} -#else -#define mOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP_SWAP( pOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_SPI_ACCESS_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD * pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulChipSelectPin = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulChipSelectPin); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulClockPin = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulClockPin); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulDataOutPin = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulDataOutPin); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulDataInPin = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulDataInPin); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulDivider = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulDivider); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulSlaveSelectId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulSlaveSelectId); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulClockFrequency = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulClockFrequency); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulClockPolarity = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulClockPolarity); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulClockPhase = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulClockPhase); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulReadByteCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulReadByteCnt); \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulWriteByteCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->ulWriteByteCnt); \ - { tOCT_UINT32 iOCTVC1_MAIN_MSG_SPI_ACCESS_CMD; \ - for( iOCTVC1_MAIN_MSG_SPI_ACCESS_CMD=0; \ - iOCTVC1_MAIN_MSG_SPI_ACCESS_CMD<(cOCTVC1_MAIN_SPI_ACCESS_TRANSFER_MAX_LENGTH);iOCTVC1_MAIN_MSG_SPI_ACCESS_CMD++ ) \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->aulWriteData[iOCTVC1_MAIN_MSG_SPI_ACCESS_CMD] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_CMD *)pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD)->aulWriteData[iOCTVC1_MAIN_MSG_SPI_ACCESS_CMD]);}\ -} -#else -#define mOCTVC1_MAIN_MSG_SPI_ACCESS_CMD_SWAP( pOCTVC1_MAIN_MSG_SPI_ACCESS_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_SPI_ACCESS_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP * pOCTVC1_MAIN_MSG_SPI_ACCESS_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP *)pOCTVC1_MAIN_MSG_SPI_ACCESS_RSP)->Header ); } \ - { tOCT_UINT32 iOCTVC1_MAIN_MSG_SPI_ACCESS_RSP; \ - for( iOCTVC1_MAIN_MSG_SPI_ACCESS_RSP=0; \ - iOCTVC1_MAIN_MSG_SPI_ACCESS_RSP<(cOCTVC1_MAIN_SPI_ACCESS_TRANSFER_MAX_LENGTH);iOCTVC1_MAIN_MSG_SPI_ACCESS_RSP++ ) \ - ((tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP *)pOCTVC1_MAIN_MSG_SPI_ACCESS_RSP)->aulReadData[iOCTVC1_MAIN_MSG_SPI_ACCESS_RSP] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_SPI_ACCESS_RSP *)pOCTVC1_MAIN_MSG_SPI_ACCESS_RSP)->aulReadData[iOCTVC1_MAIN_MSG_SPI_ACCESS_RSP]);}\ -} -#else -#define mOCTVC1_MAIN_MSG_SPI_ACCESS_RSP_SWAP( pOCTVC1_MAIN_MSG_SPI_ACCESS_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_PROCESS_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD * pOCTVC1_MAIN_MSG_PROCESS_LIST_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD *)pOCTVC1_MAIN_MSG_PROCESS_LIST_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD *)pOCTVC1_MAIN_MSG_PROCESS_LIST_CMD)->ObjectCursor ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_PROCESS_LIST_CMD_SWAP( pOCTVC1_MAIN_MSG_PROCESS_LIST_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_PROCESS_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP * pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP *)pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP *)pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP)->ObjectCursor ); } \ - { mOCTVC1_LIST_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP *)pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP)->ObjectList ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_PROCESS_LIST_RSP_SWAP( pOCTVC1_MAIN_MSG_PROCESS_LIST_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD * pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD)->hProcess); \ -} -#else -#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_PROCESS_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_PROCESS_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP * pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP)->hProcess); \ -} -#else -#define mOCTVC1_MAIN_MSG_PROCESS_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_PROCESS_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD * pOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD)->ulPhyAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD)->ulPhyAddress); \ - ((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD)->ulRegisterAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD)->ulRegisterAddress); \ -} -#else -#define mOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD_SWAP( pOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP * pOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP)->ulPhyAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP)->ulPhyAddress); \ - ((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP)->ulReadData = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP)->ulReadData); \ -} -#else -#define mOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP_SWAP( pOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD * pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD)->ulPhyAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD)->ulPhyAddress); \ - ((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD)->ulRegisterAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD)->ulRegisterAddress); \ - ((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD)->ulWriteData = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD)->ulWriteData); \ -} -#else -#define mOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD_SWAP( pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP * pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP)->ulPhyAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP)->ulPhyAddress); \ -} -#else -#define mOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP_SWAP( pOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD * pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->ulEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->ulEventMask); \ - ((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->ulUserEventId); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->hEventDestObj ); } \ - ((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->ulEventDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->ulEventDestObjPort); \ - ((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->ulEventDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD)->ulEventDestObjFifoId); \ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD_SWAP( pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_RSP * pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_RSP_SWAP( pOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD * pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD)->ulBank = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD)->ulBank); \ - ((tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD)->ulMonitor = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD *)pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD)->ulMonitor); \ -} -#else -#define mOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD_SWAP( pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP * pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP)->ulBank = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP *)pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP)->ulBank); \ -} -#else -#define mOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP_SWAP( pOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD * pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD)->Header ); } \ - { tOCT_UINT32 iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD; \ - for( iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD=0; \ - iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD<(2);iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD++ ) \ - ((tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD)->aulPhyAddress[iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD *)pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD)->aulPhyAddress[iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD]);}\ -} -#else -#define mOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD_SWAP( pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP * pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP)->Header ); } \ - { tOCT_UINT32 iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP; \ - for( iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP=0; \ - iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP<(2);iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP++ ) \ - ((tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP)->aulPhyAddress[iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP *)pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP)->aulPhyAddress[iOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP]);}\ -} -#else -#define mOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP_SWAP( pOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD * pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->hProcess); \ - ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulAlarmThresholdHighPercent = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulAlarmThresholdHighPercent); \ - ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulAlarmThresholdLowPercent = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD)->ulAlarmThresholdLowPercent); \ -} -#else -#define mOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD_SWAP( pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP * pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP)->hProcess); \ - ((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP)->ulProcessImageType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP)->ulProcessImageType); \ -} -#else -#define mOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP_SWAP( pOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD * pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD)->hProcess); \ -} -#else -#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD_SWAP( pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP * pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->hProcess); \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulProcessImageType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulProcessImageType); \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulAlarmThresholdHighPercent = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulAlarmThresholdHighPercent); \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulAlarmThresholdLowPercent = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulAlarmThresholdLowPercent); \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulProcessCpuUsagePercent = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulProcessCpuUsagePercent); \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulProcessCpuUsageMinPercent = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulProcessCpuUsageMinPercent); \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulProcessCpuUsageMaxPercent = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulProcessCpuUsageMaxPercent); \ - ((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulNumThread = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP *)pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP)->ulNumThread); \ -} -#else -#define mOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP_SWAP( pOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD * pOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD)->ulFormat = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD)->ulFormat); \ - ((tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD)->ulByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD)->ulByteLength); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD_SWAP( pOCTVC1_MAIN_MSG_BUFFER_OPEN_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP * pOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP)->hBuffer); \ - ((tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP)->ulAllocatedByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP *)pOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP)->ulAllocatedByteLength); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP_SWAP( pOCTVC1_MAIN_MSG_BUFFER_OPEN_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD * pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD_SWAP( pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP * pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->hBuffer); \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->ulFormat = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->ulFormat); \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->ulUsedByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->ulUsedByteLength); \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->ulAllocatedByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->ulAllocatedByteLength); \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->ulDependencyCount = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP)->ulDependencyCount); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP_SWAP( pOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD * pOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD)->hBuffer); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD_SWAP( pOCTVC1_MAIN_MSG_BUFFER_CLOSE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP * pOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP *)pOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP *)pOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP *)pOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP)->hBuffer); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP_SWAP( pOCTVC1_MAIN_MSG_BUFFER_CLOSE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD * pOCTVC1_MAIN_MSG_BUFFER_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD *)pOCTVC1_MAIN_MSG_BUFFER_INFO_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD *)pOCTVC1_MAIN_MSG_BUFFER_INFO_CMD)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_CMD *)pOCTVC1_MAIN_MSG_BUFFER_INFO_CMD)->hBuffer); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_INFO_CMD_SWAP( pOCTVC1_MAIN_MSG_BUFFER_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP * pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->hBuffer); \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->ulFormat = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->ulFormat); \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->ulUsedByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->ulUsedByteLength); \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->ulAllocatedByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->ulAllocatedByteLength); \ - ((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->ulDependencyCount = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_INFO_RSP *)pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP)->ulDependencyCount); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_INFO_RSP_SWAP( pOCTVC1_MAIN_MSG_BUFFER_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD * pOCTVC1_MAIN_MSG_BUFFER_LIST_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD *)pOCTVC1_MAIN_MSG_BUFFER_LIST_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_LIST_CMD *)pOCTVC1_MAIN_MSG_BUFFER_LIST_CMD)->ObjectCursor ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_LIST_CMD_SWAP( pOCTVC1_MAIN_MSG_BUFFER_LIST_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP * pOCTVC1_MAIN_MSG_BUFFER_LIST_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP *)pOCTVC1_MAIN_MSG_BUFFER_LIST_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP *)pOCTVC1_MAIN_MSG_BUFFER_LIST_RSP)->ObjectCursor ); } \ - { mOCTVC1_LIST_HANDLE_OBJECT_GET_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_LIST_RSP *)pOCTVC1_MAIN_MSG_BUFFER_LIST_RSP)->ObjectList ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_LIST_RSP_SWAP( pOCTVC1_MAIN_MSG_BUFFER_LIST_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD * pOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD)->hBuffer); \ - ((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD)->ulFormat = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD)->ulFormat); \ - ((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD)->ulUsedByteSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD)->ulUsedByteSize); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD_SWAP( pOCTVC1_MAIN_MSG_BUFFER_MODIFY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP * pOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP *)pOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP)->hBuffer); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP_SWAP( pOCTVC1_MAIN_MSG_BUFFER_MODIFY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD * pOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD)->hBuffer); \ - ((tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD)->ulWriteByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD)->ulWriteByteLength); \ - ((tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD)->ulWriteByteOffset = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD)->ulWriteByteOffset); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD_SWAP( pOCTVC1_MAIN_MSG_BUFFER_WRITE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP * pOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP)->hBuffer); \ - ((tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP)->ulNumByteWritten = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP *)pOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP)->ulNumByteWritten); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP_SWAP( pOCTVC1_MAIN_MSG_BUFFER_WRITE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_READ_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_READ_CMD * pOCTVC1_MAIN_MSG_BUFFER_READ_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_READ_CMD *)pOCTVC1_MAIN_MSG_BUFFER_READ_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_READ_CMD *)pOCTVC1_MAIN_MSG_BUFFER_READ_CMD)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_READ_CMD *)pOCTVC1_MAIN_MSG_BUFFER_READ_CMD)->hBuffer); \ - ((tOCTVC1_MAIN_MSG_BUFFER_READ_CMD *)pOCTVC1_MAIN_MSG_BUFFER_READ_CMD)->ulMaxReadByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_READ_CMD *)pOCTVC1_MAIN_MSG_BUFFER_READ_CMD)->ulMaxReadByteLength); \ - ((tOCTVC1_MAIN_MSG_BUFFER_READ_CMD *)pOCTVC1_MAIN_MSG_BUFFER_READ_CMD)->ulReadByteOffset = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_READ_CMD *)pOCTVC1_MAIN_MSG_BUFFER_READ_CMD)->ulReadByteOffset); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_READ_CMD_SWAP( pOCTVC1_MAIN_MSG_BUFFER_READ_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_BUFFER_READ_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_BUFFER_READ_RSP * pOCTVC1_MAIN_MSG_BUFFER_READ_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_BUFFER_READ_RSP *)pOCTVC1_MAIN_MSG_BUFFER_READ_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_BUFFER_READ_RSP *)pOCTVC1_MAIN_MSG_BUFFER_READ_RSP)->hBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_READ_RSP *)pOCTVC1_MAIN_MSG_BUFFER_READ_RSP)->hBuffer); \ - ((tOCTVC1_MAIN_MSG_BUFFER_READ_RSP *)pOCTVC1_MAIN_MSG_BUFFER_READ_RSP)->ulDoneFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_READ_RSP *)pOCTVC1_MAIN_MSG_BUFFER_READ_RSP)->ulDoneFlag); \ - ((tOCTVC1_MAIN_MSG_BUFFER_READ_RSP *)pOCTVC1_MAIN_MSG_BUFFER_READ_RSP)->ulNumByteRead = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_BUFFER_READ_RSP *)pOCTVC1_MAIN_MSG_BUFFER_READ_RSP)->ulNumByteRead); \ -} -#else -#define mOCTVC1_MAIN_MSG_BUFFER_READ_RSP_SWAP( pOCTVC1_MAIN_MSG_BUFFER_READ_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD * pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)->ulTracingMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)->ulTracingMode); \ - ((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)->ulTracingType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)->ulTracingType); \ - ((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)->ulNumBuffer = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)->ulNumBuffer); \ - { tOCT_UINT32 iOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD; \ - for( iOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD=0; \ - iOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD<(cOCTVC1_MAIN_TRACING_START_MAX_NUM_BUFFER);iOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD++ ) \ - ((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)->aBufferId[iOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD)->aBufferId[iOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD]);}\ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD_SWAP( pOCTVC1_MAIN_MSG_MODULE_START_TRACING_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_START_TRACING_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_START_TRACING_RSP * pOCTVC1_MAIN_MSG_MODULE_START_TRACING_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_START_TRACING_RSP *)pOCTVC1_MAIN_MSG_MODULE_START_TRACING_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_START_TRACING_RSP_SWAP( pOCTVC1_MAIN_MSG_MODULE_START_TRACING_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CMD * pOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CMD *)pOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CMD_SWAP( pOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_RSP * pOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_RSP *)pOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_RSP)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_RSP_SWAP( pOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD * pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD)->hDestObj ); } \ - ((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD)->ulDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD)->ulDestObjPort); \ - ((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD)->ulDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD)->ulDestObjFifoId); \ -} -#else -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD_SWAP( pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP * pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP)->hForward ); } \ - ((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP)->ulFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP *)pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP)->ulFifoId); \ -} -#else -#define mOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP_SWAP( pOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CMD * pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CMD *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CMD)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CMD_SWAP( pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP * pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->ulEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->ulEventMask); \ - ((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->ulUserEventId); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->hEventDestObj ); } \ - ((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->ulEventDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->ulEventDestObjPort); \ - ((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->ulEventDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP *)pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP)->ulEventDestObjFifoId); \ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP_SWAP( pOCTVC1_MAIN_MSG_MODULE_INFO_EVT_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD)->hMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD)->hMgw); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP)->hMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP)->hMgw); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD * pOCTVC1_MAIN_MSG_OCT1010_STATS_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD *)pOCTVC1_MAIN_MSG_OCT1010_STATS_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD *)pOCTVC1_MAIN_MSG_OCT1010_STATS_CMD)->ulResetStatsFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_STATS_CMD *)pOCTVC1_MAIN_MSG_OCT1010_STATS_CMD)->ulResetStatsFlag); \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_STATS_CMD_SWAP( pOCTVC1_MAIN_MSG_OCT1010_STATS_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT1010_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP * pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)->ulOCT1010MonitorNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)->ulOCT1010MonitorNumber); \ - ((tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)->ulTdmCpyOutOfBandwidthCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)->ulTdmCpyOutOfBandwidthCnt); \ - ((tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)->ulTdmTxTimeslotPtrOutOfSyncCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)->ulTdmTxTimeslotPtrOutOfSyncCnt); \ - ((tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)->ulTdmTimestampIncrementErrorCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT1010_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP)->ulTdmTimestampIncrementErrorCnt); \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT1010_STATS_RSP_SWAP( pOCTVC1_MAIN_MSG_OCT1010_STATS_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT2200_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD * pOCTVC1_MAIN_MSG_OCT2200_STATS_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD *)pOCTVC1_MAIN_MSG_OCT2200_STATS_CMD)->Header ); } \ - ((tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD *)pOCTVC1_MAIN_MSG_OCT2200_STATS_CMD)->ulResetStatsFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD *)pOCTVC1_MAIN_MSG_OCT2200_STATS_CMD)->ulResetStatsFlag); \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT2200_STATS_CMD_SWAP( pOCTVC1_MAIN_MSG_OCT2200_STATS_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_OCT2200_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP * pOCTVC1_MAIN_MSG_OCT2200_STATS_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT2200_STATS_RSP)->Header ); } \ - ((tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT2200_STATS_RSP)->ulOCT2200MonitorNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP *)pOCTVC1_MAIN_MSG_OCT2200_STATS_RSP)->ulOCT2200MonitorNumber); \ -} -#else -#define mOCTVC1_MAIN_MSG_OCT2200_STATS_RSP_SWAP( pOCTVC1_MAIN_MSG_OCT2200_STATS_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_MAIN_API_SWAP_H__ */ diff --git a/software/include/vocallo/main/octvc1_main_default.h b/software/include/vocallo/main/octvc1_main_default.h deleted file mode 100644 index c0ca214..0000000 --- a/software/include/vocallo/main/octvc1_main_default.h +++ /dev/null @@ -1,2144 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_MAIN_DEFAULT.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contains the event definition of the MAIN API. - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_MAIN_DEFAULT_H__ -#define __OCTVC1_MAIN_DEFAULT_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "octvc1_main_api.h" - -/***************************** COMMAND DEFAULT *****************************/ - -/*-------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD -----------------------------------------------------------------------------*/ -#ifdef OCTVC1_OPT_DECLARE_DEFAULTS - -const tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD buf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD = -{ - { /* Header */ - ((sizeof(tOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CMD)<. - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_MAIN_EVT_H__ -#define __OCTVC1_MAIN_EVT_H__ - - -/***************************** INCLUDE FILES *******************************/ - -#include "octvc1_main_api.h" - -/************************ COMMON DEFINITIONS *******************************/ - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_EVT_PHY_MASK : Phy Events. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_MAIN_EVT_PHY_MASK tOCT_UINT32 - -#define cOCTVC1_MAIN_EVT_PHY_MASK_UP ((tOCT_UINT32)(1<<0) ) -#define cOCTVC1_MAIN_EVT_PHY_MASK_DOWN ((tOCT_UINT32)(1<<1) ) - -/***************************** NOTIFICATIONS **********************************/ -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT - - Members: - Header - BufferId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE_OBJECT BufferId; - -} tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EVT - - Members: - Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - -} tOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT - - Members: - Header - ulCoreUseMask - One-hot vector indicating which cores are used. - ulCoreHaltMask - One-hot vector indicating which cores are halted. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_MAIN_OPUS_CORE_MASK ulCoreUseMask; - tOCTVC1_MAIN_OPUS_CORE_MASK ulCoreHaltMask; - -} tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT - - Members: - Header - ulBank - GPIO bank on which the change was detected. - ulPortValue - Current value of each GPIO pin (including output and non-monitored pins ). --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCT_UINT32 ulBank; - tOCT_UINT32 ulPortValue; - -} tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT - - Members: - Header - ulPhyAddress - Address, on the MDIO bus, of the monitored PHY for which a - status change was detected. - ulEvents - Bit mask of the events reported. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCT_UINT32 ulPhyAddress; - tOCTVC1_MAIN_EVT_PHY_MASK ulEvents; - -} tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT - - Members: - Header - hProcess - ulProcessImageType - Process Type identifier. Value INVALID means no process running on this core. - ulProcessCpuUsagePercent - ulNumThread --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCT_UINT32 hProcess; - tOCTVC1_MAIN_PROCESS_TYPE_ENUM ulProcessImageType; - tOCT_UINT32 ulProcessCpuUsagePercent; - tOCT_UINT32 ulNumThread; - -} tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT; - -/*------------------------------------------------------------------------------------- - tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT - - Members: - Header - hMgw - Redundant MGW identifier and control FIFO identifier used to reach the - redundant MGW. - ulDurationMs - Failover duration in milliseconds. - FailoverStatus - Status of the failover. - ulFailoverReturnCode - First cOCTVC1_RC that occured while executing the failover. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_EVENT_HEADER Header; - tOCTVC1_HANDLE_OBJECT hMgw; - tOCT_UINT32 ulDurationMs; - tOCTVC1_MAIN_REDUNDANCY_SERVER_FAILOVER_MGW_STATUS_ENUM FailoverStatus; - tOCT_UINT32 ulFailoverReturnCode; - -} tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT; - - -#endif /* __OCTVC1_MAIN_EVT_H__ */ - diff --git a/software/include/vocallo/main/octvc1_main_evt_swap.h b/software/include/vocallo/main/octvc1_main_evt_swap.h deleted file mode 100644 index 7f87e48..0000000 --- a/software/include/vocallo/main/octvc1_main_evt_swap.h +++ /dev/null @@ -1,119 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvc1_main_evt_swap.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVC1_MAIN_EVT_SWAP_H__ -#define __OCTVC1_MAIN_EVT_SWAP_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_swap_hdrs.h" -#include "octvc1_main_evt.h" - -/********************************* MACROS **********************************/ - - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT * pOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT *)pOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT)->Header ); } \ - ((tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT *)pOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT)->BufferId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT *)pOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT)->BufferId); \ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT_SWAP( pOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EVT * pOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EVT *)pOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EVT)->Header ); } \ -} -#else -#define mOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EVT_SWAP( pOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT * pOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT *)pOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT)->Header ); } \ - ((tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT *)pOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT)->ulCoreUseMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT *)pOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT)->ulCoreUseMask); \ - ((tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT *)pOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT)->ulCoreHaltMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT *)pOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT)->ulCoreHaltMask); \ -} -#else -#define mOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT_SWAP( pOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT * pOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT *)pOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT)->Header ); } \ - ((tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT *)pOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT)->ulBank = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT *)pOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT)->ulBank); \ - ((tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT *)pOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT)->ulPortValue = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT *)pOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT)->ulPortValue); \ -} -#else -#define mOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT_SWAP( pOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT * pOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT *)pOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT)->Header ); } \ - ((tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT *)pOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT)->ulPhyAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT *)pOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT)->ulPhyAddress); \ - ((tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT *)pOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT)->ulEvents = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT *)pOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT)->ulEvents); \ -} -#else -#define mOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT_SWAP( pOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT * pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->Header ); } \ - ((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->hProcess); \ - ((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->ulProcessImageType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->ulProcessImageType); \ - ((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->ulProcessCpuUsagePercent = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->ulProcessCpuUsagePercent); \ - ((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->ulNumThread = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT *)pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)->ulNumThread); \ -} -#else -#define mOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT_SWAP( pOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT_SWAP( _f_pParms ){ tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT * pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)->Header ); } \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)->hMgw = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)->hMgw); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)->ulDurationMs = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)->ulDurationMs); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)->FailoverStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)->FailoverStatus); \ - ((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)->ulFailoverReturnCode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT *)pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT)->ulFailoverReturnCode); \ -} -#else -#define mOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT_SWAP( pOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_MAIN_EVT_SWAP_H__ */ diff --git a/software/include/vocallo/main/octvc1_main_id.h b/software/include/vocallo/main/octvc1_main_id.h deleted file mode 100644 index ad27f62..0000000 --- a/software/include/vocallo/main/octvc1_main_id.h +++ /dev/null @@ -1,107 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_MAIN_ID.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contains the identifiers for the MAIN API. - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_MAIN_ID_H__ -#define __OCTVC1_MAIN_ID_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_base.h" - -/**************************************************************************** - Command IDs - ****************************************************************************/ -#define cOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CID ( 0x002 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CID ( 0x003 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_DEVICE_RESET_CID ( ( 0x004 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_NO_RESPONSE_FLAG ) -#define cOCTVC1_MAIN_MSG_DEVICE_INFO_CID ( 0x005 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CID ( 0x006 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CID ( 0x007 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CID ( 0x008 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CID ( 0x009 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CID ( 0x00A + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CID ( ( 0x00B + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) -#define cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CID ( 0x00C + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CID ( 0x00D + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CID ( 0x00E + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_FILE_OPEN_CID ( ( 0x00F + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) -#define cOCTVC1_MAIN_MSG_FILE_CLOSE_CID ( ( 0x010 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) -#define cOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CID ( ( 0x011 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) -#define cOCTVC1_MAIN_MSG_FILE_WRITE_CID ( ( 0x012 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) -#define cOCTVC1_MAIN_MSG_FILE_READ_CID ( 0x013 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_FILE_INFO_CID ( 0x014 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_FILE_LIST_CID ( 0x015 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CID ( 0x016 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CID ( 0x017 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CID ( 0x018 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_LOG_ERASE_CID ( ( 0x019 + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_LONG_PROCESSING_FLAG ) -#define cOCTVC1_MAIN_MSG_LICENSING_INFO_CID ( 0x01A + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_OCT1010_RESET_CID ( ( 0x01C + cOCTVC1_MAIN_CID_BASE )| cOCTVC1_MSG_NO_RESPONSE_FLAG ) -#define cOCTVC1_MAIN_MSG_OCT1010_INFO_CID ( 0x01D + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_ETH_STATS_CID ( 0x01E + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CID ( 0x01F + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CID ( 0x020 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_REGISTER_READ_CID ( 0x021 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CID ( 0x023 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CID ( 0x024 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CID ( 0x025 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CID ( 0x026 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_GPIO_READ_BANK_CID ( 0x027 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CID ( 0x028 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_SPI_ACCESS_CID ( 0x029 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_PROCESS_LIST_CID ( 0x02A + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_PROCESS_INFO_CID ( 0x02B + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_MDIO_READ_PHY_CID ( 0x02C + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CID ( 0x02D + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CID ( 0x02E + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CID ( 0x02F + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CID ( 0x030 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CID ( 0x031 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID ( 0x032 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_BUFFER_OPEN_CID ( 0x033 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CID ( 0x034 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_BUFFER_CLOSE_CID ( 0x035 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_BUFFER_INFO_CID ( 0x036 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_BUFFER_LIST_CID ( 0x037 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_BUFFER_MODIFY_CID ( 0x038 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_BUFFER_WRITE_CID ( 0x039 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_BUFFER_READ_CID ( 0x03A + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_MODULE_START_TRACING_CID ( 0x03B + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CID ( 0x03C + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CID ( 0x03D + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CID ( 0x03E + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CID ( 0x04A + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_OCT1010_STATS_CID ( 0x148 + cOCTVC1_MAIN_CID_BASE ) -#define cOCTVC1_MAIN_MSG_OCT2200_STATS_CID ( 0x14E + cOCTVC1_MAIN_CID_BASE ) - -#define cOCTVC1_MAIN_CID_MAX (( 0x14E + 1 ) & 0xFFF) - -/**************************************************************************** - Event IDs - ****************************************************************************/ -#define cOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EID ( 0x0001 + cOCTVC1_MAIN_EID_BASE ) -#define cOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EID ( 0x0002 + cOCTVC1_MAIN_EID_BASE ) -#define cOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EID ( 0x0003 + cOCTVC1_MAIN_EID_BASE ) -#define cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EID ( 0x0005 + cOCTVC1_MAIN_EID_BASE ) -#define cOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EID ( 0x0006 + cOCTVC1_MAIN_EID_BASE ) -#define cOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EID ( 0x0007 + cOCTVC1_MAIN_EID_BASE ) -#define cOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EID ( 0x0008 + cOCTVC1_MAIN_EID_BASE ) - -#define cOCTVC1_MAIN_EID_MAX (( 0x0009 + 1 ) & 0xFFFF) - - -#endif /* __OCTVC1_MAIN_ID_H__ */ - diff --git a/software/include/vocallo/main/octvc1_main_rc.h b/software/include/vocallo/main/octvc1_main_rc.h deleted file mode 100644 index 834c330..0000000 --- a/software/include/vocallo/main/octvc1_main_rc.h +++ /dev/null @@ -1,178 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_MAIN_RC.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contains the return codes for the MAIN API. - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef OCTVC1_MAIN_RC_H__ -#define OCTVC1_MAIN_RC_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_base.h" -#include "../octvc1_generic_rc.h" - -/**************************************************************************** - MAIN return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_RC_PROCESS_IMAGE_LOAD_FILE_NOT_FOUND ( 0x0000 + cOCTVC1_MAIN_RC_BASE ) -#define cOCTVC1_MAIN_RC_CORE_NOT_FOUND ( 0x0004 + cOCTVC1_MAIN_RC_BASE ) -#define cOCTVC1_MAIN_RC_EVENT_MASK_INVALID ( 0x0005 + cOCTVC1_MAIN_RC_BASE ) -#define cOCTVC1_MAIN_RC_ETH_PORT_RESTRICTED_API_DENIED ( 0x0006 + cOCTVC1_MAIN_RC_BASE ) -#define cOCTVC1_MAIN_RC_PROCESS_NOT_FOUND ( 0x0007 + cOCTVC1_MAIN_RC_BASE ) -#define cOCTVC1_MAIN_RC_TDM_BUFFER_TX_TSST_INVALID ( 0x0001 + cOCTVC1_MAIN_RC_BASE ) -#define cOCTVC1_MAIN_RC_TDM_MODIFY_STATUS_INVALID ( 0x0009 + cOCTVC1_MAIN_RC_BASE ) - -/**************************************************************************** - FILE return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_FILE_RC_BASE ( 0x0200 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_FILE_OPEN ( 0x0002 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_HANDLE ( 0x0004 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_INVALID_ACCESS_RIGHTS ( 0x0005 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_WRITE ( 0x0006 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_SEEK_UNKOWN_ORIGIN ( 0x0008 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_SEEK_INVALID_OFFSET ( 0x0009 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_SEEK ( 0x000A + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_NOT_FOUND ( 0x000C + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_MAX_READ_BYTE_SIZE ( 0x000D + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_MAX_WRITE_BYTE_SIZE ( 0x000E + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_NAME ( 0x000F + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_ALREADY_OPENED ( 0x0010 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_BUSY ( 0x0011 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_ALREADY_CLOSED ( 0x0012 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_NOT_OPEN ( 0x0013 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_FLASH_CMD_NOT_AVAILABLE ( 0x0014 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_GET_MODE_INVALID ( 0x0015 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_OCT1010ID_EXT_MEM ( 0x0016 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_OCT1010ID_CHECKSUM ( 0x0017 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_OCT1010ID_FILE_SIZE ( 0x0018 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_OCT1010ID_TYPE ( 0x0019 + cOCTVC1_MAIN_FILE_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_ACCESS_DENIED ( 0x001A + cOCTVC1_MAIN_FILE_RC_BASE ) - -/**************************************************************************** - FILE_SYSTEM return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_FILE_SYSTEM_RC_BASE ( 0x0300 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO ( 0x0002 + cOCTVC1_MAIN_FILE_SYSTEM_RC_BASE ) -#define cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO_NO_MORE_FILE ( 0x0004 + cOCTVC1_MAIN_FILE_SYSTEM_RC_BASE ) - -/**************************************************************************** - GPIO return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_GPIO_RC_BASE ( 0x0400 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_GPIO_BANK_INVALID ( 0x0000 + cOCTVC1_MAIN_GPIO_RC_BASE ) - -/**************************************************************************** - FLASH return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_FLASH_RC_BASE ( 0x0500 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_FLASH_INVALID_ADDRESS ( 0x0000 + cOCTVC1_MAIN_FLASH_RC_BASE ) -#define cOCTVC1_MAIN_RC_FLASH_ACCESS_OUT_OF_RANGE ( 0x0001 + cOCTVC1_MAIN_FLASH_RC_BASE ) -#define cOCTVC1_MAIN_RC_FLASH_APP_SPACE ( 0x0002 + cOCTVC1_MAIN_FLASH_RC_BASE ) -#define cOCTVC1_MAIN_RC_FLASH_NOT_PRESENT ( 0x0003 + cOCTVC1_MAIN_FLASH_RC_BASE ) -#define cOCTVC1_MAIN_RC_FLASH_TYPE_UNKNOWN ( 0x0004 + cOCTVC1_MAIN_FLASH_RC_BASE ) -#define cOCTVC1_MAIN_RC_FLASH_ERROR ( 0x0005 + cOCTVC1_MAIN_FLASH_RC_BASE ) - -/**************************************************************************** - SPI return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_SPI_RC_BASE ( 0x0600 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_SPI_CHIP_SELECT_INVALID ( 0x0000 + cOCTVC1_MAIN_SPI_RC_BASE ) -#define cOCTVC1_MAIN_RC_SPI_CLOCK_FREQUENCY_INVALID ( 0x0001 + cOCTVC1_MAIN_SPI_RC_BASE ) -#define cOCTVC1_MAIN_RC_SPI_CLOCK_POLARITY_INVALID ( 0x0002 + cOCTVC1_MAIN_SPI_RC_BASE ) -#define cOCTVC1_MAIN_RC_SPI_CLOCK_PHASE_INVALID ( 0x0003 + cOCTVC1_MAIN_SPI_RC_BASE ) -#define cOCTVC1_MAIN_RC_SPI_TRANSFER_SIZE_INVALID ( 0x0004 + cOCTVC1_MAIN_SPI_RC_BASE ) - -/**************************************************************************** - CPU_USAGE return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_CPU_USAGE_RC_BASE ( 0x0A00 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_CPU_USAGE_HANDLE_INVALID ( 0x0000 + cOCTVC1_MAIN_CPU_USAGE_RC_BASE ) -#define cOCTVC1_MAIN_RC_CPU_USAGE_THRESHOLD_INVALID ( 0x0001 + cOCTVC1_MAIN_CPU_USAGE_RC_BASE ) -#define cOCTVC1_MAIN_RC_CPU_USAGE_NOT_ACCESSIBLE ( 0x0002 + cOCTVC1_MAIN_CPU_USAGE_RC_BASE ) - -/**************************************************************************** - DMA_TRACE return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_DMA_TRACE_RC_BASE ( 0x0B00 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_DMA_TRACE_PARAMETER_INVALID ( 0x0000 + cOCTVC1_MAIN_DMA_TRACE_RC_BASE ) -#define cOCTVC1_MAIN_RC_DMA_TRACE_OCTSYS_FUNC_ERROR ( 0x0001 + cOCTVC1_MAIN_DMA_TRACE_RC_BASE ) -#define cOCTVC1_MAIN_RC_DMA_TRACE_PASSWORD_ERROR ( 0x0002 + cOCTVC1_MAIN_DMA_TRACE_RC_BASE ) -#define cOCTVC1_MAIN_RC_DMA_TRACE_ENGINE_STATE ( 0x0003 + cOCTVC1_MAIN_DMA_TRACE_RC_BASE ) - -/**************************************************************************** - BUFFER return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_BUFFER_RC_BASE ( 0x0C00 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_BUFFER_FORMAT ( 0x0000 + cOCTVC1_MAIN_BUFFER_RC_BASE ) -#define cOCTVC1_MAIN_RC_BUFFER_MAX_REACHED ( 0x0001 + cOCTVC1_MAIN_BUFFER_RC_BASE ) -#define cOCTVC1_MAIN_RC_BUFFER_FILE_NOT_FOUND ( 0x0002 + cOCTVC1_MAIN_BUFFER_RC_BASE ) -#define cOCTVC1_MAIN_RC_BUFFER_READ ( 0x0003 + cOCTVC1_MAIN_BUFFER_RC_BASE ) -#define cOCTVC1_MAIN_RC_BUFFER_WRITE_LENGTH ( 0x0004 + cOCTVC1_MAIN_BUFFER_RC_BASE ) -#define cOCTVC1_MAIN_RC_BUFFER_WRITE_OFFSET ( 0x0005 + cOCTVC1_MAIN_BUFFER_RC_BASE ) -#define cOCTVC1_MAIN_RC_BUFFER_MODIFY ( 0x0006 + cOCTVC1_MAIN_BUFFER_RC_BASE ) -#define cOCTVC1_MAIN_RC_BUFFER_LOCK ( 0x0007 + cOCTVC1_MAIN_BUFFER_RC_BASE ) -#define cOCTVC1_MAIN_RC_BUFFER_INTERNAL_ERROR ( 0x0008 + cOCTVC1_MAIN_BUFFER_RC_BASE ) - -/**************************************************************************** - TRACING return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_TRACING_RC_BASE ( 0x0D00 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_TRACING_MODE ( 0x0000 + cOCTVC1_MAIN_TRACING_RC_BASE ) -#define cOCTVC1_MAIN_RC_TRACING_TYPE ( 0x0001 + cOCTVC1_MAIN_TRACING_RC_BASE ) -#define cOCTVC1_MAIN_RC_TRACING_NUM_BUFFER ( 0x0002 + cOCTVC1_MAIN_TRACING_RC_BASE ) -#define cOCTVC1_MAIN_RC_TRACING_BUFFER_SIZE ( 0x0003 + cOCTVC1_MAIN_TRACING_RC_BASE ) -#define cOCTVC1_MAIN_RC_TRACING_ALREADY_ACTIVE ( 0x0004 + cOCTVC1_MAIN_TRACING_RC_BASE ) - -/**************************************************************************** - DEBUG_FORWARD return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_DEBUG_FORWARD_RC_BASE ( 0x0E00 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_DEBUG_FORWARD_ALREADY_OPENED ( 0x0000 + cOCTVC1_MAIN_DEBUG_FORWARD_RC_BASE ) -#define cOCTVC1_MAIN_RC_DEBUG_FORWARD_SOURCE_MAC_ADDRESS ( 0x0001 + cOCTVC1_MAIN_DEBUG_FORWARD_RC_BASE ) - -/**************************************************************************** - REDUNDANCY_SERVER return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ( 0x0F00 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_ALREADY_STARTED ( 0x0000 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ) -#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_NOT_STARTED ( 0x0001 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ) -#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INVALID_REDUNDANT_MGW_CNT ( 0x0002 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ) -#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_API_RESOURCE_OPENED_ON_ACTIVE_MGW ( 0x0003 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ) -#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_MGW_MAX_REACHED ( 0x0004 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ) -#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INVALID_MGW_HANDLE ( 0x0005 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ) -#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INTERNAL_ERROR ( 0x0006 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ) -#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_UNSUPPORTED_API_CMD ( 0x0007 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ) -#define cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_FAILOVER_ALREADY_EXECUTED ( 0x0008 + cOCTVC1_MAIN_REDUNDANCY_SERVER_RC_BASE ) - -/**************************************************************************** - Validate return codes - ****************************************************************************/ -#define cOCTVC1_MAIN_AUTO_VALIDATE_RC_BASE ( 0xF000 + cOCTVC1_MAIN_RC_BASE ) - -#define cOCTVC1_MAIN_RC_BUFFER_OPEN_INVALID_ALLOCATED_BYTE_LENGTH ( 0x1 + cOCTVC1_MAIN_AUTO_VALIDATE_RC_BASE ) - -#endif /* OCTVC1_MAIN_RC_H__ */ - diff --git a/software/include/vocallo/net/octvc1_net_api.h b/software/include/vocallo/net/octvc1_net_api.h deleted file mode 100644 index 5495026..0000000 --- a/software/include/vocallo/net/octvc1_net_api.h +++ /dev/null @@ -1,3233 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_NET_API.h - -$Octasic_Copyright: $ - -Description: Contains the definition of the NET API. - -$Octasic_Confidentiality: $ - -$Octasic_Release: $ - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_NET_API_H__ -#define __OCTVC1_NET_API_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../../octdev_types.h" -#include "../octvc1_msg.h" -#include "../octvc1_handle.h" -#include "../octvc1_cursor.h" -#include "../octvc1_ip.h" -#include "../octvc1_udp.h" -#include "../octvc1_mac.h" -#include "../octvc1_fifo.h" -#include "../octvocnet_pkt.h" - -#include "octvc1_net_id.h" -#include "octvc1_net_rc.h" - -/************************ COMMON DEFINITIONS *******************************/ - -#define cOCTVC1_NET_MEMBER_ID_INVALID 0 /* Invalid RTP Member ID definition. */ -#define cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY 8 /* RTP profile table size. */ -#define cOCTVC1_NET_ETH_LINK_MAX_CACHE_ENTRY 16 /* Ethernet cache entry definitions. */ -#define cOCTVC1_NET_ICMP_PING_MAX_PAYLOAD_LENGTH 32 /* ICMP PING definitions. */ - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM_RTP_PAYLOAD_TYPE 0 -#define cOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM_PKT_ENCODING_TYPE 1 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_NONE 0 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_TENTATIVE 1 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_VALID 2 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM_INVALID 3 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV4_DAD_PASSED 0 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV4_DAD_FAILED 1 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_DAD_PASSED 2 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_DAD_FAILED 3 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_AUTO_CONFIG_PREFIX_FOUND 4 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_PREFER_EXPIRED 5 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_VALID_EXPIRED 6 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_ROUTER_ADVERTISEMENT 7 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_USER_REMOVED 8 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_IPV6_PREFIX_USER_ADDED 9 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_LEASE_EXPIRED 10 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_RENEW_REQUEST_SENT 11 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_REBIND_REQUEST_SENT 12 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_OFFER_REQUEST_SENT 13 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_CHANGE_CAUSE_ENUM_DHCPV4_ADDR_LEASED 14 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_ARP_PROBE 0 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_ARP_REQUEST 1 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_ARP_REPLY 2 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_GARP_REQUEST 3 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_GARP_REPLY 4 -#define cOCTVC1_NET_LOCAL_HOST_ADDR_DUPLICATE_SOURCE_ENUM_NEIGHBOR_ADVERTISEMENT 5 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_ICMP_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_ICMP_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_ICMP_ENUM_OK 0 -#define cOCTVC1_NET_ICMP_ENUM_NO_REPLY 1 -#define cOCTVC1_NET_ICMP_ENUM_DEST_UNREACHABLE 2 -#define cOCTVC1_NET_ICMP_ENUM_TIME_EXCEEDED 3 -#define cOCTVC1_NET_ICMP_ENUM_UNKNOWN_ERROR 4 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_LOCAL_HOST_EVT_MASK : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_LOCAL_HOST_EVT_MASK tOCT_UINT32 - -#define cOCTVC1_NET_LOCAL_HOST_EVT_MASK_NONE 0x00000000 -#define cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_DEST_UNREACHABLE 0x00000001 -#define cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_TIME_EXCEEDED 0x00000002 -#define cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_UNKNOWN_ERROR 0x00000004 -#define cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ICMP_REDIRECT 0x00000008 -#define cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ADDR_STATUS_CHANGE 0x00000010 -#define cOCTVC1_NET_LOCAL_HOST_EVT_MASK_ADDR_DUPLICATE_FOUND 0x00000020 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_LINK_EVT_MASK : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_LINK_EVT_MASK tOCT_UINT32 - -#define cOCTVC1_NET_LINK_EVT_MASK_NONE 0x00000000 -#define cOCTVC1_NET_LINK_EVT_MASK_GATEWAY_STATUS_CHANGE 0x00000001 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM_TENTATIVE 0 -#define cOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM_REACHABLE 1 -#define cOCTVC1_NET_LINK_GATEWAY_STATUS_ENUM_UNREACHABLE 2 - -#define cOCTVC1_NET_INFINITE 0xFFFFFFFF /* Infinite amout of time definition. */ -#define cOCTVC1_NET_MAX_LOCAL_HOST 8 /* Local IP host definitions. */ -#define cOCTVC1_NET_LINK_MAX_GATEWAY 8 /* Link gateway definitions. */ -#define cOCTVC1_NET_LINK_MAX_IPV6_PREFIX 8 /* Neighbor Discovery prefix definitions. */ -#define cOCTVC1_NET_LINK_MAX_IPV4_DHCP 2 /* Maximum number of concurrent DHCP requests. */ -#define cOCTVC1_NET_MAX_PING_INFO 8 /* Maximum number of pending ping requests. */ -#define cOCTVC1_NET_MAX_CNAME_LENGTH 255 /* Maximum byte length of a CNAME. */ -#define cOCTVC1_NET_MAX_RTCP_REPORTS 2 /* Maximum number of Receiver and Sender reports per API response. */ -#define cOCTVC1_NET_UDP_PORT_INVALID cOCTVC1_UDP_PORT_INVALID /* Invalid UDP port specification. */ -#define cOCTVC1_NET_ETHERNET_PQ_TCI_INVALID 0xFFFFFFFF /* Invalid Ethernet PQ TCI definition. */ - -/*------------------------------------------------------------------------------------- - SRTP values. --------------------------------------------------------------------------------------*/ - -#define cOCTVC1_NET_MAX_SRTP_MASTER_KEY_BYTE_SIZE 32 -#define cOCTVC1_NET_MAX_SRTP_MASTER_SALT_KEY_BYTE_SIZE 16 -#define cOCTVC1_NET_MAX_SRTP_SESSION_CRYPTO_KEY_BYTE_SIZE 32 -#define cOCTVC1_NET_MAX_SRTP_SESSION_SALT_KEY_BYTE_SIZE 16 -#define cOCTVC1_NET_MAX_SRTP_SESSION_AUTH_KEY_BYTE_SIZE 64 -#define cOCTVC1_NET_MAX_SRTP_MKI_VALUE_BYTE_SIZE 4 -#define cOCTVC1_NET_MAX_SRTP_KEY_LIST_NUM 4 - -/*------------------------------------------------------------------------------------- - NET API configuration default values. --------------------------------------------------------------------------------------*/ -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_EVT_MASK : RTP Session Event mask definitions. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RTP_EVT_MASK tOCT_UINT32 - -#define cOCTVC1_NET_RTP_EVT_MASK_NONE 0x00000000 -#define cOCTVC1_NET_RTP_EVT_MASK_RX_ALARM 0x00000001 -#define cOCTVC1_NET_RTP_EVT_MASK_TX_STATE_CHANGE 0x00000002 -#define cOCTVC1_NET_RTP_EVT_MASK_REMOTE_AUTO_DETECT 0x00000004 -#define cOCTVC1_NET_RTP_EVT_MASK_ALL 0xFFFFFFFF - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RX_PKT_FILTER_ENUM : Packet filter applied to IP packets received for this member once a valid - remote member --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RX_PKT_FILTER_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_RX_PKT_FILTER_ENUM_NONE 0 -#define cOCTVC1_NET_RX_PKT_FILTER_ENUM_SRCIPUDP 1 -#define cOCTVC1_NET_RX_PKT_FILTER_ENUM_SSRC 2 -#define cOCTVC1_NET_RX_PKT_FILTER_ENUM_SRCIPUDP_SSRC 3 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTCP_EVT_MASK : RTCP Event mask definitions. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RTCP_EVT_MASK tOCT_UINT32 - -#define cOCTVC1_NET_RTCP_EVT_MASK_NONE 0x00000000 -#define cOCTVC1_NET_RTCP_EVT_MASK_PKT_ERROR 0x00000001 -#define cOCTVC1_NET_RTCP_EVT_MASK_PKT_COMPOUND 0x00000002 -#define cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_SR 0x00000004 -#define cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_RR 0x00000008 -#define cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_SDES 0x00000010 -#define cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_BYE 0x00000020 -#define cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_APP 0x00000040 -#define cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_FEEDBACK_MSG 0x00000080 -#define cOCTVC1_NET_RTCP_EVT_MASK_PKT_TYPE_UNKNOWN 0x00000100 -#define cOCTVC1_NET_RTCP_EVT_MASK_SSRC_CHANGE_LOCAL 0x00000200 -#define cOCTVC1_NET_RTCP_EVT_MASK_SSRC_CHANGE_REMOTE 0x00000400 -#define cOCTVC1_NET_RTCP_EVT_MASK_REMOTE_MEMBER_DETECTED 0x00000800 -#define cOCTVC1_NET_RTCP_EVT_MASK_ALL 0xFFFFFFFF - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_EVT_MASK : SRTP Event mask definitions. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_EVT_MASK tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_EVT_MASK_NONE 0x00000000 -#define cOCTVC1_NET_SRTP_EVT_MASK_MASTER_RE_KEY_THRESHOLD_REACHED 0x00000001 -#define cOCTVC1_NET_SRTP_EVT_MASK_MASTER_KEY_EXPIRED 0x00000002 -#define cOCTVC1_NET_SRTP_EVT_MASK_MASTER_KEY_CHANGE_DETECTED 0x00000004 -#define cOCTVC1_NET_SRTP_EVT_MASK_REPLAY_ATTACK_DETECTED 0x00000008 -#define cOCTVC1_NET_SRTP_EVT_MASK_UNAUTH_PKT_DETECTED 0x00000010 -#define cOCTVC1_NET_SRTP_EVT_MASK_UNKNOWN_MKI_RECEIVED 0x00000020 -#define cOCTVC1_NET_SRTP_EVT_MASK_SESSION_SSRC_VIOLATION 0x00000040 -#define cOCTVC1_NET_SRTP_EVT_MASK_ALL 0xFFFFFFFF - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK : Force RTP parameter mask. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK tOCT_UINT32 - -#define cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_NONE 0x00000000 -#define cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_SSRC 0x00000001 -#define cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_INITIAL_SEQ_NUMBER 0x00000002 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTCP_PKT_TYPE_ENUM : RTCP Packet Type definitions. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RTCP_PKT_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_COMPOUND 1 -#define cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_COMPOUND_WITH_ERROR 2 -#define cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_RR 3 -#define cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_SR 4 -#define cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_SDES 5 -#define cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_BYE 6 -#define cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_APP 7 -#define cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_FEEDBACK_MSG 8 -#define cOCTVC1_NET_RTCP_PKT_TYPE_ENUM_UNKNOWN 9 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_SENDER_STATE_ENUM : RTP Member Sender State. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RTP_SENDER_STATE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_RTP_SENDER_STATE_ENUM_PENDING 0 -#define cOCTVC1_NET_RTP_SENDER_STATE_ENUM_INACTIVE 1 -#define cOCTVC1_NET_RTP_SENDER_STATE_ENUM_ACTIVE 2 -#define cOCTVC1_NET_RTP_SENDER_STATE_ENUM_UNRESOLVED 3 -#define cOCTVC1_NET_RTP_SENDER_STATE_ENUM_PAUSED 4 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_OPERATION_MODE_ENUM : RTP Member Operation Mode. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_OPERATION_MODE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_OPERATION_MODE_ENUM_ENDPOINT 0 -#define cOCTVC1_NET_OPERATION_MODE_ENUM_RTP_ONLY 1 -#define cOCTVC1_NET_OPERATION_MODE_ENUM_FULL_TRANSLATOR 2 -#define cOCTVC1_NET_OPERATION_MODE_ENUM_HALF_TRANSLATOR 3 -#define cOCTVC1_NET_OPERATION_MODE_ENUM_RECOVER_NTP_FROM_RTP_TS 4 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM : Connection state of a RTP Member. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM_DISCONNECTED 0 -#define cOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM_CONNECTED 1 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RX_ALARM_MASK : RX Alarm Conditions. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RX_ALARM_MASK tOCT_UINT32 - -#define cOCTVC1_NET_RX_ALARM_MASK_NONE 0x00000000 -#define cOCTVC1_NET_RX_ALARM_MASK_THRESH_FRACTION_LOST 0x00000001 -#define cOCTVC1_NET_RX_ALARM_MASK_THRESH_JITTER 0x00000002 -#define cOCTVC1_NET_RX_ALARM_MASK_THRESH_RTT 0x00000004 -#define cOCTVC1_NET_RX_ALARM_MASK_THRESH_CUMUL_PKT_LOST 0x00000008 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM : SRTP Stream Type --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_STREAM_TYPE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_STREAM_TYPE_ENUM_SENDER 0 -#define cOCTVC1_NET_SRTP_STREAM_TYPE_ENUM_RECEIVER 1 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM : SRTP Stream key change reasons --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM_MKI 0 -#define cOCTVC1_NET_SRTP_STREAM_KEY_CHANGE_REASON_ENUM_FROM_TO 1 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM : Cryptographic Transform type --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_NULL 0 -#define cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_AES_CM 1 -#define cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_AES_F8 2 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM : Authentication Transfer type --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM_NULL 0 -#define cOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM_HMAC_SHA1 1 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_STREAM_STATE_ENUM : SRTP Stream state --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_STREAM_STATE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_INVALID 0 -#define cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_INACTIVE 1 -#define cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_ACTIVE 2 -#define cOCTVC1_NET_SRTP_STREAM_STATE_ENUM_ERROR 3 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_KEY_STATE_ENUM : SRTP Key state --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_KEY_STATE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_KEY_STATE_ENUM_INVALID 0 -#define cOCTVC1_NET_SRTP_KEY_STATE_ENUM_INACTIVE 1 -#define cOCTVC1_NET_SRTP_KEY_STATE_ENUM_ACTIVE 2 -#define cOCTVC1_NET_SRTP_KEY_STATE_ENUM_ACTIVE_THRESHOLD_REACH 3 -#define cOCTVC1_NET_SRTP_KEY_STATE_ENUM_EXPIRE 4 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM : SRTP Key Byte Size --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_128 128 -#define cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_192 192 -#define cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_256 256 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM : SRTP Salt Key Byte Size --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM_0 0 -#define cOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM_112 112 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_SERVICE_MASK : SRTP Service --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_SRTP_SERVICE_MASK tOCT_UINT32 - -#define cOCTVC1_NET_SRTP_SERVICE_MASK_NONE 0x00000000 -#define cOCTVC1_NET_SRTP_SERVICE_MASK_CONFIDENTIALITY 0x00000001 -#define cOCTVC1_NET_SRTP_SERVICE_MASK_AUTHENTICATION 0x00000002 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK : Session RTP Member Modify Mask. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK tOCT_UINT32 - -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_NONE 0 -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_RTP ((tOCT_UINT32)(1<<0) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_RTCP ((tOCT_UINT32)(1<<1) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_T38 ((tOCT_UINT32)(1<<2) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_REMOTE_CNAME ((tOCT_UINT32)(1<<3) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_STREAM_CONFIG_SENDER ((tOCT_UINT32)(1<<4) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_KEY_ENTRY_SENDER ((tOCT_UINT32)(1<<5) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_STREAM_CONFIG_RECEIVER ((tOCT_UINT32)(1<<6) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_SRTP_KEY_ENTRY_RECEIVER ((tOCT_UINT32)(1<<7) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_LOCAL_RTP ((tOCT_UINT32)(1<<8) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_LOCAL_RTCP ((tOCT_UINT32)(1<<9) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_LOCAL_T38 ((tOCT_UINT32)(1<<10) ) -#define cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_ALL 0xFFFFFFFF - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK : Session RTCP Member feedback Mask. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK tOCT_UINT32 - -#define cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_NONE 0x00000000 -#define cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_PLI 0x00000001 -#define cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_FIR 0x00000002 -#define cOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK_ALL 0xFFFFFFFF - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_ETHERTYPE_ENCODING_ENUM : Ethernet Encoding Types --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_ETHERTYPE_ENCODING_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_ETHERTYPE_ENCODING_ENUM_ETH_II 0 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM : Tramport index of the various RTP member data streams. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM_RTP 0 -#define cOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM_RTCP 1 -#define cOCTVC1_NET_RTP_MEMBER_STREAM_IDX_ENUM_T38_UDPTL 2 - -#define cOCTVC1_NET_RTP_MEMBER_MAX_STREAM 3 -#define cOCTVC1_NET_MAX_VLAN_TAG 4 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK : Modify mask. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK tOCT_UINT32 - -#define cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_NONE 0x00000000 -#define cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_STREAM_RTP 0x00000001 -#define cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_STREAM_RTCP 0x00000002 -#define cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_STREAM_T38_UDPTL 0x00000004 -#define cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_LOCAL 0x00000008 -#define cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_REMOTE 0x00000010 -#define cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_ALL 0x0000001F - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK : RRP member transport modify mask. --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK tOCT_UINT32 - -#define cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_NONE 0x00000000 -#define cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_TX_PKT_ENABLE_FLAG 0x00000001 -#define cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_RX_PKT_FILTER 0x00000002 -#define cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_PKT_HEADER 0x00000004 -#define cOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK_ALL 0x00000007 - -/*------------------------------------------------------------------------------------- - NET API Object Type. --------------------------------------------------------------------------------------*/ - -#define cOCTVC1_NET_OBJ_TYPE_LOCAL_HOST (0x0001|cOCTVC1_HANDLE_BASE_OBJ_TYPE_NET) -#define cOCTVC1_NET_OBJ_TYPE_RTP_SESSION (0x0003|cOCTVC1_HANDLE_BASE_OBJ_TYPE_NET) -#define cOCTVC1_NET_OBJ_TYPE_ETH_LINK (0x0004|cOCTVC1_HANDLE_BASE_OBJ_TYPE_NET) -#define cOCTVC1_NET_OBJ_TYPE_CUSTOM_LOCAL_HOST (0x0005|cOCTVC1_HANDLE_BASE_OBJ_TYPE_NET) - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_IP_CURSOR - - Members: - hLink - IpAddress - ulGetMode - Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_HANDLE hLink; - tOCTVC1_IP_ADDRESS IpAddress; - tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; - -} tOCTVC1_NET_IP_CURSOR; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_PROFILE_ENTRY - - Members: - ulRtpPayloadType - ulPktEncodingType --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 ulRtpPayloadType; - tOCTVOCNET_PKT_D_TYPE_ENUM ulPktEncodingType; - -} tOCTVC1_NET_RTP_PROFILE_ENTRY; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY - - Members: - ulModifyType - Entry --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_RTP_PROFILE_MODIFY_ENUM ulModifyType; - tOCTVC1_NET_RTP_PROFILE_ENTRY Entry; - -} tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_KEY_ENTRY - - Members: - ulMasterKeyBitSize - Default: cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_128 - Size in bits of the master key array. - abyMasterKey - Master Key. The number of significant bytes is defined by ulMasterKeyBitSize. - ulMasterSaltBitSize - Default: cOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM_112 - Size in bits of the master key array. - abyMasterSalt - The Master Salt Key. The number of significant bytes is defined by - ulMasterSaltBitSize. - ulKeyDerivationRateLog2 - Range: [0..24] - The Key derivation rate expressed as a power of 2 number (derivation rate = - 2^ulKeyDerivationRateLog2). The key derivation is configured to periodically - refresh the session keys, which limits the amount of ciphertext produced by a - fixed key available for an adversary to cryptanalyze. - aulRtpMasterKeyMaxLifeTime - Values: 0 ... 2^48 - 1 Sets the maximum key lifetime( number of RTP packets - allowed to be encrypted / decrypted using this key ). Zero means maximum (2^48 - packets). aulRtpMasterKeyMaxLifeTime[0] = bits 47:32, - aulRtpMasterKeyMaxLifeTime[1] = bits 31:0.. - aulRtpMasterKeyFromLifeTime - Values: 0 ... 2^48 - 1 Sets the master key "From" lifetime. The "From, To" - lifetimes are used to indicate the range of packets indexes for which this key - is valid. Index wrap around is supported. As a result, "From" may be set to a - higher value than "To". The following is an example with RTP packets: "From" = - 0x7FFFFFFFFFFF and "To" = 1. This key is valid for packets with index - 0x7FFFFFFFFFFF, 0 and 1. aulRtpMasterKeyFromLifeTime[0] = bits 47:32, - aulRtpMasterKeyFromLifeTime[1] = bits 31:0 - aulRtpMasterKeyToLifeTime - Values: 0 ... 2^48 - 1 Sets the master key "To" lifetime. The "From, To" - lifetimes are used to indicate the range of packets index where this key is - valid. Index wrap around is supported. As a result, "From" may be set to a - higher value than "To". aulRtpMasterKeyToLifeTime[0] = bits 47:32, - aulRtpMasterKeyToLifeTime[1] = bits 31:0 - aulRtpReKeyEventThreshold - Values: 0 ... 2^48 - 1 When the internal RTP packet count is greater or equal - than the aulRtpReKeyEventThreshold, a rekey event is generated. When such an - event is detected, the aulRtpReKeyEventThreshold is cleared in order to disable - the mechanism. The value zero is used to disable the mechanism. - aulRtpReKeyEventThreshold[0] = bits 47:32, aulRtpReKeyEventThreshold[1] = bits - 31:0 - ulRtcpMasterKeyMaxLifeTime - Range: [0..0x7FFFFFFF] - Sets the maximum key lifetime( number of RTCP packets allowed to be encrypted / - decrypted using this key ). Zero means maximum (2^31 packets). After reaching - the maximum lifetime, the packets are discarded. - ulRtcpMasterKeyFromLifeTime - Range: [0..0x7FFFFFFF] - Sets the master key "From" lifetime. The "From, To" lifetimes are used to - indicate the range of RTCP packets indexes for which this key is valid. Index - wrap around is supported. As a result, "From" may be set to a higher value than - "To". The following is an example with RTCP packets: "From" = 0x7FFFFFFF and - "To" = 1. This key is valid for packets with index 0x7FFFFFFF, 0 and 1. - ulRtcpMasterKeyToLifeTime - Range: [0..0x7FFFFFFF] - Sets the master key "To" lifetime. The "From, To" lifetimes are used to - indicate the range of RTCP packets index where this key is valid. Index wrap - around is supported. As a result, "From" may be set to a higher value than "To". - ulRtcpReKeyEventThreshold - Range: [0..0x7FFFFFFF] - When the internal RTCP packet count is greater that or equal to the - ulRtcpReKeyEventThreshold, a rekey event is generated. When such an event is - detected, the ulRtcpReKeyEventThreshold is cleared in order to disable the - mechanism. The value zero is used to disable the mechanism. - abyMkiValue - This method is used to assign a Master Key Identifier (MKI) to the current key. - The purpose of MKI is to identify the master key to be used in the current - context to protect or unprotect a packet. When enabled, MKI is used in addition - to the "From, To" lifetime for key retrieval. For incoming packets (decryption - path), the received MKI is compared to the MKI of configured keys. It must - match for the key to be retrieved. For the outgoing packets (encryption path), - the MKI information from the configured key is used to fill the MKI field in - the packet to transmit. The MKI Size, is set in the cryptographic context, and - is the same for all configured key. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM ulMasterKeyBitSize; - tOCT_UINT8 abyMasterKey[cOCTVC1_NET_MAX_SRTP_MASTER_KEY_BYTE_SIZE]; - tOCTVC1_NET_SRTP_SALT_KEY_BIT_SIZE_ENUM ulMasterSaltBitSize; - tOCT_UINT8 abyMasterSalt[cOCTVC1_NET_MAX_SRTP_MASTER_SALT_KEY_BYTE_SIZE]; - tOCT_UINT32 ulKeyDerivationRateLog2; - tOCT_UINT32 aulRtpMasterKeyMaxLifeTime[2]; - tOCT_UINT32 aulRtpMasterKeyFromLifeTime[2]; - tOCT_UINT32 aulRtpMasterKeyToLifeTime[2]; - tOCT_UINT32 aulRtpReKeyEventThreshold[2]; - tOCT_UINT32 ulRtcpMasterKeyMaxLifeTime; - tOCT_UINT32 ulRtcpMasterKeyFromLifeTime; - tOCT_UINT32 ulRtcpMasterKeyToLifeTime; - tOCT_UINT32 ulRtcpReKeyEventThreshold; - tOCT_UINT8 abyMkiValue[cOCTVC1_NET_MAX_SRTP_MKI_VALUE_BYTE_SIZE]; - -} tOCTVC1_NET_SRTP_KEY_ENTRY; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_STREAM_CONFIG - - Members: - ulCryptoTransform - Default: cOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM_AES_CM - Sets the cryptographic transform for this context. This transform is used for - packets encryption and decryption. If set to NULL, no encryption is made - ulAuthTransform - Default: cOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM_HMAC_SHA1 - Sets the authentication transform mode for RTP ans RTCP in this context. This - transform is used to authenticate packets or to verify packets authentication. - Notes: When authentication is used (not NULL), the replay protection is - automatically enabled on the decryption context. - ulAuthTagBitSize - Range: [0..160] - Default: 80 - Sets the authentication tag length. For RTP, the authentication is - automatically computed when an authentication transform is selected (not NULL), - for RTCP authentication is always computed. The authentication is appended to - outgoing packets or verified for incoming packets. Recommended value is 32 bits - for voice and 80 bits for other. When set to zero, no message authentication. - ulMkiByteSize - Range: [0..4] - Size in bytes of the master key identifier value for all configured key. When - set to zero, MKI feature is disable. - ulSessionCryptoKeyBitSize - Default: cOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM_128 - Sets the session cryptographic key size in bits.The session cryptographic key - is automatically derived by using the master key and master salt key when - protecting packets - ulSessionSaltKeyBitSize - Range: [0..112] - Default: 112 - Sets the session salt key size in bits. The session salt key is automatically - derived by using the master key and master salt key when protecting packets. - ulSessionAuthKeyBitSize - Range: [0..512] - Default: 128 - Sets the session authentication key size in bits. The session authentication - key is automatically derived by using the master key and master salt key when - protecting packets. - ulInitialRoc - ulSrtpServiceMask - Default: cOCTVC1_NET_SRTP_SERVICE_MASK_NONE - Sets security services use for RTP. Note that replay protection is - automatically enable when authentication is enable with non-null transform. - ulSrtcpServiceMask - Default: cOCTVC1_NET_SRTP_SERVICE_MASK_NONE - Sets security services use for RTCP. Note that replay protection is - automatically enable when authentication is enable with non-null transform. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_SRTP_CRYPTO_TRANSFORM_ENUM ulCryptoTransform; - tOCTVC1_NET_SRTP_AUTH_TRANSFORM_ENUM ulAuthTransform; - tOCT_UINT32 ulAuthTagBitSize; - tOCT_UINT32 ulMkiByteSize; - tOCTVC1_NET_SRTP_KEY_BIT_SIZE_ENUM ulSessionCryptoKeyBitSize; - tOCT_UINT32 ulSessionSaltKeyBitSize; - tOCT_UINT32 ulSessionAuthKeyBitSize; - tOCT_UINT32 ulInitialRoc; - tOCTVC1_NET_SRTP_SERVICE_MASK ulSrtpServiceMask; - tOCTVC1_NET_SRTP_SERVICE_MASK ulSrtcpServiceMask; - -} tOCTVC1_NET_SRTP_STREAM_CONFIG; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_KEY_STATS - - Members: - ulKeyState - aulSrtpPacketCnt - Values: 48-bit counter value. Number of SRTP packet sent with this Key Entry. - ulSrtcpPacketCnt - Number of SRTCP packet sent with this Key Entry. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_SRTP_KEY_STATE_ENUM ulKeyState; - tOCT_UINT32 aulSrtpPacketCnt[2]; - tOCT_UINT32 ulSrtcpPacketCnt; - -} tOCTVC1_NET_SRTP_KEY_STATS; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_SRTP_STREAM_STATS - - Members: - ulSrtpState - ulSsrc - RTP SSRC associate with this SRTP Stream. - ulLastRoc - Last ROC (Roll over conter of RTP sequences). Number of SRTP packet sent with - this Key Entry. - ulLastSeq - Last RTP Sequence Number sent or received. Number of SRTP packet sent with this - Key Entry. - ulLastSrtcpIndex - Last SRTCP index sent or received. Number of SRTCP packet sent with this Key - Entry. - aulTotalSrtpPktCnt - Values: 64-bit counter value. Total of SRTP packet sent or received by this - SRTP Stream. - aulTotalSrtcpPktCnt - Values: 64-bit counter value. Total of SRTCP packet sent or received by this - SRTP Stream. - ulUnAuthPktCnt - Values: 16-bit counter value Total of SRTP/SRTCP unauthaurized packets sent or - received by this SRTP Stream. - ulReplayPktCnt - Values: 16-bit counter value Total of Replay SRTP/SRTCP packets detected by - this SRTP Stream. Only valid for SRTP Receiver Stream. - ulReKeyCnt - Values: 8-bit counter value Total of Master Re-Key with MKI method or From,To - method. - ulActiveKeyIdx - Idx of the active key. - ulSrtpKeyNum - Number of key stats in aSrtpKeyStats. - aSrtpKeyStats - SRTP Steam Key statistics. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_SRTP_STREAM_STATE_ENUM ulSrtpState; - tOCT_UINT32 ulSsrc; - tOCT_UINT32 ulLastRoc; - tOCT_UINT32 ulLastSeq; - tOCT_UINT32 ulLastSrtcpIndex; - tOCT_UINT32 aulTotalSrtpPktCnt[2]; - tOCT_UINT32 aulTotalSrtcpPktCnt[2]; - tOCT_UINT32 ulUnAuthPktCnt; - tOCT_UINT32 ulReplayPktCnt; - tOCT_UINT32 ulReKeyCnt; - tOCT_UINT32 ulActiveKeyIdx; - tOCT_UINT32 ulSrtpKeyNum; - tOCTVC1_NET_SRTP_KEY_STATS aSrtpKeyStats[4]; - -} tOCTVC1_NET_SRTP_STREAM_STATS; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_CONFIG_STATIC - - Members: - ulMaxRtpMember - ulMaxRtpSession - ulMaxLocalIpHost --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 ulMaxRtpMember; - tOCT_UINT32 ulMaxRtpSession; - tOCT_UINT32 ulMaxLocalIpHost; - -} tOCTVC1_NET_CONFIG_STATIC; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTP_MEMBER_CONN_INFO - - Members: - ulConnectionState - Connection state of the RTP Member: - cOCTVC1_NET_RTP_MEMBER_CONN_STATE_DISCONNECTED: The member is not connected to - an other member - cOCTVC1_NET_RTP_MEMBER_CONN_STATE_CONNECTED: The member is connected to an - other member. - hConnectedRtpSession - RTP Session handle of the connected RTP Member. - Significant only if ulConnectionState is set to - cOCTVC1_NET_RTP_MEMBER_CONN_STATE_CONNECTED. - ulConnectedMemberId - Member identifier of the connected RTP Member. - Significant only if ulConnectionState is set to - cOCTVC1_NET_RTP_MEMBER_CONN_STATE_CONNECTED. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_RTP_MEMBER_CONN_STATE_ENUM ulConnectionState; - tOCTVC1_HANDLE hConnectedRtpSession; - tOCT_UINT32 ulConnectedMemberId; - -} tOCTVC1_NET_RTP_MEMBER_CONN_INFO; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTCP_SENDER_STATS - - Members: - aulSentPktCnt - aulSentByteCnt - aulNtpTimestamp - ulRtpTimestamp - ulSenderSsrc - ulSenderStartTime - ulSenderReportCnt - ulSenderState - ulLastSenderReportTime - ulSsrcChangeCnt --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 aulSentPktCnt[2]; - tOCT_UINT32 aulSentByteCnt[2]; - tOCT_UINT32 aulNtpTimestamp[2]; - tOCT_UINT32 ulRtpTimestamp; - tOCT_UINT32 ulSenderSsrc; - tOCT_UINT32 ulSenderStartTime; - tOCT_UINT32 ulSenderReportCnt; - tOCTVC1_NET_RTP_SENDER_STATE_ENUM ulSenderState; - tOCT_UINT32 ulLastSenderReportTime; - tOCT_UINT32 ulSsrcChangeCnt; - -} tOCTVC1_NET_RTCP_SENDER_STATS; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_RTCP_RECEIVER_STATS - - Members: - ulHighestSeqNumber - ulCumulativeLostCnt - ulFractionLost - ulInterArrivalJitter - ulMaxFractionLost - ulMaxInterArrivalJitter - ulAverageFractionLost - ulAverageInterArrivalJitter - ulReceiverStartTime - ulReceiverReportCnt - ulLastReceiverReportTime - ulRemoteSenderSsrc - ulAlarmRxThreshold - ulAlarmRxThresholdCnt --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 ulHighestSeqNumber; - tOCT_UINT32 ulCumulativeLostCnt; - tOCT_UINT32 ulFractionLost; - tOCT_UINT32 ulInterArrivalJitter; - tOCT_UINT32 ulMaxFractionLost; - tOCT_UINT32 ulMaxInterArrivalJitter; - tOCT_UINT32 ulAverageFractionLost; - tOCT_UINT32 ulAverageInterArrivalJitter; - tOCT_UINT32 ulReceiverStartTime; - tOCT_UINT32 ulReceiverReportCnt; - tOCT_UINT32 ulLastReceiverReportTime; - tOCT_UINT32 ulRemoteSenderSsrc; - tOCTVC1_NET_RX_ALARM_MASK ulAlarmRxThreshold; - tOCT_UINT32 ulAlarmRxThresholdCnt; - -} tOCTVC1_NET_RTCP_RECEIVER_STATS; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_VLAN_TAG - - Members: - ulPriority - Range: [0..7] - Default: 5 - ulVlanId - Range: [0..4095] - Default: 0 --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 ulPriority; - tOCT_UINT32 ulVlanId; - -} tOCTVC1_NET_VLAN_TAG; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_HEADER_INFO_ETHERNET - - Members: - ulEthertypeEncoding - Default: cOCTVC1_NET_ETHERTYPE_ENCODING_ENUM_ETH_II - Ethertype encoding used to create the transmission header. - ulEthertype - Range: [0..0xFFFF] - Default: 0x0800 - LocalMacAddress - RemoteMacAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_ETHERTYPE_ENCODING_ENUM ulEthertypeEncoding; - tOCT_UINT32 ulEthertype; - tOCTVC1_MAC_ADDRESS LocalMacAddress; - tOCTVC1_MAC_ADDRESS RemoteMacAddress; - -} tOCTVC1_NET_HEADER_INFO_ETHERNET; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_HEADER_INFO_VLAN - - Members: - ulNumVlanTag - Range: [0..cOCTVC1_NET_MAX_VLAN_TAG] - Default: 0 - Number of Vlan TAGs present in the header. The tag inserted right after the - Ethernet header must be located at index 0 of aVlanTag while the one at the - highest index is located right before the transport header. - aVlanTag - Array containing the VLAN TAG to present in the header for this member. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 ulNumVlanTag; - tOCTVC1_NET_VLAN_TAG aVlanTag[cOCTVC1_NET_MAX_VLAN_TAG]; - -} tOCTVC1_NET_HEADER_INFO_VLAN; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_HEADER_INFO_IP - - Members: - ulIpVersion - Default: cOCTVC1_IP_VERSION_ENUM_4 - ulTypeOfService - Range: [0..255] - Default: 0 - ###CPP### (See ulTypeOfService) Specifies the IPv4 Type of Service parameter - inserted in the IP header of packets transmitted by this member. - ulTimeToLive - Range: [1..255] - Default: 127 - ###CPP### (See ulTimeToLive) Specifies the IP V4 Time to Live Parameter - inserted in the IP header of packets transmitted by this member. - ulIpv6FlowLabel - Range: [0..1048575] - Default: 0 - Value for FlowLabel field of IPv6 packets. - LocalIpAddress - RemoteIpAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_IP_VERSION_ENUM ulIpVersion; - tOCT_UINT32 ulTypeOfService; - tOCT_UINT32 ulTimeToLive; - tOCT_UINT32 ulIpv6FlowLabel; - tOCTVC1_IP_ADDRESS LocalIpAddress; - tOCTVC1_IP_ADDRESS RemoteIpAddress; - -} tOCTVC1_NET_HEADER_INFO_IP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_HEADER_INFO_UDP - - Members: - ulLocalUdpPort - Range: [0x0000..0xFFFF] - Default: 0x0000 - ulRemoteUdpPort - Range: [0x0000..0xFFFF] - Default: 0x0000 --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT32 ulLocalUdpPort; - tOCT_UINT32 ulRemoteUdpPort; - -} tOCTVC1_NET_HEADER_INFO_UDP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_HEADER_IPUDP - - Members: - Ethernet - Vlan - Ip - Udp --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_HEADER_INFO_ETHERNET Ethernet; - tOCTVC1_NET_HEADER_INFO_VLAN Vlan; - tOCTVC1_NET_HEADER_INFO_IP Ip; - tOCTVC1_NET_HEADER_INFO_UDP Udp; - -} tOCTVC1_NET_HEADER_IPUDP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_CACHE_ENTRY_CURSOR - - Members: - hLink - Vlan - IpAddress - ulGetMode - Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_HANDLE hLink; - tOCTVC1_NET_HEADER_INFO_VLAN Vlan; - tOCTVC1_IP_ADDRESS IpAddress; - tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; - -} tOCTVC1_NET_CACHE_ENTRY_CURSOR; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_ETH_LINK_CACHE_ENTRY - - Members: - hLink - Vlan - IpAddress - MacAddress - ulStaticFlag - ulReachableFlag --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_HANDLE hLink; - tOCTVC1_NET_HEADER_INFO_VLAN Vlan; - tOCTVC1_IP_ADDRESS IpAddress; - tOCTVC1_MAC_ADDRESS MacAddress; - tOCT_BOOL32 ulStaticFlag; - tOCT_BOOL32 ulReachableFlag; - -} tOCTVC1_NET_ETH_LINK_CACHE_ENTRY; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_LINK_GATEWAY_INFO - - Members: - IpAddress - ulLifetimeSec --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_IP_ADDRESS IpAddress; - tOCT_UINT32 ulLifetimeSec; - -} tOCTVC1_NET_LINK_GATEWAY_INFO; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_LINK_IPV6_PREFIX - - Members: - IpAddress - ulBitLength --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_IP_ADDRESS IpAddress; - tOCT_UINT32 ulBitLength; - -} tOCTVC1_NET_LINK_IPV6_PREFIX; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_LINK_IPV6_PREFIX_INFO - - Members: - IPv6Prefix - ulOnLinkFlag - ulAddrAutoConfigFlag - ulValidLifetimeSec - Default: cOCTVC1_NET_INFINITE - ulPreferredLifetimeSec - Default: cOCTVC1_NET_INFINITE --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_LINK_IPV6_PREFIX IPv6Prefix; - tOCT_BOOL32 ulOnLinkFlag; - tOCT_BOOL32 ulAddrAutoConfigFlag; - tOCT_UINT32 ulValidLifetimeSec; - tOCT_UINT32 ulPreferredLifetimeSec; - -} tOCTVC1_NET_LINK_IPV6_PREFIX_INFO; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_IPV6_PREFIX_CURSOR - - Members: - hLink - IPv6Prefix - ulGetMode - Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_HANDLE hLink; - tOCTVC1_NET_LINK_IPV6_PREFIX IPv6Prefix; - tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; - -} tOCTVC1_NET_IPV6_PREFIX_CURSOR; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM_DHCP 0 -#define cOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED 2 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM tOCT_UINT32 - -#define cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_STATELESS 0 -#define cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_STATEFUL 1 -#define cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED 2 - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 - - Members: - ulEnableFlag - Default: cOCT_TRUE - When set to cOCT_TRUE, support for IPv4 is enabled on the Link. - ulAddrAutoconfigMode - Default: cOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED - This parameter controls the address auto configuration on this Link. - - cOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM_DHCP: API communicates with an - IPv4 address leasing server using DHCPv4 and creates host on the link based on - the information retrieved from the address server. - - cOCTVC1-NET_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED: In this mode, the API does - not perform address auto configuration on the Link. - ulNDPBaseReachableTimeMs - Default: 30000 - Base time, in millisecond, since the last valid confirmation that the path to - the Neighbor was functioning properly before changing the state of that - Neighbor cache entry from REACHABLE to STALE or DELAY. - This value is used to create the internal ReachableTIme value by multiplying - the base time with a random modificator between 0.5 and 1.5. - ulARPRefreshTimeMs - Default: 5000 - Time, in millisecond, since the last attempt to resolve the link-layer address - of a remote IP address was attempted or between the generation of GARP packets. - ulARPReplyTimeMs - Default: 500 - Time, in millisecond, between retransmission of ARP Requests if no associated - ARP Replies are received. - ulARPUnusedTimeMs - Default: 60000 - Time, in millisecond, that an unused ARP cache entry is allowed to remain in - the cache before being purged. Setting this parameter to 0 disables the removal - of unused entries. - ulARPReqCreateCnt - Default: 3 - Number ARP Request allowed while resolving the address of a newly created ARP - cache entry. These packets are always transmitted using the broadcast MAC - address. - ulARPReqRefreshCnt - Default: 3 - Number of ARP Request packets allowed while refreshing an ARP entry. These - packets are always transmitted using the currently cached link-layer address. - ulARPReqRefreshBroadcastCnt - Default: 0 - Number of ARP Request packets allowed while refreshing an ARP entry. These - packets are always transmitted using the broadcast MAC address. - Broadcast ARP Requests are always transmitted after ARP Request using the - currently cached link-layer address. - ulARPReqDupAddrCnt - Range: [0..15] - Default: 0 - Number of ARP Probes to send either at host opening or on demand using the - cOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CID command. Please refer to RFC - 5227 for more details. - ulGARPRequestCnt - Default: 0 - Number of GARP Request packets sent when a Local Host is open or modified. - These packets are always transmitted using the broadcast MAC address. - GARP is disabled when this parameter is set to 0. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_BOOL32 ulEnableFlag; - tOCTVC1_NET_IPV4_ADDR_AUTOCONFIG_MODE_ENUM ulAddrAutoconfigMode; - tOCT_UINT32 ulNDPBaseReachableTimeMs; - tOCT_UINT32 ulARPRefreshTimeMs; - tOCT_UINT32 ulARPReplyTimeMs; - tOCT_UINT32 ulARPUnusedTimeMs; - tOCT_UINT32 ulARPReqCreateCnt; - tOCT_UINT32 ulARPReqRefreshCnt; - tOCT_UINT32 ulARPReqRefreshBroadcastCnt; - tOCT_UINT32 ulARPReqDupAddrCnt; - tOCT_UINT32 ulGARPRequestCnt; - -} tOCTVC1_NET_ETH_LINK_CONFIG_IPV4; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 - - Members: - ulEnableFlag - Default: cOCT_FALSE - When set to cOCT_TRUE, support for IPv6 is enabled on the Link. - ulCreateLoopbackEntryFlag - Default: cOCT_FALSE - When set to cOCT_TRUE, an IPv6 Loopback (addresse ::1) routing entry is created - on the Link. - ulAddrAutoconfigMode - Default: cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED - This parameter controls the address auto configuration on this Link. - - cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_STATELESS: API attempts to create - IPv6 host on the Link based on the Link’s EUI64 Interface Identifier and the - prefix provided by ND Router Advertisements. For more information, please refer - to RFC 4862. This mode is not supported in the current implementation. - - cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_STATEFUL: API communicates with an - IPv6 address leasing server using DHCPv6 and creates host on the link based on - the information retrieved from the address server. This mode is not supported - in the current implementation. - - cOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM_DISABLED: API does not perform - address auto configuration on the Link. - ulNDPBaseReachableTimeMs - Default: 30000 - Base time, in millisecond, since the last valid confirmation that the path to - the Neighbor was functioning properly before changing the state of that - Neighbor cache entry from REACHABLE to STALE or DELAY. - This value is used to create the internal ReachableTIme value by multiplying - the base time with a random modificator between 0.5 and 1.5. - ulNDPRetransTimeMs - Default: 1000 - Time, in millisecond, between retransmission of Neighbor Solicitation messages - when resolving an address or while probing the reachability of a Neighbor. - ulNDPUnusedTimeMs - Default: 60000 - Time, in millisecond, that an unused Neighbor cache entry is allowed to remain - in the cache before being purged. Setting this parameter to 0 disables the - removal of unused entries. - ulNDPSolicitCreateCnt - Default: 3 - Number of Neighbor Solicitation messages allowed while resolving the address of - a newly created cache entry. These messages are always sent to the - solicited-node multicast address of the destination. - ulNDPSolicitDupAddrCnt - Default: 1 - Number of Neighbor Solicitation messages allowed while performing duplicate - address detection. - ulNDPSolicitProbeCnt - Default: 3 - Number of Neighbor Solicitation messages allowed while probing a Neighbor. - These messages use the currently cached link-layer address and are sent to the - Unicast address of the Neighbor. - ulNDPSolicitProbeMulticastCnt - Default: 0 - Number of Neighbor Solicitation messages allowed while probing a Neighbor. - These messages are always sent to the solicited-node multicast address of the - destination. - Multicast probe messages are always transmitted after Unicast probe messages. - ulNDPSolicitRouterCnt - Default: 3 - Number of Router Solicitation messages allowed after the creation of the link. - The link will send less than ulNDPSolicitRouterCnt router solicitations if a - router advertisement - is received. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_BOOL32 ulEnableFlag; - tOCT_BOOL32 ulCreateLoopbackEntryFlag; - tOCTVC1_NET_IPV6_ADDR_AUTOCONFIG_MODE_ENUM ulAddrAutoconfigMode; - tOCT_UINT32 ulNDPBaseReachableTimeMs; - tOCT_UINT32 ulNDPRetransTimeMs; - tOCT_UINT32 ulNDPUnusedTimeMs; - tOCT_UINT32 ulNDPSolicitCreateCnt; - tOCT_UINT32 ulNDPSolicitDupAddrCnt; - tOCT_UINT32 ulNDPSolicitProbeCnt; - tOCT_UINT32 ulNDPSolicitProbeMulticastCnt; - tOCT_UINT32 ulNDPSolicitRouterCnt; - -} tOCTVC1_NET_ETH_LINK_CONFIG_IPV6; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ - - Members: - ulEnableFlag - Default: cOCT_FALSE - When set to cOCT_TRUE, 802.1 encapsulation is enabled on this Link. The API - adds an 802.1pQ header to all packets transmitted through this Link. - ulDefaultUserPriority - Default: 0 - Default Priority inserted in packets transmitted through this Link. This value - is inserted in the TCI bits [15:13] of the 802.1 header. - ulVlanId - Default: 0 - 802.1 Virtual LAN Identifier for this Link. This value is inserted in the TCI - bits [11:0] of the 802.1 header. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_BOOL32 ulEnableFlag; - tOCT_UINT32 ulDefaultUserPriority; - tOCT_UINT32 ulVlanId; - -} tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_EUI64_INTERFACE_ID - - Members: - ausInterfaceId - IEEE EUI-64 Interface Identifier created from the link-layer address of the - Link’s physical interface address. - The 16 most significant bits of the identifier are stored in ausInterfaceId[0] - while the 16 least significant bits are store in ausInterfaceId[3]. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_UINT16 ausInterfaceId[4]; - -} tOCTVC1_NET_EUI64_INTERFACE_ID; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM - - Members: - ulEnableFlag - Default: cOCT_FALSE - Enable flag used to control the allocation of routing resources for this - stream. Should be set to cOCT_FALSE if not required. - ulTxPktEnableFlag - Default: cOCT_FALSE - Enable flag used to control packets transmission by this stream. Must only be - set to cOCT_TRUE if all required header fields are provided in "Header". - ulRxPktFilter - Default: cOCTVC1_NET_RX_PKT_FILTER_ENUM_NONE - Header --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCT_BOOL32 ulEnableFlag; - tOCT_BOOL32 ulTxPktEnableFlag; - tOCTVC1_NET_RX_PKT_FILTER_ENUM ulRxPktFilter; - tOCTVC1_NET_HEADER_IPUDP Header; - -} tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY - - Members: - ulModifyMask - Default: 0 - Modify --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_NET_CUSTOM_MEMBER_STREAM_MODIFY_MASK ulModifyMask; - tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM Modify; - -} tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY; - -/***************************** METHODS *************************************/ -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - -} tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - -} tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - -} tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. - hLocalHost - ulFifoId - ulRtpEventMask - ulRtcpEventMask - ulSrtpEventMask - ulUserEventId - ulInitialOperationMode - ulSenderMaxPendingTimeSec - ulSenderMaxInactiveTimeSec - ulRtcpEnableFlag - ulRtpSessionBandwidth - ulHighFractionLost - ulHighCumulativePacketLost - ulHighJitter - ulHighRoundTripTime - ulLowFractionLost - ulLowJitter - ulLowRoundTripTime - hEventDestObj - ulEventDestObjPort - ulEventDestObjFifoId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - tOCTVC1_HANDLE hLocalHost; - tOCT_UINT32 ulFifoId; - tOCTVC1_NET_RTP_EVT_MASK ulRtpEventMask; - tOCTVC1_NET_RTCP_EVT_MASK ulRtcpEventMask; - tOCTVC1_NET_SRTP_EVT_MASK ulSrtpEventMask; - tOCT_UINT32 ulUserEventId; - tOCTVC1_NET_OPERATION_MODE_ENUM ulInitialOperationMode; - tOCT_UINT32 ulSenderMaxPendingTimeSec; - tOCT_UINT32 ulSenderMaxInactiveTimeSec; - tOCT_BOOL32 ulRtcpEnableFlag; - tOCT_UINT32 ulRtpSessionBandwidth; - tOCT_UINT32 ulHighFractionLost; - tOCT_UINT32 ulHighCumulativePacketLost; - tOCT_UINT32 ulHighJitter; - tOCT_UINT32 ulHighRoundTripTime; - tOCT_UINT32 ulLowFractionLost; - tOCT_UINT32 ulLowJitter; - tOCT_UINT32 ulLowRoundTripTime; - tOCTVC1_HANDLE hEventDestObj; - tOCT_UINT32 ulEventDestObjPort; - tOCT_UINT32 ulEventDestObjFifoId; - -} tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulTxRtcpPauseFlag --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCT_BOOL32 ulTxRtcpPauseFlag; - -} tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - -} tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulHighFractionLost - ulHighCumulativePacketLost - ulHighJitter - ulHighRoundTripTime - ulLowFractionLost - ulLowJitter - ulLowRoundTripTime --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCT_UINT32 ulHighFractionLost; - tOCT_UINT32 ulHighCumulativePacketLost; - tOCT_UINT32 ulHighJitter; - tOCT_UINT32 ulHighRoundTripTime; - tOCT_UINT32 ulLowFractionLost; - tOCT_UINT32 ulLowJitter; - tOCT_UINT32 ulLowRoundTripTime; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - hTerm - ulRxPktFilter - Default: cOCTVC1_NET_RX_PKT_FILTER_ENUM_SRCIPUDP_SSRC - Packet filter applied to IP packets received for this member once a valid - remote member - ulLocalUdpPortRtp - Range: [0..65535] - Default: cOCTVC1_UDP_PORT_INVALID - Local RTP UDP port. This value must not be the same as ulLocalUdpPortT38 or - ulLocalUdpPortRtcp, and must not be used by another session. - ulLocalUdpPortRtcp - Range: [0..65535] - Default: cOCTVC1_UDP_PORT_INVALID - Local RTCP UDP port. This value must not be the same as ulLocalUdpPortRtp or - ulLocalUdpPortT38, and must not be used by another session. - ulLocalUdpPortT38 - Default: cOCTVC1_UDP_PORT_INVALID - Local T38 UDP port. This value must not be the same as ulLocalUdpPortRtp or - ulLocalUdpPortRtcp, and must not be used by another session. - ulLocalCnameLength - Range: [0..255] - Specifies the length of the local RTCP Canonical Name. The Canonical Name is - not NULL-terminated. - achLocalCname - Specifies the local canonical name to be used for RTCP reports. The user - application must specify a non-zero length string. The name is encoded - according to the UTF-2 encoding specified in Annex F of ISO standard 10646. - US-ASCII is a subset of this encoding and requires no additional encoding. The - name is not null terminated. The size of this field is aligned on a 32-bit - boundary. Characters beyond the 255th characters are ignored. - ulLocalForcedRtpParmMask - Default: cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_NONE - This mask is used for RTP parameters that can be automatically set by - Media-Gateway or force by User. - ulLocalForcedSsrc - RTP SSRC value for the connection, , when - cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_SSRC bit is set in - ulLocalForcedRtpParmMask. - ulLocalForcedInitialSeqNumber - 16-bit value. Initial Local Sequence Number, when - cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_INITIAL_SEQ_NUMBER bit is set in - ulLocalForcedRtpParmMask. For SRTP, it is recommended for the initial sequence - number to be smaller or equal to 2^15. Note this parameter is only used when - ulValidRemoteFlag toggle from cOCT_FALSE to cOCT_TRUE. - ulRemoteAutoDetectFlag - Flag used to activate or deactivate the remote UDP address auto-detection - mechanism. - RemoteUdpAddressRtp - IP address and UDP port of remote device that sends and receives RTP packets. - RemoteUdpAddressRtcp - IP address and UDP port of remote device that sends and receives RTCP packets. - When the IP address is set to all-zeros, then the IP address for RTCP packet is - automatically set to RemoteIpAddressRtp. - RemoteUdpAddressT38 - IP address and UDP port of remote device that sends and receives T38 packets. - When the IP address is set to all-zeros, then the IP address for RTCP packet is - automatically set to RemoteIpAddressRtp. - ulRemoteCnameLength - Range: [0..255] - Specifies the length of the remote RTCP Canonical Name. The Canonical Name is - not NULL-terminated. - achRemoteCname - RTP Canonical Name associated with the remote source. The name is encoded - according to the UTF-2 encoding specified in Annex F of ISO standard 10646. - US-ASCII is a subset of this encoding and requires no additional encoding. The - name is not null terminated.The size of this field is aligned on a 32-bit - boundary. Characters beyond the 255th characters are ignored. - ulRemoteForcedRtpParmMask - Default: cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_NONE - This mask is used for RTP parameters that can be automatically set by - Media-Gateway or force by User. - ulRemoteForcedSsrc - RTP SSRC value for the connection, , when - cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_SSRC bit is set in - ulLocalForcedRtpParmMask. - ulRemoteForcedInitialSeqNumber - 16-bit value. Inital Remote Sequence Number, when - cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_INITIAL_SEQ_NUMBER bit is set in - ulLocalForcedRtpParmMask. For SRTP, it is recommended for the initial sequence - number to be smaller or equal to 2^15. Note this parameter is only used when - ulValidRemoteFlag toggle from cOCT_FALSE to cOCT_TRUE. - ulIpv4TimeToLive - Range: [1..255] - Default: 127 - ###CPP### (See ulTimeToLive) Specifies the IP V4 Time to Live Parameter - inserted in the IP header of packets transmitted by this member. - ulIpv4TypeOfService - Range: [0..255] - ###CPP### (See ulTypeOfService) Specifies the IP V4 Type of Service parameter - inserted in the IP header of packets transmitted by this member. - ulIpv6HopLimit - Range: [1..255] - Value for HopLimit field of IPv6 packets. - ulIpv6FlowLabel - Range: [0..1048575] - Value for FlowLabel field of IPv6 packets. - ulIpv6TrafficClass - Range: [0..255] - Value for TrafficClass field of IPv6 packets. - ulNumProfEntry - Range: [0..8] - Number of profile entries included in aRtpProfEntry. - aRtpProfEntry - Array containing the mapping between the RTP Payload types and the Vocallo - encoding types supported by this Member. - SenderSrtp - SRTP/SRTCP configuration of sender direction. - SenderSrtpKey - SRTP/SRTCP first active key configuration for local sender. - ReceiverSrtp - SRTP/SRTCP configuration of remote sender direction. Note, only valid if - ulValidRemoteFlag set to cOCT_TRUE. - ReceiverSrtpKey - SRTP/SRTCP first active key configuration for remote sender. Note, only valid - if ulValidRemoteFlag set to cOCT_TRUE. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_HANDLE hTerm; - tOCTVC1_NET_RX_PKT_FILTER_ENUM ulRxPktFilter; - tOCT_UINT32 ulLocalUdpPortRtp; - tOCT_UINT32 ulLocalUdpPortRtcp; - tOCT_UINT32 ulLocalUdpPortT38; - tOCT_UINT32 ulLocalCnameLength; - tOCT_UINT8 achLocalCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK ulLocalForcedRtpParmMask; - tOCT_UINT32 ulLocalForcedSsrc; - tOCT_UINT32 ulLocalForcedInitialSeqNumber; - tOCT_BOOL32 ulRemoteAutoDetectFlag; - tOCTVC1_UDP_ADDRESS RemoteUdpAddressRtp; - tOCTVC1_UDP_ADDRESS RemoteUdpAddressRtcp; - tOCTVC1_UDP_ADDRESS RemoteUdpAddressT38; - tOCT_UINT32 ulRemoteCnameLength; - tOCT_UINT8 achRemoteCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK ulRemoteForcedRtpParmMask; - tOCT_UINT32 ulRemoteForcedSsrc; - tOCT_UINT32 ulRemoteForcedInitialSeqNumber; - tOCT_UINT32 ulIpv4TimeToLive; - tOCT_UINT32 ulIpv4TypeOfService; - tOCT_UINT32 ulIpv6HopLimit; - tOCT_UINT32 ulIpv6FlowLabel; - tOCT_UINT32 ulIpv6TrafficClass; - tOCT_UINT32 ulNumProfEntry; - tOCTVC1_NET_RTP_PROFILE_ENTRY aRtpProfEntry[cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY]; - tOCTVC1_NET_SRTP_STREAM_CONFIG SenderSrtp; - tOCTVC1_NET_SRTP_KEY_ENTRY SenderSrtpKey; - tOCTVC1_NET_SRTP_STREAM_CONFIG ReceiverSrtp; - tOCTVC1_NET_SRTP_KEY_ENTRY ReceiverSrtpKey; - -} tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId - ulLocalSsrc - Local Ssrc (automatic or forced) - ulLocalInitialSeqNumber - Local Ssrc (automatic or forced) --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - tOCT_UINT32 ulLocalSsrc; - tOCT_UINT32 ulLocalInitialSeqNumber; - -} tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - -} tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - -} tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - -} tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. - ulOperationMode - ulTxRtpPauseFlag - ulTxRtcpPauseFlag - hTerm - hDestObj - ulDestObjPort - ulRxPktFilter - ulDestObjFifoId - ulLocalUdpPortRtp - Default: cOCTVC1_UDP_PORT_INVALID - ulLocalUdpPortRtcp - Default: cOCTVC1_UDP_PORT_INVALID - ulLocalUdpPortT38 - Default: cOCTVC1_UDP_PORT_INVALID - ulLocalCnameLength - achLocalCname - ulRemoteAutoDetectFlag - ulValidRemoteFlag - RemoteUdpAddressRtp - RemoteUdpAddressRtcp - RemoteUdpAddressT38 - ulRemoteCnameLength - achRemoteCname - ulIpv4TimeToLive - ulIpv4TypeOfService - ulIpv6HopLimit - ulIpv6FlowLabel - ulIpv6TrafficClass - ulNumProfEntry - aRtpProfEntry - RtpMemberConnInfo - Contains connection information about the RTP Member. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - tOCTVC1_NET_OPERATION_MODE_ENUM ulOperationMode; - tOCT_BOOL32 ulTxRtpPauseFlag; - tOCT_BOOL32 ulTxRtcpPauseFlag; - tOCTVC1_HANDLE hTerm; - tOCTVC1_HANDLE hDestObj; - tOCT_UINT32 ulDestObjPort; - tOCTVC1_NET_RX_PKT_FILTER_ENUM ulRxPktFilter; - tOCT_UINT32 ulDestObjFifoId; - tOCT_UINT32 ulLocalUdpPortRtp; - tOCT_UINT32 ulLocalUdpPortRtcp; - tOCT_UINT32 ulLocalUdpPortT38; - tOCT_UINT32 ulLocalCnameLength; - tOCT_UINT8 achLocalCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - tOCT_BOOL32 ulRemoteAutoDetectFlag; - tOCT_BOOL32 ulValidRemoteFlag; - tOCTVC1_UDP_ADDRESS RemoteUdpAddressRtp; - tOCTVC1_UDP_ADDRESS RemoteUdpAddressRtcp; - tOCTVC1_UDP_ADDRESS RemoteUdpAddressT38; - tOCT_UINT32 ulRemoteCnameLength; - tOCT_UINT8 achRemoteCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - tOCT_UINT32 ulIpv4TimeToLive; - tOCT_UINT32 ulIpv4TypeOfService; - tOCT_UINT32 ulIpv6HopLimit; - tOCT_UINT32 ulIpv6FlowLabel; - tOCT_UINT32 ulIpv6TrafficClass; - tOCT_UINT32 ulNumProfEntry; - tOCTVC1_NET_RTP_PROFILE_ENTRY aRtpProfEntry[cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY]; - tOCTVC1_NET_RTP_MEMBER_CONN_INFO RtpMemberConnInfo; - -} tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId - ulTxRtpPauseFlag --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - tOCT_BOOL32 ulTxRtpPauseFlag; - -} tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - -} tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId - ulModifyMask - Default: cOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK_NONE - Specify which parameter must be modified. - ulRemoteAutoDetectFlag - ulLocalUdpPortRtp - Range: [0..65535] - Default: cOCTVC1_UDP_PORT_INVALID - Local RTP UDP port. This value must not be the same as ulLocalUdpPortT38 or - ulLocalUdpPortRtcp, and must not be used by another session. - ulLocalUdpPortRtcp - Range: [0..65535] - Default: cOCTVC1_UDP_PORT_INVALID - Local RTCP UDP port. This value must not be the same as ulLocalUdpPortRtp or - ulLocalUdpPortT38, and must not be used by another session. - ulLocalUdpPortT38 - Default: cOCTVC1_UDP_PORT_INVALID - Local T38 UDP port. This value must not be the same as ulLocalUdpPortRtp or - ulLocalUdpPortRtcp, and must not be used by another session. - RemoteUdpAddressRtp - RemoteUdpAddressRtcp - RemoteUdpAddressT38 - ulRemoteCnameLength - Default: 0 - achRemoteCname - ulRemoteForcedRtpParmMask - Default: cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_NONE - This mask is used for RTP parameters that can be automatically set by - Media-Gateway or force by User - ulRemoteForcedSsrc - RTP SSRC value for the connection, , when - cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_SSRC bit is set in ulRtpParmForcedMask. - ulRemoteForcedInitialSeqNumber - Range: [..0xFFFF] - Inital Remote Sequence Number, when - cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_INITIAL_SEQ_NUMBER bit is set in - ulRtpParmForcedMask. For SRTP, it's recommanded that initial sequence number be - smaller or egals to 2^15. Note this parameter is only used when - ulValidRemoteFlag toggle from cOCT_FALSE to cOCT_TRUE. - SenderSrtp - SRTP/SRTCP configuration of SRTP sender. - SenderSrtpKey - SRTP/SRTCP active key configuration for SRTP sender. - ReceiverSrtp - SRTP/SRTCP configuration of SRTP sender. - ReceiverSrtpKey - SRTP/SRTCP active key configuration for SRTP sender. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - tOCTVC1_NET_RTP_SESSION_MODIFY_MEMBER_MASK ulModifyMask; - tOCT_BOOL32 ulRemoteAutoDetectFlag; - tOCT_UINT32 ulLocalUdpPortRtp; - tOCT_UINT32 ulLocalUdpPortRtcp; - tOCT_UINT32 ulLocalUdpPortT38; - tOCTVC1_UDP_ADDRESS RemoteUdpAddressRtp; - tOCTVC1_UDP_ADDRESS RemoteUdpAddressRtcp; - tOCTVC1_UDP_ADDRESS RemoteUdpAddressT38; - tOCT_UINT32 ulRemoteCnameLength; - tOCT_UINT8 achRemoteCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK ulRemoteForcedRtpParmMask; - tOCT_UINT32 ulRemoteForcedSsrc; - tOCT_UINT32 ulRemoteForcedInitialSeqNumber; - tOCTVC1_NET_SRTP_STREAM_CONFIG SenderSrtp; - tOCTVC1_NET_SRTP_KEY_ENTRY SenderSrtpKey; - tOCTVC1_NET_SRTP_STREAM_CONFIG ReceiverSrtp; - tOCTVC1_NET_SRTP_KEY_ENTRY ReceiverSrtpKey; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD - - Members: - Header - OCTVC1 Message Header - ulForceFlag - Default: cOCT_FALSE - What to do when one or both members are already connected. - cOCT_TRUE: The connected members are disconnected and a new connection is - established between the ones specified by the command. - cOCT_FALSE: The command is rejected if one of the members is already connected. - ulRecoverNtpFromRtpTsFlag - Default: cOCT_FALSE - cOCT_TRUE: In translator mode, Rtcp report will be generated at each normal - RTCP interval - cOCT_FALSE: In translator mode, Rtcp will be generated upon reception of an - RTCP report at the associated RTP member. - hRtpSession - Default: cOCTVC1_HANDLE_INVALID - RTP Session handle of the RTP Member to connect. - ulLocalMemberId - Default: 0 - Identifier associated to the RTP member to connect. - hRtpSessionAssociated - Default: cOCTVC1_HANDLE_INVALID - RTP Session handle of the RTP Member to connect to. - ulLocalMemberIdAssociated - Default: 0 - Identifier associated to the RTP member to connect to. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCT_BOOL32 ulForceFlag; - tOCT_BOOL32 ulRecoverNtpFromRtpTsFlag; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - tOCTVC1_HANDLE hRtpSessionAssociated; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberIdAssociated; - -} tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - RTP Session handle of the RTP Member to connect. - ulLocalMemberId - Identifier associated to the RTP member to connect. - RtpMemberPrevConnInfo - Contains connection information about the RTP Member before the command was - received. - hRtpSessionAssociated - RTP Session handle of the RTP Member to connect to. - ulLocalMemberIdAssociated - Identifier associated to the RTP member to connect to. - RtpMemberPrevConnInfoAssociated - Contains connection information about the RTP Member before the command was - received. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - tOCTVC1_NET_RTP_MEMBER_CONN_INFO RtpMemberPrevConnInfo; - tOCTVC1_HANDLE hRtpSessionAssociated; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberIdAssociated; - tOCTVC1_NET_RTP_MEMBER_CONN_INFO RtpMemberPrevConnInfoAssociated; - -} tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - Default: cOCTVC1_HANDLE_INVALID - RTP Session handle of the RTP Member to disconnect. - ulLocalMemberId - Default: 0 - Identifier associated of the member to disconnect. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - -} tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - RTP Session handle of the RTP Member. - ulLocalMemberId - Identifier associated of the member. - RtpMemberPrevConnInfo - Contains connection information about the RTP Member before the command was - received. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - tOCTVC1_NET_RTP_MEMBER_CONN_INFO RtpMemberPrevConnInfo; - -} tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - -} tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. - ulRemoteMemberId - aulReceivedPktCnt - aulReceivedByteCnt - SenderStats - ReceiverStats --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - tOCT_UINT32 ulRemoteMemberId; - tOCT_UINT32 aulReceivedPktCnt[2]; - tOCT_UINT32 aulReceivedByteCnt[2]; - tOCTVC1_NET_RTCP_SENDER_STATS SenderStats; - tOCTVC1_NET_RTCP_RECEIVER_STATS ReceiverStats; - -} tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - -} tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. - ulRoundTripTime - ulMaxRoundTripTime - ulAverageRoundTripTime - SenderStats - ReceiverStats --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - tOCT_UINT32 ulRoundTripTime; - tOCT_UINT32 ulMaxRoundTripTime; - tOCT_UINT32 ulAverageRoundTripTime; - tOCTVC1_NET_RTCP_SENDER_STATS SenderStats; - tOCTVC1_NET_RTCP_RECEIVER_STATS ReceiverStats; - -} tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - -} tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. - ulNumMember - ulNumSender - ulSessionStartTime - ulRxByePktCnt - ulRxSenderJoinCnt - ulRxMemberJoinCnt - ulErrCollisionCnt - ulErrLoopCnt - ulErrRtcpPktInvalidCnt --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - tOCT_UINT32 ulNumMember; - tOCT_UINT32 ulNumSender; - tOCT_UINT32 ulSessionStartTime; - tOCT_UINT32 ulRxByePktCnt; - tOCT_UINT32 ulRxSenderJoinCnt; - tOCT_UINT32 ulRxMemberJoinCnt; - tOCT_UINT32 ulErrCollisionCnt; - tOCT_UINT32 ulErrLoopCnt; - tOCT_UINT32 ulErrRtcpPktInvalidCnt; - -} tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - Default: cOCTVC1_HANDLE_INVALID - ulLocalMemberId - ulSenderSrtpKeyActiveIdx - Default: cOCTVC1_DO_NOT_MODIFY - Index of the Active Sender SRTP key. Range:0..ulSenderSrtpKeyNum-1 - ulSenderSrtpKeyNum - Range: [1..4] - Default: cOCTVC1_DO_NOT_MODIFY - aSenderSrtpKeyList - Local sender key list. The number of key in the list is define in - ulLocalSenderKeyNum. Note, the new list replace older one. - ulReceiverSrtpKeyActiveIdx - Default: cOCTVC1_DO_NOT_MODIFY - Index of the Active Receiver SRTP key. Values: 0..ulReceiverSrtpKeyNum-1 - ulReceiverSrtpKeyNum - Range: [1..4] - Default: cOCTVC1_DO_NOT_MODIFY - Number of Key included in aReceiverSrtpKeyList. Value of cOCTVC1_DO_NOT_MODIFY - means not modify the remote key list. Note, the new list replace older one. - aReceiverSrtpKeyList - Default: cOCTVC1_DO_NOT_MODIFY - Local sender key list. The number of key in the list is define in - ulRemoteSenderKeyNum. Note, the new list replace older one. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - tOCT_UINT32 ulSenderSrtpKeyActiveIdx; - tOCT_UINT32 ulSenderSrtpKeyNum; - tOCTVC1_NET_SRTP_KEY_ENTRY aSenderSrtpKeyList[cOCTVC1_NET_MAX_SRTP_KEY_LIST_NUM]; - tOCT_UINT32 ulReceiverSrtpKeyActiveIdx; - tOCT_UINT32 ulReceiverSrtpKeyNum; - tOCTVC1_NET_SRTP_KEY_ENTRY aReceiverSrtpKeyList[cOCTVC1_NET_MAX_SRTP_KEY_LIST_NUM]; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - -} tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. - SenderSrtp - ulSenderSrtpKeyActiveIdx - ulSenderSrtpKeyNum - aSenderSrtpKeyList - ReceiverSrtp - ulReceiverSrtpKeyActiveIdx - ulReceiverSrtpKeyNum - aReceiverSrtpKeyList --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - tOCTVC1_NET_SRTP_STREAM_CONFIG SenderSrtp; - tOCT_UINT32 ulSenderSrtpKeyActiveIdx; - tOCT_UINT32 ulSenderSrtpKeyNum; - tOCTVC1_NET_SRTP_KEY_ENTRY aSenderSrtpKeyList[cOCTVC1_NET_MAX_SRTP_KEY_LIST_NUM]; - tOCTVC1_NET_SRTP_STREAM_CONFIG ReceiverSrtp; - tOCT_UINT32 ulReceiverSrtpKeyActiveIdx; - tOCT_UINT32 ulReceiverSrtpKeyNum; - tOCTVC1_NET_SRTP_KEY_ENTRY aReceiverSrtpKeyList[cOCTVC1_NET_MAX_SRTP_KEY_LIST_NUM]; - -} tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - -} tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. - SenderSrtpStats - ReceiverSrtpStats --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - tOCTVC1_NET_SRTP_STREAM_STATS SenderSrtpStats; - tOCTVC1_NET_SRTP_STREAM_STATS ReceiverSrtpStats; - -} tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId - ulNumEntry - aEntry --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - tOCT_UINT32 ulNumEntry; - tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY aEntry[cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY]; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD - - Members: - Header - OCTVC1 Message Header - IpAddress - IP address of the Local Host. This is the IP address used by the host to send - and receive IP packets. - See ulAddrAutoConfigFlag to determine if the parameter must be configured. - NetworkMask - IP mask of the Local Host. The IP version of the mask must match the one - defined in - IpAddress. In the case of IPv6, the mask indicates which bits from IpAddress - represent the address’s prefix. - See ulAddrAutoConfigFlag to determine if the parameter must be configured. - ulAddrAutoConfigFlag - Default: cOCT_FALSE - Whether or not to use auto-configuration to configure the host. - If set to cOCT_FALSE, use IpAddress and NetworkMask to configure the host. - If set to cOCT_TRUE, only use IpAddress.ulIpVersion and auto-configuration to - configure the host. - ulMuteOnAddrExpireFlag - Default: cOCT_TRUE - Determines what to do with terminations active on an auto-configured host whose - address has expired. - If set to cOCT_TRUE will disable all Tx termination traffic, and the host will - no longer reply - to any ICMP messages. - Setting to cOCT_FALSE does nothing to either the terminations or the host. - This parameter is used only if ulAddrAutoConfigFlag is set to cOCT_TRUE. - hLink - Handle that uniquely identifies the Link Object. - ulUserEventId - User-specified value that is included in the events packets generated by this - object. - ulEventMask - Bit mask used to configure the type of Internet Control Message Protocol (ICMP) - packet that will generate events. - ulEventThrottle - Maximum number of Host events that can be generated every second. - hEventDestObj - Event object handle inserted in packets sent on port 256. - ulEventDestObjPort - Event object Packet Port inserted in packets sent on port 256. - ulEventDestObjFifoId - Default: cOCTVC1_FIFO_ID_INVALID - Event FIFO ID inserted in packets sent on port 256. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_IP_ADDRESS IpAddress; - tOCTVC1_IP_ADDRESS NetworkMask; - tOCT_BOOL32 ulAddrAutoConfigFlag; - tOCT_BOOL32 ulMuteOnAddrExpireFlag; - tOCTVC1_HANDLE hLink; - tOCT_UINT32 ulUserEventId; - tOCTVC1_NET_LOCAL_HOST_EVT_MASK ulEventMask; - tOCT_UINT32 ulEventThrottle; - tOCTVC1_HANDLE hEventDestObj; - tOCT_UINT32 ulEventDestObjPort; - tOCT_UINT32 ulEventDestObjFifoId; - -} tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP - - Members: - Header - OCTVC1 Message Header - hLocalHost - Handle that uniquely identifies the Local Host. - ulAddrStatus - Status of the IP address assigned to the Local Host. This status is determined - using Duplicate Address Detection (DAD). --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLocalHost; - tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM ulAddrStatus; - -} tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD - - Members: - Header - OCTVC1 Message Header - hLocalHost - Handle of the Local Host. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLocalHost; - -} tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP - - Members: - Header - OCTVC1 Message Header - hLocalHost - Handle of the Local Host. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLocalHost; - -} tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - -} tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. - ulAddrAutoConfigFlag - Whether or not auto-configuration was used to configure the host. - IpAddress - IP address of the Local Host. This is the IP address used by the host to send - and - receive IP packets. - NetworkMask - IP mask of Local Host. The IP version of the mask must match the one defined in - IpAddress. In the case of IPv6, the mask indicates which bits from IpAddress - represent the address’s prefix. - hLink - Handle that uniquely identifies the Link Object. - ulAddrStatus - Status of the IP address assigned to the Local Host. This status is determined - using - Duplicate Address Detection (DAD). - ulUserEventId - User-specified value that is included in the events packets generated by this - object. - ulEventThrottle - Maximum number of Host events that can be generated every second. - ulEventMask - Bit mask used to configure the type of Internet Control Message Protocol (ICMP) - packet that will generate events. - hEventDestObj - Event object handle inserted in packets sent on port 256. - ulEventDestObjPort - Event object Packet Port inserted in packets sent on port 256. - ulEventDestObjFifoId - Event FIFO ID inserted in packets sent on port 256. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - tOCT_BOOL32 ulAddrAutoConfigFlag; - tOCTVC1_IP_ADDRESS IpAddress; - tOCTVC1_IP_ADDRESS NetworkMask; - tOCTVC1_HANDLE hLink; - tOCTVC1_NET_LOCAL_HOST_ADDR_STATUS_ENUM ulAddrStatus; - tOCT_UINT32 ulUserEventId; - tOCT_UINT32 ulEventThrottle; - tOCTVC1_NET_LOCAL_HOST_EVT_MASK ulEventMask; - tOCTVC1_HANDLE hEventDestObj; - tOCT_UINT32 ulEventDestObjPort; - tOCT_UINT32 ulEventDestObjFifoId; - -} tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD - - Members: - Header - OCTVC1 Message Header - hLocalHost - RemoteIpAddress - ulTimeout - Default: 2000 - ulTimeToLive - Default: 8 - ulUserEventId - ulPayloadLength - abyPayload --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLocalHost; - tOCTVC1_IP_ADDRESS RemoteIpAddress; - tOCT_UINT32 ulTimeout; - tOCT_UINT32 ulTimeToLive; - tOCT_UINT32 ulUserEventId; - tOCT_UINT32 ulPayloadLength; - tOCT_UINT8 abyPayload[cOCTVC1_NET_ICMP_PING_MAX_PAYLOAD_LENGTH]; - -} tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP - - Members: - Header - OCTVC1 Message Header - hLocalHost --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLocalHost; - -} tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD - - Members: - Header - OCTVC1 Message Header - hLocalHost - ulProbeIntervalMs - Default: 500 - ulNumProbe - Range: [0..15] - Default: 3 --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLocalHost; - tOCT_UINT32 ulProbeIntervalMs; - tOCT_UINT32 ulNumProbe; - -} tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP - - Members: - Header - OCTVC1 Message Header - hLocalHost --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLocalHost; - -} tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. - ulResetStatsFlag - Reset stats flag. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - tOCT_BOOL32 ulResetStatsFlag; - -} tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP - - Members: - Header - OCTVC1 Message Header - ObjectGet - Generic object get structure. - ulApiEventCnt --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET ObjectGet; - tOCT_UINT32 ulApiEventCnt; - -} tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD - - Members: - Header - OCTVC1 Message Header - hLink - IpAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLink; - tOCTVC1_IP_ADDRESS IpAddress; - -} tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP - - Members: - Header - OCTVC1 Message Header - hLink - IpAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLink; - tOCTVC1_IP_ADDRESS IpAddress; - -} tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD - - Members: - Header - OCTVC1 Message Header - hLink - IpAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLink; - tOCTVC1_IP_ADDRESS IpAddress; - -} tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP - - Members: - Header - OCTVC1 Message Header - hLink - IpAddress --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLink; - tOCTVC1_IP_ADDRESS IpAddress; - -} tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD - - Members: - Header - OCTVC1 Message Header - GatewayGet - IP Address cursor --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_NET_IP_CURSOR GatewayGet; - -} tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP - - Members: - Header - OCTVC1 Message Header - GatewayGet - IP Address cursor --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_NET_IP_CURSOR GatewayGet; - -} tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD - - Members: - Header - OCTVC1 Message Header - hLink - IPv6Prefix - ulOnLinkFlag - ulAddrAutoConfigFlag - ulValidLifetimeSec - ulPreferredLifetimeSec --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLink; - tOCTVC1_NET_LINK_IPV6_PREFIX IPv6Prefix; - tOCT_BOOL32 ulOnLinkFlag; - tOCT_BOOL32 ulAddrAutoConfigFlag; - tOCT_UINT32 ulValidLifetimeSec; - tOCT_UINT32 ulPreferredLifetimeSec; - -} tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP - - Members: - Header - OCTVC1 Message Header - hLink - IPv6Prefix --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLink; - tOCTVC1_NET_LINK_IPV6_PREFIX IPv6Prefix; - -} tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD - - Members: - Header - OCTVC1 Message Header - hLink - IPv6Prefix --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLink; - tOCTVC1_NET_LINK_IPV6_PREFIX IPv6Prefix; - -} tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP - - Members: - Header - OCTVC1 Message Header - hLink - IPv6Prefix --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLink; - tOCTVC1_NET_LINK_IPV6_PREFIX IPv6Prefix; - -} tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD - - Members: - Header - OCTVC1 Message Header - IPv6PrefixGet - IP Address cursor --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_NET_IPV6_PREFIX_CURSOR IPv6PrefixGet; - -} tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP - - Members: - Header - OCTVC1 Message Header - IPv6PrefixGet - IP Address cursor - IPv6PrefixInfo - IPv6 information structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_NET_IPV6_PREFIX_CURSOR IPv6PrefixGet; - tOCTVC1_NET_LINK_IPV6_PREFIX_INFO IPv6PrefixInfo; - -} tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - hTerm - aStream - Array of transport structure. Each entry contains packet headers and routing - config for one of these data streams: RTP, RTCP or T38_UDPTL. - ulLocalForcedRtpParmMask - Default: cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_NONE - This mask is used for RTP parameters that can be automatically set by - Media-Gateway or force by User. - ulLocalForcedSsrc - RTP SSRC value for the connection, , when - cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_SSRC bit is set in - ulLocalForcedRtpParmMask. - ulLocalForcedInitialSeqNumber - 16-bit value. Initial Local Sequence Number, when - cOCTVC1_NET_RTP_FORCED_PARAMETER_MASK_INITIAL_SEQ_NUMBER bit is set in - ulLocalForcedRtpParmMask. For SRTP, it is recommended for the initial sequence - number to be smaller or equal to 2^15. Note this parameter is only used when - ulValidRemoteFlag toggle from cOCT_FALSE to cOCT_TRUE. - ulNumRtpProfEntry - Default: 1 - Number of valid RTP profile entry. - aRtpProfEntry - Array of RTP profille entry. - ulLocalCnameByteLength - Default: 0 - Byte length of the local CNAME. - achLocalCname - Specifies the local canonical name to be used for RTCP reports. The user - application must specify a non-zero length string. The name is encoded - according to the UTF-2 encoding specified in Annex F of ISO standard 10646. - US-ASCII is a subset of this encoding and requires no additional encoding. The - name is not null terminated. The size of this field is aligned on a 32-bit - boundary. Characters beyond the 255th characters are ignored. - ulRemoteCnameByteLength - Default: 0 - Byte length of the remote CNAME. - achRemoteCname - RTP Canonical Name associated with the remote source. The name is encoded - according to the UTF-2 encoding specified in Annex F of ISO standard 10646. - US-ASCII is a subset of this encoding and requires no additional encoding. The - name is not null terminated.The size of this field is aligned on a 32-bit - boundary. Characters beyond the 255th characters are ignored. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_HANDLE hTerm; - tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM aStream[cOCTVC1_NET_RTP_MEMBER_MAX_STREAM]; - tOCTVC1_NET_RTP_FORCED_PARAMETER_MASK ulLocalForcedRtpParmMask; - tOCT_UINT32 ulLocalForcedSsrc; - tOCT_UINT32 ulLocalForcedInitialSeqNumber; - tOCT_UINT32 ulNumRtpProfEntry; - tOCTVC1_NET_RTP_PROFILE_ENTRY aRtpProfEntry[cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY]; - tOCT_UINT32 ulLocalCnameByteLength; - tOCT_UINT8 achLocalCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - tOCT_UINT32 ulRemoteCnameByteLength; - tOCT_UINT8 achRemoteCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - -} tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - -} tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId - ulModifyMask - Default: cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_NONE - Bit mask used to modify some fields of an RTP session custom member - aStream - Array of transport structure. Each entry contains packet headers and routing - config for one of these data streams: RTP, RTCP or T38_UDPTL. To modify one of - those entry, the associated bit in ulModifyMask must be set to 1 - ulLocalCnameByteLength - Default: 0 - Byte length of the local CNAME. This field is only processed if ulModifyMask is - set to cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_LOCAL. - achLocalCname - Specifies the local canonical name to be used for RTCP reports. The user - application must specify a non-zero length string. The name is encoded - according to the UTF-2 encoding specified in Annex F of ISO standard 10646. - US-ASCII is a subset of this encoding and requires no additional encoding. The - name is not null terminated. The size of this field is aligned on a 32-bit - boundary. Characters beyond the 255th characters are ignored. This field is - only processed if ulModifyMask is set to - cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_LOCAL. - ulRemoteCnameByteLength - Default: 0 - Byte length of the remote CNAME.This field is only processed if ulModifyMask is - set to cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_REMOTE. - achRemoteCname - RTP Canonical Name associated with the remote source. The name is encoded - according to the UTF-2 encoding specified in Annex F of ISO standard 10646. - US-ASCII is a subset of this encoding and requires no additional encoding. The - name is not null terminated.The size of this field is aligned on a 32-bit - boundary. Characters beyond the 255th characters are ignored.This field is only - processed if ulModifyMask is set to - cOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK_CNAME_REMOTE. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - tOCTVC1_NET_CUSTOM_MEMBER_MODIFY_MASK ulModifyMask; - tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY aStream[cOCTVC1_NET_RTP_MEMBER_MAX_STREAM]; - tOCT_UINT32 ulLocalCnameByteLength; - tOCT_UINT8 achLocalCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - tOCT_UINT32 ulRemoteCnameByteLength; - tOCT_UINT8 achRemoteCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulLocalMemberId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCTVC1_SUB_OBJECT_ID ulLocalMemberId; - -} tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - -} tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP - - Members: - Header - OCTVC1 Message Header - SubObjectIdGet - Sub-Object Id get structure. - ulOperationMode - hTerm - aStream - Array of transport structure. Each entry contains packet headers and routing - config for one of these data streams: RTP, RTCP or T38_UDPTL. - ulNumRtpProfEntry - Number of valid RTP profile entry. - aRtpProfEntry - Array of RTP profille entry. - ulLocalCnameByteLength - Byte length of the local CNAME. - achLocalCname - Specifies the local canonical name to be used for RTCP reports. The user - application must specify a non-zero length string. The name is encoded - according to the UTF-2 encoding specified in Annex F of ISO standard 10646. - US-ASCII is a subset of this encoding and requires no additional encoding. The - name is not null terminated. The size of this field is aligned on a 32-bit - boundary. Characters beyond the 255th characters are ignored. - ulRemoteCnameByteLength - Byte length of the remote CNAME. - achRemoteCname - RTP Canonical Name associated with the remote source. The name is encoded - according to the UTF-2 encoding specified in Annex F of ISO standard 10646. - US-ASCII is a subset of this encoding and requires no additional encoding. The - name is not null terminated.The size of this field is aligned on a 32-bit - boundary. Characters beyond the 255th characters are ignored. --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID SubObjectIdGet; - tOCTVC1_NET_OPERATION_MODE_ENUM ulOperationMode; - tOCTVC1_HANDLE hTerm; - tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM aStream[cOCTVC1_NET_RTP_MEMBER_MAX_STREAM]; - tOCT_UINT32 ulNumRtpProfEntry; - tOCTVC1_NET_RTP_PROFILE_ENTRY aRtpProfEntry[cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY]; - tOCT_UINT32 ulLocalCnameByteLength; - tOCT_UINT8 achLocalCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - tOCT_UINT32 ulRemoteCnameByteLength; - tOCT_UINT8 achRemoteCname[(cOCTVC1_NET_MAX_CNAME_LENGTH+1)]; - -} tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD - - Members: - Header - OCTVC1 Message Header - hLocalHost - ulRtpEventMask - ulRtcpEventMask - ulSrtpEventMask - Default: cOCTVC1_NET_SRTP_EVT_MASK_NONE - Bit field that contains the list of RTCP events that can be generated by this - session. - ulUserEventId - ulInitialOperationMode - Default: cOCTVC1_NET_OPERATION_MODE_ENUM_ENDPOINT - ulSenderMaxPendingTimeSec - Default: 0 - ulSenderMaxInactiveTimeSec - Default: 0 - ulRtcpEnableFlag - Default: cOCT_TRUE - ulRtcpVideoFeedbackEnableFlagMask - ulRtpSessionBandwidth - Default: 160 - ulHighFractionLost - ulHighCumulativePacketLost - ulHighJitter - ulHighRoundTripTime - ulLowFractionLost - ulLowJitter - ulLowRoundTripTime - hEventDestObj - ulEventDestObjPort - ulEventDestObjFifoId - Default: cOCTVC1_FIFO_ID_INVALID --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hLocalHost; - tOCTVC1_NET_RTP_EVT_MASK ulRtpEventMask; - tOCTVC1_NET_RTCP_EVT_MASK ulRtcpEventMask; - tOCTVC1_NET_SRTP_EVT_MASK ulSrtpEventMask; - tOCT_UINT32 ulUserEventId; - tOCTVC1_NET_OPERATION_MODE_ENUM ulInitialOperationMode; - tOCT_UINT32 ulSenderMaxPendingTimeSec; - tOCT_UINT32 ulSenderMaxInactiveTimeSec; - tOCT_BOOL32 ulRtcpEnableFlag; - tOCTVC1_NET_VIDEO_RTCP_FB_MSG_MASK ulRtcpVideoFeedbackEnableFlagMask; - tOCT_UINT32 ulRtpSessionBandwidth; - tOCT_UINT32 ulHighFractionLost; - tOCT_UINT32 ulHighCumulativePacketLost; - tOCT_UINT32 ulHighJitter; - tOCT_UINT32 ulHighRoundTripTime; - tOCT_UINT32 ulLowFractionLost; - tOCT_UINT32 ulLowJitter; - tOCT_UINT32 ulLowRoundTripTime; - tOCTVC1_HANDLE hEventDestObj; - tOCT_UINT32 ulEventDestObjPort; - tOCT_UINT32 ulEventDestObjFifoId; - -} tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD; - -/*------------------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP - - Members: - Header - OCTVC1 Message Header - hRtpSession - ulFifoId --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVC1_MSG_HEADER Header; - tOCTVC1_HANDLE hRtpSession; - tOCT_UINT32 ulFifoId; - -} tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP; - - -/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/ -#include "octvc1_net_evt.h" - -#ifdef cDO_PRAGMA_PACK_POP -#pragma pack( pop ) -#endif /* cDO_PRAGMA_PACK_POP */ -#undef cDO_PRAGMA_PACK_POP - -#endif /* __OCTVC1_NET_API_H__ */ - diff --git a/software/include/vocallo/net/octvc1_net_api_swap.h b/software/include/vocallo/net/octvc1_net_api_swap.h deleted file mode 100644 index 527cf5f..0000000 --- a/software/include/vocallo/net/octvc1_net_api_swap.h +++ /dev/null @@ -1,1628 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvc1_net_api_swap.h - -$Octasic_Copyright: $ - -Description: - -$Octasic_Confidentiality: $ - -$Octasic_Release: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVC1_NET_API_SWAP_H__ -#define __OCTVC1_NET_API_SWAP_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_swap_hdrs.h" -#include "octvc1_net_api.h" - -/********************************* MACROS **********************************/ - - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_IP_CURSOR_SWAP( _f_pParms ){ tOCTVC1_NET_IP_CURSOR * pOCTVC1_NET_IP_CURSOR = (_f_pParms); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_IP_CURSOR *)pOCTVC1_NET_IP_CURSOR)->hLink ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_IP_CURSOR *)pOCTVC1_NET_IP_CURSOR)->IpAddress ); } \ - ((tOCTVC1_NET_IP_CURSOR *)pOCTVC1_NET_IP_CURSOR)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_IP_CURSOR *)pOCTVC1_NET_IP_CURSOR)->ulGetMode); \ -} -#else -#define mOCTVC1_NET_IP_CURSOR_SWAP( pOCTVC1_NET_IP_CURSOR ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_RTP_PROFILE_ENTRY_SWAP( _f_pParms ){ tOCTVC1_NET_RTP_PROFILE_ENTRY * pOCTVC1_NET_RTP_PROFILE_ENTRY = (_f_pParms); \ - ((tOCTVC1_NET_RTP_PROFILE_ENTRY *)pOCTVC1_NET_RTP_PROFILE_ENTRY)->ulRtpPayloadType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTP_PROFILE_ENTRY *)pOCTVC1_NET_RTP_PROFILE_ENTRY)->ulRtpPayloadType); \ - ((tOCTVC1_NET_RTP_PROFILE_ENTRY *)pOCTVC1_NET_RTP_PROFILE_ENTRY)->ulPktEncodingType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTP_PROFILE_ENTRY *)pOCTVC1_NET_RTP_PROFILE_ENTRY)->ulPktEncodingType); \ -} -#else -#define mOCTVC1_NET_RTP_PROFILE_ENTRY_SWAP( pOCTVC1_NET_RTP_PROFILE_ENTRY ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY_SWAP( _f_pParms ){ tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY * pOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY = (_f_pParms); \ - ((tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY *)pOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY)->ulModifyType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY *)pOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY)->ulModifyType); \ - { mOCTVC1_NET_RTP_PROFILE_ENTRY_SWAP( &((tOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY *)pOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY)->Entry ); } \ -} -#else -#define mOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY_SWAP( pOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( _f_pParms ){ tOCTVC1_NET_SRTP_KEY_ENTRY * pOCTVC1_NET_SRTP_KEY_ENTRY = (_f_pParms); \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulMasterKeyBitSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulMasterKeyBitSize); \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulMasterSaltBitSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulMasterSaltBitSize); \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulKeyDerivationRateLog2 = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulKeyDerivationRateLog2); \ - { tOCT_UINT32 iOCTVC1_NET_SRTP_KEY_ENTRY; \ - for( iOCTVC1_NET_SRTP_KEY_ENTRY=0; \ - iOCTVC1_NET_SRTP_KEY_ENTRY<(2);iOCTVC1_NET_SRTP_KEY_ENTRY++ ) \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->aulRtpMasterKeyMaxLifeTime[iOCTVC1_NET_SRTP_KEY_ENTRY] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->aulRtpMasterKeyMaxLifeTime[iOCTVC1_NET_SRTP_KEY_ENTRY]);}\ - { tOCT_UINT32 iOCTVC1_NET_SRTP_KEY_ENTRY; \ - for( iOCTVC1_NET_SRTP_KEY_ENTRY=0; \ - iOCTVC1_NET_SRTP_KEY_ENTRY<(2);iOCTVC1_NET_SRTP_KEY_ENTRY++ ) \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->aulRtpMasterKeyFromLifeTime[iOCTVC1_NET_SRTP_KEY_ENTRY] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->aulRtpMasterKeyFromLifeTime[iOCTVC1_NET_SRTP_KEY_ENTRY]);}\ - { tOCT_UINT32 iOCTVC1_NET_SRTP_KEY_ENTRY; \ - for( iOCTVC1_NET_SRTP_KEY_ENTRY=0; \ - iOCTVC1_NET_SRTP_KEY_ENTRY<(2);iOCTVC1_NET_SRTP_KEY_ENTRY++ ) \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->aulRtpMasterKeyToLifeTime[iOCTVC1_NET_SRTP_KEY_ENTRY] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->aulRtpMasterKeyToLifeTime[iOCTVC1_NET_SRTP_KEY_ENTRY]);}\ - { tOCT_UINT32 iOCTVC1_NET_SRTP_KEY_ENTRY; \ - for( iOCTVC1_NET_SRTP_KEY_ENTRY=0; \ - iOCTVC1_NET_SRTP_KEY_ENTRY<(2);iOCTVC1_NET_SRTP_KEY_ENTRY++ ) \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->aulRtpReKeyEventThreshold[iOCTVC1_NET_SRTP_KEY_ENTRY] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->aulRtpReKeyEventThreshold[iOCTVC1_NET_SRTP_KEY_ENTRY]);}\ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulRtcpMasterKeyMaxLifeTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulRtcpMasterKeyMaxLifeTime); \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulRtcpMasterKeyFromLifeTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulRtcpMasterKeyFromLifeTime); \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulRtcpMasterKeyToLifeTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulRtcpMasterKeyToLifeTime); \ - ((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulRtcpReKeyEventThreshold = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_ENTRY *)pOCTVC1_NET_SRTP_KEY_ENTRY)->ulRtcpReKeyEventThreshold); \ -} -#else -#define mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( pOCTVC1_NET_SRTP_KEY_ENTRY ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_SRTP_STREAM_CONFIG_SWAP( _f_pParms ){ tOCTVC1_NET_SRTP_STREAM_CONFIG * pOCTVC1_NET_SRTP_STREAM_CONFIG = (_f_pParms); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulCryptoTransform = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulCryptoTransform); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulAuthTransform = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulAuthTransform); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulAuthTagBitSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulAuthTagBitSize); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulMkiByteSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulMkiByteSize); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSessionCryptoKeyBitSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSessionCryptoKeyBitSize); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSessionSaltKeyBitSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSessionSaltKeyBitSize); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSessionAuthKeyBitSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSessionAuthKeyBitSize); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulInitialRoc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulInitialRoc); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSrtpServiceMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSrtpServiceMask); \ - ((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSrtcpServiceMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_CONFIG *)pOCTVC1_NET_SRTP_STREAM_CONFIG)->ulSrtcpServiceMask); \ -} -#else -#define mOCTVC1_NET_SRTP_STREAM_CONFIG_SWAP( pOCTVC1_NET_SRTP_STREAM_CONFIG ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_SRTP_KEY_STATS_SWAP( _f_pParms ){ tOCTVC1_NET_SRTP_KEY_STATS * pOCTVC1_NET_SRTP_KEY_STATS = (_f_pParms); \ - ((tOCTVC1_NET_SRTP_KEY_STATS *)pOCTVC1_NET_SRTP_KEY_STATS)->ulKeyState = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_STATS *)pOCTVC1_NET_SRTP_KEY_STATS)->ulKeyState); \ - { tOCT_UINT32 iOCTVC1_NET_SRTP_KEY_STATS; \ - for( iOCTVC1_NET_SRTP_KEY_STATS=0; \ - iOCTVC1_NET_SRTP_KEY_STATS<(2);iOCTVC1_NET_SRTP_KEY_STATS++ ) \ - ((tOCTVC1_NET_SRTP_KEY_STATS *)pOCTVC1_NET_SRTP_KEY_STATS)->aulSrtpPacketCnt[iOCTVC1_NET_SRTP_KEY_STATS] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_STATS *)pOCTVC1_NET_SRTP_KEY_STATS)->aulSrtpPacketCnt[iOCTVC1_NET_SRTP_KEY_STATS]);}\ - ((tOCTVC1_NET_SRTP_KEY_STATS *)pOCTVC1_NET_SRTP_KEY_STATS)->ulSrtcpPacketCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_KEY_STATS *)pOCTVC1_NET_SRTP_KEY_STATS)->ulSrtcpPacketCnt); \ -} -#else -#define mOCTVC1_NET_SRTP_KEY_STATS_SWAP( pOCTVC1_NET_SRTP_KEY_STATS ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_SRTP_STREAM_STATS_SWAP( _f_pParms ){ tOCTVC1_NET_SRTP_STREAM_STATS * pOCTVC1_NET_SRTP_STREAM_STATS = (_f_pParms); \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulSrtpState = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulSrtpState); \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulSsrc); \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulLastRoc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulLastRoc); \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulLastSeq = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulLastSeq); \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulLastSrtcpIndex = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulLastSrtcpIndex); \ - { tOCT_UINT32 iOCTVC1_NET_SRTP_STREAM_STATS; \ - for( iOCTVC1_NET_SRTP_STREAM_STATS=0; \ - iOCTVC1_NET_SRTP_STREAM_STATS<(2);iOCTVC1_NET_SRTP_STREAM_STATS++ ) \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->aulTotalSrtpPktCnt[iOCTVC1_NET_SRTP_STREAM_STATS] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->aulTotalSrtpPktCnt[iOCTVC1_NET_SRTP_STREAM_STATS]);}\ - { tOCT_UINT32 iOCTVC1_NET_SRTP_STREAM_STATS; \ - for( iOCTVC1_NET_SRTP_STREAM_STATS=0; \ - iOCTVC1_NET_SRTP_STREAM_STATS<(2);iOCTVC1_NET_SRTP_STREAM_STATS++ ) \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->aulTotalSrtcpPktCnt[iOCTVC1_NET_SRTP_STREAM_STATS] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->aulTotalSrtcpPktCnt[iOCTVC1_NET_SRTP_STREAM_STATS]);}\ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulUnAuthPktCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulUnAuthPktCnt); \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulReplayPktCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulReplayPktCnt); \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulReKeyCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulReKeyCnt); \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulActiveKeyIdx = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulActiveKeyIdx); \ - ((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulSrtpKeyNum = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->ulSrtpKeyNum); \ - { tOCT_UINT32 jOCTVC1_NET_SRTP_STREAM_STATS; \ - for( jOCTVC1_NET_SRTP_STREAM_STATS=0; \ - jOCTVC1_NET_SRTP_STREAM_STATS<(4);jOCTVC1_NET_SRTP_STREAM_STATS++ ) \ - { mOCTVC1_NET_SRTP_KEY_STATS_SWAP( &((tOCTVC1_NET_SRTP_STREAM_STATS *)pOCTVC1_NET_SRTP_STREAM_STATS)->aSrtpKeyStats[jOCTVC1_NET_SRTP_STREAM_STATS] ); }} \ -} -#else -#define mOCTVC1_NET_SRTP_STREAM_STATS_SWAP( pOCTVC1_NET_SRTP_STREAM_STATS ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_CONFIG_STATIC_SWAP( _f_pParms ){ tOCTVC1_NET_CONFIG_STATIC * pOCTVC1_NET_CONFIG_STATIC = (_f_pParms); \ - ((tOCTVC1_NET_CONFIG_STATIC *)pOCTVC1_NET_CONFIG_STATIC)->ulMaxRtpMember = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_CONFIG_STATIC *)pOCTVC1_NET_CONFIG_STATIC)->ulMaxRtpMember); \ - ((tOCTVC1_NET_CONFIG_STATIC *)pOCTVC1_NET_CONFIG_STATIC)->ulMaxRtpSession = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_CONFIG_STATIC *)pOCTVC1_NET_CONFIG_STATIC)->ulMaxRtpSession); \ - ((tOCTVC1_NET_CONFIG_STATIC *)pOCTVC1_NET_CONFIG_STATIC)->ulMaxLocalIpHost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_CONFIG_STATIC *)pOCTVC1_NET_CONFIG_STATIC)->ulMaxLocalIpHost); \ -} -#else -#define mOCTVC1_NET_CONFIG_STATIC_SWAP( pOCTVC1_NET_CONFIG_STATIC ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_RTP_MEMBER_CONN_INFO_SWAP( _f_pParms ){ tOCTVC1_NET_RTP_MEMBER_CONN_INFO * pOCTVC1_NET_RTP_MEMBER_CONN_INFO = (_f_pParms); \ - ((tOCTVC1_NET_RTP_MEMBER_CONN_INFO *)pOCTVC1_NET_RTP_MEMBER_CONN_INFO)->ulConnectionState = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTP_MEMBER_CONN_INFO *)pOCTVC1_NET_RTP_MEMBER_CONN_INFO)->ulConnectionState); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_RTP_MEMBER_CONN_INFO *)pOCTVC1_NET_RTP_MEMBER_CONN_INFO)->hConnectedRtpSession ); } \ - ((tOCTVC1_NET_RTP_MEMBER_CONN_INFO *)pOCTVC1_NET_RTP_MEMBER_CONN_INFO)->ulConnectedMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTP_MEMBER_CONN_INFO *)pOCTVC1_NET_RTP_MEMBER_CONN_INFO)->ulConnectedMemberId); \ -} -#else -#define mOCTVC1_NET_RTP_MEMBER_CONN_INFO_SWAP( pOCTVC1_NET_RTP_MEMBER_CONN_INFO ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_RTCP_SENDER_STATS_SWAP( _f_pParms ){ tOCTVC1_NET_RTCP_SENDER_STATS * pOCTVC1_NET_RTCP_SENDER_STATS = (_f_pParms); \ - { tOCT_UINT32 iOCTVC1_NET_RTCP_SENDER_STATS; \ - for( iOCTVC1_NET_RTCP_SENDER_STATS=0; \ - iOCTVC1_NET_RTCP_SENDER_STATS<(2);iOCTVC1_NET_RTCP_SENDER_STATS++ ) \ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->aulSentPktCnt[iOCTVC1_NET_RTCP_SENDER_STATS] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->aulSentPktCnt[iOCTVC1_NET_RTCP_SENDER_STATS]);}\ - { tOCT_UINT32 iOCTVC1_NET_RTCP_SENDER_STATS; \ - for( iOCTVC1_NET_RTCP_SENDER_STATS=0; \ - iOCTVC1_NET_RTCP_SENDER_STATS<(2);iOCTVC1_NET_RTCP_SENDER_STATS++ ) \ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->aulSentByteCnt[iOCTVC1_NET_RTCP_SENDER_STATS] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->aulSentByteCnt[iOCTVC1_NET_RTCP_SENDER_STATS]);}\ - { tOCT_UINT32 iOCTVC1_NET_RTCP_SENDER_STATS; \ - for( iOCTVC1_NET_RTCP_SENDER_STATS=0; \ - iOCTVC1_NET_RTCP_SENDER_STATS<(2);iOCTVC1_NET_RTCP_SENDER_STATS++ ) \ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->aulNtpTimestamp[iOCTVC1_NET_RTCP_SENDER_STATS] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->aulNtpTimestamp[iOCTVC1_NET_RTCP_SENDER_STATS]);}\ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulRtpTimestamp = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulRtpTimestamp); \ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSenderSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSenderSsrc); \ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSenderStartTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSenderStartTime); \ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSenderReportCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSenderReportCnt); \ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSenderState = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSenderState); \ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulLastSenderReportTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulLastSenderReportTime); \ - ((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSsrcChangeCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_SENDER_STATS *)pOCTVC1_NET_RTCP_SENDER_STATS)->ulSsrcChangeCnt); \ -} -#else -#define mOCTVC1_NET_RTCP_SENDER_STATS_SWAP( pOCTVC1_NET_RTCP_SENDER_STATS ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_RTCP_RECEIVER_STATS_SWAP( _f_pParms ){ tOCTVC1_NET_RTCP_RECEIVER_STATS * pOCTVC1_NET_RTCP_RECEIVER_STATS = (_f_pParms); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulHighestSeqNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulHighestSeqNumber); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulCumulativeLostCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulCumulativeLostCnt); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulFractionLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulFractionLost); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulInterArrivalJitter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulInterArrivalJitter); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulMaxFractionLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulMaxFractionLost); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulMaxInterArrivalJitter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulMaxInterArrivalJitter); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulAverageFractionLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulAverageFractionLost); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulAverageInterArrivalJitter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulAverageInterArrivalJitter); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulReceiverStartTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulReceiverStartTime); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulReceiverReportCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulReceiverReportCnt); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulLastReceiverReportTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulLastReceiverReportTime); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulRemoteSenderSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulRemoteSenderSsrc); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulAlarmRxThreshold = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulAlarmRxThreshold); \ - ((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulAlarmRxThresholdCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_RTCP_RECEIVER_STATS *)pOCTVC1_NET_RTCP_RECEIVER_STATS)->ulAlarmRxThresholdCnt); \ -} -#else -#define mOCTVC1_NET_RTCP_RECEIVER_STATS_SWAP( pOCTVC1_NET_RTCP_RECEIVER_STATS ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_VLAN_TAG_SWAP( _f_pParms ){ tOCTVC1_NET_VLAN_TAG * pOCTVC1_NET_VLAN_TAG = (_f_pParms); \ - ((tOCTVC1_NET_VLAN_TAG *)pOCTVC1_NET_VLAN_TAG)->ulPriority = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_VLAN_TAG *)pOCTVC1_NET_VLAN_TAG)->ulPriority); \ - ((tOCTVC1_NET_VLAN_TAG *)pOCTVC1_NET_VLAN_TAG)->ulVlanId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_VLAN_TAG *)pOCTVC1_NET_VLAN_TAG)->ulVlanId); \ -} -#else -#define mOCTVC1_NET_VLAN_TAG_SWAP( pOCTVC1_NET_VLAN_TAG ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_HEADER_INFO_ETHERNET_SWAP( _f_pParms ){ tOCTVC1_NET_HEADER_INFO_ETHERNET * pOCTVC1_NET_HEADER_INFO_ETHERNET = (_f_pParms); \ - ((tOCTVC1_NET_HEADER_INFO_ETHERNET *)pOCTVC1_NET_HEADER_INFO_ETHERNET)->ulEthertypeEncoding = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_HEADER_INFO_ETHERNET *)pOCTVC1_NET_HEADER_INFO_ETHERNET)->ulEthertypeEncoding); \ - ((tOCTVC1_NET_HEADER_INFO_ETHERNET *)pOCTVC1_NET_HEADER_INFO_ETHERNET)->ulEthertype = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_HEADER_INFO_ETHERNET *)pOCTVC1_NET_HEADER_INFO_ETHERNET)->ulEthertype); \ -} -#else -#define mOCTVC1_NET_HEADER_INFO_ETHERNET_SWAP( pOCTVC1_NET_HEADER_INFO_ETHERNET ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_HEADER_INFO_VLAN_SWAP( _f_pParms ){ tOCTVC1_NET_HEADER_INFO_VLAN * pOCTVC1_NET_HEADER_INFO_VLAN = (_f_pParms); \ - ((tOCTVC1_NET_HEADER_INFO_VLAN *)pOCTVC1_NET_HEADER_INFO_VLAN)->ulNumVlanTag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_HEADER_INFO_VLAN *)pOCTVC1_NET_HEADER_INFO_VLAN)->ulNumVlanTag); \ - { tOCT_UINT32 jOCTVC1_NET_HEADER_INFO_VLAN; \ - for( jOCTVC1_NET_HEADER_INFO_VLAN=0; \ - jOCTVC1_NET_HEADER_INFO_VLAN<(cOCTVC1_NET_MAX_VLAN_TAG);jOCTVC1_NET_HEADER_INFO_VLAN++ ) \ - { mOCTVC1_NET_VLAN_TAG_SWAP( &((tOCTVC1_NET_HEADER_INFO_VLAN *)pOCTVC1_NET_HEADER_INFO_VLAN)->aVlanTag[jOCTVC1_NET_HEADER_INFO_VLAN] ); }} \ -} -#else -#define mOCTVC1_NET_HEADER_INFO_VLAN_SWAP( pOCTVC1_NET_HEADER_INFO_VLAN ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_HEADER_INFO_IP_SWAP( _f_pParms ){ tOCTVC1_NET_HEADER_INFO_IP * pOCTVC1_NET_HEADER_INFO_IP = (_f_pParms); \ - ((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->ulIpVersion = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->ulIpVersion); \ - ((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->ulTypeOfService = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->ulTypeOfService); \ - ((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->ulTimeToLive = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->ulTimeToLive); \ - ((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->ulIpv6FlowLabel = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->ulIpv6FlowLabel); \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->LocalIpAddress ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_HEADER_INFO_IP *)pOCTVC1_NET_HEADER_INFO_IP)->RemoteIpAddress ); } \ -} -#else -#define mOCTVC1_NET_HEADER_INFO_IP_SWAP( pOCTVC1_NET_HEADER_INFO_IP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_HEADER_INFO_UDP_SWAP( _f_pParms ){ tOCTVC1_NET_HEADER_INFO_UDP * pOCTVC1_NET_HEADER_INFO_UDP = (_f_pParms); \ - ((tOCTVC1_NET_HEADER_INFO_UDP *)pOCTVC1_NET_HEADER_INFO_UDP)->ulLocalUdpPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_HEADER_INFO_UDP *)pOCTVC1_NET_HEADER_INFO_UDP)->ulLocalUdpPort); \ - ((tOCTVC1_NET_HEADER_INFO_UDP *)pOCTVC1_NET_HEADER_INFO_UDP)->ulRemoteUdpPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_HEADER_INFO_UDP *)pOCTVC1_NET_HEADER_INFO_UDP)->ulRemoteUdpPort); \ -} -#else -#define mOCTVC1_NET_HEADER_INFO_UDP_SWAP( pOCTVC1_NET_HEADER_INFO_UDP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_HEADER_IPUDP_SWAP( _f_pParms ){ tOCTVC1_NET_HEADER_IPUDP * pOCTVC1_NET_HEADER_IPUDP = (_f_pParms); \ - { mOCTVC1_NET_HEADER_INFO_ETHERNET_SWAP( &((tOCTVC1_NET_HEADER_IPUDP *)pOCTVC1_NET_HEADER_IPUDP)->Ethernet ); } \ - { mOCTVC1_NET_HEADER_INFO_VLAN_SWAP( &((tOCTVC1_NET_HEADER_IPUDP *)pOCTVC1_NET_HEADER_IPUDP)->Vlan ); } \ - { mOCTVC1_NET_HEADER_INFO_IP_SWAP( &((tOCTVC1_NET_HEADER_IPUDP *)pOCTVC1_NET_HEADER_IPUDP)->Ip ); } \ - { mOCTVC1_NET_HEADER_INFO_UDP_SWAP( &((tOCTVC1_NET_HEADER_IPUDP *)pOCTVC1_NET_HEADER_IPUDP)->Udp ); } \ -} -#else -#define mOCTVC1_NET_HEADER_IPUDP_SWAP( pOCTVC1_NET_HEADER_IPUDP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_CACHE_ENTRY_CURSOR_SWAP( _f_pParms ){ tOCTVC1_NET_CACHE_ENTRY_CURSOR * pOCTVC1_NET_CACHE_ENTRY_CURSOR = (_f_pParms); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_CACHE_ENTRY_CURSOR *)pOCTVC1_NET_CACHE_ENTRY_CURSOR)->hLink ); } \ - { mOCTVC1_NET_HEADER_INFO_VLAN_SWAP( &((tOCTVC1_NET_CACHE_ENTRY_CURSOR *)pOCTVC1_NET_CACHE_ENTRY_CURSOR)->Vlan ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_CACHE_ENTRY_CURSOR *)pOCTVC1_NET_CACHE_ENTRY_CURSOR)->IpAddress ); } \ - ((tOCTVC1_NET_CACHE_ENTRY_CURSOR *)pOCTVC1_NET_CACHE_ENTRY_CURSOR)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_CACHE_ENTRY_CURSOR *)pOCTVC1_NET_CACHE_ENTRY_CURSOR)->ulGetMode); \ -} -#else -#define mOCTVC1_NET_CACHE_ENTRY_CURSOR_SWAP( pOCTVC1_NET_CACHE_ENTRY_CURSOR ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_ETH_LINK_CACHE_ENTRY_SWAP( _f_pParms ){ tOCTVC1_NET_ETH_LINK_CACHE_ENTRY * pOCTVC1_NET_ETH_LINK_CACHE_ENTRY = (_f_pParms); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_ETH_LINK_CACHE_ENTRY *)pOCTVC1_NET_ETH_LINK_CACHE_ENTRY)->hLink ); } \ - { mOCTVC1_NET_HEADER_INFO_VLAN_SWAP( &((tOCTVC1_NET_ETH_LINK_CACHE_ENTRY *)pOCTVC1_NET_ETH_LINK_CACHE_ENTRY)->Vlan ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_ETH_LINK_CACHE_ENTRY *)pOCTVC1_NET_ETH_LINK_CACHE_ENTRY)->IpAddress ); } \ - ((tOCTVC1_NET_ETH_LINK_CACHE_ENTRY *)pOCTVC1_NET_ETH_LINK_CACHE_ENTRY)->ulStaticFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CACHE_ENTRY *)pOCTVC1_NET_ETH_LINK_CACHE_ENTRY)->ulStaticFlag); \ - ((tOCTVC1_NET_ETH_LINK_CACHE_ENTRY *)pOCTVC1_NET_ETH_LINK_CACHE_ENTRY)->ulReachableFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CACHE_ENTRY *)pOCTVC1_NET_ETH_LINK_CACHE_ENTRY)->ulReachableFlag); \ -} -#else -#define mOCTVC1_NET_ETH_LINK_CACHE_ENTRY_SWAP( pOCTVC1_NET_ETH_LINK_CACHE_ENTRY ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_LINK_GATEWAY_INFO_SWAP( _f_pParms ){ tOCTVC1_NET_LINK_GATEWAY_INFO * pOCTVC1_NET_LINK_GATEWAY_INFO = (_f_pParms); \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_LINK_GATEWAY_INFO *)pOCTVC1_NET_LINK_GATEWAY_INFO)->IpAddress ); } \ - ((tOCTVC1_NET_LINK_GATEWAY_INFO *)pOCTVC1_NET_LINK_GATEWAY_INFO)->ulLifetimeSec = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_LINK_GATEWAY_INFO *)pOCTVC1_NET_LINK_GATEWAY_INFO)->ulLifetimeSec); \ -} -#else -#define mOCTVC1_NET_LINK_GATEWAY_INFO_SWAP( pOCTVC1_NET_LINK_GATEWAY_INFO ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_LINK_IPV6_PREFIX_SWAP( _f_pParms ){ tOCTVC1_NET_LINK_IPV6_PREFIX * pOCTVC1_NET_LINK_IPV6_PREFIX = (_f_pParms); \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_LINK_IPV6_PREFIX *)pOCTVC1_NET_LINK_IPV6_PREFIX)->IpAddress ); } \ - ((tOCTVC1_NET_LINK_IPV6_PREFIX *)pOCTVC1_NET_LINK_IPV6_PREFIX)->ulBitLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_LINK_IPV6_PREFIX *)pOCTVC1_NET_LINK_IPV6_PREFIX)->ulBitLength); \ -} -#else -#define mOCTVC1_NET_LINK_IPV6_PREFIX_SWAP( pOCTVC1_NET_LINK_IPV6_PREFIX ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_LINK_IPV6_PREFIX_INFO_SWAP( _f_pParms ){ tOCTVC1_NET_LINK_IPV6_PREFIX_INFO * pOCTVC1_NET_LINK_IPV6_PREFIX_INFO = (_f_pParms); \ - { mOCTVC1_NET_LINK_IPV6_PREFIX_SWAP( &((tOCTVC1_NET_LINK_IPV6_PREFIX_INFO *)pOCTVC1_NET_LINK_IPV6_PREFIX_INFO)->IPv6Prefix ); } \ - ((tOCTVC1_NET_LINK_IPV6_PREFIX_INFO *)pOCTVC1_NET_LINK_IPV6_PREFIX_INFO)->ulOnLinkFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_LINK_IPV6_PREFIX_INFO *)pOCTVC1_NET_LINK_IPV6_PREFIX_INFO)->ulOnLinkFlag); \ - ((tOCTVC1_NET_LINK_IPV6_PREFIX_INFO *)pOCTVC1_NET_LINK_IPV6_PREFIX_INFO)->ulAddrAutoConfigFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_LINK_IPV6_PREFIX_INFO *)pOCTVC1_NET_LINK_IPV6_PREFIX_INFO)->ulAddrAutoConfigFlag); \ - ((tOCTVC1_NET_LINK_IPV6_PREFIX_INFO *)pOCTVC1_NET_LINK_IPV6_PREFIX_INFO)->ulValidLifetimeSec = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_LINK_IPV6_PREFIX_INFO *)pOCTVC1_NET_LINK_IPV6_PREFIX_INFO)->ulValidLifetimeSec); \ - ((tOCTVC1_NET_LINK_IPV6_PREFIX_INFO *)pOCTVC1_NET_LINK_IPV6_PREFIX_INFO)->ulPreferredLifetimeSec = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_LINK_IPV6_PREFIX_INFO *)pOCTVC1_NET_LINK_IPV6_PREFIX_INFO)->ulPreferredLifetimeSec); \ -} -#else -#define mOCTVC1_NET_LINK_IPV6_PREFIX_INFO_SWAP( pOCTVC1_NET_LINK_IPV6_PREFIX_INFO ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_IPV6_PREFIX_CURSOR_SWAP( _f_pParms ){ tOCTVC1_NET_IPV6_PREFIX_CURSOR * pOCTVC1_NET_IPV6_PREFIX_CURSOR = (_f_pParms); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_IPV6_PREFIX_CURSOR *)pOCTVC1_NET_IPV6_PREFIX_CURSOR)->hLink ); } \ - { mOCTVC1_NET_LINK_IPV6_PREFIX_SWAP( &((tOCTVC1_NET_IPV6_PREFIX_CURSOR *)pOCTVC1_NET_IPV6_PREFIX_CURSOR)->IPv6Prefix ); } \ - ((tOCTVC1_NET_IPV6_PREFIX_CURSOR *)pOCTVC1_NET_IPV6_PREFIX_CURSOR)->ulGetMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_IPV6_PREFIX_CURSOR *)pOCTVC1_NET_IPV6_PREFIX_CURSOR)->ulGetMode); \ -} -#else -#define mOCTVC1_NET_IPV6_PREFIX_CURSOR_SWAP( pOCTVC1_NET_IPV6_PREFIX_CURSOR ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_ETH_LINK_CONFIG_IPV4_SWAP( _f_pParms ){ tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 * pOCTVC1_NET_ETH_LINK_CONFIG_IPV4 = (_f_pParms); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulEnableFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulEnableFlag); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulAddrAutoconfigMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulAddrAutoconfigMode); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulNDPBaseReachableTimeMs = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulNDPBaseReachableTimeMs); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPRefreshTimeMs = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPRefreshTimeMs); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReplyTimeMs = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReplyTimeMs); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPUnusedTimeMs = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPUnusedTimeMs); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReqCreateCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReqCreateCnt); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReqRefreshCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReqRefreshCnt); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReqRefreshBroadcastCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReqRefreshBroadcastCnt); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReqDupAddrCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulARPReqDupAddrCnt); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulGARPRequestCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV4 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV4)->ulGARPRequestCnt); \ -} -#else -#define mOCTVC1_NET_ETH_LINK_CONFIG_IPV4_SWAP( pOCTVC1_NET_ETH_LINK_CONFIG_IPV4 ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_ETH_LINK_CONFIG_IPV6_SWAP( _f_pParms ){ tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 * pOCTVC1_NET_ETH_LINK_CONFIG_IPV6 = (_f_pParms); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulEnableFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulEnableFlag); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulCreateLoopbackEntryFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulCreateLoopbackEntryFlag); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulAddrAutoconfigMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulAddrAutoconfigMode); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPBaseReachableTimeMs = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPBaseReachableTimeMs); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPRetransTimeMs = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPRetransTimeMs); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPUnusedTimeMs = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPUnusedTimeMs); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitCreateCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitCreateCnt); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitDupAddrCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitDupAddrCnt); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitProbeCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitProbeCnt); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitProbeMulticastCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitProbeMulticastCnt); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitRouterCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_IPV6 *)pOCTVC1_NET_ETH_LINK_CONFIG_IPV6)->ulNDPSolicitRouterCnt); \ -} -#else -#define mOCTVC1_NET_ETH_LINK_CONFIG_IPV6_SWAP( pOCTVC1_NET_ETH_LINK_CONFIG_IPV6 ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ_SWAP( _f_pParms ){ tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ * pOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ = (_f_pParms); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ *)pOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ)->ulEnableFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ *)pOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ)->ulEnableFlag); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ *)pOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ)->ulDefaultUserPriority = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ *)pOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ)->ulDefaultUserPriority); \ - ((tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ *)pOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ)->ulVlanId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ *)pOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ)->ulVlanId); \ -} -#else -#define mOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ_SWAP( pOCTVC1_NET_ETH_LINK_CONFIG_ETH_802_1PQ ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_EUI64_INTERFACE_ID_SWAP( _f_pParms ){ tOCTVC1_NET_EUI64_INTERFACE_ID * pOCTVC1_NET_EUI64_INTERFACE_ID = (_f_pParms); \ - { tOCT_UINT32 iOCTVC1_NET_EUI64_INTERFACE_ID; \ - for( iOCTVC1_NET_EUI64_INTERFACE_ID=0; \ - iOCTVC1_NET_EUI64_INTERFACE_ID<(4);iOCTVC1_NET_EUI64_INTERFACE_ID++ ) \ - ((tOCTVC1_NET_EUI64_INTERFACE_ID *)pOCTVC1_NET_EUI64_INTERFACE_ID)->ausInterfaceId[iOCTVC1_NET_EUI64_INTERFACE_ID] = \ - mOCT_SWAP16_IF_LE(((tOCTVC1_NET_EUI64_INTERFACE_ID *)pOCTVC1_NET_EUI64_INTERFACE_ID)->ausInterfaceId[iOCTVC1_NET_EUI64_INTERFACE_ID]);} \ -} -#else -#define mOCTVC1_NET_EUI64_INTERFACE_ID_SWAP( pOCTVC1_NET_EUI64_INTERFACE_ID ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_SWAP( _f_pParms ){ tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM * pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM = (_f_pParms); \ - ((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM)->ulEnableFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM)->ulEnableFlag); \ - ((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM)->ulTxPktEnableFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM)->ulTxPktEnableFlag); \ - ((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM)->ulRxPktFilter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM)->ulRxPktFilter); \ - { mOCTVC1_NET_HEADER_IPUDP_SWAP( &((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM)->Header ); } \ -} -#else -#define mOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_SWAP( pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY_SWAP( _f_pParms ){ tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY * pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY = (_f_pParms); \ - ((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY)->ulModifyMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY)->ulModifyMask); \ - { mOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_SWAP( &((tOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY *)pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY)->Modify ); } \ -} -#else -#define mOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY_SWAP( pOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD * pOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD)->hRtpSession ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP * pOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP)->hRtpSession ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_CLOSE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD * pOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD)->ObjectGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP * pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ObjectGet ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->hLocalHost ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulFifoId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulRtpEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulRtpEventMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulRtcpEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulRtcpEventMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulSrtpEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulSrtpEventMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulUserEventId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulInitialOperationMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulInitialOperationMode); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulSenderMaxPendingTimeSec = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulSenderMaxPendingTimeSec); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulSenderMaxInactiveTimeSec = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulSenderMaxInactiveTimeSec); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulRtcpEnableFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulRtcpEnableFlag); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulRtpSessionBandwidth = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulRtpSessionBandwidth); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulHighFractionLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulHighFractionLost); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulHighCumulativePacketLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulHighCumulativePacketLost); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulHighJitter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulHighJitter); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulHighRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulHighRoundTripTime); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulLowFractionLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulLowFractionLost); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulLowJitter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulLowJitter); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulLowRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulLowRoundTripTime); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->hEventDestObj ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulEventDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulEventDestObjPort); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulEventDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP)->ulEventDestObjFifoId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD * pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD)->ulTxRtcpPauseFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD)->ulTxRtcpPauseFlag); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP * pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP)->hRtpSession ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulHighFractionLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulHighFractionLost); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulHighCumulativePacketLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulHighCumulativePacketLost); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulHighJitter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulHighJitter); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulHighRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulHighRoundTripTime); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulLowFractionLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulLowFractionLost); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulLowJitter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulLowJitter); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulLowRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD)->ulLowRoundTripTime); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP)->hRtpSession ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD * pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->hRtpSession ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->hTerm ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRxPktFilter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRxPktFilter); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalUdpPortRtp = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalUdpPortRtp); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalUdpPortRtcp = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalUdpPortRtcp); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalUdpPortT38 = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalUdpPortT38); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalCnameLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalCnameLength); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalForcedRtpParmMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalForcedRtpParmMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalForcedSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalForcedSsrc); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalForcedInitialSeqNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulLocalForcedInitialSeqNumber); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteAutoDetectFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteAutoDetectFlag); \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->RemoteUdpAddressRtp ); } \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->RemoteUdpAddressRtcp ); } \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->RemoteUdpAddressT38 ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteCnameLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteCnameLength); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteForcedRtpParmMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteForcedRtpParmMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteForcedSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteForcedSsrc); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteForcedInitialSeqNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulRemoteForcedInitialSeqNumber); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv4TimeToLive = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv4TimeToLive); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv4TypeOfService = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv4TypeOfService); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv6HopLimit = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv6HopLimit); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv6FlowLabel = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv6FlowLabel); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv6TrafficClass = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulIpv6TrafficClass); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulNumProfEntry = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ulNumProfEntry); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD<(cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY);jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD++ ) \ - { mOCTVC1_NET_RTP_PROFILE_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->aRtpProfEntry[jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD] ); }} \ - { mOCTVC1_NET_SRTP_STREAM_CONFIG_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->SenderSrtp ); } \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->SenderSrtpKey ); } \ - { mOCTVC1_NET_SRTP_STREAM_CONFIG_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ReceiverSrtp ); } \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD)->ReceiverSrtpKey ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP * pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)->ulLocalMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)->ulLocalSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)->ulLocalSsrc); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)->ulLocalInitialSeqNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP)->ulLocalInitialSeqNumber); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD * pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD)->ulLocalMemberId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP * pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP)->ulLocalMemberId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD * pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD)->SubObjectIdGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP * pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->SubObjectIdGet ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulOperationMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulOperationMode); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulTxRtpPauseFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulTxRtpPauseFlag); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulTxRtcpPauseFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulTxRtcpPauseFlag); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->hTerm ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->hDestObj ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulDestObjPort); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulRxPktFilter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulRxPktFilter); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulDestObjFifoId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulLocalUdpPortRtp = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulLocalUdpPortRtp); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulLocalUdpPortRtcp = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulLocalUdpPortRtcp); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulLocalUdpPortT38 = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulLocalUdpPortT38); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulLocalCnameLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulLocalCnameLength); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulRemoteAutoDetectFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulRemoteAutoDetectFlag); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulValidRemoteFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulValidRemoteFlag); \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->RemoteUdpAddressRtp ); } \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->RemoteUdpAddressRtcp ); } \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->RemoteUdpAddressT38 ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulRemoteCnameLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulRemoteCnameLength); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv4TimeToLive = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv4TimeToLive); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv4TypeOfService = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv4TypeOfService); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv6HopLimit = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv6HopLimit); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv6FlowLabel = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv6FlowLabel); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv6TrafficClass = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulIpv6TrafficClass); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulNumProfEntry = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->ulNumProfEntry); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP<(cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY);jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP++ ) \ - { mOCTVC1_NET_RTP_PROFILE_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->aRtpProfEntry[jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP] ); }} \ - { mOCTVC1_NET_RTP_MEMBER_CONN_INFO_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP)->RtpMemberConnInfo ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD * pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD)->ulLocalMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD)->ulTxRtpPauseFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD)->ulTxRtpPauseFlag); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP * pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP)->ulLocalMemberId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulLocalMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulModifyMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulModifyMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteAutoDetectFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteAutoDetectFlag); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulLocalUdpPortRtp = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulLocalUdpPortRtp); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulLocalUdpPortRtcp = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulLocalUdpPortRtcp); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulLocalUdpPortT38 = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulLocalUdpPortT38); \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->RemoteUdpAddressRtp ); } \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->RemoteUdpAddressRtcp ); } \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->RemoteUdpAddressT38 ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteCnameLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteCnameLength); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteForcedRtpParmMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteForcedRtpParmMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteForcedSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteForcedSsrc); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteForcedInitialSeqNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ulRemoteForcedInitialSeqNumber); \ - { mOCTVC1_NET_SRTP_STREAM_CONFIG_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->SenderSrtp ); } \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->SenderSrtpKey ); } \ - { mOCTVC1_NET_SRTP_STREAM_CONFIG_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ReceiverSrtp ); } \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD)->ReceiverSrtpKey ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP)->ulLocalMemberId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD * pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->Header ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->ulForceFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->ulForceFlag); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->ulRecoverNtpFromRtpTsFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->ulRecoverNtpFromRtpTsFlag); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->ulLocalMemberId); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->hRtpSessionAssociated ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->ulLocalMemberIdAssociated = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD)->ulLocalMemberIdAssociated); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP * pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)->ulLocalMemberId); \ - { mOCTVC1_NET_RTP_MEMBER_CONN_INFO_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)->RtpMemberPrevConnInfo ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)->hRtpSessionAssociated ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)->ulLocalMemberIdAssociated = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)->ulLocalMemberIdAssociated); \ - { mOCTVC1_NET_RTP_MEMBER_CONN_INFO_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP)->RtpMemberPrevConnInfoAssociated ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD * pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD)->ulLocalMemberId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP * pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP)->ulLocalMemberId); \ - { mOCTVC1_NET_RTP_MEMBER_CONN_INFO_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP)->RtpMemberPrevConnInfo ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD * pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD)->SubObjectIdGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP * pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->SubObjectIdGet ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->ulRemoteMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->ulRemoteMemberId); \ - { tOCT_UINT32 iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP; \ - for( iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP=0; \ - iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP<(2);iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP++ ) \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->aulReceivedPktCnt[iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->aulReceivedPktCnt[iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP]);}\ - { tOCT_UINT32 iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP; \ - for( iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP=0; \ - iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP<(2);iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP++ ) \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->aulReceivedByteCnt[iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->aulReceivedByteCnt[iOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP]);}\ - { mOCTVC1_NET_RTCP_SENDER_STATS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->SenderStats ); } \ - { mOCTVC1_NET_RTCP_RECEIVER_STATS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP)->ReceiverStats ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD * pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD)->SubObjectIdGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP * pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->SubObjectIdGet ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->ulRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->ulRoundTripTime); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->ulMaxRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->ulMaxRoundTripTime); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->ulAverageRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->ulAverageRoundTripTime); \ - { mOCTVC1_NET_RTCP_SENDER_STATS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->SenderStats ); } \ - { mOCTVC1_NET_RTCP_RECEIVER_STATS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP)->ReceiverStats ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD * pOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD)->ObjectGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_STATS_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP * pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ObjectGet ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulNumMember = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulNumMember); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulNumSender = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulNumSender); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulSessionStartTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulSessionStartTime); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulRxByePktCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulRxByePktCnt); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulRxSenderJoinCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulRxSenderJoinCnt); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulRxMemberJoinCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulRxMemberJoinCnt); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulErrCollisionCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulErrCollisionCnt); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulErrLoopCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulErrLoopCnt); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulErrRtcpPktInvalidCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP)->ulErrRtcpPktInvalidCnt); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_STATS_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulLocalMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulSenderSrtpKeyActiveIdx = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulSenderSrtpKeyActiveIdx); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulSenderSrtpKeyNum = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulSenderSrtpKeyNum); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD<(cOCTVC1_NET_MAX_SRTP_KEY_LIST_NUM);jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD++ ) \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->aSenderSrtpKeyList[jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD] ); }} \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulReceiverSrtpKeyActiveIdx = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulReceiverSrtpKeyActiveIdx); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulReceiverSrtpKeyNum = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->ulReceiverSrtpKeyNum); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD<(cOCTVC1_NET_MAX_SRTP_KEY_LIST_NUM);jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD++ ) \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD)->aReceiverSrtpKeyList[jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD] ); }} \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP)->ulLocalMemberId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD * pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD)->SubObjectIdGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP * pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->SubObjectIdGet ); } \ - { mOCTVC1_NET_SRTP_STREAM_CONFIG_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->SenderSrtp ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->ulSenderSrtpKeyActiveIdx = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->ulSenderSrtpKeyActiveIdx); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->ulSenderSrtpKeyNum = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->ulSenderSrtpKeyNum); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP<(cOCTVC1_NET_MAX_SRTP_KEY_LIST_NUM);jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP++ ) \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->aSenderSrtpKeyList[jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP] ); }} \ - { mOCTVC1_NET_SRTP_STREAM_CONFIG_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->ReceiverSrtp ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->ulReceiverSrtpKeyActiveIdx = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->ulReceiverSrtpKeyActiveIdx); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->ulReceiverSrtpKeyNum = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->ulReceiverSrtpKeyNum); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP<(cOCTVC1_NET_MAX_SRTP_KEY_LIST_NUM);jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP++ ) \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP)->aReceiverSrtpKeyList[jOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP] ); }} \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD * pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD)->SubObjectIdGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP * pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP)->SubObjectIdGet ); } \ - { mOCTVC1_NET_SRTP_STREAM_STATS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP)->SenderSrtpStats ); } \ - { mOCTVC1_NET_SRTP_STREAM_STATS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP)->ReceiverSrtpStats ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD)->ulLocalMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD)->ulNumEntry = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD)->ulNumEntry); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD<(cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY);jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD++ ) \ - { mOCTVC1_NET_RTP_PROFILE_MODIFY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD)->aEntry[jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD] ); }} \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP)->ulLocalMemberId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD * pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->Header ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->IpAddress ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->NetworkMask ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulAddrAutoConfigFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulAddrAutoConfigFlag); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulMuteOnAddrExpireFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulMuteOnAddrExpireFlag); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->hLink ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulUserEventId); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulEventMask); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulEventThrottle = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulEventThrottle); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->hEventDestObj ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulEventDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulEventDestObjPort); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulEventDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD)->ulEventDestObjFifoId); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP * pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP)->hLocalHost ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP)->ulAddrStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP)->ulAddrStatus); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_OPEN_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD * pOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD)->hLocalHost ); } \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP * pOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP)->hLocalHost ); } \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD * pOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD)->ObjectGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_INFO_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP * pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ObjectGet ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulAddrAutoConfigFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulAddrAutoConfigFlag); \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->IpAddress ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->NetworkMask ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->hLink ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulAddrStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulAddrStatus); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulUserEventId); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulEventThrottle = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulEventThrottle); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulEventMask); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->hEventDestObj ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulEventDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulEventDestObjPort); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulEventDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP)->ulEventDestObjFifoId); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_INFO_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD * pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->hLocalHost ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->RemoteIpAddress ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->ulTimeout = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->ulTimeout); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->ulTimeToLive = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->ulTimeToLive); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->ulUserEventId); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->ulPayloadLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD)->ulPayloadLength); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP * pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP)->hLocalHost ); } \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD * pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD)->hLocalHost ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD)->ulProbeIntervalMs = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD)->ulProbeIntervalMs); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD)->ulNumProbe = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD)->ulNumProbe); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP * pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP)->hLocalHost ); } \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD * pOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD)->ObjectGet ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD)->ulResetStatsFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD *)pOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD)->ulResetStatsFlag); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_STATS_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP * pOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP)->ObjectGet ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP)->ulApiEventCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP *)pOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP)->ulApiEventCnt); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_STATS_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD * pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD *)pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD *)pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD)->hLink ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD *)pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD)->IpAddress ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD_SWAP( pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP * pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP *)pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP *)pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP)->hLink ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP *)pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP)->IpAddress ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP_SWAP( pOCTVC1_NET_MSG_LINK_ADD_GATEWAY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD * pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD *)pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD *)pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD)->hLink ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD *)pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD)->IpAddress ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD_SWAP( pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP * pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP *)pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP *)pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP)->hLink ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP *)pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP)->IpAddress ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP_SWAP( pOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD * pOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD *)pOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD)->Header ); } \ - { mOCTVC1_NET_IP_CURSOR_SWAP( &((tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD *)pOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD)->GatewayGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD_SWAP( pOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP * pOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP *)pOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP)->Header ); } \ - { mOCTVC1_NET_IP_CURSOR_SWAP( &((tOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP *)pOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP)->GatewayGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP_SWAP( pOCTVC1_NET_MSG_LINK_INFO_GATEWAY_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD * pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->hLink ); } \ - { mOCTVC1_NET_LINK_IPV6_PREFIX_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->IPv6Prefix ); } \ - ((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->ulOnLinkFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->ulOnLinkFlag); \ - ((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->ulAddrAutoConfigFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->ulAddrAutoConfigFlag); \ - ((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->ulValidLifetimeSec = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->ulValidLifetimeSec); \ - ((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->ulPreferredLifetimeSec = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD)->ulPreferredLifetimeSec); \ -} -#else -#define mOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD_SWAP( pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP * pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP)->hLink ); } \ - { mOCTVC1_NET_LINK_IPV6_PREFIX_SWAP( &((tOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP *)pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP)->IPv6Prefix ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP_SWAP( pOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD * pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD)->hLink ); } \ - { mOCTVC1_NET_LINK_IPV6_PREFIX_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD)->IPv6Prefix ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD_SWAP( pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP * pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP *)pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP *)pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP)->hLink ); } \ - { mOCTVC1_NET_LINK_IPV6_PREFIX_SWAP( &((tOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP *)pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP)->IPv6Prefix ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP_SWAP( pOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD * pOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD)->Header ); } \ - { mOCTVC1_NET_IPV6_PREFIX_CURSOR_SWAP( &((tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD *)pOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD)->IPv6PrefixGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD_SWAP( pOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP * pOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP *)pOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP)->Header ); } \ - { mOCTVC1_NET_IPV6_PREFIX_CURSOR_SWAP( &((tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP *)pOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP)->IPv6PrefixGet ); } \ - { mOCTVC1_NET_LINK_IPV6_PREFIX_INFO_SWAP( &((tOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP *)pOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP)->IPv6PrefixInfo ); } \ -} -#else -#define mOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP_SWAP( pOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD * pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->hRtpSession ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->hTerm ); } \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD<(cOCTVC1_NET_RTP_MEMBER_MAX_STREAM);jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD++ ) \ - { mOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->aStream[jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD] ); }} \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalForcedRtpParmMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalForcedRtpParmMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalForcedSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalForcedSsrc); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalForcedInitialSeqNumber = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalForcedInitialSeqNumber); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulNumRtpProfEntry = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulNumRtpProfEntry); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD<(cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY);jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD++ ) \ - { mOCTVC1_NET_RTP_PROFILE_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->aRtpProfEntry[jOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD] ); }} \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalCnameByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalCnameByteLength); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulRemoteCnameByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD)->ulRemoteCnameByteLength); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP * pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP)->ulLocalMemberId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->ulModifyMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->ulModifyMask); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD<(cOCTVC1_NET_RTP_MEMBER_MAX_STREAM);jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD++ ) \ - { mOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_MODIFY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->aStream[jOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD] ); }} \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalCnameByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->ulLocalCnameByteLength); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->ulRemoteCnameByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD)->ulRemoteCnameByteLength); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP * pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP)->ulLocalMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP)->ulLocalMemberId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD * pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD)->SubObjectIdGet ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP * pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->Header ); } \ - { mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->SubObjectIdGet ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->ulOperationMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->ulOperationMode); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->hTerm ); } \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP<(cOCTVC1_NET_RTP_MEMBER_MAX_STREAM);jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP++ ) \ - { mOCTVC1_NET_CUSTOM_MEMBER_IPUDP_STREAM_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->aStream[jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP] ); }} \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->ulNumRtpProfEntry = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->ulNumRtpProfEntry); \ - { tOCT_UINT32 jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP; \ - for( jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP=0; \ - jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP<(cOCTVC1_NET_MAX_RTP_PROFILE_ENTRY);jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP++ ) \ - { mOCTVC1_NET_RTP_PROFILE_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->aRtpProfEntry[jOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP] ); }} \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->ulLocalCnameByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->ulLocalCnameByteLength); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->ulRemoteCnameByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP)->ulRemoteCnameByteLength); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD * pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->hLocalHost ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtpEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtpEventMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtcpEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtcpEventMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulSrtpEventMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulSrtpEventMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulUserEventId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulUserEventId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulInitialOperationMode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulInitialOperationMode); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulSenderMaxPendingTimeSec = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulSenderMaxPendingTimeSec); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulSenderMaxInactiveTimeSec = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulSenderMaxInactiveTimeSec); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtcpEnableFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtcpEnableFlag); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtcpVideoFeedbackEnableFlagMask = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtcpVideoFeedbackEnableFlagMask); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtpSessionBandwidth = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulRtpSessionBandwidth); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulHighFractionLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulHighFractionLost); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulHighCumulativePacketLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulHighCumulativePacketLost); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulHighJitter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulHighJitter); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulHighRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulHighRoundTripTime); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulLowFractionLost = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulLowFractionLost); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulLowJitter = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulLowJitter); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulLowRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulLowRoundTripTime); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->hEventDestObj ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulEventDestObjPort = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulEventDestObjPort); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulEventDestObjFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD)->ulEventDestObjFifoId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_OPEN_CMD ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP * pOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP = (_f_pParms); \ - { mOCTVC1_MSG_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP)->ulFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP *)pOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP)->ulFifoId); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_OPEN_RSP ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_NET_API_SWAP_H__ */ diff --git a/software/include/vocallo/net/octvc1_net_default.h b/software/include/vocallo/net/octvc1_net_default.h deleted file mode 100644 index b265928..0000000 --- a/software/include/vocallo/net/octvc1_net_default.h +++ /dev/null @@ -1,2774 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_NET_DEFAULT.h - -$Octasic_Copyright: $ - -Description: Contains the event definition of the NET API. - -$Octasic_Confidentiality: $ - -$Octasic_Release: $ - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_NET_DEFAULT_H__ -#define __OCTVC1_NET_DEFAULT_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "octvc1_net_api.h" - -/***************************** COMMAND DEFAULT *****************************/ - -/*-------------------------------------------------------------------------- - tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD -----------------------------------------------------------------------------*/ -#ifdef OCTVC1_OPT_DECLARE_DEFAULTS - -const tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD buf_tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD = -{ - { /* Header */ - ((sizeof(tOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CMD)<Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT)->ulPktType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT)->ulPktType); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT)->ulPktByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT)->ulPktByteLength); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT)->ulCnameLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT)->ulCnameLength); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->ulLocalFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->ulLocalFlag); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->ulPreviousSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->ulPreviousSsrc); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->ulNewSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT)->ulNewSsrc); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulLocalFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulLocalFlag); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulRoundTripTime); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulMaxRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulMaxRoundTripTime); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulAverageRoundTripTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->ulAverageRoundTripTime); \ - { mOCTVC1_NET_RTCP_RECEIVER_STATS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT)->StatsReceiver ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->ulLocalFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->ulLocalFlag); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->ulPreviousSenderState = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->ulPreviousSenderState); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->ulNewSenderState = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT)->ulNewSenderState); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT)->ulRemoteAddress = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT)->ulRemoteAddress); \ - { mOCTVC1_UDP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT)->RemoteUdpAddress ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->ulSrtpStreamType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->ulSrtpStreamType); \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->ActiveSrtpKey ); } \ - { tOCT_UINT32 iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT; \ - for( iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT=0; \ - iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT<(2);iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT++ ) \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->aulSrtpPacketCnt[iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->aulSrtpPacketCnt[iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT]);}\ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->ulSrtcpPacketCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT)->ulSrtcpPacketCnt); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->ulSrtpStreamType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->ulSrtpStreamType); \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->ActiveSrtpKey ); } \ - { tOCT_UINT32 iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT; \ - for( iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT=0; \ - iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT<(2);iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT++ ) \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->aulSrtpPacketCnt[iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->aulSrtpPacketCnt[iOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT]);}\ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->ulSrtcpPacketCnt = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT)->ulSrtcpPacketCnt); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->ulSrtpStreamType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->ulSrtpStreamType); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->ulKeyChangeReason = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->ulKeyChangeReason); \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->ActiveSrtpKey ); } \ - { mOCTVC1_NET_SRTP_KEY_ENTRY_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT)->PreviousSrtpKey ); } \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT)->ulSrtpStreamType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT)->ulSrtpStreamType); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT)->ulSrtpStreamType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT)->ulSrtpStreamType); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)->ulSrtpStreamType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)->ulSrtpStreamType); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)->ulUnknownMkiByteSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT)->ulUnknownMkiByteSize); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT * pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)->hRtpSession ); } \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)->ulMemberId = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)->ulMemberId); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)->ulSrtpStreamType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)->ulSrtpStreamType); \ - ((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)->ulSsrc = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT *)pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT)->ulSsrc); \ -} -#else -#define mOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT_SWAP( pOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT * pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)->hLocalHost ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)->RemoteIpAddr ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)->ulAlarmType = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)->ulAlarmType); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)->ulAlarmCode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)->ulAlarmCode); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)->ulPktHeaderByteLength = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT)->ulPktHeaderByteLength); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT * pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT)->hLocalHost ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT)->ulRedirectCode = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT)->ulRedirectCode); \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT)->NewGatewayIpAddress ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT)->PrevGatewayIpAddress ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT)->DestinationIpAddress ); } \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT * pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->hLink ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->hLocalHost ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->IpAddress ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->ulAddrAutoConfigFlag = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->ulAddrAutoConfigFlag); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->ulPreviousAddrStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->ulPreviousAddrStatus); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->ulNewAddrStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->ulNewAddrStatus); \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->ulStatusChangeCause = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT)->ulStatusChangeCause); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT * pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT)->hLocalHost ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT)->IpAddress ); } \ - ((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT)->ulDuplicateSource = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT *)pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT)->ulDuplicateSource); \ -} -#else -#define mOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT_SWAP( pOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT_SWAP( _f_pParms ){ tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT * pOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT = (_f_pParms); \ - { mOCTVC1_EVENT_HEADER_SWAP( &((tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT)->Header ); } \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT)->hEthLink ); } \ - { mOCTVC1_IP_ADDRESS_SWAP( &((tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT)->IpAddress ); } \ - ((tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT)->ulPreviousStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT)->ulPreviousStatus); \ - ((tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT)->ulNewStatus = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT *)pOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT)->ulNewStatus); \ -} -#else -#define mOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT_SWAP( pOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EVT ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_NET_EVT_SWAP_H__ */ diff --git a/software/include/vocallo/net/octvc1_net_id.h b/software/include/vocallo/net/octvc1_net_id.h deleted file mode 100644 index f063962..0000000 --- a/software/include/vocallo/net/octvc1_net_id.h +++ /dev/null @@ -1,90 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_NET_ID.h - -$Octasic_Copyright: $ - -Description: Contains the identifiers for the NET API. - -$Octasic_Confidentiality: $ - -$Octasic_Release: $ - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_NET_ID_H__ -#define __OCTVC1_NET_ID_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_base.h" - -/**************************************************************************** - Command IDs - ****************************************************************************/ -#define cOCTVC1_NET_MSG_RTP_SESSION_CLOSE_CID ( 0x001 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_INFO_CID ( 0x002 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_PAUSE_RTCP_CID ( 0x003 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CID ( 0x004 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_MEMBER_CID ( 0x005 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_DEACTIVATE_MEMBER_CID ( 0x006 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_CID ( 0x007 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_PAUSE_MEMBER_CID ( 0x008 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_CID ( 0x009 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_CONNECT_MEMBER_CID ( 0x00A + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_DISCONNECT_MEMBER_CID ( 0x00B + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_LOCAL_CID ( 0x00C + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_REMOTE_CID ( 0x00D + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_STATS_CID ( 0x00E + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_SRTP_KEY_LIST_CID ( 0x00F + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_INFO_MEMBER_SRTP_CID ( 0x010 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_STATS_MEMBER_SRTP_CID ( 0x011 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_MEMBER_RTP_PROFILE_ENTRY_CID ( 0x012 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LOCAL_HOST_OPEN_CID ( 0x01B + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LOCAL_HOST_CLOSE_CID ( 0x01C + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LOCAL_HOST_INFO_CID ( 0x01D + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LOCAL_HOST_SEND_ICMP_PING_CID ( 0x01E + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LOCAL_HOST_START_ADDR_VALIDATE_CID ( 0x01F + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LOCAL_HOST_STATS_CID ( 0x020 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LINK_ADD_GATEWAY_CID ( 0x028 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LINK_REMOVE_GATEWAY_CID ( 0x029 + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LINK_INFO_GATEWAY_CID ( 0x02A + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LINK_ADD_IPV6_PREFIX_CID ( 0x02B + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LINK_REMOVE_IPV6_PREFIX_CID ( 0x02C + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_LINK_INFO_IPV6_PREFIX_CID ( 0x02D + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_ACTIVATE_CUSTOM_MEMBER_IPUDP_CID ( 0x03B + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MODIFY_CUSTOM_MEMBER_IPUDP_CID ( 0x03C + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_INFO_CUSTOM_MEMBER_IPUDP_CID ( 0x03D + cOCTVC1_NET_CID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_OPEN_CID ( 0x0FF + cOCTVC1_NET_CID_BASE ) - -#define cOCTVC1_NET_CID_MAX (( 0x0FF + 1 ) & 0xFFF) - -/**************************************************************************** - Event IDs - ****************************************************************************/ -#define cOCTVC1_NET_MSG_LOCAL_HOST_ICMP_ALARM_EID ( 0x0001 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_LOCAL_HOST_ICMP_REDIRECT_EID ( 0x0002 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_LOCAL_HOST_ADDR_STATUS_CHANGE_EID ( 0x0003 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_LOCAL_HOST_ADDR_DUPLICATE_FOUND_EID ( 0x0004 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_REMOTE_AUTO_DETECT_EID ( 0x0009 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_REMOTE_DETECTED_EID ( 0x0010 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_RECEIVER_ALARM_EID ( 0x0011 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SSRC_CHANGE_EID ( 0x0012 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_SENDER_STATE_CHANGE_EID ( 0x0013 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_RTCP_PKT_EID ( 0x0014 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_RE_KEY_THRESHOLD_REACHED_EID ( 0x0020 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_EXPIRED_EID ( 0x0021 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_MASTER_KEY_CHANGE_DETECTED_EID ( 0x0022 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_REPLAY_ATTACK_DETECTED_EID ( 0x0023 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNAUTH_PKT_DETECTED_EID ( 0x0024 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_UNKNOWN_MKI_RECEIVED_EID ( 0x0025 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_RTP_SESSION_MEMBER_SRTP_SSRC_VIOLATION_DETECTED_EID ( 0x0026 + cOCTVC1_NET_EID_BASE ) -#define cOCTVC1_NET_MSG_LINK_GATEWAY_STATUS_CHANGE_EID ( 0x0040 + cOCTVC1_NET_EID_BASE ) - -#define cOCTVC1_NET_EID_MAX (( 0x0040 + 1 ) & 0xFFFF) - - -#endif /* __OCTVC1_NET_ID_H__ */ - diff --git a/software/include/vocallo/net/octvc1_net_rc.h b/software/include/vocallo/net/octvc1_net_rc.h deleted file mode 100644 index 6042a4f..0000000 --- a/software/include/vocallo/net/octvc1_net_rc.h +++ /dev/null @@ -1,354 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_NET_RC.h - -$Octasic_Copyright: $ - -Description: Contains the return codes for the NET API. - -$Octasic_Confidentiality: $ - -$Octasic_Release: $ - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef OCTVC1_NET_RC_H__ -#define OCTVC1_NET_RC_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../octvc1_base.h" -#include "../octvc1_generic_rc.h" - -/**************************************************************************** - NET return codes - ****************************************************************************/ - -/**************************************************************************** - RTP_SESSION return codes - RTP Session related return code - ****************************************************************************/ -#define cOCTVC1_NET_RTP_SESSION_RC_BASE ( 0x0100 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_RTP_SESSION_INDEX ( 0x0001 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_RTCP_ENABLE_FLAG ( 0x0002 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_RTCP_DISABLED ( 0x0003 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_OPEN_MAX_REACHED ( 0x0004 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_LOW_RTT ( 0x0005 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_LOW_JITTER ( 0x0006 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_LOW_FRACTION_LOST ( 0x0007 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_BANDWIDTH ( 0x0008 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_PART_RX_ALREADY_IN_USE ( 0x0009 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ID ( 0x000A + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MAX_PARTICIPANT ( 0x000B + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_LOCAL_HOST_DAD ( 0x000C + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_RTCP_FB_MSG_WITHOUT_RTCP ( 0x000D + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_OPERATION_MODE ( 0x000E + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_REMOTE_IP_INVALID ( 0x000F + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MAX_PENDING_TIME ( 0x0010 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MAX_INACTIVE_TIME ( 0x0011 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_LOCAL_HOST_ADDRESS_INVALID ( 0x0012 + cOCTVC1_NET_RTP_SESSION_RC_BASE ) - -/**************************************************************************** - RTP_MEMBER return codes - ****************************************************************************/ -#define cOCTVC1_NET_RTP_MEMBER_RC_BASE ( 0x0200 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_RTP_MEMBER_ACTIVATE_CNAME_LENGTH ( 0x0001 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_ACTIVATE_ALLOC ( 0x0002 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_INVALID_DSP_TERM ( 0x0003 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_PAUSE_FLAG ( 0x0004 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_DSP_TERM_IN_USE ( 0x0005 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_ACTIVATE_CPP_MAX_REACHED ( 0x0006 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_LOCAL_UDP_PORT_INVALID ( 0x0007 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_LOCAL_UDP_PORT_T38 ( 0x0008 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_DSP_TERM_GROUPED_WITH_T38 ( 0x0009 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_LOCAL_UDP_PORT_RTP_RTCP_EQUAL ( 0x000A + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_REMOTE_RTP_IP_VERSION ( 0x000B + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_REMOTE_RTCP_IP_VERSION ( 0x000C + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_REMOTE_T38_IP_VERSION ( 0x000D + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_MODIFY_CNAME_LENGTH ( 0x000E + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_UNIDIR_DSP_TERM_IS_GROUPED ( 0x000F + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_ALREADY_CONNECTED ( 0x0010 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_REMOTE_AUTO_DETECT ( 0x0011 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_RTP_PROFILE_NUM_ENTRY ( 0x0012 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_RTP_PROFILE_DUPLICATED_ENTRY ( 0x0013 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_RTP_PROFILE_ENTRY_NOT_FOUND ( 0x0014 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_RTP_PROFILE_ENTRY_MODIFY_TYPE ( 0x0015 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_INCOMPATIBLE_WITH_THIS_CMD ( 0x0016 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_CUSTOM_LOCAL_HOST_NOT_SUPPORTED ( 0x0017 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_MULTIPLE_UNICAST_SRTP_NOT_ALLOWED ( 0x0018 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_MULTIPLE_UNICAST_VIDEO_NOT_ENABLED_IN_CONFIG_FILE ( 0x0019 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_MULTIPLE_UNICAST_MAX_CONNECTED_REACHED ( 0x0020 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_MULTIPLE_UNICAST_UNSUPPORTED_TERM ( 0x0021 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_MULTIPLE_UNICAST_FORCED_SEQ_NOT_ALLOWED ( 0x0022 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_MULTIPLE_UNICAST_RTCP_TRANSLATOR_NOT_ALLOWED ( 0x0023 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_CANNOT_MODIFY_DISABLED_STREAM ( 0x0024 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_DHCP_PORT_CANNOT_BE_USED ( 0x0025 + cOCTVC1_NET_RTP_MEMBER_RC_BASE ) - -/**************************************************************************** - RTP_MEMBER_SRTP_STREAM return codes - ****************************************************************************/ -#define cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ( 0x0240 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_STREAM_CRYPTO_TRANSFORM_INVALID ( 0x0001 + cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_STREAM_AUTH_TRANSFORM_INVALID ( 0x0002 + cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_STREAM_AUTH_TAG_BIT_SIZE_INVALID ( 0x0003 + cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_STREAM_MKI_BYTE_SIZE_INVALID ( 0x0004 + cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_STREAM_SESSION_CRYPTO_KEY_BIT_SIZE_INVALID ( 0x0005 + cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_STREAM_SESSION_SALT_KEY_BIT_SIZE_INVALID ( 0x0006 + cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_STREAM_SESSION_AUTH_KEY_BIT_SIZE_INVALID ( 0x0007 + cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_STREAM_SERVICE_MASK_INVALID ( 0x0008 + cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_STREAM_UNSUPORTED_TERMINATION ( 0x0009 + cOCTVC1_NET_RTP_MEMBER_SRTP_STREAM_RC_BASE ) - -/**************************************************************************** - RTP_MEMBER_SRTP_KEY_ENTRY return codes - ****************************************************************************/ -#define cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ( 0x0250 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_MASTER_KEY_BIT_SIZE_INVALID ( 0x0001 + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_MASTER_SALT_KEY_BIT_SIZE_INVALID ( 0x0002 + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_DERIVATION_RATE_LOG2_INVALID ( 0x0003 + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_RTP_MAX_LIFE_TIME_INVALID ( 0x0004 + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_RTP_FROM_LIFE_TIME_INVALID ( 0x0005 + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_RTP_TO_LIFE_TIME_INVALID ( 0x0006 + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_RTP_REKEY_THRESHOLD_INVALID ( 0x0007 + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_RTCP_MAX_LIFE_TIME_INVALID ( 0x0008 + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_RTCP_FROM_LIFE_TIME_INVALID ( 0x0009 + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_RTCP_TO_LIFE_TIME_INVALID ( 0x000A + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_KEY_ENTRY_RTCP_REKEY_THRESHOLD_INVALID ( 0x000B + cOCTVC1_NET_RTP_MEMBER_SRTP_KEY_ENTRY_RC_BASE ) - -/**************************************************************************** - RTP_MEMBER_SRTCP_STREAM return codes - ****************************************************************************/ -#define cOCTVC1_NET_RTP_MEMBER_SRTCP_STREAM_RC_BASE ( 0x0260 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTCP_STREAM_SERVICE_MASK_INVALID ( 0x0001 + cOCTVC1_NET_RTP_MEMBER_SRTCP_STREAM_RC_BASE ) - -/**************************************************************************** - RTP_MEMBER_SRTP return codes - ****************************************************************************/ -#define cOCTVC1_NET_RTP_MEMBER_SRTP_RC_BASE ( 0x0270 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_SENDER_KEY_ENTRY_NUM_INVALID ( 0x0001 + cOCTVC1_NET_RTP_MEMBER_SRTP_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_SENDER_KEY_ENTRY_ACTIVE_IDX_INVALID ( 0x0002 + cOCTVC1_NET_RTP_MEMBER_SRTP_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_RECEIVER_KEY_ENTRY_NUM_INVALID ( 0x0003 + cOCTVC1_NET_RTP_MEMBER_SRTP_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_RECEIVER_KEY_ENTRY_ACTIVE_IDX_INVALID ( 0x0004 + cOCTVC1_NET_RTP_MEMBER_SRTP_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_MEMBER_SRTP_INACTIVE ( 0x0005 + cOCTVC1_NET_RTP_MEMBER_SRTP_RC_BASE ) - -/**************************************************************************** - RTP_MEMBER_RTCP_STATS return codes - ****************************************************************************/ -#define cOCTVC1_NET_RTP_MEMBER_RTCP_STATS_RC_BASE ( 0x0280 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_RTP_MEMBER_RTCP_STATS_NO_MORE_ENTRY ( 0x0001 + cOCTVC1_NET_RTP_MEMBER_RTCP_STATS_RC_BASE ) - -/**************************************************************************** - DEST_SET return codes - ****************************************************************************/ -#define cOCTVC1_NET_DEST_SET_RC_BASE ( 0x0300 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_DEST_SET_INVALID_PORT ( 0x0001 + cOCTVC1_NET_DEST_SET_RC_BASE ) -#define cOCTVC1_NET_RC_DEST_SET_ROUTING_ENTRY_NOT_FOUND ( 0x0002 + cOCTVC1_NET_DEST_SET_RC_BASE ) -#define cOCTVC1_NET_RC_DEST_SET_RESERVED_PORT ( 0x0003 + cOCTVC1_NET_DEST_SET_RC_BASE ) - -/**************************************************************************** - LOCAL_HOST return codes - ****************************************************************************/ -#define cOCTVC1_NET_LOCAL_HOST_RC_BASE ( 0x0400 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_LOCAL_HOST_CREATE_PORT_ALREADY_OPEN ( 0x0001 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_CREATE_MAX_OBJECTS_REACHED ( 0x0002 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_CREATE_ALLOC ( 0x0003 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_ACTIVE_DEPENDENCIES ( 0x0004 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_IP_VERSION_INVALID ( 0x0005 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_IPV4_NOT_ENABLED_ON_LINK ( 0x0006 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_IPV6_NOT_ENABLED_ON_LINK ( 0x0007 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_EVENT_MASK_INVALID ( 0x0008 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_EVENT_THROTTLE_INVALID ( 0x0009 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_NOT_FOUND ( 0x000A + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_PAUSE_MEMBERS_ON_IPV6_ADDRESS_EXPIRATION ( 0x000B + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_PAUSE_MEMBERS_ON_DHCPV4_LEASE_RENEW_FAILURE ( 0x000C + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_ADDR_AUTO_CONFIG_FLAG_INVALID ( 0x000D + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_MUTE_ON_ADDR_EXPIRE_FLAG_INVALID ( 0x000E + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_ETH_LINK_AUTO_CONFIG_DISABLED ( 0x000F + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_ADDR_AUTO_CONFIG_MAX_IPV6_PREFIX_REACHED ( 0x0010 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_ADDR_AUTO_CONFIG_MAX_IPV4_DHCP_REACHED ( 0x0011 + cOCTVC1_NET_LOCAL_HOST_RC_BASE ) - -/**************************************************************************** - ETH_LINK return codes - ****************************************************************************/ -#define cOCTVC1_NET_ETH_LINK_RC_BASE ( 0x0500 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_ETH_LINK_CACHE_ENTRY_NOT_FOUND ( 0x0001 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_CACHE_ENTRY_ALLOC ( 0x0002 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_CACHE_ENTRY_ALREADY_EXIST ( 0x0003 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_CACHE_NO_MORE_FREE_ENTRY ( 0x0004 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ARP_REFRESH_TIME_INVALID ( 0x0005 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ARP_REPLY_TIME_INVALID ( 0x0006 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ARP_UNUSED_TIME_INVALID ( 0x0007 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ARP_REQ_CREATE_CNT_INVALID ( 0x0008 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ARP_REFRESH_CNT_INVALID ( 0x0009 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ARP_REFRESH_BROADCAST_CNT_INVALID ( 0x000A + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ARP_REFRESH_TOTAL_INVALID ( 0x000B + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_GARP_REQUEST_CNT_INVALID ( 0x000C + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ENABLE_FLAG_INVALID ( 0x000D + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_CREATE_LOOPBACK_ENTRY_FLAG_INVALID ( 0x000E + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ADDR_AUTOCONFIG_MODE_INVALID ( 0x0010 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ND_BASE_REACHABLE_TIME_INVALID ( 0x0011 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ND_RETRANS_TIME_INVALID ( 0x0012 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ND_UNUSED_TIME_INVALID ( 0x0013 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ND_SOLICIT_CREATE_CNT_INVALID ( 0x0014 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ND_SOLICIT_PROBE_CNT_INVALID ( 0x0015 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ND_SOLICIT_PROBE_MULTICAST_CNT_INVALID ( 0x0016 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ND_SOLICIT_TOTAL_INVALID ( 0x0017 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ND_SOLICIT_DUP_ADDR_CNT_INVALID ( 0x0018 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ENABLE_FLAG_INVALID ( 0x0019 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_CLOSE_WITH_ACTIVE_DEPENDENCIES ( 0x001A + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_OPEN_ETH_PORT_INVALID ( 0x001B + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_ETH_PORT_ALREADY_ACTIVE ( 0x001C + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_8021_PQ_DEFAULT_USER_ID_INVALID ( 0x001D + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_8021_PQ_VLAN_ID_INVALID ( 0x001E + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_8021_PQ_ENABLE_FLAG_INVALID ( 0x001F + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IP_VERSION_INVALID ( 0x0020 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IP_VERSION_NOT_ENABLED ( 0x0021 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_COULD_NOT_OPEN_LINK_LOCAL_HOST ( 0x0022 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_COULD_NOT_CLOSE_LINK_LOCAL_HOST ( 0x0023 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_COULD_NOT_OPEN_ALL_NODES_LOCAL_HOST ( 0x0024 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_COULD_NOT_CLOSE_ALL_NODES_LOCAL_HOST ( 0x0025 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_NOT_ENOUGH_FREE_HOSTS ( 0x0026 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_ENABLE_LOOPBACK_FLAG_INVALID ( 0x0027 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_ENABLE_MAC_ADDR_RESOLUTION_FLAG_INVALID ( 0x0028 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_ENABLE_ICMP_REDIRECT_FLAG_INVALID ( 0x0029 + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ARP_REQUEST_DUPLPICATE_ADDR_CNT_INVALID ( 0x002A + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_CACHE_ENTRY_HAS_DEPENDENCIES ( 0x002B + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_TX_PAUSE_FLAG_INVALID ( 0x002C + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV6_ND_SOLICIT_ROUTER_CNT ( 0x002D + cOCTVC1_NET_ETH_LINK_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_IPV4_ADDR_AUTOCONFIG_MODE_INVALID ( 0x0034 + cOCTVC1_NET_ETH_LINK_RC_BASE ) - -/**************************************************************************** - ICMP_PING return codes - ****************************************************************************/ -#define cOCTVC1_NET_ICMP_PING_RC_BASE ( 0x0600 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_ICMP_PING_MAX_PENDING_PING_REACHED ( 0x0001 + cOCTVC1_NET_ICMP_PING_RC_BASE ) -#define cOCTVC1_NET_RC_ICMP_PING_PAYLOAD_LENGTH ( 0x0002 + cOCTVC1_NET_ICMP_PING_RC_BASE ) -#define cOCTVC1_NET_RC_ICMP_PING_NO_DEFAULT_GTW ( 0x0003 + cOCTVC1_NET_ICMP_PING_RC_BASE ) -#define cOCTVC1_NET_RC_ICMP_PING_LOCAL_HOST_DAD ( 0x0004 + cOCTVC1_NET_ICMP_PING_RC_BASE ) -#define cOCTVC1_NET_RC_ICMP_PING_NOT_ALLOWED ( 0x0005 + cOCTVC1_NET_ICMP_PING_RC_BASE ) -#define cOCTVC1_NET_RC_ICMP_PING_LOCAL_HOST_ADDRESS_INVALID ( 0x0006 + cOCTVC1_NET_ICMP_PING_RC_BASE ) - -/**************************************************************************** - GATEWAY return codes - ****************************************************************************/ -#define cOCTVC1_NET_GATEWAY_RC_BASE ( 0x0700 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_GATEWAY_MAX_ADDITIONS_REACHED ( 0x0001 + cOCTVC1_NET_GATEWAY_RC_BASE ) -#define cOCTVC1_NET_RC_GATEWAY_DELETE_ACTIVE_DEPENDENCIES ( 0x0002 + cOCTVC1_NET_GATEWAY_RC_BASE ) -#define cOCTVC1_NET_RC_GATEWAY_ALREADY_ADDED ( 0x0003 + cOCTVC1_NET_GATEWAY_RC_BASE ) -#define cOCTVC1_NET_RC_GATEWAY_NOT_FOUND ( 0x0004 + cOCTVC1_NET_GATEWAY_RC_BASE ) -#define cOCTVC1_NET_RC_GATEWAY_IP_VERSION_INVALID ( 0x0005 + cOCTVC1_NET_GATEWAY_RC_BASE ) - -/**************************************************************************** - IPV6_PREFIX return codes - ****************************************************************************/ -#define cOCTVC1_NET_IPV6_PREFIX_RC_BASE ( 0x0800 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_IPV6_PREFIX_IP_VERSION_INVALID ( 0x0001 + cOCTVC1_NET_IPV6_PREFIX_RC_BASE ) -#define cOCTVC1_NET_RC_IPV6_PREFIX_IPV6_NOT_ENABLED_ON_LINK ( 0x0002 + cOCTVC1_NET_IPV6_PREFIX_RC_BASE ) -#define cOCTVC1_NET_RC_IPV6_PREFIX_MAX_ADDITIONS_REACHED ( 0x0003 + cOCTVC1_NET_IPV6_PREFIX_RC_BASE ) -#define cOCTVC1_NET_RC_IPV6_PREFIX_ALREADY_PRESENT ( 0x0004 + cOCTVC1_NET_IPV6_PREFIX_RC_BASE ) -#define cOCTVC1_NET_RC_IPV6_PREFIX_ON_LINK_FLAG_INVALID ( 0x0005 + cOCTVC1_NET_IPV6_PREFIX_RC_BASE ) -#define cOCTVC1_NET_RC_IPV6_PREFIX_ON_ADDR_AUTO_CNF_FLAG_INVALID ( 0x0006 + cOCTVC1_NET_IPV6_PREFIX_RC_BASE ) -#define cOCTVC1_NET_RC_IPV6_PREFIX_BIT_LENGTH_INVALID ( 0x0007 + cOCTVC1_NET_IPV6_PREFIX_RC_BASE ) -#define cOCTVC1_NET_RC_IPV6_PREFIX_INFO_NOT_FOUND ( 0x0008 + cOCTVC1_NET_IPV6_PREFIX_RC_BASE ) - -/**************************************************************************** - CUSTOM_MEMBER return codes - ****************************************************************************/ -#define cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ( 0x0900 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_NOT_ENOUGH_PKT_HEADER ( 0x0001 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_FIRST_PKT_HEADER_INVALID ( 0x0002 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_MISSING_PKT_HEADER ( 0x0003 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_RTP_PROFILE_NUM_ENTRY_INVALID ( 0x0004 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_RTP_PROFILE_PAYLOAD_TYPE_INVALID ( 0x0005 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_LOCAL_CNAME_LENGTH_INVALID ( 0x0006 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_REMOTE_CNAME_LENGTH_INVALID ( 0x0007 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_TX_PKT_ENABLE_INVALID ( 0x0008 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_RX_PKT_FILTER_INVALID ( 0x0009 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_DSP_TERM_INVALID ( 0x000B + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_CPP_MAX_REACHED ( 0x000C + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_LOCAL_HOST_INVALID ( 0x000D + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_DSP_TERM_NOT_PKT_BASED ( 0x000E + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_DSP_TERM_IN_USE ( 0x000F + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_RTP_SESSION_INVALID ( 0x0010 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_ACTIVATE_ALLOC ( 0x0011 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_PKT_HEADER_SEQUENCE_INVALID ( 0x0012 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_TX_PKT_ENABLE_MISSING_FIELDS ( 0x0013 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_LOCAL_MEMBER_ID_INVALID ( 0x0014 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_ETHERTYPE_ENCODING_INVALID ( 0x0015 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_ETHERTYPE_INVALID ( 0x0016 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_NUM_VLAN_TAG_INVALID ( 0x0017 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_VLAN_TAG_PRIORITY_INVALID ( 0x0018 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_VLAN_ID_INVALID ( 0x0019 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_STREAM_ENABLE_FLAG_INVALID ( 0x001A + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_IP_VERSION_INVALID ( 0x001B + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_IP_TYPE_OF_SERVICE_INVALID ( 0x001C + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_IP_TIME_TO_LIVE_INVALID ( 0x001D + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_IPV6_FLOW_LABEL_INVALID ( 0x001E + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_TX_PKT_ENABLE_MISSING_VALID_IP_ADDRESS ( 0x001F + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_UDP_PORT_LOCAL_INVALID ( 0x0020 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_UDP_PORT_REMOTE_INVALID ( 0x0021 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_TX_PKT_ENABLE_MISSING_VALID_UDP_PORT ( 0x0022 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_CANNOT_MODIFY_DISABLED_STREAM ( 0x0023 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_LOCAL_IP_ADDRESS_INVALID ( 0x0024 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_RX_UDP_PORT_CLOSE_ACTIVE_DEPENDENCIES ( 0x0025 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_LOCAL_FORCED_RTP_PARM_MASK ( 0x0026 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) -#define cOCTVC1_NET_RC_CUSTOM_MEMBER_LOCAL_FORCED_INIT_SEQ_NUM ( 0x0027 + cOCTVC1_NET_CUSTOM_MEMBER_RC_BASE ) - -/**************************************************************************** - Validate return codes - ****************************************************************************/ -#define cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ( 0xF000 + cOCTVC1_NET_RC_BASE ) - -#define cOCTVC1_NET_RC_SRTP_KEY_ENTRY_INVALID_KEY_DERIVATION_RATE_LOG2 ( 0x1 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_SRTP_KEY_ENTRY_INVALID_RTCP_MASTER_KEY_MAX_LIFE_TIME ( 0x2 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_SRTP_KEY_ENTRY_INVALID_RTCP_MASTER_KEY_FROM_LIFE_TIME ( 0x3 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_SRTP_KEY_ENTRY_INVALID_RTCP_MASTER_KEY_TO_LIFE_TIME ( 0x4 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_SRTP_KEY_ENTRY_INVALID_RTCP_RE_KEY_EVENT_THRESHOLD ( 0x5 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_SRTP_STREAM_CONFIG_INVALID_AUTH_TAG_BIT_SIZE ( 0x6 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_SRTP_STREAM_CONFIG_INVALID_MKI_BYTE_SIZE ( 0x7 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_SRTP_STREAM_CONFIG_INVALID_SESSION_SALT_KEY_BIT_SIZE ( 0x8 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_SRTP_STREAM_CONFIG_INVALID_SESSION_AUTH_KEY_BIT_SIZE ( 0x9 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_VLAN_TAG_INVALID_PRIORITY ( 0xA + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_VLAN_TAG_INVALID_VLAN_ID ( 0xB + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_HEADER_INFO_ETHERNET_INVALID_ETHERTYPE ( 0xC + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_HEADER_INFO_VLAN_INVALID_NUM_VLAN_TAG ( 0xD + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_HEADER_INFO_IP_INVALID_TYPE_OF_SERVICE ( 0xE + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_HEADER_INFO_IP_INVALID_TIME_TO_LIVE ( 0xF + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_HEADER_INFO_IP_INVALID_IPV6_FLOW_LABEL ( 0x10 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_HEADER_INFO_UDP_INVALID_LOCAL_UDP_PORT ( 0x11 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_HEADER_INFO_UDP_INVALID_REMOTE_UDP_PORT ( 0x12 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_ETH_LINK_CONFIG_IPV4_INVALID_ARPREQ_DUP_ADDR_CNT ( 0x13 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_LOCAL_UDP_PORT_RTP ( 0x14 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_LOCAL_UDP_PORT_RTCP ( 0x15 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_LOCAL_CNAME_LENGTH ( 0x16 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_REMOTE_CNAME_LENGTH ( 0x17 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_IPV4_TIME_TO_LIVE ( 0x18 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_IPV4_TYPE_OF_SERVICE ( 0x19 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_IPV6_HOP_LIMIT ( 0x1A + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_IPV6_FLOW_LABEL ( 0x1B + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_IPV6_TRAFFIC_CLASS ( 0x1C + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_ACTIVATE_INVALID_NUM_PROF_ENTRY ( 0x1D + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_MODIFY_INVALID_LOCAL_UDP_PORT_RTP ( 0x1E + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_MODIFY_INVALID_LOCAL_UDP_PORT_RTCP ( 0x1F + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_MODIFY_INVALID_REMOTE_FORCED_INITIAL_SEQ_NUMBER ( 0x20 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_SRTP_KEY_LIST_MODIFY_INVALID_SENDER_SRTP_KEY_NUM ( 0x21 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_RTP_SESSION_MEMBER_SRTP_KEY_LIST_MODIFY_INVALID_RECEIVER_SRTP_KEY_NUM ( 0x22 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) -#define cOCTVC1_NET_RC_LOCAL_HOST_ADDR_VALIDATE_START_INVALID_NUM_PROBE ( 0x23 + cOCTVC1_NET_AUTO_VALIDATE_RC_BASE ) - -#endif /* OCTVC1_NET_RC_H__ */ - diff --git a/software/include/vocallo/net/octvc1_net_version.h b/software/include/vocallo/net/octvc1_net_version.h deleted file mode 100644 index f43c559..0000000 --- a/software/include/vocallo/net/octvc1_net_version.h +++ /dev/null @@ -1,39 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_NET_VERSION.h - -$Octasic_Copyright: $ - -Description: Contains the version of the NET API interface. - -$Octasic_Confidentiality: $ - -$Octasic_Release: $ - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_NET_VERSION_H__ -#define __OCTVC1_NET_VERSION_H__ - - -/* The version ID is separated into the following sections: - - bit[31:25]: Major version - bit[24:18]: Minor version - bit[17:11]: Bug fix version - bit[10:0]: Build number -*/ -#define cOCTVC1_NET_VERSION_MAJOR 1 -#define cOCTVC1_NET_VERSION_MINOR 0 -#define cOCTVC1_NET_VERSION_MAINTENANCE 0 -#define cOCTVC1_NET_VERSION_BUILD 0 - -#define cOCTVC1_NET_VERSION_ID ( (cOCTVC1_NET_VERSION_MAJOR << 25) + \ - (cOCTVC1_NET_VERSION_MINOR << 18) + \ - (cOCTVC1_NET_VERSION_MAINTENANCE << 11) + \ - cOCTVC1_NET_VERSION_BUILD ) - -#endif /* __OCTVC1_NET_VERSION_H__ */ - diff --git a/software/include/vocallo/octvc1_app.h b/software/include/vocallo/octvc1_app.h deleted file mode 100644 index c2710bb..0000000 --- a/software/include/vocallo/octvc1_app.h +++ /dev/null @@ -1,33 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_APP.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contains the definition of the OCTVC1 API. - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_APP_H__ -#define __OCTVC1_APP_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../octdev_types.h" -/**************************************************************************** - Generic application definitions - ****************************************************************************/ - -#define cOCTVC1_APP_COMPANY_NAME "Octasic" -#define cOCTVC1_APP_PRODUCT_NAME "Vocallo Software Define Radio" -#define cOCTVC1_APP_PRODUCT_SHORT_NAME "sdr" -#define cOCTVC1_APP_PRODUCT_GOOSE_ROOT_NAME "octsdr" - -#endif /* __OCTVC1_APP_H__ */ - diff --git a/software/include/vocallo/octvc1_file_swap.h b/software/include/vocallo/octvc1_file_swap.h deleted file mode 100644 index 1a919ea..0000000 --- a/software/include/vocallo/octvc1_file_swap.h +++ /dev/null @@ -1,48 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvc1_file_swap.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVC1_FILE_SWAP_H__ -#define __OCTVC1_FILE_SWAP_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "octvc1_swap_hdrs.h" -#include "octvc1_file.h" - -/********************************* MACROS **********************************/ - - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_FILE_HEADER_SWAP( _f_pParms ){ tOCTVC1_FILE_HEADER * pOCTVC1_FILE_HEADER = (_f_pParms); \ - ((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulMagic = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulMagic); \ - ((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ul_Type_Ver = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ul_Type_Ver); \ - ((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulReserved = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulReserved); \ - ((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulHeaderSize = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_FILE_HEADER *)pOCTVC1_FILE_HEADER)->ulHeaderSize); \ -} -#else -#define mOCTVC1_FILE_HEADER_SWAP( pOCTVC1_FILE_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_FILE_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_generic_rc.h b/software/include/vocallo/octvc1_generic_rc.h deleted file mode 100644 index 3638be4..0000000 --- a/software/include/vocallo/octvc1_generic_rc.h +++ /dev/null @@ -1,79 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_GENERIC_RC.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: Contains the return codes for the GENERIC API. - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Octasic_Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef OCTVC1_GENERIC_RC_H__ -#define OCTVC1_GENERIC_RC_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "octvc1_base.h" - -/**************************************************************************** - GENERIC return codes - ****************************************************************************/ -#define cOCTVC1_RC_OK ( 0x0000 ) -#define cOCTVC1_GENERIC_RC_NO_MORE_FREE_SESSION ( 0x0001 + cOCTVC1_GENERIC_RC_BASE ) -#define cOCTVC1_GENERIC_RC_INVALID_TRANSACTION_ID ( 0x0002 + cOCTVC1_GENERIC_RC_BASE ) -#define cOCTVC1_GENERIC_RC_NO_MORE_OBJECT ( 0x0003 + cOCTVC1_GENERIC_RC_BASE ) -#define cOCTVC1_GENERIC_RC_GET_MODE_INVALID ( 0x0004 + cOCTVC1_GENERIC_RC_BASE ) -#define cOCTVC1_GENERIC_RC_HANDLE_INVALID ( 0x0005 + cOCTVC1_GENERIC_RC_BASE ) -#define cOCTVC1_GENERIC_RC_NO_MORE_SUB_OBJECT ( 0x0006 + cOCTVC1_GENERIC_RC_BASE ) -#define cOCTVC1_GENERIC_RC_ENTRY_INVALID ( 0x0007 + cOCTVC1_GENERIC_RC_BASE ) -#define cOCTVC1_GENERIC_RC_BAD_SUB_OBJECT ( 0x0008 + cOCTVC1_GENERIC_RC_BASE ) -#define cOCTVC1_GENERIC_RC_NO_TDM_CLOCK ( 0x0009 + cOCTVC1_GENERIC_RC_BASE ) -#define cOCTVC1_GENERIC_RC_HANDLE_OBJECT_INVALID ( 0x000A + cOCTVC1_GENERIC_RC_BASE ) - -/**************************************************************************** - API return codes - ****************************************************************************/ -#define cOCTVC1_GENERIC_API_RC_BASE ( 0x0300 + cOCTVC1_GENERIC_RC_BASE ) - -#define cOCTVC1_GENERIC_RC_API_INVALID_CMD_LENGTH ( 0x0001 + cOCTVC1_GENERIC_API_RC_BASE ) -#define cOCTVC1_GENERIC_RC_API_INVALID_CMD_ID_BASE ( 0x0002 + cOCTVC1_GENERIC_API_RC_BASE ) -#define cOCTVC1_GENERIC_RC_API_INVALID_CMD_ID ( 0x0003 + cOCTVC1_GENERIC_API_RC_BASE ) -#define cOCTVC1_GENERIC_RC_API_INVALID_CMD_TYPE ( 0x0004 + cOCTVC1_GENERIC_API_RC_BASE ) -#define cOCTVC1_GENERIC_RC_API_RESTRICTED_CMD_ID ( 0x0005 + cOCTVC1_GENERIC_API_RC_BASE ) -#define cOCTVC1_GENERIC_RC_API_INVALID_DEVICE_TYPE ( 0x0006 + cOCTVC1_GENERIC_API_RC_BASE ) -#define cOCTVC1_GENERIC_RC_API_OUT_OF_RANGE ( 0x0007 + cOCTVC1_GENERIC_API_RC_BASE ) -#define cOCTVC1_GENERIC_RC_API_CMD_NOT_IMPLEMENTED ( 0x0008 + cOCTVC1_GENERIC_API_RC_BASE ) - -/**************************************************************************** - OCTSYS return codes - ****************************************************************************/ -#define cOCTVC1_GENERIC_OCTSYS_RC_BASE ( 0x0400 + cOCTVC1_GENERIC_RC_BASE ) - -#define cOCTVC1_GENERIC_RC_OCTSYS_MEM_ALLOC ( 0x0001 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_FILE_SYS ( 0x0002 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_EXT_MEM_READ_FAIL ( 0x0003 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_EXT_MEM_WRITE_FAIL ( 0x0004 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_IO_READ_FAIL ( 0x0005 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_IO_WRITE_FAIL ( 0x0006 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_STATE_MANAGER_FULL ( 0x0007 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_STATE_MANAGER_EVENT_NOT_FOUND ( 0x0008 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_CREATE_VSP_FIFO ( 0x0009 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_CREATE_AF_FIFO ( 0x000A + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_MEM_SHARE ( 0x000B + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_DIR_LINK_ADD ( 0x000C + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_AF_CORE_ALLOC ( 0x000D + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_ID_GET ( 0x000E + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_PROCESS_CREATE ( 0x000F + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_THREAD_CREATE ( 0x0010 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_HANDLE_OPEN ( 0x0011 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_FIFO_WRITE ( 0x0012 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) -#define cOCTVC1_GENERIC_RC_OCTSYS_DUMP_GET ( 0x0013 + cOCTVC1_GENERIC_OCTSYS_RC_BASE ) - -#endif /* OCTVC1_GENERIC_RC_H__ */ - diff --git a/software/include/vocallo/octvc1_handle_swap.h b/software/include/vocallo/octvc1_handle_swap.h deleted file mode 100644 index 0aef618..0000000 --- a/software/include/vocallo/octvc1_handle_swap.h +++ /dev/null @@ -1,45 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvc1_handle_swap.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVC1_HANDLE_SWAP_H__ -#define __OCTVC1_HANDLE_SWAP_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "octvc1_swap_hdrs.h" -#include "octvc1_handle.h" - -/********************************* MACROS **********************************/ - - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_HANDLE_SWAP( _f_pParms ){ tOCTVC1_HANDLE * pOCTVC1_HANDLE = (_f_pParms); \ - { tOCT_UINT32 iOCTVC1_HANDLE; \ - for( iOCTVC1_HANDLE=0; \ - iOCTVC1_HANDLE<(3);iOCTVC1_HANDLE++ ) \ - ((tOCTVC1_HANDLE *)pOCTVC1_HANDLE)->aulHandle[iOCTVC1_HANDLE] = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_HANDLE *)pOCTVC1_HANDLE)->aulHandle[iOCTVC1_HANDLE]);}\ -} -#else -#define mOCTVC1_HANDLE_SWAP( pOCTVC1_HANDLE ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_HANDLE_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_id2string.h b/software/include/vocallo/octvc1_id2string.h deleted file mode 100644 index 6137af0..0000000 --- a/software/include/vocallo/octvc1_id2string.h +++ /dev/null @@ -1,276 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: octvc1_id2string.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This file contains the id2string implementation for package OCTVC1 - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - - -#ifndef __OCTVC1_ID2STRING__ -#define __OCTVC1_ID2STRING__ - -#include "../octdev_types.h" -/* ------------------------------------------------------------------------------------- - OCTVC1_ID2STRING - -------------------------------------------------------------------------------------*/ -#define mOCTVC1_ID2STRING( _f_ulId ) \ - octvc1_id2string( _f_ulId ) - -#ifndef OCTVC1_ID2STRING_DECLARE -extern const char * octvc1_id2string( tOCT_UINT32 f_ulId ); -#endif - - -#ifdef OCTVC1_ID2STRING_DECLARE -#include -#include "main/octvc1_main_id.h" -#include "gsm/octvc1_gsm_id.h" - - -/* ------------------------------------------------------------------------------------- - octvc1_id2string - -------------------------------------------------------------------------------------*/ -const char * octvc1_id2string( tOCT_UINT32 f_ulId ) -{ - static char g_szUnknownoctvc1_id2string[32]; - switch( f_ulId ) - { - /* OCTVC1_MAIN */ - case cOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CID: - return "cOCTVC1_MAIN_MSG_DEBUG_FORWARD_CLOSE_CID"; - case cOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CID: - return "cOCTVC1_MAIN_MSG_DEBUG_FORWARD_INFO_CID"; - case cOCTVC1_MAIN_MSG_DEVICE_RESET_CID: - return "cOCTVC1_MAIN_MSG_DEVICE_RESET_CID"; - case cOCTVC1_MAIN_MSG_DEVICE_INFO_CID: - return "cOCTVC1_MAIN_MSG_DEVICE_INFO_CID"; - case cOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CID: - return "cOCTVC1_MAIN_MSG_DEVICE_STATUS_OPUS_CORE_CID"; - case cOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CID: - return "cOCTVC1_MAIN_MSG_DEVICE_INFO_OPUS_CORE_CID"; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CID: - return "cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CID"; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CID: - return "cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_STOP_CID"; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CID: - return "cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_CID"; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CID: - return "cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CID"; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CID: - return "cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_REMOVE_MGW_CID"; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CID: - return "cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CID"; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CID: - return "cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CID"; - case cOCTVC1_MAIN_MSG_FILE_OPEN_CID: - return "cOCTVC1_MAIN_MSG_FILE_OPEN_CID"; - case cOCTVC1_MAIN_MSG_FILE_CLOSE_CID: - return "cOCTVC1_MAIN_MSG_FILE_CLOSE_CID"; - case cOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CID: - return "cOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CID"; - case cOCTVC1_MAIN_MSG_FILE_WRITE_CID: - return "cOCTVC1_MAIN_MSG_FILE_WRITE_CID"; - case cOCTVC1_MAIN_MSG_FILE_READ_CID: - return "cOCTVC1_MAIN_MSG_FILE_READ_CID"; - case cOCTVC1_MAIN_MSG_FILE_INFO_CID: - return "cOCTVC1_MAIN_MSG_FILE_INFO_CID"; - case cOCTVC1_MAIN_MSG_FILE_LIST_CID: - return "cOCTVC1_MAIN_MSG_FILE_LIST_CID"; - case cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CID: - return "cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CID"; - case cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CID: - return "cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CID"; - case cOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CID: - return "cOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CID"; - case cOCTVC1_MAIN_MSG_LOG_ERASE_CID: - return "cOCTVC1_MAIN_MSG_LOG_ERASE_CID"; - case cOCTVC1_MAIN_MSG_LICENSING_INFO_CID: - return "cOCTVC1_MAIN_MSG_LICENSING_INFO_CID"; - case cOCTVC1_MAIN_MSG_OCT1010_RESET_CID: - return "cOCTVC1_MAIN_MSG_OCT1010_RESET_CID"; - case cOCTVC1_MAIN_MSG_OCT1010_INFO_CID: - return "cOCTVC1_MAIN_MSG_OCT1010_INFO_CID"; - case cOCTVC1_MAIN_MSG_ETH_STATS_CID: - return "cOCTVC1_MAIN_MSG_ETH_STATS_CID"; - case cOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CID: - return "cOCTVC1_MAIN_MSG_ETH_INFO_PORT_CONFIG_CID"; - case cOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CID: - return "cOCTVC1_MAIN_MSG_ETH_MODIFY_PORT_CONFIG_CID"; - case cOCTVC1_MAIN_MSG_REGISTER_READ_CID: - return "cOCTVC1_MAIN_MSG_REGISTER_READ_CID"; - case cOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CID: - return "cOCTVC1_MAIN_MSG_OCT1010_INFO_OCT1010ID_CID"; - case cOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CID: - return "cOCTVC1_MAIN_MSG_OCT1010_STATUS_CORE_CID"; - case cOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CID: - return "cOCTVC1_MAIN_MSG_OCT1010_INFO_CORE_CID"; - case cOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CID: - return "cOCTVC1_MAIN_MSG_GPIO_MODIFY_BANK_CONFIG_CID"; - case cOCTVC1_MAIN_MSG_GPIO_READ_BANK_CID: - return "cOCTVC1_MAIN_MSG_GPIO_READ_BANK_CID"; - case cOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CID: - return "cOCTVC1_MAIN_MSG_GPIO_WRITE_BANK_CID"; - case cOCTVC1_MAIN_MSG_SPI_ACCESS_CID: - return "cOCTVC1_MAIN_MSG_SPI_ACCESS_CID"; - case cOCTVC1_MAIN_MSG_PROCESS_LIST_CID: - return "cOCTVC1_MAIN_MSG_PROCESS_LIST_CID"; - case cOCTVC1_MAIN_MSG_PROCESS_INFO_CID: - return "cOCTVC1_MAIN_MSG_PROCESS_INFO_CID"; - case cOCTVC1_MAIN_MSG_MDIO_READ_PHY_CID: - return "cOCTVC1_MAIN_MSG_MDIO_READ_PHY_CID"; - case cOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CID: - return "cOCTVC1_MAIN_MSG_MDIO_WRITE_PHY_CID"; - case cOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CID: - return "cOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CID"; - case cOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CID: - return "cOCTVC1_MAIN_MSG_GPIO_MONITOR_BANK_CID"; - case cOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CID: - return "cOCTVC1_MAIN_MSG_MDIO_MONITOR_PHY_CID"; - case cOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CID: - return "cOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CID"; - case cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID: - return "cOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CID"; - case cOCTVC1_MAIN_MSG_BUFFER_OPEN_CID: - return "cOCTVC1_MAIN_MSG_BUFFER_OPEN_CID"; - case cOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CID: - return "cOCTVC1_MAIN_MSG_BUFFER_INFO_BY_NAME_CID"; - case cOCTVC1_MAIN_MSG_BUFFER_CLOSE_CID: - return "cOCTVC1_MAIN_MSG_BUFFER_CLOSE_CID"; - case cOCTVC1_MAIN_MSG_BUFFER_INFO_CID: - return "cOCTVC1_MAIN_MSG_BUFFER_INFO_CID"; - case cOCTVC1_MAIN_MSG_BUFFER_LIST_CID: - return "cOCTVC1_MAIN_MSG_BUFFER_LIST_CID"; - case cOCTVC1_MAIN_MSG_BUFFER_MODIFY_CID: - return "cOCTVC1_MAIN_MSG_BUFFER_MODIFY_CID"; - case cOCTVC1_MAIN_MSG_BUFFER_WRITE_CID: - return "cOCTVC1_MAIN_MSG_BUFFER_WRITE_CID"; - case cOCTVC1_MAIN_MSG_BUFFER_READ_CID: - return "cOCTVC1_MAIN_MSG_BUFFER_READ_CID"; - case cOCTVC1_MAIN_MSG_MODULE_START_TRACING_CID: - return "cOCTVC1_MAIN_MSG_MODULE_START_TRACING_CID"; - case cOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CID: - return "cOCTVC1_MAIN_MSG_MODULE_STOP_TRACING_CID"; - case cOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CID: - return "cOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CID"; - case cOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CID: - return "cOCTVC1_MAIN_MSG_MODULE_INFO_EVT_CID"; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CID: - return "cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CID"; - case cOCTVC1_MAIN_MSG_OCT1010_STATS_CID: - return "cOCTVC1_MAIN_MSG_OCT1010_STATS_CID"; - case cOCTVC1_MAIN_MSG_OCT2200_STATS_CID: - return "cOCTVC1_MAIN_MSG_OCT2200_STATS_CID"; - case cOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EID: - return "cOCTVC1_MAIN_MSG_GPIO_BANK_CHANGE_EID"; - case cOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EID: - return "cOCTVC1_MAIN_MSG_MDIO_PHY_CHANGE_EID"; - case cOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EID: - return "cOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EID"; - case cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EID: - return "cOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EID"; - case cOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EID: - return "cOCTVC1_MAIN_MSG_MODULE_TRACING_BUFFER_FULL_EID"; - case cOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EID: - return "cOCTVC1_MAIN_MSG_MODULE_TRACING_STOP_EID"; - case cOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EID: - return "cOCTVC1_MAIN_MSG_DEVICE_OPUS_CORE_EXEC_REPORT_EID"; - /* OCTVC1_GSM */ - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CID: - return "cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_EMPTY_FRAME_CID"; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CID: - return "cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_REQUEST_DATA_CID"; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CID: - return "cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONNECT_CID"; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CID: - return "cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_DISCONNECT_CID"; - case cOCTVC1_GSM_MSG_TRX_STATUS_CID: - return "cOCTVC1_GSM_MSG_TRX_STATUS_CID"; - case cOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CID: - return "cOCTVC1_GSM_MSG_TRX_STATUS_TIMESLOT_CID"; - case cOCTVC1_GSM_MSG_TRX_RESET_CID: - return "cOCTVC1_GSM_MSG_TRX_RESET_CID"; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CID: - return "cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_RESET_CID"; - case cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CID: - return "cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_ACTIVATE_CID"; - case cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CID: - return "cOCTVC1_GSM_MSG_LOGICAL_CHANNEL_DEACTIVATE_CID"; - case cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CID: - return "cOCTVC1_GSM_MSG_PHYSICAL_CHANNEL_CONFIGURE_CIPHERING_CID"; - case cOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CID: - return "cOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CID"; - case cOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CID: - return "cOCTVC1_GSM_MSG_TRX_REQUEST_TIMESLOT_MEASUREMENT_REPORT_CID"; - case cOCTVC1_GSM_MSG_TEST_START_ETSI_CID: - return "cOCTVC1_GSM_MSG_TEST_START_ETSI_CID"; - case cOCTVC1_GSM_MSG_TEST_START_FCC_CID: - return "cOCTVC1_GSM_MSG_TEST_START_FCC_CID"; - case cOCTVC1_GSM_MSG_TEST_END_ETSI_CID: - return "cOCTVC1_GSM_MSG_TEST_END_ETSI_CID"; - case cOCTVC1_GSM_MSG_TEST_END_FCC_CID: - return "cOCTVC1_GSM_MSG_TEST_END_FCC_CID"; - case cOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CID: - return "cOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CID"; - case cOCTVC1_GSM_MSG_MODULE_INFO_EVT_CID: - return "cOCTVC1_GSM_MSG_MODULE_INFO_EVT_CID"; - case cOCTVC1_GSM_MSG_MODULE_INFO_CID: - return "cOCTVC1_GSM_MSG_MODULE_INFO_CID"; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CID: - return "cOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CID"; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CID: - return "cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_EVT_CID"; - case cOCTVC1_GSM_MSG_TRX_CONFIGURE_CID: - return "cOCTVC1_GSM_MSG_TRX_CONFIGURE_CID"; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CID: - return "cOCTVC1_GSM_MSG_PROCESS_UNIT_LIST_CID"; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CID: - return "cOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_CID"; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CID: - return "cOCTVC1_GSM_MSG_PROCESS_UNIT_STATS_CID"; - case cOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EID: - return "cOCTVC1_GSM_MSG_MODULE_DATA_INDICATION_EID"; - case cOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EID: - return "cOCTVC1_GSM_MSG_MODULE_READY_TO_SEND_INDICATION_EID"; - case cOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EID: - return "cOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EID"; - case cOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EID: - return "cOCTVC1_GSM_MSG_MODULE_TIME_INDICATION_EID"; - case cOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EID: - return "cOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EID"; - case cOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EID: - return "cOCTVC1_GSM_MSG_MODULE_TRX_RADIO_READY_EID"; - case cOCTVC1_GSM_MSG_MODULE_ERROR_EID: - return "cOCTVC1_GSM_MSG_MODULE_ERROR_EID"; - case cOCTVC1_GSM_MSG_MODULE_MESSAGE_EID: - return "cOCTVC1_GSM_MSG_MODULE_MESSAGE_EID"; - case cOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EID: - return "cOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EID"; - case cOCTVC1_GSM_MSG_MODULE_TRACING_EID: - return "cOCTVC1_GSM_MSG_MODULE_TRACING_EID"; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EID: - return "cOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EID"; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EID: - return "cOCTVC1_GSM_MSG_PROCESS_UNIT_MESSAGE_EID"; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EID: - return "cOCTVC1_GSM_MSG_PROCESS_UNIT_CHECKPOINT_EID"; - case cOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EID: - return "cOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EID"; - - } - sprintf( g_szUnknownoctvc1_id2string, "0x%.8X", f_ulId ); - return g_szUnknownoctvc1_id2string; -} -#endif - -#endif /* __OCTVC1_ID2STRING__ */ diff --git a/software/include/vocallo/octvc1_id2string_priv.h b/software/include/vocallo/octvc1_id2string_priv.h deleted file mode 100644 index 0f6b7bd..0000000 --- a/software/include/vocallo/octvc1_id2string_priv.h +++ /dev/null @@ -1,183 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: octvc1_id2string_priv.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This file contains the id2string implementation for package OCTVC1 - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - - -#ifndef __OCTVC1_ID2STRING_PRIV__ -#define __OCTVC1_ID2STRING_PRIV__ - -#include "../octdev_types.h" -#include "octvc1_id2string.h" -/* ------------------------------------------------------------------------------------- - OCTVC1_ID2STRING_PRIV - -------------------------------------------------------------------------------------*/ -#define mOCTVC1_ID2STRING_PRIV( _f_ulId ) \ - octvc1_id2string_priv( _f_ulId ) - -#ifndef OCTVC1_ID2STRING_PRIV_DECLARE -extern const char * octvc1_id2string_priv( tOCT_UINT32 f_ulId ); -#endif - - -#ifdef OCTVC1_ID2STRING_PRIV_DECLARE -#include -#include "main/octvc1_main_id_priv.h" -#include "cpp/octvc1_cpp_id_priv.h" -#include "net/octvc1_net_id_priv.h" - - -/* ------------------------------------------------------------------------------------- - octvc1_id2string_priv - -------------------------------------------------------------------------------------*/ -const char * octvc1_id2string_priv( tOCT_UINT32 f_ulId ) -{ - static char g_szUnknownoctvc1_id2string_priv[32]; - switch( f_ulId ) - { - case cOCTVC1_MAIN_MSG_ETH_RESTRICTED_UNBLOCK_PORT_CID: - return "cOCTVC1_MAIN_MSG_ETH_RESTRICTED_UNBLOCK_PORT_CID"; - case cOCTVC1_MAIN_MSG_PROCESS_GET_MONITORING_CID: - return "cOCTVC1_MAIN_MSG_PROCESS_GET_MONITORING_CID"; - case cOCTVC1_MAIN_MSG_MODULE_INCREMENT_TIMESTAMP_CID: - return "cOCTVC1_MAIN_MSG_MODULE_INCREMENT_TIMESTAMP_CID"; - case cOCTVC1_MAIN_MSG_MODULE_START_DMA_TRACING_CID: - return "cOCTVC1_MAIN_MSG_MODULE_START_DMA_TRACING_CID"; - case cOCTVC1_MAIN_MSG_MODULE_STOP_DMA_TRACING_CID: - return "cOCTVC1_MAIN_MSG_MODULE_STOP_DMA_TRACING_CID"; - case cOCTVC1_MAIN_MSG_MODULE_PAUSE_DMA_TRACING_CID: - return "cOCTVC1_MAIN_MSG_MODULE_PAUSE_DMA_TRACING_CID"; - case cOCTVC1_MAIN_MSG_MODULE_GET_DMA_TRACING_CID: - return "cOCTVC1_MAIN_MSG_MODULE_GET_DMA_TRACING_CID"; - case cOCTVC1_MAIN_MSG_API_SYSTEM_START_MONITORING_CID: - return "cOCTVC1_MAIN_MSG_API_SYSTEM_START_MONITORING_CID"; - case cOCTVC1_MAIN_MSG_API_SYSTEM_STOP_MONITORING_CID: - return "cOCTVC1_MAIN_MSG_API_SYSTEM_STOP_MONITORING_CID"; - case cOCTVC1_MAIN_MSG_API_SYSTEM_LIST_COMMAND_CID: - return "cOCTVC1_MAIN_MSG_API_SYSTEM_LIST_COMMAND_CID"; - case cOCTVC1_MAIN_MSG_API_SYSTEM_STATS_COMMAND_CID: - return "cOCTVC1_MAIN_MSG_API_SYSTEM_STATS_COMMAND_CID"; - case cOCTVC1_MAIN_MSG_GOOSE_TEST_INFO_CID: - return "cOCTVC1_MAIN_MSG_GOOSE_TEST_INFO_CID"; - case cOCTVC1_MAIN_MSG_LOG_INFO_CID: - return "cOCTVC1_MAIN_MSG_LOG_INFO_CID"; - case cOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CID: - return "cOCTVC1_MAIN_MSG_LOG_INFO_TRACE_CID"; - case cOCTVC1_MAIN_MSG_LOG_START_TRACE_CID: - return "cOCTVC1_MAIN_MSG_LOG_START_TRACE_CID"; - case cOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CID: - return "cOCTVC1_MAIN_MSG_LOG_STOP_TRACE_CID"; - case cOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CID: - return "cOCTVC1_MAIN_MSG_LOG_ERASE_TRACE_CID"; - case cOCTVC1_MAIN_MSG_MODULE_GET_VERSION_CID: - return "cOCTVC1_MAIN_MSG_MODULE_GET_VERSION_CID"; - case cOCTVC1_MAIN_MSG_MODULE_GET_SW_CONFIG_CID: - return "cOCTVC1_MAIN_MSG_MODULE_GET_SW_CONFIG_CID"; - case cOCTVC1_MAIN_MSG_TDM_INITIALIZE_BUFFER_CID: - return "cOCTVC1_MAIN_MSG_TDM_INITIALIZE_BUFFER_CID"; - case cOCTVC1_MAIN_MSG_MODULE_CLEANUP_API_RESOURCE_CID: - return "cOCTVC1_MAIN_MSG_MODULE_CLEANUP_API_RESOURCE_CID"; - case cOCTVC1_MAIN_MSG_MODULE_GET_API_RESOURCE_CID: - return "cOCTVC1_MAIN_MSG_MODULE_GET_API_RESOURCE_CID"; - case cOCTVC1_MAIN_MSG_MODULE_STATS_SCHEDULER_CID: - return "cOCTVC1_MAIN_MSG_MODULE_STATS_SCHEDULER_CID"; - case cOCTVC1_MAIN_MSG_MODULE_STATS_AF_CID: - return "cOCTVC1_MAIN_MSG_MODULE_STATS_AF_CID"; - case cOCTVC1_MAIN_MSG_MODULE_STATS_TDM_DRIVER_CID: - return "cOCTVC1_MAIN_MSG_MODULE_STATS_TDM_DRIVER_CID"; - case cOCTVC1_MAIN_MSG_TDM_MODIFY_CID: - return "cOCTVC1_MAIN_MSG_TDM_MODIFY_CID"; - case cOCTVC1_MAIN_MSG_GOOSE_TEST_TEST_EID: - return "cOCTVC1_MAIN_MSG_GOOSE_TEST_TEST_EID"; - case cOCTVC1_CPP_MSG_MODULE_STATS_IP_CID: - return "cOCTVC1_CPP_MSG_MODULE_STATS_IP_CID"; - case cOCTVC1_CPP_MSG_RX_UDP_PORT_OPEN_CID: - return "cOCTVC1_CPP_MSG_RX_UDP_PORT_OPEN_CID"; - case cOCTVC1_CPP_MSG_RX_UDP_PORT_CLOSE_CID: - return "cOCTVC1_CPP_MSG_RX_UDP_PORT_CLOSE_CID"; - case cOCTVC1_CPP_MSG_RX_UDP_PORT_STATS_CID: - return "cOCTVC1_CPP_MSG_RX_UDP_PORT_STATS_CID"; - case cOCTVC1_CPP_MSG_RX_UDP_PORT_ACTIVATE_CNCT_CID: - return "cOCTVC1_CPP_MSG_RX_UDP_PORT_ACTIVATE_CNCT_CID"; - case cOCTVC1_CPP_MSG_RX_UDP_PORT_DEACTIVATE_CNCT_CID: - return "cOCTVC1_CPP_MSG_RX_UDP_PORT_DEACTIVATE_CNCT_CID"; - case cOCTVC1_CPP_MSG_RX_UDP_PORT_STATS_CNCT_CID: - return "cOCTVC1_CPP_MSG_RX_UDP_PORT_STATS_CNCT_CID"; - case cOCTVC1_CPP_MSG_TX_UDP_CNCT_OPEN_CID: - return "cOCTVC1_CPP_MSG_TX_UDP_CNCT_OPEN_CID"; - case cOCTVC1_CPP_MSG_TX_UDP_CNCT_MODIFY_CID: - return "cOCTVC1_CPP_MSG_TX_UDP_CNCT_MODIFY_CID"; - case cOCTVC1_CPP_MSG_TX_UDP_CNCT_CLOSE_CID: - return "cOCTVC1_CPP_MSG_TX_UDP_CNCT_CLOSE_CID"; - case cOCTVC1_CPP_MSG_TX_UDP_CNCT_STATS_CID: - return "cOCTVC1_CPP_MSG_TX_UDP_CNCT_STATS_CID"; - case cOCTVC1_CPP_MSG_RX_IP_PORT_OPEN_CID: - return "cOCTVC1_CPP_MSG_RX_IP_PORT_OPEN_CID"; - case cOCTVC1_CPP_MSG_RX_IP_PORT_CLOSE_CID: - return "cOCTVC1_CPP_MSG_RX_IP_PORT_CLOSE_CID"; - case cOCTVC1_CPP_MSG_RX_IP_PORT_STATS_CID: - return "cOCTVC1_CPP_MSG_RX_IP_PORT_STATS_CID"; - case cOCTVC1_CPP_MSG_RX_TCP_PORT_OPEN_CID: - return "cOCTVC1_CPP_MSG_RX_TCP_PORT_OPEN_CID"; - case cOCTVC1_CPP_MSG_RX_TCP_PORT_CLOSE_CID: - return "cOCTVC1_CPP_MSG_RX_TCP_PORT_CLOSE_CID"; - case cOCTVC1_CPP_MSG_RX_TCP_PORT_STATS_CID: - return "cOCTVC1_CPP_MSG_RX_TCP_PORT_STATS_CID"; - case cOCTVC1_CPP_MSG_RX_TCP_PORT_ACTIVATE_CNCT_CID: - return "cOCTVC1_CPP_MSG_RX_TCP_PORT_ACTIVATE_CNCT_CID"; - case cOCTVC1_CPP_MSG_RX_TCP_PORT_DEACTIVATE_CNCT_CID: - return "cOCTVC1_CPP_MSG_RX_TCP_PORT_DEACTIVATE_CNCT_CID"; - case cOCTVC1_CPP_MSG_RX_TCP_PORT_STATS_CNCT_CID: - return "cOCTVC1_CPP_MSG_RX_TCP_PORT_STATS_CNCT_CID"; - case cOCTVC1_NET_MSG_MODULE_MODIFY_DEST_CID: - return "cOCTVC1_NET_MSG_MODULE_MODIFY_DEST_CID"; - case cOCTVC1_NET_MSG_MODULE_GET_CONFIG_CID: - return "cOCTVC1_NET_MSG_MODULE_GET_CONFIG_CID"; - case cOCTVC1_NET_MSG_ETH_LINK_OPEN_CID: - return "cOCTVC1_NET_MSG_ETH_LINK_OPEN_CID"; - case cOCTVC1_NET_MSG_ETH_LINK_CLOSE_CID: - return "cOCTVC1_NET_MSG_ETH_LINK_CLOSE_CID"; - case cOCTVC1_NET_MSG_ETH_LINK_INFO_CID: - return "cOCTVC1_NET_MSG_ETH_LINK_INFO_CID"; - case cOCTVC1_NET_MSG_ETH_LINK_STATS_CID: - return "cOCTVC1_NET_MSG_ETH_LINK_STATS_CID"; - case cOCTVC1_NET_MSG_ETH_LINK_ADD_CACHE_ENTRY_CID: - return "cOCTVC1_NET_MSG_ETH_LINK_ADD_CACHE_ENTRY_CID"; - case cOCTVC1_NET_MSG_ETH_LINK_REMOVE_CACHE_ENTRY_CID: - return "cOCTVC1_NET_MSG_ETH_LINK_REMOVE_CACHE_ENTRY_CID"; - case cOCTVC1_NET_MSG_ETH_LINK_MODIFY_CACHE_ENTRY_CID: - return "cOCTVC1_NET_MSG_ETH_LINK_MODIFY_CACHE_ENTRY_CID"; - case cOCTVC1_NET_MSG_ETH_LINK_INFO_CACHE_ENTRY_CID: - return "cOCTVC1_NET_MSG_ETH_LINK_INFO_CACHE_ENTRY_CID"; - case cOCTVC1_NET_MSG_CUSTOM_LOCAL_HOST_OPEN_CID: - return "cOCTVC1_NET_MSG_CUSTOM_LOCAL_HOST_OPEN_CID"; - case cOCTVC1_NET_MSG_CUSTOM_LOCAL_HOST_CLOSE_CID: - return "cOCTVC1_NET_MSG_CUSTOM_LOCAL_HOST_CLOSE_CID"; - case cOCTVC1_NET_MSG_CUSTOM_LOCAL_HOST_INFO_CID: - return "cOCTVC1_NET_MSG_CUSTOM_LOCAL_HOST_INFO_CID"; - case cOCTVC1_NET_MSG_ETH_LINK_MODIFY_CID: - return "cOCTVC1_NET_MSG_ETH_LINK_MODIFY_CID"; - case cOCTVC1_NET_MSG_MODULE_MODIFY_NTP_TIMESTAMP_CID: - return "cOCTVC1_NET_MSG_MODULE_MODIFY_NTP_TIMESTAMP_CID"; - case cOCTVC1_NET_MSG_MODULE_INFO_NTP_TIMESTAMP_CID: - return "cOCTVC1_NET_MSG_MODULE_INFO_NTP_TIMESTAMP_CID"; - - } - return octvc1_id2string( f_ulId ); -} -#endif - -#endif /* __OCTVC1_ID2STRING_PRIV__ */ diff --git a/software/include/vocallo/octvc1_log_swap.h b/software/include/vocallo/octvc1_log_swap.h deleted file mode 100644 index b7cf362..0000000 --- a/software/include/vocallo/octvc1_log_swap.h +++ /dev/null @@ -1,47 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvc1_log_swap.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVC1_LOG_SWAP_H__ -#define __OCTVC1_LOG_SWAP_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "octvc1_swap_hdrs.h" -#include "octvc1_log.h" - -/********************************* MACROS **********************************/ - - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVC1_LOG_HEADER_SWAP( _f_pParms ){ tOCTVC1_LOG_HEADER * pOCTVC1_LOG_HEADER = (_f_pParms); \ - { mOCTVC1_LOG_ID_SWAP( &((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ulId ); } \ - ((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ulTime = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ulTime); \ - ((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->hProcess = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->hProcess); \ - ((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ul_Type_Info_Length = \ - mOCT_SWAP32_IF_LE(((tOCTVC1_LOG_HEADER *)pOCTVC1_LOG_HEADER)->ul_Type_Info_Length); \ -} -#else -#define mOCTVC1_LOG_HEADER_SWAP( pOCTVC1_LOG_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_LOG_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_privacy.h b/software/include/vocallo/octvc1_privacy.h deleted file mode 100644 index abf35c1..0000000 --- a/software/include/vocallo/octvc1_privacy.h +++ /dev/null @@ -1,24 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVC1_PRIVACY.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVC1_PRIVACY_H__ -#define __OCTVC1_PRIVACY_H__ - - -/************************ COMMON DEFINITIONS *******************************/ - -#endif /* __OCTVC1_PRIVACY_H__ */ - diff --git a/software/include/vocallo/octvc1_rc2string.h b/software/include/vocallo/octvc1_rc2string.h deleted file mode 100644 index 1e34643..0000000 --- a/software/include/vocallo/octvc1_rc2string.h +++ /dev/null @@ -1,336 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: octvc1_rc2string.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This file contains the rc2string implementation for package OCTVC1 - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - - -#ifndef __OCTVC1_RC2STRING__ -#define __OCTVC1_RC2STRING__ - -#include "../octdev_types.h" -/* ------------------------------------------------------------------------------------- - OCTVC1_RC2STRING - -------------------------------------------------------------------------------------*/ -#define mOCTVC1_RC2STRING( _f_ulRc ) \ - octvc1_rc2string( _f_ulRc ) - -#ifndef OCTVC1_RC2STRING_DECLARE -extern const char * octvc1_rc2string( tOCT_UINT32 f_ulRc ); -#endif - - -#ifdef OCTVC1_RC2STRING_DECLARE -#include -#include "octvc1_generic_rc.h" -#include "octvc1_licensing_rc.h" -#include "pkt_api/octvc1_pkt_api_rc.h" -#include "main/octvc1_main_rc.h" -#include "gsm/octvc1_gsm_rc.h" - - -/* ------------------------------------------------------------------------------------- - octvc1_rc2string - -------------------------------------------------------------------------------------*/ -const char * octvc1_rc2string( tOCT_UINT32 f_ulRc ) -{ - static char g_szUnknownoctvc1_rc2string[32]; - switch( f_ulRc ) - { - case cOCTVC1_RC_OK: - return "cOCTVC1_RC_OK"; - case cOCTVC1_GENERIC_RC_NO_MORE_FREE_SESSION: - return "cOCTVC1_GENERIC_RC_NO_MORE_FREE_SESSION"; - case cOCTVC1_GENERIC_RC_INVALID_TRANSACTION_ID: - return "cOCTVC1_GENERIC_RC_INVALID_TRANSACTION_ID"; - case cOCTVC1_GENERIC_RC_NO_MORE_OBJECT: - return "cOCTVC1_GENERIC_RC_NO_MORE_OBJECT"; - case cOCTVC1_GENERIC_RC_GET_MODE_INVALID: - return "cOCTVC1_GENERIC_RC_GET_MODE_INVALID"; - case cOCTVC1_GENERIC_RC_HANDLE_INVALID: - return "cOCTVC1_GENERIC_RC_HANDLE_INVALID"; - case cOCTVC1_GENERIC_RC_NO_MORE_SUB_OBJECT: - return "cOCTVC1_GENERIC_RC_NO_MORE_SUB_OBJECT"; - case cOCTVC1_GENERIC_RC_ENTRY_INVALID: - return "cOCTVC1_GENERIC_RC_ENTRY_INVALID"; - case cOCTVC1_GENERIC_RC_BAD_SUB_OBJECT: - return "cOCTVC1_GENERIC_RC_BAD_SUB_OBJECT"; - case cOCTVC1_GENERIC_RC_NO_TDM_CLOCK: - return "cOCTVC1_GENERIC_RC_NO_TDM_CLOCK"; - case cOCTVC1_GENERIC_RC_HANDLE_OBJECT_INVALID: - return "cOCTVC1_GENERIC_RC_HANDLE_OBJECT_INVALID"; - case cOCTVC1_GENERIC_RC_API_INVALID_CMD_LENGTH: - return "cOCTVC1_GENERIC_RC_API_INVALID_CMD_LENGTH"; - case cOCTVC1_GENERIC_RC_API_INVALID_CMD_ID_BASE: - return "cOCTVC1_GENERIC_RC_API_INVALID_CMD_ID_BASE"; - case cOCTVC1_GENERIC_RC_API_INVALID_CMD_ID: - return "cOCTVC1_GENERIC_RC_API_INVALID_CMD_ID"; - case cOCTVC1_GENERIC_RC_API_INVALID_CMD_TYPE: - return "cOCTVC1_GENERIC_RC_API_INVALID_CMD_TYPE"; - case cOCTVC1_GENERIC_RC_API_RESTRICTED_CMD_ID: - return "cOCTVC1_GENERIC_RC_API_RESTRICTED_CMD_ID"; - case cOCTVC1_GENERIC_RC_API_INVALID_DEVICE_TYPE: - return "cOCTVC1_GENERIC_RC_API_INVALID_DEVICE_TYPE"; - case cOCTVC1_GENERIC_RC_API_OUT_OF_RANGE: - return "cOCTVC1_GENERIC_RC_API_OUT_OF_RANGE"; - case cOCTVC1_GENERIC_RC_API_CMD_NOT_IMPLEMENTED: - return "cOCTVC1_GENERIC_RC_API_CMD_NOT_IMPLEMENTED"; - case cOCTVC1_GENERIC_RC_OCTSYS_MEM_ALLOC: - return "cOCTVC1_GENERIC_RC_OCTSYS_MEM_ALLOC"; - case cOCTVC1_GENERIC_RC_OCTSYS_FILE_SYS: - return "cOCTVC1_GENERIC_RC_OCTSYS_FILE_SYS"; - case cOCTVC1_GENERIC_RC_OCTSYS_EXT_MEM_READ_FAIL: - return "cOCTVC1_GENERIC_RC_OCTSYS_EXT_MEM_READ_FAIL"; - case cOCTVC1_GENERIC_RC_OCTSYS_EXT_MEM_WRITE_FAIL: - return "cOCTVC1_GENERIC_RC_OCTSYS_EXT_MEM_WRITE_FAIL"; - case cOCTVC1_GENERIC_RC_OCTSYS_IO_READ_FAIL: - return "cOCTVC1_GENERIC_RC_OCTSYS_IO_READ_FAIL"; - case cOCTVC1_GENERIC_RC_OCTSYS_IO_WRITE_FAIL: - return "cOCTVC1_GENERIC_RC_OCTSYS_IO_WRITE_FAIL"; - case cOCTVC1_GENERIC_RC_OCTSYS_STATE_MANAGER_FULL: - return "cOCTVC1_GENERIC_RC_OCTSYS_STATE_MANAGER_FULL"; - case cOCTVC1_GENERIC_RC_OCTSYS_STATE_MANAGER_EVENT_NOT_FOUND: - return "cOCTVC1_GENERIC_RC_OCTSYS_STATE_MANAGER_EVENT_NOT_FOUND"; - case cOCTVC1_GENERIC_RC_OCTSYS_CREATE_VSP_FIFO: - return "cOCTVC1_GENERIC_RC_OCTSYS_CREATE_VSP_FIFO"; - case cOCTVC1_GENERIC_RC_OCTSYS_CREATE_AF_FIFO: - return "cOCTVC1_GENERIC_RC_OCTSYS_CREATE_AF_FIFO"; - case cOCTVC1_GENERIC_RC_OCTSYS_MEM_SHARE: - return "cOCTVC1_GENERIC_RC_OCTSYS_MEM_SHARE"; - case cOCTVC1_GENERIC_RC_OCTSYS_DIR_LINK_ADD: - return "cOCTVC1_GENERIC_RC_OCTSYS_DIR_LINK_ADD"; - case cOCTVC1_GENERIC_RC_OCTSYS_AF_CORE_ALLOC: - return "cOCTVC1_GENERIC_RC_OCTSYS_AF_CORE_ALLOC"; - case cOCTVC1_GENERIC_RC_OCTSYS_ID_GET: - return "cOCTVC1_GENERIC_RC_OCTSYS_ID_GET"; - case cOCTVC1_GENERIC_RC_OCTSYS_PROCESS_CREATE: - return "cOCTVC1_GENERIC_RC_OCTSYS_PROCESS_CREATE"; - case cOCTVC1_GENERIC_RC_OCTSYS_THREAD_CREATE: - return "cOCTVC1_GENERIC_RC_OCTSYS_THREAD_CREATE"; - case cOCTVC1_GENERIC_RC_OCTSYS_HANDLE_OPEN: - return "cOCTVC1_GENERIC_RC_OCTSYS_HANDLE_OPEN"; - case cOCTVC1_GENERIC_RC_OCTSYS_FIFO_WRITE: - return "cOCTVC1_GENERIC_RC_OCTSYS_FIFO_WRITE"; - case cOCTVC1_GENERIC_RC_OCTSYS_DUMP_GET: - return "cOCTVC1_GENERIC_RC_OCTSYS_DUMP_GET"; - case cOCTVC1_LICENSING_RC_DENIED: - return "cOCTVC1_LICENSING_RC_DENIED"; - case cOCTVC1_LICENSING_RC_INVALID_LICENSE: - return "cOCTVC1_LICENSING_RC_INVALID_LICENSE"; - case cOCTVC1_PKT_API_RC_OS_ERROR: - return "cOCTVC1_PKT_API_RC_OS_ERROR"; - case cOCTVC1_PKT_API_RC_TRANSPORT_ERROR: - return "cOCTVC1_PKT_API_RC_TRANSPORT_ERROR"; - case cOCTVC1_PKT_API_RC_TIMEOUT: - return "cOCTVC1_PKT_API_RC_TIMEOUT"; - case cOCTVC1_PKT_API_RC_LOCAL_MAC_INDEX_NOT_FOUND: - return "cOCTVC1_PKT_API_RC_LOCAL_MAC_INDEX_NOT_FOUND"; - case cOCTVC1_PKT_API_RC_BAD_PARAM: - return "cOCTVC1_PKT_API_RC_BAD_PARAM"; - case cOCTVC1_PKT_API_RC_INST_CNCT_NOMORE: - return "cOCTVC1_PKT_API_RC_INST_CNCT_NOMORE"; - case cOCTVC1_PKT_API_RC_INST_PKT_NOMORE: - return "cOCTVC1_PKT_API_RC_INST_PKT_NOMORE"; - case cOCTVC1_PKT_API_RC_INST_SYNC_TOOMANY: - return "cOCTVC1_PKT_API_RC_INST_SYNC_TOOMANY"; - case cOCTVC1_PKT_API_RC_INST_CNCT_DEP: - return "cOCTVC1_PKT_API_RC_INST_CNCT_DEP"; - case cOCTVC1_PKT_API_RC_INST_DISCOVER_INPROGRESS: - return "cOCTVC1_PKT_API_RC_INST_DISCOVER_INPROGRESS"; - case cOCTVC1_PKT_API_RC_INST_RSP_TRUNCATE: - return "cOCTVC1_PKT_API_RC_INST_RSP_TRUNCATE"; - case cOCTVC1_PKT_API_RC_INST_TERMINATED: - return "cOCTVC1_PKT_API_RC_INST_TERMINATED"; - case cOCTVC1_PKT_API_RC_CNCT_SESS_NOMORE: - return "cOCTVC1_PKT_API_RC_CNCT_SESS_NOMORE"; - case cOCTVC1_PKT_API_RC_CNCT_SESS_DEP: - return "cOCTVC1_PKT_API_RC_CNCT_SESS_DEP"; - case cOCTVC1_PKT_API_RC_CNCT_BRIDGE_DEP: - return "cOCTVC1_PKT_API_RC_CNCT_BRIDGE_DEP"; - case cOCTVC1_PKT_API_RC_CNCT_ALREADY_OPEN: - return "cOCTVC1_PKT_API_RC_CNCT_ALREADY_OPEN"; - case cOCTVC1_PKT_API_RC_INTERFACE_NAME_NOT_FOUND: - return "cOCTVC1_PKT_API_RC_INTERFACE_NAME_NOT_FOUND"; - case cOCTVC1_PKT_API_RC_DEPENDENCIES: - return "cOCTVC1_PKT_API_RC_DEPENDENCIES"; - case cOCTVC1_PKT_API_RC_SESS_CLOSE: - return "cOCTVC1_PKT_API_RC_SESS_CLOSE"; - case cOCTVC1_PKT_API_RC_CNCT_CLOSE: - return "cOCTVC1_PKT_API_RC_CNCT_CLOSE"; - case cOCTVC1_PKT_API_RC_SESS_ALREADY_OPEN: - return "cOCTVC1_PKT_API_RC_SESS_ALREADY_OPEN"; - case cOCTVC1_MAIN_RC_PROCESS_IMAGE_LOAD_FILE_NOT_FOUND: - return "cOCTVC1_MAIN_RC_PROCESS_IMAGE_LOAD_FILE_NOT_FOUND"; - case cOCTVC1_MAIN_RC_CORE_NOT_FOUND: - return "cOCTVC1_MAIN_RC_CORE_NOT_FOUND"; - case cOCTVC1_MAIN_RC_EVENT_MASK_INVALID: - return "cOCTVC1_MAIN_RC_EVENT_MASK_INVALID"; - case cOCTVC1_MAIN_RC_ETH_PORT_RESTRICTED_API_DENIED: - return "cOCTVC1_MAIN_RC_ETH_PORT_RESTRICTED_API_DENIED"; - case cOCTVC1_MAIN_RC_PROCESS_NOT_FOUND: - return "cOCTVC1_MAIN_RC_PROCESS_NOT_FOUND"; - case cOCTVC1_MAIN_RC_TDM_BUFFER_TX_TSST_INVALID: - return "cOCTVC1_MAIN_RC_TDM_BUFFER_TX_TSST_INVALID"; - case cOCTVC1_MAIN_RC_TDM_MODIFY_STATUS_INVALID: - return "cOCTVC1_MAIN_RC_TDM_MODIFY_STATUS_INVALID"; - case cOCTVC1_MAIN_RC_FILE_OPEN: - return "cOCTVC1_MAIN_RC_FILE_OPEN"; - case cOCTVC1_MAIN_RC_FILE_HANDLE: - return "cOCTVC1_MAIN_RC_FILE_HANDLE"; - case cOCTVC1_MAIN_RC_FILE_INVALID_ACCESS_RIGHTS: - return "cOCTVC1_MAIN_RC_FILE_INVALID_ACCESS_RIGHTS"; - case cOCTVC1_MAIN_RC_FILE_WRITE: - return "cOCTVC1_MAIN_RC_FILE_WRITE"; - case cOCTVC1_MAIN_RC_FILE_SEEK_UNKOWN_ORIGIN: - return "cOCTVC1_MAIN_RC_FILE_SEEK_UNKOWN_ORIGIN"; - case cOCTVC1_MAIN_RC_FILE_SEEK_INVALID_OFFSET: - return "cOCTVC1_MAIN_RC_FILE_SEEK_INVALID_OFFSET"; - case cOCTVC1_MAIN_RC_FILE_SEEK: - return "cOCTVC1_MAIN_RC_FILE_SEEK"; - case cOCTVC1_MAIN_RC_FILE_NOT_FOUND: - return "cOCTVC1_MAIN_RC_FILE_NOT_FOUND"; - case cOCTVC1_MAIN_RC_FILE_MAX_READ_BYTE_SIZE: - return "cOCTVC1_MAIN_RC_FILE_MAX_READ_BYTE_SIZE"; - case cOCTVC1_MAIN_RC_FILE_MAX_WRITE_BYTE_SIZE: - return "cOCTVC1_MAIN_RC_FILE_MAX_WRITE_BYTE_SIZE"; - case cOCTVC1_MAIN_RC_FILE_NAME: - return "cOCTVC1_MAIN_RC_FILE_NAME"; - case cOCTVC1_MAIN_RC_FILE_ALREADY_OPENED: - return "cOCTVC1_MAIN_RC_FILE_ALREADY_OPENED"; - case cOCTVC1_MAIN_RC_FILE_BUSY: - return "cOCTVC1_MAIN_RC_FILE_BUSY"; - case cOCTVC1_MAIN_RC_FILE_ALREADY_CLOSED: - return "cOCTVC1_MAIN_RC_FILE_ALREADY_CLOSED"; - case cOCTVC1_MAIN_RC_FILE_NOT_OPEN: - return "cOCTVC1_MAIN_RC_FILE_NOT_OPEN"; - case cOCTVC1_MAIN_RC_FILE_FLASH_CMD_NOT_AVAILABLE: - return "cOCTVC1_MAIN_RC_FILE_FLASH_CMD_NOT_AVAILABLE"; - case cOCTVC1_MAIN_RC_FILE_GET_MODE_INVALID: - return "cOCTVC1_MAIN_RC_FILE_GET_MODE_INVALID"; - case cOCTVC1_MAIN_RC_FILE_OCT1010ID_EXT_MEM: - return "cOCTVC1_MAIN_RC_FILE_OCT1010ID_EXT_MEM"; - case cOCTVC1_MAIN_RC_FILE_OCT1010ID_CHECKSUM: - return "cOCTVC1_MAIN_RC_FILE_OCT1010ID_CHECKSUM"; - case cOCTVC1_MAIN_RC_FILE_OCT1010ID_FILE_SIZE: - return "cOCTVC1_MAIN_RC_FILE_OCT1010ID_FILE_SIZE"; - case cOCTVC1_MAIN_RC_FILE_OCT1010ID_TYPE: - return "cOCTVC1_MAIN_RC_FILE_OCT1010ID_TYPE"; - case cOCTVC1_MAIN_RC_FILE_ACCESS_DENIED: - return "cOCTVC1_MAIN_RC_FILE_ACCESS_DENIED"; - case cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO: - return "cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO"; - case cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO_NO_MORE_FILE: - return "cOCTVC1_MAIN_RC_FILE_SYSTEM_INFO_NO_MORE_FILE"; - case cOCTVC1_MAIN_RC_GPIO_BANK_INVALID: - return "cOCTVC1_MAIN_RC_GPIO_BANK_INVALID"; - case cOCTVC1_MAIN_RC_FLASH_INVALID_ADDRESS: - return "cOCTVC1_MAIN_RC_FLASH_INVALID_ADDRESS"; - case cOCTVC1_MAIN_RC_FLASH_ACCESS_OUT_OF_RANGE: - return "cOCTVC1_MAIN_RC_FLASH_ACCESS_OUT_OF_RANGE"; - case cOCTVC1_MAIN_RC_FLASH_APP_SPACE: - return "cOCTVC1_MAIN_RC_FLASH_APP_SPACE"; - case cOCTVC1_MAIN_RC_FLASH_NOT_PRESENT: - return "cOCTVC1_MAIN_RC_FLASH_NOT_PRESENT"; - case cOCTVC1_MAIN_RC_FLASH_TYPE_UNKNOWN: - return "cOCTVC1_MAIN_RC_FLASH_TYPE_UNKNOWN"; - case cOCTVC1_MAIN_RC_FLASH_ERROR: - return "cOCTVC1_MAIN_RC_FLASH_ERROR"; - case cOCTVC1_MAIN_RC_SPI_CHIP_SELECT_INVALID: - return "cOCTVC1_MAIN_RC_SPI_CHIP_SELECT_INVALID"; - case cOCTVC1_MAIN_RC_SPI_CLOCK_FREQUENCY_INVALID: - return "cOCTVC1_MAIN_RC_SPI_CLOCK_FREQUENCY_INVALID"; - case cOCTVC1_MAIN_RC_SPI_CLOCK_POLARITY_INVALID: - return "cOCTVC1_MAIN_RC_SPI_CLOCK_POLARITY_INVALID"; - case cOCTVC1_MAIN_RC_SPI_CLOCK_PHASE_INVALID: - return "cOCTVC1_MAIN_RC_SPI_CLOCK_PHASE_INVALID"; - case cOCTVC1_MAIN_RC_SPI_TRANSFER_SIZE_INVALID: - return "cOCTVC1_MAIN_RC_SPI_TRANSFER_SIZE_INVALID"; - case cOCTVC1_MAIN_RC_CPU_USAGE_HANDLE_INVALID: - return "cOCTVC1_MAIN_RC_CPU_USAGE_HANDLE_INVALID"; - case cOCTVC1_MAIN_RC_CPU_USAGE_THRESHOLD_INVALID: - return "cOCTVC1_MAIN_RC_CPU_USAGE_THRESHOLD_INVALID"; - case cOCTVC1_MAIN_RC_CPU_USAGE_NOT_ACCESSIBLE: - return "cOCTVC1_MAIN_RC_CPU_USAGE_NOT_ACCESSIBLE"; - case cOCTVC1_MAIN_RC_DMA_TRACE_PARAMETER_INVALID: - return "cOCTVC1_MAIN_RC_DMA_TRACE_PARAMETER_INVALID"; - case cOCTVC1_MAIN_RC_DMA_TRACE_OCTSYS_FUNC_ERROR: - return "cOCTVC1_MAIN_RC_DMA_TRACE_OCTSYS_FUNC_ERROR"; - case cOCTVC1_MAIN_RC_DMA_TRACE_PASSWORD_ERROR: - return "cOCTVC1_MAIN_RC_DMA_TRACE_PASSWORD_ERROR"; - case cOCTVC1_MAIN_RC_DMA_TRACE_ENGINE_STATE: - return "cOCTVC1_MAIN_RC_DMA_TRACE_ENGINE_STATE"; - case cOCTVC1_MAIN_RC_BUFFER_FORMAT: - return "cOCTVC1_MAIN_RC_BUFFER_FORMAT"; - case cOCTVC1_MAIN_RC_BUFFER_MAX_REACHED: - return "cOCTVC1_MAIN_RC_BUFFER_MAX_REACHED"; - case cOCTVC1_MAIN_RC_BUFFER_FILE_NOT_FOUND: - return "cOCTVC1_MAIN_RC_BUFFER_FILE_NOT_FOUND"; - case cOCTVC1_MAIN_RC_BUFFER_READ: - return "cOCTVC1_MAIN_RC_BUFFER_READ"; - case cOCTVC1_MAIN_RC_BUFFER_WRITE_LENGTH: - return "cOCTVC1_MAIN_RC_BUFFER_WRITE_LENGTH"; - case cOCTVC1_MAIN_RC_BUFFER_WRITE_OFFSET: - return "cOCTVC1_MAIN_RC_BUFFER_WRITE_OFFSET"; - case cOCTVC1_MAIN_RC_BUFFER_MODIFY: - return "cOCTVC1_MAIN_RC_BUFFER_MODIFY"; - case cOCTVC1_MAIN_RC_BUFFER_LOCK: - return "cOCTVC1_MAIN_RC_BUFFER_LOCK"; - case cOCTVC1_MAIN_RC_BUFFER_INTERNAL_ERROR: - return "cOCTVC1_MAIN_RC_BUFFER_INTERNAL_ERROR"; - case cOCTVC1_MAIN_RC_TRACING_MODE: - return "cOCTVC1_MAIN_RC_TRACING_MODE"; - case cOCTVC1_MAIN_RC_TRACING_TYPE: - return "cOCTVC1_MAIN_RC_TRACING_TYPE"; - case cOCTVC1_MAIN_RC_TRACING_NUM_BUFFER: - return "cOCTVC1_MAIN_RC_TRACING_NUM_BUFFER"; - case cOCTVC1_MAIN_RC_TRACING_BUFFER_SIZE: - return "cOCTVC1_MAIN_RC_TRACING_BUFFER_SIZE"; - case cOCTVC1_MAIN_RC_TRACING_ALREADY_ACTIVE: - return "cOCTVC1_MAIN_RC_TRACING_ALREADY_ACTIVE"; - case cOCTVC1_MAIN_RC_DEBUG_FORWARD_ALREADY_OPENED: - return "cOCTVC1_MAIN_RC_DEBUG_FORWARD_ALREADY_OPENED"; - case cOCTVC1_MAIN_RC_DEBUG_FORWARD_SOURCE_MAC_ADDRESS: - return "cOCTVC1_MAIN_RC_DEBUG_FORWARD_SOURCE_MAC_ADDRESS"; - case cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_ALREADY_STARTED: - return "cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_ALREADY_STARTED"; - case cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_NOT_STARTED: - return "cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_NOT_STARTED"; - case cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INVALID_REDUNDANT_MGW_CNT: - return "cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INVALID_REDUNDANT_MGW_CNT"; - case cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_API_RESOURCE_OPENED_ON_ACTIVE_MGW: - return "cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_API_RESOURCE_OPENED_ON_ACTIVE_MGW"; - case cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_MGW_MAX_REACHED: - return "cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_MGW_MAX_REACHED"; - case cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INVALID_MGW_HANDLE: - return "cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INVALID_MGW_HANDLE"; - case cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INTERNAL_ERROR: - return "cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_INTERNAL_ERROR"; - case cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_UNSUPPORTED_API_CMD: - return "cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_UNSUPPORTED_API_CMD"; - case cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_FAILOVER_ALREADY_EXECUTED: - return "cOCTVC1_MAIN_RC_REDUNDANCY_SERVER_FAILOVER_ALREADY_EXECUTED"; - case cOCTVC1_MAIN_RC_BUFFER_OPEN_INVALID_ALLOCATED_BYTE_LENGTH: - return "cOCTVC1_MAIN_RC_BUFFER_OPEN_INVALID_ALLOCATED_BYTE_LENGTH"; - case cOCTVC1_GSM_RC_GENERIC_EVENT_MASK_INVALID: - return "cOCTVC1_GSM_RC_GENERIC_EVENT_MASK_INVALID"; - case cOCTVC1_GSM_RC_MODULE__INVALID_US_MESSAGE_LENGTH: - return "cOCTVC1_GSM_RC_MODULE__INVALID_US_MESSAGE_LENGTH"; - } - sprintf( g_szUnknownoctvc1_rc2string, "0x%.8X", f_ulRc ); - return g_szUnknownoctvc1_rc2string; -} -#endif - -#endif /* __OCTVC1_RC2STRING__ */ diff --git a/software/include/vocallo/octvc1_swap_hdrs.h b/software/include/vocallo/octvc1_swap_hdrs.h deleted file mode 100644 index 8def032..0000000 --- a/software/include/vocallo/octvc1_swap_hdrs.h +++ /dev/null @@ -1,51 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvc1_swap_hdrs.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVC1_SWAP_HDRS_H__ -#define __OCTVC1_SWAP_HDRS_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "../octdev_macro.h" - -/* START OF SWAP FILE HDR */ - -#include "../octdev_types_swap.h" -#include "../octpkt/octpkt_hdr_swap.h" -#include "../octpkt/octpkt_hdrxl_swap.h" -#include "octvocnet_pkt_swap.h" -#include "octvc1_cursor_swap.h" -#include "octvc1_handle_swap.h" -#include "octvc1_vlan_swap.h" -#include "octvc1_list_swap.h" -#include "octvc1_msg_swap.h" -#include "octvc1_log_swap.h" -#include "octvc1_file_swap.h" -#include "ctrl/octvc1_ctrl_api_swap.h" -#include "main/octvc1_main_api_swap.h" -#include "main/octvc1_main_evt_swap.h" -#include "gsm/octvc1_gsm_api_swap.h" -#include "gsm/octvc1_gsm_evt_swap.h" -#include "cpp/octvc1_cpp_api_swap.h" -#include "net/octvc1_net_api_swap.h" -#include "net/octvc1_net_evt_swap.h" -/* END OF SWAP FILE HDR */ -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVC1_SWAP_HDRS_H__ */ diff --git a/software/include/vocallo/octvocnet_pkt.h b/software/include/vocallo/octvocnet_pkt.h deleted file mode 100644 index 0c81cda..0000000 --- a/software/include/vocallo/octvocnet_pkt.h +++ /dev/null @@ -1,464 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ - -File: OCTVOCNET_PKT.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -$Revision: $ - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ - -#ifndef __OCTVOCNET_PKT_H__ -#define __OCTVOCNET_PKT_H__ - - -/***************************** INCLUDE FILES *******************************/ -#include "../octdev_types.h" -#include "../octpkt/octpkt_hdr.h" -#include "octvc1_handle.h" - - -/************************ COMMON DEFINITIONS *******************************/ - -#define cOCTVOCNET_PKT_ETHERTYPE cOCTPKT_HDR_ETHERTYPE - -/*------------------------------------------------------------------------------------- - VocalloNet Packet Format Values --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_FORMAT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT -#define cOCTVOCNET_PKT_FORMAT_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET -#define cOCTVOCNET_PKT_FORMAT_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK -#define cOCTVOCNET_PKT_TRACE_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE -#define cOCTVOCNET_PKT_TRACE_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_OFFSET -#define cOCTVOCNET_PKT_TRACE_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_MASK -#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE -#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_OFFSET -#define cOCTVOCNET_PKT_CONTROL_PROTOCOL_TYPE_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_MASK -#define cOCTVOCNET_PKT_LENGTH_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH -#define cOCTVOCNET_PKT_LENGTH_BIT_OFFSET cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_OFFSET -#define cOCTVOCNET_PKT_LENGTH_BIT_MASK cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_MASK - -/*------------------------------------------------------------------------------------- - VocalloNet Format Control Packet --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_FORMAT_CTRL 0x00 -#define cOCTVOCNET_PKT_FORMAT_A 0x01 -#define cOCTVOCNET_PKT_FORMAT_B 0x02 -#define cOCTVOCNET_PKT_FORMAT_D 0x04 -#define cOCTVOCNET_PKT_FORMAT_F 0x06 -#define cOCTVOCNET_PKT_FORMAT_H 0x08 -#define cOCTVOCNET_PKT_FORMAT_I 0x09 - -/*------------------------------------------------------------------------------------- - VocalloNet Format Control Bit Shifted --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_BITSHIFTED_FORMAT_CTRL (cOCTVOCNET_PKT_FORMAT_CTRL< Fields marked with "valid_rtp=1" are not valid; - 1 -> Fields marked with "valid_rtp=1" are valid. In this case, - aulRtp[] contains a complete RTP header which can also include a - CSRC list and a RTP extension. Refer to RFC 1889 for additional - details. - bits[30:22] = Packet encoding type. - bits[21:14] = RTP padding size in bytes. (valid_rtp=1) - bits[13:11] = Reserved and must be 0. - bits[10:0] = RTP payload offset in bytes. (valid_rtp=1) - aulRtp - aulRtp[ 0 ].bits[31:30] = RTP version = 0x2. (valid_rtp=1) - .bit[29] = RTP padding. (valid_rtp=1) - .bit[28] = RTP extension. (valid_rtp=1) - .bits[27:24] = RTP contributing source count. (valid_rtp=1) - .bit[23] = Marker. - .bits[22:16] = RTP payload type. (valid_rtp=1) - .bits[15:0] = Sequence Number - aulRtp[ 1 ].bits[31:0] = Timestamp - aulRtp[ 2 ].bits[31:0] = - valid_rtp=1: RTP Synchronization source. - valid_rtp=0: Vocoder-dependant flags as defined below: - Enhanced Full Rate (EFR), see 3GPP TS 48.081 - .bits[31:4]:reserved, must be 0 - .bit[3]:BFI - .bit[2]:TAF - .bits[1:0]:SID --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVOCNET_PKT_DATA_HEADER VocNetHeader; - tOCT_UINT32 ulReserved; - tOCT_UINT32 ul_Rtp_PktType_Pad_Offset; - tOCT_UINT32 aulRtp[3]; - -} tOCTVOCNET_PKT_DATA_D_HEADER; - -/*------------------------------------------------------------------------------------- - tOCTVOCNET_PKT_DATA_F_HEADER - VocalloNet Format F Packet Header (Raw Data packet) - - Members: - VocNetHeader - ulTimestamp - bits[31:0] = Timestamp - ulSubType - bits[31:4] = Reserved, bits[3:0] = SubType --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVOCNET_PKT_DATA_HEADER VocNetHeader; - tOCT_UINT32 ulTimestamp; - tOCT_UINT32 ulSubType; - -} tOCTVOCNET_PKT_DATA_F_HEADER; - -/*------------------------------------------------------------------------------------- - VocalloNet Format Control Packet --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_FORMAT_C 0x03 -#define cOCTVOCNET_PKT_FORMAT_E 0x05 -#define cOCTVOCNET_PKT_FORMAT_G 0x07 -#define cOCTVOCNET_PKT_FORMAT_R 0x12 -#define cOCTVOCNET_PKT_FORMAT_WCDMA 0x13 -#define cOCTVOCNET_PKT_FORMAT_GSM 0x14 -#define cOCTVOCNET_PKT_FORMAT_GSM_EVT 0x15 -#define cOCTVOCNET_PKT_FORMAT_Q 0x80 - -/*------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_MAX_RTP_PROFILE_ENTRY 9 - -/*------------------------------------------------------------------------------------- - VocalloNet D packet types. --------------------------------------------------------------------------------------*/ -/*------------------------------------------------------------------------------------- - tOCTVOCNET_PKT_D_TYPE_ENUM : --------------------------------------------------------------------------------------*/ -#define tOCTVOCNET_PKT_D_TYPE_ENUM tOCT_UINT32 - -#define cOCTVOCNET_PKT_D_TYPE_ENUM_TONE 0 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_GEN_SID 1 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_8KSS 2 /* Linear */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_LINEAR_16KSS 3 /* Linear 16-bit, 16000Hz sampling */ - -/*------------------------------------------------------------------------------------- - G.711 PCM --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW 4 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW 5 - -/*------------------------------------------------------------------------------------- - G.711 PCM VB_DATA --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_U_LAW_VBD 6 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_PCM_A_LAW_VBD 7 - -/*------------------------------------------------------------------------------------- - G.726 ADPCM --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16 10 /* ITU-T Recommendation I.366.2 Annex E. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24 11 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32 12 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40 13 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_16_RTP 14 /* ITU-T Recommendation X.420. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_24_RTP 15 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_32_RTP 16 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G726_40_RTP 17 - -/*------------------------------------------------------------------------------------- - G.722 ADPCM --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_48 18 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_56 19 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_64 20 - -/*------------------------------------------------------------------------------------- - G.723.1 --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G723_1 21 - -/*------------------------------------------------------------------------------------- - G.729 --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G729A 22 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G729AB_8 23 - -/*------------------------------------------------------------------------------------- - AMR --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_AMR 24 /* Output from codec */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_RTP 25 /* IETF RFC 3267 */ - -/*------------------------------------------------------------------------------------- - EFR --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_EFR 26 /* Output from codec */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_EFR_RTP 27 /* IETF RFC 3551 */ - -/*------------------------------------------------------------------------------------- - Full Rate (FR) --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_FR 28 /* Output from codec. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_FR_RTP 29 /* RFC 3551 */ - -/*------------------------------------------------------------------------------------- - AMR Wide-Band --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB 30 /* Output from codec. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_AMR_WB_RTP 31 /* IETF RFC 3267 */ - -/*------------------------------------------------------------------------------------- - iLBC --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_ILBC 32 /* RFC 3951 */ - -/*------------------------------------------------------------------------------------- - G.722.1 --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_24 33 -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G722_1_32 34 - -/*------------------------------------------------------------------------------------- - G.729.1 --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G729_1 35 /* Output from codec. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_G729_1_RTP 36 /* IETF RFC 4749 */ - -/*------------------------------------------------------------------------------------- - T.38 Fax Relay --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_T38_UDPTL 37 /* T.38 over UDPTL */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_T38_RTP 38 /* T.38 over RTP */ - -/*------------------------------------------------------------------------------------- - DIALOGIC ADPCM --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_VOX 39 - -/*------------------------------------------------------------------------------------- - Video Codecs --------------------------------------------------------------------------------------*/ - -/*------------------------------------------------------------------------------------- - Uncompressed Video --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_YUV_RTP_RFC4175 300 /* IETF RFC 4175 for YUV uncompressed video data. Only YUV420 is supported. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV 301 /* Packets containing sequential 16x16 macroblock of YUV420. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_RGB 302 /* Packets containing sequential 16x16 macroblock of RGB. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_RAW_YUV_EXTENDED 303 /* Packets containing sequential 16x16 macroblock of YUV420 with cropping. */ - -/*------------------------------------------------------------------------------------- - Video H263 --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190 310 /* IETF RFC 2190 for H.263 compressed video data. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2190_BYTE_BOUNDARY 311 /* IETF RFC 2190 for H.263 compressed video data. Packetized at Byte boundaries. */ - /* Identical to H263_RTP_RFC2190 for Rx Video Terminations. */ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_H263_RTP_RFC2429 312 /* IETF RFC 2429 (or RFC 4629) for H.263 compressed video data. */ - -/*------------------------------------------------------------------------------------- - Video MPEG-4 --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_MPEG4_RTP_RFC3016 320 /* IETF RFC 3016 for MPEG-4 compressed elementary stream video data. */ - -/*------------------------------------------------------------------------------------- - Video H264 --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_H264_RTP_RFC3984 330 /* IETF RFC 3984: RTP Payload Format for H.264 Video. */ - -/*------------------------------------------------------------------------------------- - FAST YUV --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_FAST_YUV 340 /* Constant bitrate, visually lossless video compression. */ - -/*------------------------------------------------------------------------------------- - Unknown packet type --------------------------------------------------------------------------------------*/ -#define cOCTVOCNET_PKT_D_TYPE_ENUM_UNKNOWN_RTP_PAYLOAD_TYPE 511 /* For internal use only. */ - -/*------------------------------------------------------------------------------------- - tOCTVOCNET_PKT_DATA_B_HEADER - VocalloNet Format B Packet Header (AAL0-AAL1 cells in a packet). - - Members: - VocNetHeader - ulNumCells - bits[31:6] = 0 -> Reserved - bits[5:0] = Number of cells present in the packet --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVOCNET_PKT_DATA_HEADER VocNetHeader; - tOCT_UINT32 ulNumCells; - -} tOCTVOCNET_PKT_DATA_B_HEADER; - -/*------------------------------------------------------------------------------------- - tOCTVOCNET_PKT_DATA_C_HEADER - VocalloNet Format C Packet Header (AAL2 CPS packet). - - Members: - VocNetHeader --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVOCNET_PKT_DATA_HEADER VocNetHeader; - -} tOCTVOCNET_PKT_DATA_C_HEADER; - -/*------------------------------------------------------------------------------------- - tOCTVOCNET_PKT_DATA_E_HEADER - VocalloNet Format E Packet Header (AAL5 packet) - - Members: - VocNetHeader - ul_Uu_Cp - bits[31:16] = 0 -> Reserved - bits[15:8] = AAL5 UU field - bits[7:0] = AAL5 CP field --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVOCNET_PKT_DATA_HEADER VocNetHeader; - tOCT_UINT32 ul_Uu_Cp; - -} tOCTVOCNET_PKT_DATA_E_HEADER; - -/*------------------------------------------------------------------------------------- - tOCTVOCNET_PKT_DATA_R_HEADER - VocalloNet Format R Packet Header (Tunnel packet) - - Members: - VocNetHeader - ulForwardPkt_BridgeMacDstAddrHi - bit[31] = Forward packet flag. - bits[30:16] = Reserved - bits[15:0] = Bridge Dst Mac Address bits[47:32] - ulBridgeMacDstAddrLow - bits[31:0] = Bridge Dst Mac Address bits[31:0] - ulBridgeMacSrcAddrHi - bits[31:16] = Reserved - bits[15:0] = Bridge Src Mac Address bits[47:32] - ulBridgeMacSrcAddrLow - bits[31:0] = Bridge Src Mac Address bits[31:0] --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVOCNET_PKT_HEADER VocNetHeader; - tOCT_UINT32 ulForwardPkt_BridgeMacDstAddrHi; - tOCT_UINT32 ulBridgeMacDstAddrLow; - tOCT_UINT32 ulBridgeMacSrcAddrHi; - tOCT_UINT32 ulBridgeMacSrcAddrLow; - -} tOCTVOCNET_PKT_DATA_R_HEADER; - -/*------------------------------------------------------------------------------------- - tOCTVOCNET_PKT_DATA_Q_HEADER - VocalloNet Format Q Packet Header (Ethernet packet rejected) - - Members: - VocNetHeader - ausInfo - bits[31:0] = Rejected packet info --------------------------------------------------------------------------------------*/ -typedef struct -{ - tOCTVOCNET_PKT_HEADER VocNetHeader; - tOCT_UINT16 ausInfo[3]; - -} tOCTVOCNET_PKT_DATA_Q_HEADER; - - -#endif /* __OCTVOCNET_PKT_H__ */ - diff --git a/software/include/vocallo/octvocnet_pkt_swap.h b/software/include/vocallo/octvocnet_pkt_swap.h deleted file mode 100644 index 3becd22..0000000 --- a/software/include/vocallo/octvocnet_pkt_swap.h +++ /dev/null @@ -1,144 +0,0 @@ -/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - -File: octvocnet_pkt_swap.h - -Copyright (c) 2014 Octasic Inc. All rights reserved. - -Description: - -This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . - -Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) - -\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ -#ifndef __OCTVOCNET_PKT_SWAP_H__ -#define __OCTVOCNET_PKT_SWAP_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -/***************************** INCLUDE FILES *******************************/ -#include "octvc1_swap_hdrs.h" -#include "octvocnet_pkt.h" - -/********************************* MACROS **********************************/ - - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVOCNET_PKT_CTL_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_CTL_HEADER * pOCTVOCNET_PKT_CTL_HEADER = (_f_pParms); \ - ((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulDestFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulDestFifoId); \ - ((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulSourceFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulSourceFifoId); \ - ((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulSocketId = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_CTL_HEADER *)pOCTVOCNET_PKT_CTL_HEADER)->ulSocketId); \ -} -#else -#define mOCTVOCNET_PKT_CTL_HEADER_SWAP( pOCTVOCNET_PKT_CTL_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVOCNET_PKT_DATA_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_HEADER * pOCTVOCNET_PKT_DATA_HEADER = (_f_pParms); \ - { mOCTVC1_HANDLE_SWAP( &((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->hLogicalObj ); } \ - ((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->ulLogicalObjPktPort = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->ulLogicalObjPktPort); \ - ((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->ulDestFifoId = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_HEADER *)pOCTVOCNET_PKT_DATA_HEADER)->ulDestFifoId); \ -} -#else -#define mOCTVOCNET_PKT_DATA_HEADER_SWAP( pOCTVOCNET_PKT_DATA_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVOCNET_PKT_DATA_D_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_D_HEADER * pOCTVOCNET_PKT_DATA_D_HEADER = (_f_pParms); \ - { mOCTVOCNET_PKT_DATA_HEADER_SWAP( &((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->VocNetHeader ); } \ - ((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->ulReserved = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->ulReserved); \ - ((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->ul_Rtp_PktType_Pad_Offset = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->ul_Rtp_PktType_Pad_Offset); \ - { tOCT_UINT32 iOCTVOCNET_PKT_DATA_D_HEADER; \ - for( iOCTVOCNET_PKT_DATA_D_HEADER=0; \ - iOCTVOCNET_PKT_DATA_D_HEADER<(3);iOCTVOCNET_PKT_DATA_D_HEADER++ ) \ - ((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->aulRtp[iOCTVOCNET_PKT_DATA_D_HEADER] = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_D_HEADER *)pOCTVOCNET_PKT_DATA_D_HEADER)->aulRtp[iOCTVOCNET_PKT_DATA_D_HEADER]);}\ -} -#else -#define mOCTVOCNET_PKT_DATA_D_HEADER_SWAP( pOCTVOCNET_PKT_DATA_D_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVOCNET_PKT_DATA_F_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_F_HEADER * pOCTVOCNET_PKT_DATA_F_HEADER = (_f_pParms); \ - { mOCTVOCNET_PKT_DATA_HEADER_SWAP( &((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->VocNetHeader ); } \ - ((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->ulTimestamp = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->ulTimestamp); \ - ((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->ulSubType = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_F_HEADER *)pOCTVOCNET_PKT_DATA_F_HEADER)->ulSubType); \ -} -#else -#define mOCTVOCNET_PKT_DATA_F_HEADER_SWAP( pOCTVOCNET_PKT_DATA_F_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVOCNET_PKT_DATA_B_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_B_HEADER * pOCTVOCNET_PKT_DATA_B_HEADER = (_f_pParms); \ - { mOCTVOCNET_PKT_DATA_HEADER_SWAP( &((tOCTVOCNET_PKT_DATA_B_HEADER *)pOCTVOCNET_PKT_DATA_B_HEADER)->VocNetHeader ); } \ - ((tOCTVOCNET_PKT_DATA_B_HEADER *)pOCTVOCNET_PKT_DATA_B_HEADER)->ulNumCells = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_B_HEADER *)pOCTVOCNET_PKT_DATA_B_HEADER)->ulNumCells); \ -} -#else -#define mOCTVOCNET_PKT_DATA_B_HEADER_SWAP( pOCTVOCNET_PKT_DATA_B_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVOCNET_PKT_DATA_C_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_C_HEADER * pOCTVOCNET_PKT_DATA_C_HEADER = (_f_pParms); \ - { mOCTVOCNET_PKT_DATA_HEADER_SWAP( &((tOCTVOCNET_PKT_DATA_C_HEADER *)pOCTVOCNET_PKT_DATA_C_HEADER)->VocNetHeader ); } \ -} -#else -#define mOCTVOCNET_PKT_DATA_C_HEADER_SWAP( pOCTVOCNET_PKT_DATA_C_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVOCNET_PKT_DATA_E_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_E_HEADER * pOCTVOCNET_PKT_DATA_E_HEADER = (_f_pParms); \ - { mOCTVOCNET_PKT_DATA_HEADER_SWAP( &((tOCTVOCNET_PKT_DATA_E_HEADER *)pOCTVOCNET_PKT_DATA_E_HEADER)->VocNetHeader ); } \ - ((tOCTVOCNET_PKT_DATA_E_HEADER *)pOCTVOCNET_PKT_DATA_E_HEADER)->ul_Uu_Cp = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_E_HEADER *)pOCTVOCNET_PKT_DATA_E_HEADER)->ul_Uu_Cp); \ -} -#else -#define mOCTVOCNET_PKT_DATA_E_HEADER_SWAP( pOCTVOCNET_PKT_DATA_E_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVOCNET_PKT_DATA_R_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_R_HEADER * pOCTVOCNET_PKT_DATA_R_HEADER = (_f_pParms); \ - { mOCTVOCNET_PKT_HEADER_SWAP( &((tOCTVOCNET_PKT_DATA_R_HEADER *)pOCTVOCNET_PKT_DATA_R_HEADER)->VocNetHeader ); } \ - ((tOCTVOCNET_PKT_DATA_R_HEADER *)pOCTVOCNET_PKT_DATA_R_HEADER)->ulForwardPkt_BridgeMacDstAddrHi = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_R_HEADER *)pOCTVOCNET_PKT_DATA_R_HEADER)->ulForwardPkt_BridgeMacDstAddrHi); \ - ((tOCTVOCNET_PKT_DATA_R_HEADER *)pOCTVOCNET_PKT_DATA_R_HEADER)->ulBridgeMacDstAddrLow = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_R_HEADER *)pOCTVOCNET_PKT_DATA_R_HEADER)->ulBridgeMacDstAddrLow); \ - ((tOCTVOCNET_PKT_DATA_R_HEADER *)pOCTVOCNET_PKT_DATA_R_HEADER)->ulBridgeMacSrcAddrHi = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_R_HEADER *)pOCTVOCNET_PKT_DATA_R_HEADER)->ulBridgeMacSrcAddrHi); \ - ((tOCTVOCNET_PKT_DATA_R_HEADER *)pOCTVOCNET_PKT_DATA_R_HEADER)->ulBridgeMacSrcAddrLow = \ - mOCT_SWAP32_IF_LE(((tOCTVOCNET_PKT_DATA_R_HEADER *)pOCTVOCNET_PKT_DATA_R_HEADER)->ulBridgeMacSrcAddrLow); \ -} -#else -#define mOCTVOCNET_PKT_DATA_R_HEADER_SWAP( pOCTVOCNET_PKT_DATA_R_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#if defined( _OCT_ENDIAN_TYPE_LE_ ) -#define mOCTVOCNET_PKT_DATA_Q_HEADER_SWAP( _f_pParms ){ tOCTVOCNET_PKT_DATA_Q_HEADER * pOCTVOCNET_PKT_DATA_Q_HEADER = (_f_pParms); \ - { mOCTVOCNET_PKT_HEADER_SWAP( &((tOCTVOCNET_PKT_DATA_Q_HEADER *)pOCTVOCNET_PKT_DATA_Q_HEADER)->VocNetHeader ); } \ - { tOCT_UINT32 iOCTVOCNET_PKT_DATA_Q_HEADER; \ - for( iOCTVOCNET_PKT_DATA_Q_HEADER=0; \ - iOCTVOCNET_PKT_DATA_Q_HEADER<(3);iOCTVOCNET_PKT_DATA_Q_HEADER++ ) \ - ((tOCTVOCNET_PKT_DATA_Q_HEADER *)pOCTVOCNET_PKT_DATA_Q_HEADER)->ausInfo[iOCTVOCNET_PKT_DATA_Q_HEADER] = \ - mOCT_SWAP16_IF_LE(((tOCTVOCNET_PKT_DATA_Q_HEADER *)pOCTVOCNET_PKT_DATA_Q_HEADER)->ausInfo[iOCTVOCNET_PKT_DATA_Q_HEADER]);} \ -} -#else -#define mOCTVOCNET_PKT_DATA_Q_HEADER_SWAP( pOCTVOCNET_PKT_DATA_Q_HEADER ) -#endif /* _OCT_ENDIAN_TYPE_LE_ */ - -#ifdef __cplusplus -} - -#endif - -#endif /* __OCTVOCNET_PKT_SWAP_H__ */

_r|B}l_~ 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 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.exp b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.exp deleted file mode 100644 index 1e70fc5923f04152d0c7c9f781c76aa18b722b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 908 zcmaJ<+invv5S>jaA%FyVqCz~ZP#zM2mV`?iq98>Lt*9sgwN=G~rIlGbTPvG*Wp6Ix zg%9A358&(g0luKj*h#xWh|$jRnPbb|xf}--=xz7UzE=S5g0mo!f*0Hegx}Bw`Y#I5 zZle$Ii-i0#PaCJCkqrZYcj#ps!2NxS>5Yv}N4D0!(f+>%PywA3i=-1TZ6vY`@@$@} zS!`q)U+|gG<8et+wvYxE(paTuJ}*oUs_bx4*1-uBp;oaQXG)3`A6*(BDPU_8$=mGA%1veAs%VZfo&aFylwZhPXwFJ46Fzm5UMyG~P!$Xxx8#Y(n-4?t4i*se?JPS{Y zxllTM9kto{knJChSf*x^=-~4Kz(eTPsj2Zly7B<`sQ9Hl-=2H8v4wq&H+>o;dYVT{ z)K)*>@{&qZ9z;Jh_UnjGCBPxx=oORZ3k-mow^95lYT`y&el)@j?OJJ!+Gri1ne=D8 p@*L8?loznPQjoZzp_PpC0@!irp_I;Atw0M|Df_E=Eor_Ye*l@Lt4II< diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.lib b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.lib deleted file mode 100644 index bd071f400907ffd9536681e4d117e3cd9a91eeca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2126 zcmcIlOKuZE5PdVYli1>8K_pfPgCYT&;Ll9NCqfP}5>_ToBC`RN949jTeQbM=?XEd_4;S9Ph44DES-PvaoG>lx)!OlC zW9@)sr)|^tMapW*BK~gOu9gSowY0)kN%%qiw**2oXOX;+dK(hP9TGIMr}P-lB5^^X z!YZP?#BHBbPjNp^K?DDh8|y^R?(N!@UZ>xw4-(Ic&l6U@u;YB47;e#;H}VfC_>L5( zkuriXpB-c?os%w|H+uFJS69j)@8QM=)S=wY0?v_}3UM4{OCg0AtU~}i9dm>*{)7kF z`0v0Qx#CI3M;fo0mN%I(X;WQ8M=?v&os9YJ9FUJ0oH14B(`XpWn2bU>W4@_{oH=9u zQzpz4-G_9Hzg~yFWSOJV(l5t(b1Ur^8E``#%-f7gGZj^wkX&iwZLHD^g|psIwUF}- z^E(fxkI3|lbX=5G(~wtug5N$aQ%mDJ%q^ysz=yXq}G WTlj`HGQl1`AbUF9e%`A)VdoFUNw7!& diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.pdb b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.pdb deleted file mode 100644 index c6ff513176b331dc34a662f30330673014d9a546..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 994304 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 z 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%0D;@6FlZAZkkC)Cdyrg-VhL1b(K-ZA1G}`RH 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%0DkE|9qGm3u9;W!9XmE+V6{__WP1J21}v#`_i}y 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

s78n^D)XwxIgrR&?**zc5A!rtSG1uV=A6(Qf@) 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 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_msg_ctrl.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_msg_ctrl.obj deleted file mode 100644 index a145c44124756e2fcbefe3a411e7ddf631408670..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113950 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 Isw(0C0Roh__LP3VG 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 diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_plugin.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_plugin.obj deleted file mode 100644 index 52c24b59b828bd5df3b1d790920e3977f1a95b61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29936 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 G?Ee7JB(_H& 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 z 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