commit 685b5a2bcfe0b6bc45e5fce93a3f0bd12f47ec95 Author: Harald Welte Date: Wed Jan 20 18:05:21 2016 +0100 Import OCTSDR-2G-01.08.05-B29_Wireshark_Source diff --git a/GNU General Public Licence.txt b/GNU General Public Licence.txt new file mode 100644 index 0000000..b860267 --- /dev/null +++ b/GNU General Public Licence.txt @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/application/tool/wireshark/1.2.6/config.h b/application/tool/wireshark/1.2.6/config.h new file mode 100644 index 0000000..caad9f1 --- /dev/null +++ b/application/tool/wireshark/1.2.6/config.h @@ -0,0 +1,293 @@ +/* $Id: config.h.win32 27098 2008-12-23 18:56:31Z gerald $ */ +/* config.h.win32 Generated manually. :-) */ +/* config.h. Generated automatically by configure. */ +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Generated Bison and Flex files test whether __STDC__ is defined + in order to check whether to use ANSI C features such as "const". + + GCC defines it as 1 even if extensions that render the implementation + non-conformant are enabled; Sun's C compiler (and, I think, other + AT&T-derived C compilers) define it as 0 if extensions that render + the implementation non-conformant are enabled; Microsoft Visual C++ + 6.0 doesn't define it at all if extensions that render the implementation + non-conformant are enabled. + + We define it as 0 here, so that those generated files will use + those features (and thus not get type warnings when compiled with + MSVC++). */ +#ifndef __STDC__ +#define __STDC__ 0 +#endif + +/* + * Flex (v 2.5.35) uses this symbol to "exclude" unistd.h + */ +#define YY_NO_UNISTD_H + +/* Use Unicode in Windows runtime functions. */ +#define UNICODE 1 +#define _UNICODE 1 + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if your processor stores words with the most significant + byte first (like Motorola and SPARC, unlike Intel and VAX). */ +/* #undef WORDS_BIGENDIAN */ + +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#define YYTEXT_POINTER 1 + +#define HAVE_PLUGINS 1 +#define PLUGINS_NEED_ADDRESS_TABLE 1 + +/* Plugins can also use the import library of libwireshark.dll instead + of the old API. In that case we undefine PLUGINS_NEED_ADDRESS_TABLE + for the plugin. We don't undefine PLUGINS_NEED_ADDRESS_TABLE globally. + Thus Wireshark will be still able to load plugins using the old API. + The macro HAVE_WIN32_LIBWIRESHARK_LIB has to be defined in plugin's + makefile.nmake. A template is available in doc/README.plugins */ +#ifdef HAVE_WIN32_LIBWIRESHARK_LIB +#undef PLUGINS_NEED_ADDRESS_TABLE +#endif + +/* #undef HAVE_SA_LEN */ + +/* #undef NEED_STRERROR_H */ + +#define NEED_MKSTEMP 1 + +#define HAVE_LIBPCAP 1 + +#define HAVE_PCAP_FINDALLDEVS 1 +#define HAVE_PCAP_DATALINK_NAME_TO_VAL 1 +#define HAVE_PCAP_DATALINK_VAL_TO_NAME 1 +#define WPCAP_CONSTIFIED 1 +#define HAVE_LIBWIRESHARKDLL 1 + +#define HAVE_PCAP_LIST_DATALINKS 1 +#define HAVE_PCAP_SET_DATALINK 1 + +#define HAVE_REMOTE 1 +#define HAVE_PCAP_REMOTE 1 +#define HAVE_PCAP_OPEN 1 +#define HAVE_PCAP_FINDALLDEVS_EX 1 +#define HAVE_PCAP_CREATESRCSTR 1 +#define HAVE_PCAP_SETSAMPLING 1 + +#define HAVE_AIRPCAP 1 +#define HAVE_AIRPDCAP 1 + +/* availability of pcap_freecode() is handled at runtime */ +#define HAVE_PCAP_FREECODE 1 + +/* define macro for importing variables from an dll + * it depends on HAVE_LIBWIRESHARKDLL and _NEED_VAR_IMPORT_ + */ +#if defined (_NEED_VAR_IMPORT_) && defined (HAVE_LIBWIRESHARKDLL) +# define WS_VAR_IMPORT __declspec(dllimport) extern +#else +# define WS_VAR_IMPORT extern +#endif + +/* Define if you have the gethostbyname2 function. */ +/* #undef HAVE_GETHOSTBYNAME2 */ + +/* Define if you have the getprotobynumber function. */ +/* #undef HAVE_GETPROTOBYNUMBER */ + +/* Define if you have the header file. */ +/* #undef HAVE_ARPA_INET_H */ + +/* Define if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_ICONV */ + +/* Define if you have the header file. */ +/* #undef HAVE_NETDB_H */ + +/* Define if you have the header file. */ +/* #define HAVE_NETINET_IN_H 1 */ + +/* Define if you have the header file. */ +/* #undef HAVE_SNMP_SNMP_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SNMP_VERSION_H */ + +/* Define if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_STDDEF_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_IOCTL_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_SOCKET_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_SOCKIO_H */ + +/* Define if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define if you have the header file. */ +/* #define HAVE_SYS_TIME_H 1 */ + +/* Define if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if you have the header file. */ +/* #define HAVE_UNISTD_H 1 */ + +/* Define if defines PRI[doxu]64 macros */ +/* #define INTTYPES_H_DEFINES_FORMATS */ + +/* Format for printing 64-bit signed decimal numbers */ +#ifndef PRId64 +#ifdef _MSC_EXTENSIONS +#define PRId64 "I64d" +#else /* _MSC_EXTENSIONS */ +#define PRId64 "lld" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRId64 */ + +/* Format for printing 64-bit unsigned octal numbers */ +#ifndef PRIo64 +#ifdef _MSC_EXTENSIONS +#define PRIo64 "I64o" +#else /* _MSC_EXTENSIONS */ +#define PRIo64 "llo" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRIo64 */ + +/* Format for printing 64-bit unsigned decimal numbers */ +#ifndef PRIu64 +#ifdef _MSC_EXTENSIONS +#define PRIu64 "I64u" +#else /* _MSC_EXTENSIONS */ +#define PRIu64 "llu" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRIu64 */ + +/* Formats for printing 64-bit unsigned hexadecimal numbers */ +/* XXX - it seems that GLib has problems with the MSVC like I64x. + As we use GLib's g_sprintf and alike, it should be safe to use + llx everywhere now, making the macros pretty useless. For details see: + http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1025 */ +#ifndef PRIx64 +#ifdef _MSC_EXTENSIONS +/*#define PRIx64 "I64x"*/ +#define PRIx64 "llx" +#else /* _MSC_EXTENSIONS */ +#define PRIx64 "llx" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRIx64 */ + +#ifndef PRIX64 +#ifdef _MSC_EXTENSIONS +/*#define PRIX64 "I64X"*/ +#define PRIX64 "llX" +#else /* _MSC_EXTENSIONS */ +#define PRIX64 "llX" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRIX64 */ + +/* Define if you have the z library (-lz). */ +#define HAVE_LIBZ 1 + +/* Define to use GNU ADNS library */ +#define HAVE_C_ARES 1 + +/* Define to use GNU ADNS library */ +#ifndef HAVE_C_ARES + +#define ADNS_JGAA_WIN32 1 +#endif + +/* Define to use the PCRE library */ +#define HAVE_LIBPCRE 1 + +/* Define to use the Nettle library */ + + +/* Define to use the gnutls library */ +#define HAVE_LIBGNUTLS 1 + +/* Define to use the libgcrypt library */ +#define HAVE_LIBGCRYPT 1 + +/* Define to use mit kerberos for decryption of kerberos/sasl/dcerpc */ +#define HAVE_MIT_KERBEROS 1 +#ifdef HAVE_MIT_KERBEROS +#define HAVE_KERBEROS +#endif + +/* Define to use Lua */ +#define HAVE_LUA 1 +#define HAVE_LUA_5_1 1 + +/* Define to use Portaudio library */ +#define HAVE_LIBPORTAUDIO 1 +/* Define version of of the Portaudio library API */ + + +/* Define to have SMI */ +#define HAVE_LIBSMI 1 + +/* Define to have GeoIP */ +#define HAVE_GEOIP 1 + + +#ifndef WIN32 +#define WIN32 1 +#endif + +/* Define for IPv6 */ +#define INET6 1 + +#define HAVE_WINDOWS_H 1 +#define HAVE_WINSOCK2_H 1 +#define HAVE_DIRECT_H 1 +#define NEED_INET_ATON_H 1 +#define NEED_INET_V6DEFS_H 1 +/* Visual C 9 (2008) now needs these prototypes */ +#if _MSC_VER == 1500 +#define NTDDI_VERSION NTDDI_WIN2K +#define _WIN32_WINNT _WIN32_WINNT_WIN2K +#endif +#define NEED_GETOPT_H 1 +#define NEED_STRPTIME_H 1 +#define strcasecmp stricmp +#define strncasecmp strnicmp +#define popen _popen +#define pclose _pclose + +/* Needed for zlib, according to http://www.winimage.com/zLibDll/ */ +/*#define ZLIB_DLL 1 +#define _WINDOWS 1*/ + +/* Name of package */ +#define PACKAGE "wireshark" + +/* Version number of package */ +#define VERSION "1.1.3" + +/* We shouldn't need this under Windows but we'll define it anyway. */ +#define HTML_VIEWER "mozilla" + +/* Check for the required _MSC_VER */ +#if MSC_VER_REQUIRED != _MSC_VER +#define WS_TO_STRING2(x) #x +#define WS_TO_STRING(x) WS_TO_STRING2(x) +#pragma message( "_MSC_VER is:" WS_TO_STRING(_MSC_VER) " but required is:" WS_TO_STRING(MSC_VER_REQUIRED) ) +#error Your MSVC_VARIANT setting in config.nmake doesn't match the MS compiler version! +#endif diff --git a/application/tool/wireshark/1.2.6/config.h.win32 b/application/tool/wireshark/1.2.6/config.h.win32 new file mode 100644 index 0000000..bceb5fb --- /dev/null +++ b/application/tool/wireshark/1.2.6/config.h.win32 @@ -0,0 +1,293 @@ +/* $Id: config.h.win32 27098 2008-12-23 18:56:31Z gerald $ */ +/* config.h.win32 Generated manually. :-) */ +/* config.h. Generated automatically by configure. */ +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Generated Bison and Flex files test whether __STDC__ is defined + in order to check whether to use ANSI C features such as "const". + + GCC defines it as 1 even if extensions that render the implementation + non-conformant are enabled; Sun's C compiler (and, I think, other + AT&T-derived C compilers) define it as 0 if extensions that render + the implementation non-conformant are enabled; Microsoft Visual C++ + 6.0 doesn't define it at all if extensions that render the implementation + non-conformant are enabled. + + We define it as 0 here, so that those generated files will use + those features (and thus not get type warnings when compiled with + MSVC++). */ +#ifndef __STDC__ +#define __STDC__ 0 +#endif + +/* + * Flex (v 2.5.35) uses this symbol to "exclude" unistd.h + */ +#define YY_NO_UNISTD_H + +/* Use Unicode in Windows runtime functions. */ +#define UNICODE 1 +#define _UNICODE 1 + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if your processor stores words with the most significant + byte first (like Motorola and SPARC, unlike Intel and VAX). */ +/* #undef WORDS_BIGENDIAN */ + +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#define YYTEXT_POINTER 1 + +#define HAVE_PLUGINS 1 +#define PLUGINS_NEED_ADDRESS_TABLE 1 + +/* Plugins can also use the import library of libwireshark.dll instead + of the old API. In that case we undefine PLUGINS_NEED_ADDRESS_TABLE + for the plugin. We don't undefine PLUGINS_NEED_ADDRESS_TABLE globally. + Thus Wireshark will be still able to load plugins using the old API. + The macro HAVE_WIN32_LIBWIRESHARK_LIB has to be defined in plugin's + makefile.nmake. A template is available in doc/README.plugins */ +#ifdef HAVE_WIN32_LIBWIRESHARK_LIB +#undef PLUGINS_NEED_ADDRESS_TABLE +#endif + +/* #undef HAVE_SA_LEN */ + +/* #undef NEED_STRERROR_H */ + +#define NEED_MKSTEMP 1 + +@HAVE_LIBPCAP@ +@HAVE_PCAP_BREAKLOOP@ +@HAVE_PCAP_FINDALLDEVS@ +@HAVE_PCAP_DATALINK_NAME_TO_VAL@ +@HAVE_PCAP_DATALINK_VAL_TO_NAME@ +@WPCAP_CONSTIFIED@ +@HAVE_LIBWIRESHARKDLL@ + +@HAVE_PCAP_LIST_DATALINKS@ +@HAVE_PCAP_SET_DATALINK@ + +@HAVE_REMOTE@ +@HAVE_PCAP_REMOTE@ +@HAVE_PCAP_OPEN@ +@HAVE_PCAP_FINDALLDEVS_EX@ +@HAVE_PCAP_CREATESRCSTR@ +@HAVE_PCAP_SETSAMPLING@ + +@HAVE_AIRPCAP@ +@HAVE_AIRPDCAP@ + +/* availability of pcap_freecode() is handled at runtime */ +#define HAVE_PCAP_FREECODE 1 + +/* define macro for importing variables from an dll + * it depends on HAVE_LIBWIRESHARKDLL and _NEED_VAR_IMPORT_ + */ +#if defined (_NEED_VAR_IMPORT_) && defined (HAVE_LIBWIRESHARKDLL) +# define WS_VAR_IMPORT __declspec(dllimport) extern +#else +# define WS_VAR_IMPORT extern +#endif + +/* Define if you have the gethostbyname2 function. */ +/* #undef HAVE_GETHOSTBYNAME2 */ + +/* Define if you have the getprotobynumber function. */ +/* #undef HAVE_GETPROTOBYNUMBER */ + +/* Define if you have the header file. */ +/* #undef HAVE_ARPA_INET_H */ + +/* Define if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_ICONV */ + +/* Define if you have the header file. */ +/* #undef HAVE_NETDB_H */ + +/* Define if you have the header file. */ +/* #define HAVE_NETINET_IN_H 1 */ + +/* Define if you have the header file. */ +/* #undef HAVE_SNMP_SNMP_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SNMP_VERSION_H */ + +/* Define if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_STDDEF_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_IOCTL_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_SOCKET_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_SOCKIO_H */ + +/* Define if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define if you have the header file. */ +/* #define HAVE_SYS_TIME_H 1 */ + +/* Define if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if you have the header file. */ +/* #define HAVE_UNISTD_H 1 */ + +/* Define if defines PRI[doxu]64 macros */ +/* #define INTTYPES_H_DEFINES_FORMATS */ + +/* Format for printing 64-bit signed decimal numbers */ +#ifndef PRId64 +#ifdef _MSC_EXTENSIONS +#define PRId64 "I64d" +#else /* _MSC_EXTENSIONS */ +#define PRId64 "lld" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRId64 */ + +/* Format for printing 64-bit unsigned octal numbers */ +#ifndef PRIo64 +#ifdef _MSC_EXTENSIONS +#define PRIo64 "I64o" +#else /* _MSC_EXTENSIONS */ +#define PRIo64 "llo" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRIo64 */ + +/* Format for printing 64-bit unsigned decimal numbers */ +#ifndef PRIu64 +#ifdef _MSC_EXTENSIONS +#define PRIu64 "I64u" +#else /* _MSC_EXTENSIONS */ +#define PRIu64 "llu" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRIu64 */ + +/* Formats for printing 64-bit unsigned hexadecimal numbers */ +/* XXX - it seems that GLib has problems with the MSVC like I64x. + As we use GLib's g_sprintf and alike, it should be safe to use + llx everywhere now, making the macros pretty useless. For details see: + http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1025 */ +#ifndef PRIx64 +#ifdef _MSC_EXTENSIONS +/*#define PRIx64 "I64x"*/ +#define PRIx64 "llx" +#else /* _MSC_EXTENSIONS */ +#define PRIx64 "llx" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRIx64 */ + +#ifndef PRIX64 +#ifdef _MSC_EXTENSIONS +/*#define PRIX64 "I64X"*/ +#define PRIX64 "llX" +#else /* _MSC_EXTENSIONS */ +#define PRIX64 "llX" +#endif /* _MSC_EXTENSIONS */ +#endif /* PRIX64 */ + +/* Define if you have the z library (-lz). */ +@HAVE_LIBZ@ + +/* Define to use GNU ADNS library */ +@HAVE_C_ARES@ + +/* Define to use GNU ADNS library */ +#ifndef HAVE_C_ARES +@HAVE_GNU_ADNS@ +#define ADNS_JGAA_WIN32 1 +#endif + +/* Define to use the PCRE library */ +@HAVE_PCRE@ + +/* Define to use the Nettle library */ +@HAVE_NETTLE@ + +/* Define to use the gnutls library */ +@HAVE_LIBGNUTLS@ + +/* Define to use the libgcrypt library */ +@HAVE_LIBGCRYPT@ + +/* Define to use mit kerberos for decryption of kerberos/sasl/dcerpc */ +@HAVE_KFW@ +#ifdef HAVE_MIT_KERBEROS +#define HAVE_KERBEROS +#endif + +/* Define to use Lua */ +@HAVE_LUA@ +@HAVE_LUA_5_1@ + +/* Define to use Portaudio library */ +@HAVE_LIBPORTAUDIO@ +/* Define version of of the Portaudio library API */ +@PORTAUDIO_API_1@ + +/* Define to have SMI */ +@HAVE_SMI@ + +/* Define to have GeoIP */ +@HAVE_GEOIP@ + + +#ifndef WIN32 +#define WIN32 1 +#endif + +/* Define for IPv6 */ +@INET6@ + +#define HAVE_WINDOWS_H 1 +#define HAVE_WINSOCK2_H 1 +#define HAVE_DIRECT_H 1 +#define NEED_INET_ATON_H 1 +#define NEED_INET_V6DEFS_H 1 +/* Visual C 9 (2008) now needs these prototypes */ +#if _MSC_VER == 1500 +#define NTDDI_VERSION NTDDI_WIN2K +#define _WIN32_WINNT _WIN32_WINNT_WIN2K +#endif +#define NEED_GETOPT_H 1 +#define NEED_STRPTIME_H 1 +#define strcasecmp stricmp +#define strncasecmp strnicmp +#define popen _popen +#define pclose _pclose + +/* Needed for zlib, according to http://www.winimage.com/zLibDll/ */ +/*#define ZLIB_DLL 1 +#define _WINDOWS 1*/ + +/* Name of package */ +#define PACKAGE "wireshark" + +/* Version number of package */ +#define VERSION "@VERSION@" + +/* We shouldn't need this under Windows but we'll define it anyway. */ +#define HTML_VIEWER "mozilla" + +/* Check for the required _MSC_VER */ +#if MSC_VER_REQUIRED != _MSC_VER +#define WS_TO_STRING2(x) #x +#define WS_TO_STRING(x) WS_TO_STRING2(x) +#pragma message( "_MSC_VER is:" WS_TO_STRING(_MSC_VER) " but required is:" WS_TO_STRING(MSC_VER_REQUIRED) ) +#error Your MSVC_VARIANT setting in config.nmake doesn't match the MS compiler version! +#endif diff --git a/application/tool/wireshark/1.2.6/config.nmake b/application/tool/wireshark/1.2.6/config.nmake new file mode 100644 index 0000000..593fa86 --- /dev/null +++ b/application/tool/wireshark/1.2.6/config.nmake @@ -0,0 +1,964 @@ +# $Id: config.nmake 27582 2009-03-02 21:33:11Z gerald $ + +# Some more informations about the settings in this file, can be found +# in the file README.win32 and the Developer's Guide (available online). + +##### Target platform ##### +# Only "win32" is valid (for now). +# This can be defined in the system environment. +!IFNDEF PLATFORM +PLATFORM=win32 +!ENDIF + +##### Versions ##### + +# The current Wireshark version +# It's highly recommended to leave MAJOR/MINOR/MICRO unchanged +VERSION_MAJOR=1 +VERSION_MINOR=1 +VERSION_MICRO=3 +VERSION_BUILD=0 +# It's recommended to change VERSION_EXTRA for your own custom builds +# e.g. "-SVN-12345" +VERSION_EXTRA= + +# The version of the wiretap library (recommended: leave unchanged) +WTAP_VERSION_MAJOR=0 +WTAP_VERSION_MINOR=3 +WTAP_VERSION_MICRO=1 + + + +##### Directories ##### + +# +# Base directory, where your libraries reside, which are needed to +# compile the sources. This setting is used only inside this file. +# +#PPMODIF +#WIRESHARK_LIBS=C:\wireshark-$(PLATFORM)-libs + +!IFNDEF DEV_ROOT +DEV_ROOT=../../../../../.. +!ENDIF + +!IFNDEF WS_DEV_ROOT +!IF EXIST( "$(DEV_ROOT)\application\tool\wireshark\ws_dev_root.nmake") +!include $(DEV_ROOT)\application\tool\wireshark\ws_dev_root.nmake +!ENDIF +!ENDIF + +!IFNDEF WS_DEV_ROOT +WIRESHARK_LIBS=$(DEV_ROOT)/application/3rdparty/wireshark/$(TGT_WS_VERSION)/$(PLATFORM)-libs +!ELSE +WIRESHARK_LIBS=$(WS_DEV_ROOT)/$(TGT_WS_VERSION)/$(PLATFORM)-libs +!ENDIF + +OCT_INC = $(DEV_ROOT)/software/include + + +!IF "$(DEBUG)" == "1" +DISSECTOR_OBJ_PATH = $(DISSECTOR_SRC:source=Debug_1.2.6) +SMOKE_OBJ_PATH = $(SMOKE_SRC:smoke_test=Debug_Smoke_1.2.6) +!ELSE +DISSECTOR_OBJ_PATH = $(DISSECTOR_SRC:source=Release_1.2.6) +SMOKE_OBJ_PATH = $(SMOKE_SRC:smoke_test=Release_Smoke_1.2.6) +!ENDIF + +# +# Base directory, where your programs reside. +# This setting is used only inside this file. +# +!IFNDEF WIRESHARK_RELEASE +WIRESHARK_RELEASE=$(TGT_WS_VERSION) +!ENDIF +PROGRAM_FILES=$(PROGRAMFILES) + +!IFNDEF WS_INSTALL_PATH +# +# Wireshark plugins installation +WS_INSTALL_PATH=$(PROGRAM_FILES)/wireshark +!ENDIF +WIRESHARK_PLUGING_DEST=$(WS_INSTALL_PATH)/plugins/$(WIRESHARK_RELEASE) + +# +# Location of the "tools" directory. This affects HTML2TXT below and should +# be overridden by makefiles in any subdirectories that use HTML2TXT. +!IFNDEF TOOLS_DIR +TOOLS_DIR=tools +!ENDIF + +# +# Machine type for the compiler and linker +# TARGET_MACHINE (Used for link /MACHINE) should be one of "X86" or "X64" +# (sorry ARM, Alpha, MIPS, and Itanium fans). +# CPU (Used by win32.mak) should be one of "i386" or "AMD64". +!if "$(PLATFORM)" == "win32" +TARGET_MACHINE=X86 +CPU=i386 +!else if "$(PLATFORM)" == "win64" +TARGET_MACHINE=X64 +CPU=AMD64 +!endif + +!IF !DEFINED(MSVC_VARIANT) +##### Microsoft Visual C / Studio Variant ##### +# for the different Studios, see: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio +# only one of the following MSVC_VARIANT settings should be used +# BTW: The "Microsoft Visual C++ Toolkit 2003" DOESN'T WORK for WS! + +# "Microsoft Visual Studio 6.0" +# Visual C++ 6.0, _MSC_VER 1200, msvcrt.dll (version 6) +#MSVC_VARIANT=MSVC6 + +# "Microsoft Visual Studio .NET (2002)" +# Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll +#MSVC_VARIANT=MSVC2002 + +# "Microsoft .Net Framework SDK Version 1.0" +# needs additional Platform SDK installation +# Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll +#MSVC_VARIANT=DOTNET10 + +# "Microsoft Visual Studio .NET 2003" +# Visual C++ 7.1, _MSC_VER 1310, msvcr71.dll +#MSVC_VARIANT=MSVC2003 + +# "Microsoft .Net Framework SDK Version 1.1" +# needs additional Platform SDK installation +# Visual C++ 7.1, _MSC_VER 1310, msvcr71.dll +#MSVC_VARIANT=DOTNET11 + +# "Microsoft Visual Studio 2005" +# Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll +#MSVC_VARIANT=MSVC2005 + +# "Microsoft Visual C++ 2005 Express Edition" +# needs additional Platform SDK installation +# Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll +#MSVC_VARIANT=MSVC2005EE + +# "Microsoft .Net Framework 2.0 SDK" +# needs additional Platform SDK installation +# Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll +#MSVC_VARIANT=DOTNET20 + +# "Microsoft Visual Studio 2008" +# Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll +#MSVC_VARIANT=MSVC2008 + +# "Microsoft Visual C++ 2008 Express Edition" +# Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll +MSVC_VARIANT=MSVC2008EE +# +!ENDIF +# +# +# Optional: To compile some time critical code from assembler instead of C +# +# If you have the NASM compiler, set this to the NASM executable. +# http://nasm.sourceforge.net/ +# +# If you don't have NASM, comment this line out, so that NASM +# isn't defined. +# +NASM=$(WIRESHARK_LIBS)\nasm-2.02\nasm.exe + + +##### Libraries ##### + +# +# Mandatory: GLib settings +# +# Please note: Since Wireshark release 1.0.0, we no longer support GLib1.x +# +GLIB_VERSION=2.0 +GLIB_DIR=$(WIRESHARK_LIBS)\glib + +# +# Mandatory: GTK (& related libs) settings +# +# Please note: Since Wireshark release 1.0.0, we no longer support GTK1.x +# +# If you want building with GTK+, set GTK_DIR to the pathname of the +# directory in which the "include" and "lib" directories reside. +# +GTK_DIR=$(WIRESHARK_LIBS)\gtk2 + +# +# Mandatory: Version numbers of GTK and pango. +# +# (MAJOR + MINOR Version number but without MICRO version number) +# These macros are used by the nsis installer script and by the setup target. +# +# GTK 2.12 is the mainline since Wireshark 0.99.7 +GTK_INST_VERSION=2.14 +PANGO_INST_VERSION=1.22 + +# +# Optional: WinPcap developer's pack to capture network traffic. +# +# If you have the WinPcap developer's pack (at least version 3.0), +# set this to the directory in which the WinPcap developer's pack resides. +# +# If you don't have the WPdpack, comment this line out, so that +# PCAP_DIR isn't defined. +# +PCAP_DIR=$(WIRESHARK_LIBS)\WPdpack + +# +# Optional: WinPcap remote capture support and new API +# (pcap_open(), pcap_findalldevs_ex(), etc.) +# +PCAP_REMOTE=1 + +# +# Optional: The ZLib enables unzipping of gzip compressed capture files +# "on the fly". +# +# If you have Zlib, set this to directory in which the Zlib headers +# and .lib file are stored. +# +# If you don't have Zlib, comment this line out, so that ZLIB_DIR isn't +# defined. +# +ZLIB_DIR=$(WIRESHARK_LIBS)\zlib123 + +# +# Optional: the ADNS library enables asynchronous (nonblocking) DNS +# name resolvings. +# +# If you have GNU ADNS, set this to the directory in which the GNU ADNS +# .lib file is stored. +# +# If you don't have GNU ADNS, comment this line out, so that ADNS_DIR +# isn't defined. +# +# If C_ARES_DIR is defined below, it will override this setting. +# +#ADNS_DIR=$(WIRESHARK_LIBS)\adns-1.0-win32-05ws + +# +# Optional: the c-ares library enables asynchronous (nonblocking) DNS +# name resolvings. +# +# If you have c-ares, set this to the directory in which the c-ares +# .lib file is stored. Setting this will override ADNS_DIR above. You +# can't have both. +# +# If you're using Visual C++ 6.0, you'll have to use a platform SDK that +# defines socklen_t, such as Windows Server 2003 PSDK. +# +# If you don't have c-ares, comment this line out, so that C_ARES_DIR +# isn't defined. +# +C_ARES_DIR=$(WIRESHARK_LIBS)\c-ares-1.6.0ws + +# +# Optional: the PCRE (Perl Compatible Regular Expressions) library +# enables regular expressions for display filters. +# +# If you have the PCRE library, set this to the directory in which +# the GNUWIN32 pcre-lib package is stored. +# +# If you don't have PCRE, comment this line out, so that PCRE_DIR +# isn't defined. +# +PCRE_DIR=$(WIRESHARK_LIBS)\pcre-7.0 + +# +# Optional: the GNUTLS library enables ssl decryption. +# +# If you have the GNUTLS library, set this to the directory where +# the lib and include files are stored. +# +# If you don't have GNUTLS, comment this line out, so that GNUTLS_DIR +# isn't defined. +# +# Platform SDK conflicts with openssl.h header +#GNUTLS_DIR=$(WIRESHARK_LIBS)\gnutls-2.6.3-1 +GNUTLS_DIR=$(WIRESHARK_LIBS)\gnutls-2.6.4-1 + +# +# Optional: the KFW library enables kerberos/sasl/dcerpc decryption. +# +# If you have the kerberos for windows (mit) library, set this to the +# directory where the kfw package is stored. +# +# If you don't have KFW, comment this line out, so that KFW_DIR +# isn't defined. +# +KFW_DIR=$(WIRESHARK_LIBS)\kfw-2.5 + +# +# Optional: the Nettle library enables ??? decryption. +# +# If you have the Nettle encryption library, set this to the +# directory in which the nettle package is stored. +# +# If you don't have Nettle, comment this line out, so that NETTLE_DIR +# isn't defined. +# +# NETTLE_DIR=$(WIRESHARK_LIBS)\nettle-1.10 + +# +# Optional: the LUA library enables scripting support. +# +# If you have the LUA library, set this to the directory in which +# the LUA package is stored. +# +# If you don't have LUA, comment this line out, so that LUA_DIR +# isn't defined. +# +LUA_DIR=$(WIRESHARK_LIBS)\lua5.1.4 + +# +# Optional: the PORTAUDIO library enables audio output for RTP streams. +# +# If you have the PORTAUDIO library (used for rtp_player), set this to +# the directory in which the PORTAUDIO library is stored. +# +# If you don't have PORTAUDIO, comment this line out, so that +# PORTAUDIO_DIR isn't defined. +# +#PORTAUDIO_DIR=$(WIRESHARK_LIBS)\portaudio_v18_1 +PORTAUDIO_DIR=$(WIRESHARK_LIBS)\portaudio_v19_2 + +# +# Version number of PortAudio +# +#PORTAUDIO_VERSION=18 +PORTAUDIO_VERSION=19 + +# +# Iconv: Mandatory for Glib >= 2 and <= 2.14.4 +# [win-iconv statically linked as part of Glib >= 2.14.5] +# Set ICONV_DIR to the directory in which the +# ICONV include files and library resides. +# +##ICONV_DIR=$(WIRESHARK_LIBS)\libiconv-1.9.1.bin.woe32 + +# +# Mandatory for GTK >= 2: Gettext +# +# Set GETTEXT_DIR to the directory in which the +# GETTEXT include files and library resides. +# +#GETTEXT_DIR=$(WIRESHARK_LIBS)\gettext-0.14.5 +GETTEXT_DIR=$(WIRESHARK_LIBS)\gettext-runtime-0.17-1 +# +# Optional: AirPcap developer's pack to capture wireless network traffic +# incl. 802.11 management frames. +# +# If you have the AirPcap developer's pack, set this to the directory +# in which the AirPcap developer's pack resides. +# +# If you don't have the AirPcap developer's pack, comment this line out, +# so that AIRPCAP_DIR isn't defined. +# +AIRPCAP_DIR=$(WIRESHARK_LIBS)\AirPcap_Devpack_1_0_0_594\AirPcap_Devpack + +# +# Optional: LIBSMI, System Management Interface +# +# Used for oid-name resolution for SNMP and other protocols +# +SMI_DIR=$(WIRESHARK_LIBS)\libsmi-0.4.8 + +# +# Optional: GeoIP, IP address database lookups +# +# Used to map IP addresses to MaxMind GeoIP database entries +# +# GeoIP requires IPv6 definitions that don't ship with Visual C++ 6.0. +# However, the Microsoft Platform SDK for Windows Server 2003 R2 provides +# these definitions. The SDK's SetEnv.bat script defines INETSDK. +!IF "$(MSVC_VARIANT)" != "MSVC6" || DEFINED(INETSDK) +GEOIP_DIR=$(WIRESHARK_LIBS)\GeoIP-1.4.5ws +!ENDIF + +##### Tools ##### + +# Set the following mandatory commands to find the tools. +# The easiest way is to use the corresponding packages from cygwin. + +# Set up the path to the cygwin binaries +CYGWIN_PATH=c:\cygwin\bin + +# command for a shell (cygwin's bash package recommended) +SH_PROG=bash + +# bash versions after 3.1.6 need the 'igncr' shell option to be able to +# process scripts in windows 'native format' (dos crlf format). +# The following !IF results in the option being used only if it is available +# since using it on bash version 3.1.6 (or earlier) is not required and +# will cause an error message. +!if "$(SH_PROG)"=="bash" && [$(CYGWIN_PATH)\bash -c "set -o igncr" 2>nul: ] == 0 +SH_FLAGS=-o igncr +!endif + +SH=$(SH_PROG) $(SH_FLAGS) + + +# command for perl (cygwin's perl package recommended) +PERL=perl + +# command for pod2man and pod2html +# (part of the perl package, usually leave these unchanged) +POD2MAN=$(SH) pod2man +POD2HTML=$(SH) pod2html + +# Command for native Windows Python (recommended) +# V2.4 to V2.6 should work + +# If you want to specify your Python settings, uncomment the lines below. +#PYTHON="C:\Python26\python.exe" +#PATH=c:\Python26;$(PATH) + +# Command for Cygwin's Python (not recommended) +#PYTHON=env python + +# Otherwise, find Python automatically. +!IF !DEFINED(PYTHON) +!IF EXIST(c:\Python26\python.exe) +PYTHON="C:\Python26\python.exe" +PATH=c:\Python26;$(PATH) +!ELSE IF EXIST(c:\Python25\python.exe) +PYTHON="C:\Python25\python.exe" +PATH=c:\Python25;$(PATH) +!ELSE IF EXIST(c:\Python24\python.exe) +PYTHON="C:\Python24\python.exe" +PATH=c:\Python24;$(PATH) +!ENDIF +!ENDIF + +# command for lex/flexx (cygwin's flex recommended) +LEX=flex + +# command for yacc/bison (cygwin's bison recommended) +YACC=bison + +# +# Optional: To build the NSIS installer. +# +# If you have the NSIS package, set this to the NSIS executable. +# +# If you don't have NSIS, comment this line out, so that MAKENSIS +# isn't defined. +# +MAKENSIS="$(PROGRAM_FILES)\nsis\makensis.exe" + +# +# Optional: To build the developers API documentation with doxygen and dot. +# Currently experimental, outdated and incomplete. +# +# You will have to download and install: +# Doxygen from: http://www.doxygen.org +# Graphviz from: http://www.research.att.com/sw/tools/graphviz/ +# +# If you have doxygen, set this to the doxygen executable. +# +# If you don't want the developers documentation (or don't have the tools), +# comment this line out, so that DOXYGEN isn't defined. +# +#DOXYGEN="$(PROGRAM_FILES)/doxygen/bin/doxygen.exe" + +# +# Recommended: Use the compressed html help format .chm as the Wireshark integrated help. +# +# The required htmlhelp.h and htmlhelp.lib should be included in MSVC_VARIANT > MSVC6. +# +# For MSVC_VARIANT == MSVC6 you will have to download and install the html help workshop from: +# +# http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html +# /hwMicrosoftHTMLHelpDownloads.asp +# +# Then point HHC_DIR to the html help dir (where hhc.exe resides). +# +# If you don't want the online help (or don't have the tools), +# comment this line out, so that HHC_DIR isn't defined. +# +HHC_DIR=$(PROGRAM_FILES)/HTML Help Workshop + +# +# Optional: To reduce the size of dlls and exes, which is especially useful for USB device distributions (U3, PortableApps) +# +# If you have the UPX package, set this to the upx.exe executable. +# +# UPX can be downloaded from: +# http://upx.sourceforge.net/ +# +# If you don't have UPX, or don't want to pack exes and dlls, +# comment this line out, so that UPX isn't defined. +# + +UPX=$(WIRESHARK_LIBS)\upx301w\upx.exe + +##### Flags, PATHs and Miscellaneous ##### + +# "convert" the MSVC variant into the required MSC compiler version +!IF "$(MSVC_VARIANT)" == "MSVC6" +MSC_VER_REQUIRED=1200 +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2002" || "$(MSVC_VARIANT)" == "DOTNET10" +MSC_VER_REQUIRED=1300 +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2003" || "$(MSVC_VARIANT)" == "DOTNET11" +MSC_VER_REQUIRED=1310 +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" +MSC_VER_REQUIRED=1400 +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2008" || "$(MSVC_VARIANT)" == "MSVC2008EE" +MSC_VER_REQUIRED=1500 +!ELSE +!ERROR MSVC_VARIANT unknown +!ENDIF + +# Compiler flags: +# /W3 warning level 3 (0 less - 4 most, 1 default) +# /Zi create .pdb file for debugging +# /MD use "Multithreading Debug" libraries +# /D_CRT_SECURE_NO_DEPRECATE Don't warn for "insecure" calls, see MSDN "Security Enhancements in the CRT" +# /D_CRT_NONSTDC_NO_DEPRECATE Don't warn for "Deprecated CRT Functions" as MSDN calls this +# /D_BIND_TO_CURRENT_CRT_VERSION=1 Make sure our CRT and manifest versions match (http://msdn.microsoft.com/en-us/library/cc664727.aspx) +# /DWIN32_LEAN_AND_MEAN Don't include unnecessary Windows include files (see windows.h) +# /MP [] [MSVC2008]: Compiles multiple source files by using multiple processes +# Add if desired for compile speedup on machines with 2 or more "effective processors" +# /MANIFEST:no Don't create a SxS manifest. Makes sure our plugins don't load a second copy of the CRT. +# +!IF "$(MSVC_VARIANT)" == "MSVC6" || "$(MSVC_VARIANT)" == "MSVC2002" || "$(MSVC_VARIANT)" == "DOTNET10" || "$(MSVC_VARIANT)" == "MSVC2003" || "$(MSVC_VARIANT)" == "DOTNET11" +LOCAL_CFLAGS=/Zi /W3 /MD /DWIN32_LEAN_AND_MEAN /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED) +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" || "$(MSVC_VARIANT)" == "MSVC2008" || "$(MSVC_VARIANT)" == "MSVC2008EE" +LOCAL_CFLAGS=/Zi /W3 /MD /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DWIN32_LEAN_AND_MEAN /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED) /D_BIND_TO_CURRENT_CRT_VERSION=1 +!ELSE +!ERROR MSVC_VARIANT unknown +!ENDIF + +# Linker flags: +# /DEBUG generate debug info +# /PROFILE generate map file(s) for profiling +# /DEFAULTLIB:xxx use xxx as the standard C library +# /NODEFAULTLIB:xxx don't use xxx as the standard C library +# +LOCAL_LDFLAGS=/DEBUG /MACHINE:$(TARGET_MACHINE) +DLL_LDFLAGS = +!IF $(MSC_VER_REQUIRED) >= 1400 +DLL_LDFLAGS = /MANIFEST:no +!ENDIF + +PLUGIN_LDFLAGS = /NOLOGO /INCREMENTAL:no $(LOCAL_LDFLAGS) $(DLL_LDFLAGS) + +# +# According to http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=403 +# XCOPY under Windows NT doesn't support the "/Y" flag. This works +# around that bug. +# XXX - This apparently doesn't work for some versions of nmake: +# http://support.microsoft.com/default.aspx?scid=kb;en-us;86814 +# It looks like we'll have to call "set copycmd=/y" before we run xcopy. +COPYCMD=/y + +# +# If you don't want to build libwireshark.dll, you should comment out the +# following line. (Note: for plugin support this option must stay activated) +ENABLE_LIBWIRESHARK=USE + +# +# install (debug) directory for Wireshark (relative to your source dir) +INSTALL_DIR=wireshark-gtk2 + + + +##### C-Runtime Redistributable ##### +# +# The C-Runtime since Version 7 must be shipped together with +# the program installer, to avoid missing msvcr*.dll files on +# the target machine. +# +# The location of these files differ on the various compiler +# packages, the following will use the default paths depending +# on the package version. +# +!IF "$(MSVC_VARIANT)" == "MSVC6" +# msvcrt.dll will already be available on target machines - nothing additional to install + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2002" +# you probably need to tweak this directory if you don't use the professional edition! +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET\Visual Studio .NET Professional - English\msvcr70.dll + +!ELSEIF "$(MSVC_VARIANT)" == "DOTNET10" +# no redistributable available for this package! + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2003" +# you probably need to tweak this directory if you don't use the professional edition! +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET 2003\Visual Studio .NET Professional 2003 - English\msvcr71.dll + +!ELSEIF "$(MSVC_VARIANT)" == "DOTNET11" +# no redistributable available for this package! + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\*.* + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" || "$(MSVC_VARIANT)" == "MSVC2008EE" +# you need to download the redistributable package vcredist_x86.exe from Microsoft first, +# and copy it to the lib folder!!! +VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_x86.exe + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2008" +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\*.* + +!ELSE +!ERROR MSVC_VARIANT unknown +!ENDIF + + + +##### Advanced: Docbook/XML documentation generation ##### +# If you want to generate the Docbook/XML based docs (User's and Developer's +# Guide, ...), you'll need some additional tools / libraries compared to the +# rest of the build process. +# +# FOR DETAILED INSTRUCTIONS TO GENERATE THE DOCS, SEE: docbook\readme.txt. +# +# If you don't call the Makefile.nmake in the docbook dir to generate the +# docs, the following settings in this section will have no effect. + +# formatting objects processor executable +# Comment this out if you don't have fop installed or you don't want the docs +# in PDF format. +!IFNDEF FOP +FOP=fop-0.20.5\fop.bat +!ENDIF + +# Additional options to fop. +FOP_OPTS=-Xmx256m + +# html help compiler +# Comment this out if you don't have hhc.exe or you don't want the docs in +# .chm format. +# +# Beware: hhc.exe is NOT part of the MSVC packages in HHC_DIR mentioned above, +# so you'll need to install the HTML Help Workshop for this. +HHC_EXE="$(HHC_DIR)\hhc.exe" + +# html to text converter for text version of release notes, e.g. elinks. +# This could also be "lynx", or "true" if neither elinks nor lynx is installed +# (cygwin: lynx works, elinks not available, links and true doesn't produce output) +#HTML2TXT=elinks -dump -dump-width 72 +#HTML2TXT=links -dump -width 72 +#HTML2TXT=lynx -dump -width=72 -nolist -stdin + +!IFNDEF HTML2TXT +HTML2TXT=$(PYTHON) $(TOOLS_DIR)\html2text.py --width=72 --no-links +!ENDIF + +# the XSL processor (part of cygwin's libxslt package) +XSLTPROC="xsltproc" + +# the XML validator (part of cygwin's libxml2 package) +XMLLINT="xmllint" + + + +############################################################################## +# +# You should not have to change anything below this comment. +# If you do, it's a deficiency in the Makefile.nmake files; +# either tell wireshark-dev@wireshark.org about it, including +# details of why you had to change it, or fix config.nmake +# and any Makefile.nmake files that need to be changed, and +# send us the patches, along with details of why the change +# was necessary. +# +############################################################################## + +# +# 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." +# + +VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_MICRO)$(VERSION_EXTRA) +RC_VERSION=$(VERSION_MAJOR),$(VERSION_MINOR),$(VERSION_MICRO),$(VERSION_BUILD) + +WTAP_VERSION=$(WTAP_VERSION_MAJOR).$(WTAP_VERSION_MINOR).$(WTAP_VERSION_MICRO) +RC_WTAP_VERSION=$(WTAP_VERSION_MAJOR),$(WTAP_VERSION_MINOR),$(WTAP_VERSION_MICRO) + + +GLIB_CFLAGS=/I$(GLIB_DIR)\include\glib-$(GLIB_VERSION) \ + /I$(GLIB_DIR)\lib\glib-$(GLIB_VERSION)\include +GCC_GLIB_CFLAGS=-I$(GLIB_DIR)\include\glib-$(GLIB_VERSION) \ + -I$(GLIB_DIR)\lib\glib-$(GLIB_VERSION)\include +GLIB_LIBS=$(GLIB_DIR)\lib\glib-$(GLIB_VERSION).lib \ + $(GLIB_DIR)\lib\gmodule-$(GLIB_VERSION).lib \ + $(GLIB_DIR)\lib\gobject-$(GLIB_VERSION).lib + +# GTK+ +GTK_CFLAGS=$(GLIB_CFLAGS) /I$(GTK_DIR)\include\gtk-2.0 \ + /I$(GTK_DIR)\lib\gtk-2.0\include \ + /I$(GTK_DIR)\include\atk-1.0 \ + /I$(GTK_DIR)\include\cairo \ + /I$(GTK_DIR)\include\pango-1.0 +GTK_LIBS=$(GTK_DIR)\lib\gtk-win32-2.0.lib \ + $(GTK_DIR)\lib\gdk-win32-2.0.lib \ + $(GTK_DIR)\lib\gdk_pixbuf-2.0.lib \ + $(GTK_DIR)\lib\pango-1.0.lib \ + $(GLIB_LIBS) + +!IF "$(GTK_INST_VERSION)" == "2.14" +GTK_LIB_DIR=2.10.0 +NEED_LIBPNG_DLL=USE +NEED_LIBJPEG_DLL=USE +NEED_LIBTIFF_DLL=USE +NEED_CAIRO_DLL=USE +GTK_WIMP_DLLSRC_DIR=$(GTK_DIR)\lib\gtk-2.0\2.10.0\engines +GTK_WIMP_DLLDST_DIR=lib\gtk-2.0\2.10.0\engines +GTK_WIMP_RCSRC_DIR=$(GTK_DIR)\share\themes\MS-Windows\gtk-2.0 +GTK_WIMP_RCDST_DIR=etc\gtk-2.0 +!ELSEIF "$(GTK_INST_VERSION)" == "2.12" +GTK_LIB_DIR=2.10.0 +NEED_LIBPNG_DLL=USE +NEED_LIBJPEG_DLL=USE +NEED_LIBTIFF_DLL=USE +NEED_CAIRO_DLL=USE +GTK_WIMP_DLLSRC_DIR=$(GTK_DIR)\lib\gtk-2.0\2.10.0\engines +GTK_WIMP_DLLDST_DIR=lib\gtk-2.0\2.10.0\engines +GTK_WIMP_RCSRC_DIR=$(GTK_DIR)\share\themes\MS-Windows\gtk-2.0 +GTK_WIMP_RCDST_DIR=etc\gtk-2.0 +!ELSE +!ERROR ? Unknown or invalid GTK_INST_VERSION +!ENDIF + +!IF "$(PANGO_INST_VERSION)" == "1.22" +PANGO_LIB_DIR=1.5.0 +!ELSEIF "$(PANGO_INST_VERSION)" == "1.18" +PANGO_LIB_DIR=1.5.0 +!ELSEIF "$(PANGO_INST_VERSION)" == "1.16" +PANGO_LIB_DIR=1.5.0 +!ELSE +!ERROR ? Unknown or invalid PANGO_INST_VERSION +!ENDIF + +!IFDEF AIRPCAP_DIR +AIRPCAP_CONFIG=^#define HAVE_AIRPCAP 1 +AIRPDCAP_CONFIG=^#define HAVE_AIRPDCAP 1 +#AIRPCAP_CFLAGS=/I$(AIRPCAP_DIR)\include +!ELSE +AIRPCAP_CONFIG= +AIRPDCAP_CONFIG= +!ENDIF + +!IFDEF PCAP_DIR +# Nmake uses carets to escape special characters +WINPCAP_CONFIG=^#define HAVE_LIBPCAP 1 +PCAP_FINDALLDEVS_CONFIG=^#define HAVE_PCAP_FINDALLDEVS 1 +PCAP_DATALINK_NAME_TO_VAL_CONFIG=^#define HAVE_PCAP_DATALINK_NAME_TO_VAL 1 +PCAP_DATALINK_VAL_TO_NAME_CONFIG=^#define HAVE_PCAP_DATALINK_VAL_TO_NAME 1 +# PCAP_BREAKLOOP won't have any benefit on Win32, but breaks compatibility with 3.0 +PCAP_BREAKLOOP_CONFIG= +WPCAP_CONSTIFIED_CONFIG=^#define WPCAP_CONSTIFIED 1 +!ELSE +# no WpdPack installed +WINPCAP_CONFIG= +PCAP_FINDALLDEVS_CONFIG= +PCAP_DATALINK_NAME_TO_VAL_CONFIG= +PCAP_DATALINK_VAL_TO_NAME_CONFIG= +PCAP_BREAKLOOP_CONFIG= +WPCAP_CONSTIFIED= +!ENDIF + +PCAP_LIST_DATALINKS_CONFIG=^#define HAVE_PCAP_LIST_DATALINKS 1 +PCAP_SET_DATALINK_CONFIG=^#define HAVE_PCAP_SET_DATALINK 1 + +!IF DEFINED(PCAP_DIR) && DEFINED(PCAP_REMOTE) +PCAP_HAVE_REMOTE_CONFIG=^#define HAVE_REMOTE 1 +PCAP_REMOTE_CONFIG=^#define HAVE_PCAP_REMOTE 1 +PCAP_OPEN_CONFIG=^#define HAVE_PCAP_OPEN 1 +PCAP_FINDALLDEVS_EX_CONFIG=^#define HAVE_PCAP_FINDALLDEVS_EX 1 +PCAP_CREATESRCSTR_CONFIG=^#define HAVE_PCAP_CREATESRCSTR 1 +PCAP_SETSAMPLING_CONFIG=^#define HAVE_PCAP_SETSAMPLING 1 +!ELSE +PCAP_HAVE_REMOTE_CONFIG= +PCAP_REMOTE_CONFIG= +PCAP_OPEN_CONFIG= +PCAP_FINDALLDEVS_EX_CONFIG= +PCAP_CREATESRCSTR_CONFIG= +PCAP_SETSAMPLING_CONFIG= +!ENDIF + +!IFDEF ZLIB_DIR +ZLIB_PATH=$(ZLIB_DIR) +ZLIB_CFLAGS=/I$(ZLIB_DIR)\include +ZLIB_LIBS=$(ZLIB_DIR)\lib\zdll.lib +ZLIB_DLL=$(ZLIB_DIR)\zlib1.dll +# Nmake uses carets to escape special characters +ZLIB_CONFIG=^#define HAVE_LIBZ 1 +!else +ZLIB_CFLAGS= +ZLIB_LIBS= +ZLIB_DLL= +ZLIB_CONFIG= +!ENDIF + +!IFDEF C_ARES_DIR +!UNDEF ADNS_DIR +C_ARES_CFLAGS=/I$(C_ARES_DIR) +C_ARES_LIBS=$(C_ARES_DIR)\cares.lib +C_ARES_DLL=$(C_ARES_DIR)\cares.dll +# Nmake uses carets to escape special characters +C_ARES_CONFIG=^#define HAVE_C_ARES 1 +!else +C_ARES_CFLAGS= +C_ARES_LIBS= +C_ARES_CONFIG= +!IFDEF ADNS_DIR +ADNS_PATH=$(ADNS_DIR)\adns_win32\lib +ADNS_CFLAGS=/I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32 +ADNS_LIBS=$(WIRESHARK_LIBS)\$(MSVC_VARIANT)\adns\adns_dll.lib +ADNS_DLL=$(WIRESHARK_LIBS)\$(MSVC_VARIANT)\adns\adns_dll.dll +# Nmake uses carets to escape special characters +ADNS_CONFIG=^#define HAVE_GNU_ADNS 1 +!else +ADNS_CFLAGS= +ADNS_LIBS= +ADNS_CONFIG= +!ENDIF # ADNS +!ENDIF # C_ARES + +!IFDEF KFW_DIR +KFW_PATH=$(KFW_DIR)\bin +KFW_CFLAGS=/I$(KFW_DIR)\inc +KFW_LIBS=$(KFW_DIR)\lib\krb5_32.lib +# Nmake uses carets to escape special characters +KFW_CONFIG=^#define HAVE_MIT_KERBEROS 1 +!else +KFW_CFLAGS= +KFW_LIBS= +KFW_CONFIG= +!ENDIF + +!IFDEF PCRE_DIR +PCRE_PATH=$(PCRE_DIR)\bin +PCRE_CFLAGS=/I$(PCRE_DIR)\include +PCRE_LIBS=$(PCRE_DIR)\lib\pcre.lib +# Nmake uses carets to escape special characters +PCRE_CONFIG=^#define HAVE_LIBPCRE 1 +!else +PCRE_CFLAGS= +PCRE_LIBS= +PCRE_CONFIG= +!ENDIF + +!IFDEF NETTLE_DIR +NETTLE_CFLAGS=/I$(NETTLE_DIR) +NETTLE_LIBS=$(NETTLE_DIR)\libnettle.lib +# Nmake uses carets to escape special characters +NETTLE_CONFIG=^#define HAVE_LIBNETTLE 1 +!else +NETTLE_CFLAGS= +NETTLE_LIBS= +NETTLE_CONFIG= +!ENDIF + +!IFDEF GNUTLS_DIR +GNUTLS_PATH=$(GNUTLS_DIR) +# /DNOCRYPT avoids inclusion of Wincrypt.h, avoiding a X509_NAME define clash +GNUTLS_CFLAGS=/I$(GNUTLS_DIR)\include /DNOCRYPT /DIMPORT_LIGNUTLSDLL +GNUTLS_LIBS=\ + $(GNUTLS_DIR)\bin\libtasn1-3.lib \ + $(GNUTLS_DIR)\bin\libgpg-error-0.lib \ + $(GNUTLS_DIR)\bin\libgcrypt-11.lib \ + $(GNUTLS_DIR)\bin\libgnutls-26.lib +# Nmake uses carets to escape special characters +GNUTLS_CONFIG=^#define HAVE_LIBGNUTLS 1 +LIBGCRYPT_CONFIG=^#define HAVE_LIBGCRYPT 1 +!else +GNUTLS_CFLAGS= +GNUTLS_LIBS= +GNUTLS_CONFIG= +LIBGCRYPT_CONFIG= +!ENDIF + +!IFDEF LUA_DIR +LUA_CFLAGS=/I$(LUA_DIR)\include +LUA_LIBS=$(LUA_DIR)\lua5.1.lib +# Nmake uses carets to escape special characters +LUA_CONFIG=^#define HAVE_LUA 1 +LUA_VERSION=^#define HAVE_LUA_5_1 1 +!else +LUA_CFLAGS= +LUA_LIBS= +LUA_CONFIG= +!ENDIF + +!IFDEF PORTAUDIO_DIR +# Nmake uses carets to escape special characters +PORTAUDIO_CONFIG=^#define HAVE_LIBPORTAUDIO 1 +!IF "$(PORTAUDIO_VERSION)" == "18" +# V18 uses API version 1 and v19 API version 2 +PORTAUDIO_CFLAGS=/I$(PORTAUDIO_DIR)\pa_common +PORTAUDIO_API_CONFIG=^#define PORTAUDIO_API_1 1 +!ELSE +PORTAUDIO_CFLAGS=/I$(PORTAUDIO_DIR)\include /I$(PORTAUDIO_DIR)\src\common /I$(PORTAUDIO_DIR)\src\os\win /DPA_NO_DS /DPA_NO_ASIO +!ENDIF +!ELSE +PORTAUDIO_CFLAGS= +PORTAUDIO_CONFIG= +!ENDIF + +!IFDEF HHC_DIR +!IF "$(MSVC_VARIANT)" == "MSVC6" +HHC_CFLAGS=/I"$(HHC_DIR)\include" -DHHC_DIR +HHC_LIBS="$(HHC_DIR)\lib\htmlhelp.lib" +!ELSE +HHC_CFLAGS=-DHHC_DIR +HHC_LIBS=htmlhelp.lib +!ENDIF +!ELSE +HHC_CFLAGS= +HHC_LIBS= +!ENDIF + +!IFDEF SMI_DIR +SMI_CONFIG=^#define HAVE_LIBSMI 1 +SMI_CFLAGS=/I$(SMI_DIR)\include +SMI_LIBS=$(SMI_DIR)\lib\smi.lib +!ELSE +SMI_LIBS= +SMI_CFLAGS= +SMI_CONFIG= +!ENDIF + +!IFDEF GEOIP_DIR +GEOIP_CONFIG=^#define HAVE_GEOIP 1 +GEOIP_CFLAGS=/I$(GEOIP_DIR)\libGeoIP +GEOIP_LIBS=$(GEOIP_DIR)\libGeoIP\GeoIP.lib +!ELSE +GeoIP_LIBS= +GeoIP_CFLAGS= +GeoIP_CONFIG= +!ENDIF + +!IFDEF ENABLE_LIBWIRESHARK +LIBWIRESHARK_CONFIG=^#define HAVE_LIBWIRESHARKDLL 1 +# Link plugins with the import library of libwireshark.dll +LINK_PLUGINS_WITH_LIBWIRESHARK=USE +!ELSE +LIBWIRESHARK_CONFIG= +!ENDIF + +# Construct the path +!IFDEF ICONV_DIR +PATH=$(PATH);$(CYGWIN_PATH);$(GLIB_DIR)\bin;$(GETTEXT_DIR)\bin;$(ICONV_DIR)\bin;$(ZLIB_PATH);$(ADNS_PATH) +!ELSE +PATH=$(PATH);$(CYGWIN_PATH);$(GLIB_DIR)\bin;$(GETTEXT_DIR)\bin;$(ZLIB_PATH);$(ADNS_PATH) +!ENDIF + +# We can't use a lot of IPv6 code with plain Visual C++ 6.0 +!IF "$(MSVC_VARIANT)" == "MSVC6" && !DEFINED(MSSDK) +INET6_CONFIG= +!ELSE +INET6_CONFIG=^#define INET6 1 +!ENDIF diff --git a/application/tool/wireshark/1.2.6/configure.in b/application/tool/wireshark/1.2.6/configure.in new file mode 100644 index 0000000..6225ec4 --- /dev/null +++ b/application/tool/wireshark/1.2.6/configure.in @@ -0,0 +1,1852 @@ +# $Id: configure.in 31605 2010-01-21 17:30:45Z gerald $ +# +AC_PREREQ(2.60) + +dnl Check for CPU / vendor / OS +dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or +dnl `AC_CANONICAL_HOST', or `AC_CANONICAL_TARGET', depending on the +dnl needs. Using `AC_CANONICAL_TARGET' is enough to run the two other +dnl macros. + +dnl AC_CANONICAL_HOST +dnl AC_CANONICAL_BUILD +dnl AC_CANONICAL_TARGET + +AC_INIT(wireshark, 1.2.6) +AM_INIT_AUTOMAKE([1.9 tar-ustar]) + +AM_DISABLE_STATIC + +dnl Checks for programs. +AC_PROG_CC +AM_PROG_CC_C_O +AC_PROG_CPP +dnl Work around libtool bug (fixed in the version 1.5a?) +AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], ) +AC_LIBTOOL_DLOPEN +AC_PROG_LIBTOOL +AC_PATH_PROG(PERL, perl) +AC_PROG_YACC +AC_PATH_PROG(YACCDUMMY, $YACC) +if test "x$YACCDUMMY" = x +then + AC_MSG_ERROR(I couldn't find yacc (or bison or ...); make sure it's installed and in your path) +fi +AM_PROG_LEX +AC_PATH_PROG(LEXDUMMY, $LEX) +if test "x$LEXDUMMY" = x +then + AC_MSG_ERROR(I couldn't find (f)lex; make sure it's installed and in your path) +fi +AC_PATH_PROG(POD2MAN, pod2man) +if test "x$POD2MAN" = x +then + # + # The alternative is not to build the man pages.... + # + AC_MSG_ERROR(I couldn't find pod2man; make sure it's installed and in your path) +fi +AC_PATH_PROG(POD2HTML, pod2html) +if test "x$POD2HTML" = x +then + # + # The alternative is not to build the HTML man pages.... + # + AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path) +fi + +# +# XXX - this looks for various HTML viewers on the host, not the target; +# we really want to know what's available on the target, for cross-builds. +# That would probably require us to, at run time, look for xdg-open and, +# if we don't find it, look for mozilla, htmlview, etc. +# +AC_PATH_PROG(HTML_VIEWER, xdg-open) +if test "x$HTML_VIEWER" != x +then + # + # XXX - the HTML_VIEWER shell variable is the full path of xdg-open. + # Define some variable to be that, so we just run that? + # + AC_DEFINE(HAVE_XDG_OPEN, 1, [Define if we have xdg-open]) + + # + # XXX - we have to define HTML_VIEWER for the prefs.c code that + # sets the default value of the Web browser preference, even + # though that preference won't be offered. + # + AC_DEFINE_UNQUOTED(HTML_VIEWER, "xdg-open", [HTML viewer, e.g. mozilla]) +else + AC_PATH_PROG(HTML_VIEWER, htmlview) + if test "x$HTML_VIEWER" = x + then + AC_DEFINE_UNQUOTED(HTML_VIEWER, "mozilla", [HTML viewer, e.g. mozilla]) + else + AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla]) + fi +fi + +AC_PATH_PROG(LEX, flex) +AC_PATH_PROG(PYTHON, python) + +AC_SUBST(PERL) +AC_SUBST(POD2MAN) +AC_SUBST(POD2HTML) +AC_SUBST(LEX) +AC_SUBST(FLEX_PATH) +AC_SUBST(PYTHON) +AC_SUBST(XSLTPROC) +AC_SUBST(XMLLINT) + +if test "x$CC_FOR_BUILD" = x +then + CC_FOR_BUILD=$CC +fi +AC_SUBST(CC_FOR_BUILD) + +# Check for doxygen +AC_PATH_PROG(DOXYGEN, doxygen) +AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no") +AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes) + +#PPMODIF +# +AC_MSG_CHECKING([whether a TGT_VERSION was specified]) +AC_ARG_WITH([version], + AS_HELP_STRING([--with-version=@<:@*@:>@], + [Specify Target version @<:@default=1.3.1@:>@]), + with_version="$withval", with_version="1.3.2") +AC_SUBST(TGT_VERSION, [$with_version]) +AC_MSG_RESULT(TGT_VERSION=$TGT_VERSION) +# +AC_MSG_CHECKING([whether OCT_PATH was specified]) +AC_ARG_WITH([oct_path], + AS_HELP_STRING([--with-oct_path=@<:@*@:>@], + [Specify Octasic path @<:@default=/mnt/goose@:>@]), + with_oct_path="$withval", with_oct_path="/mnt/goose") +AC_SUBST(OCT_PATH, [$with_oct_path]) +AC_MSG_RESULT(OCT_PATH=$OCT_PATH) +#PPMODIF + + +# gnu tls +tls_message="no" +AC_ARG_WITH([gnutls], + AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@], + [use gnutls library @<:@default=yes@:>@]), + with_gnutls="$withval", with_gnutls="yes") +if test "x$with_gnutls" = "xyes"; then + PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0], + [ + echo "gnuTLS found, enabling ssl decryption" + AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use gnutls library]) + tls_message="yes" + ] + , [ + echo echo "gnuTLS not found, disabling ssl decryption" + tls_message="no" + ] + ) +fi + +# libgrypt +gcrypt_message="no" +AC_ARG_WITH([gcrypt], + AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@], + [use gcrypt library @<:@default=yes@:>@]), + with_gcrypt="$withval", with_gcrypt="yes") +if test "x$with_gcrypt" = "xyes"; then + AM_PATH_LIBGCRYPT(1.1.92, + [ + echo "libgcrypt found, enabling ipsec decryption" + AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt]) + gcrypt_message="yes" + ] + , [ + if test x$libgcrypt_config_prefix != x ; then + AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]]) + else + echo "libgcrypt not found, disabling ipsec decryption" + gcrypt_message="no" + fi + ] + ) +fi + +# libsmi +# FIXME: currently the path argument to with-libsmi is being ignored +AX_LIBSMI + +# Check for xsltproc +AC_PATH_PROG(XSLTPROC, xsltproc) +AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no") +AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes) + +# Check for xmllint +AC_PATH_PROG(XMLLINT, xmllint) +AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no") +AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes) + +# Check for fop (translate .fo to e.g. pdf) +AC_PATH_PROG(FOP, fop) +AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no") +AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes) + +# Check for hhc (html help compiler) +AC_PATH_PROG(HHC, hhc.exe) +AC_CHECK_PROG(HAVE_HHC, hhc.exe, "yes", "no") +AM_CONDITIONAL(HAVE_HHC, test x$HAVE_HHC = xyes) + +# Check for packaging utilities +# For now, we check to see if the various packaging utilites are in our +# path. I'm too lazy to write code to go hunt for them. - Gerald + +# SVR4/Solaris +AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no") +AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no") +AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no") + +if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \ + -a x$HAVE_PKGTRANS = xyes ; then + HAVE_SVR4_PACKAGING=yes +else + HAVE_SVR4_PACKAGING=no +fi +AC_SUBST(HAVE_SVR4_PACKAGING) + +# RPM +AC_WIRESHARK_RPM_CHECK +AC_SUBST(HAVE_RPM) + +# Debian +AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no") + +# Mac OS X +AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no") +AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no") +AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no") + +if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \ + -a x$HAVE_BLESS = xyes ; then + HAVE_OSX_PACKAGING=yes +else + HAVE_OSX_PACKAGING=no +fi +AC_SUBST(HAVE_OSX_PACKAGING) + +# +# Try to add some additional gcc checks to CFLAGS +# +AC_ARG_ENABLE(extra-gcc-checks, + AC_HELP_STRING( [--enable-extra-gcc-checks], + [Do additional -W checks in GCC. @<:@default=no@:>@]), +[ + wireshark_extra_gcc_flags=$enableval + if test $enableval != no + then + AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Woverflow) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings) +# AC_WIRESHARK_GCC_CFLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4) +# AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunreachable-code) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wbad-function-cast) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-qual) + # + # epan/dissectors/packet-ncp2222.inc blocks this one + # for now. + # + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations) + # + # epan/dissectors/packet-afs.c blocks this one for now. + # + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshadow) + # + # More cleanup needed for this on LP64. + # + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32) + fi +],) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) # -W is now known as -Wextra +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wendif-labels) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpointer-arith) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-pointer-sign) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security) + +# +# If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well, +# so we can use _U_ to flag unused function arguments and not get warnings +# about them. Otherwise, add '-D_U_=""', so that _U_ used to flag an unused +# function argument will compile with non-GCC compilers. +# +if test "x$GCC" = "xyes" ; then + CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS" +else + CFLAGS="-D_U_=\"\" $CFLAGS" +fi + +# +# If we're running gcc, will enable a barrier "stop on warning". +# This barrier is set for a very large part of the code. However, it is +# typically not set for "generated" code (lex, ans2wrs, idl2wrs, ...) +# +warnings_as_errors_default="no" +AC_MSG_CHECKING(whether we should treat compiler warnings as errors) +AC_ARG_ENABLE(warnings-as-errors, + AC_HELP_STRING( [--enable-warnings-as-errors], + [Treat warnings as errors (only for gcc). @<:@default=no@:>@]), +[ + if test "x$GCC" = "xyes" -a "x$enableval" == "xyes" -a "x$wireshark_extra_gcc_flags" != "xyes"; then + with_warnings_as_errors="yes" + AC_MSG_RESULT(yes) + else + with_warnings_as_errors="no" + AC_MSG_RESULT(no) + fi +], + if test "x$GCC" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then + with_warnings_as_errors="yes" + AC_MSG_RESULT(yes) + else + with_warnings_as_errors="no" + AC_MSG_RESULT(no) + fi +) +AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes") + +# +# Add any platform-specific compiler flags needed. +# +AC_MSG_CHECKING(for platform-specific compiler flags) +if test "x$GCC" = "xyes" ; then + # + # GCC - do any platform-specific tweaking necessary. + # + case "$host_os" in + solaris*) + # the X11 headers don't automatically include prototype info + # and a lot don't include the return type + CFLAGS="$CFLAGS -Wno-return-type -DFUNCPROTO=15" + AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15) + ;; + darwin*) + # + # See comments above about Apple's lovely C compiler. + # + CFLAGS="-no-cpp-precomp $CFLAGS" + AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp) + ;; + *) + AC_MSG_RESULT(none needed) + ;; + esac +else + # + # Not GCC - assume it's the vendor's compiler. + # + case "$host_os" in + hpux*) + # + # HP's ANSI C compiler; flags suggested by Jost Martin. + # "-Ae" for ANSI C plus extensions such as "long long". + # "+O2", for optimization. XXX - works with "-g"? + # + CFLAGS="-Ae +O2 $CFLAGS" + AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2) + ;; + darwin*) + # + # It may be called "cc", but it's really a GCC derivative + # with a problematic special precompiler and precompiled + # headers; turn off the special precompiler, as some + # apparently-legal code won't compile with its precompiled + # headers. + # + CFLAGS="-no-cpp-precomp $CFLAGS" + AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp) + ;; + *) + AC_MSG_RESULT(none needed) + ;; + esac +fi + +# +# Add any platform-specific linker flags needed. +# +AC_MSG_CHECKING(for platform-specific linker flags) +case "$host_os" in +darwin*) + # + # Add -Wl,-single_module to the LDFLAGS used with shared + # libraries, to fix some error that show up in some cases; + # some Apple documentation recommends it for most shared + # libraries. + # + LDFLAGS_SHAREDLIB="-Wl,-single_module" + # + # Add -Wl,-search_paths_first to make sure that if we search + # directories A and B, in that order, for a given library, a + # non-shared version in directory A, rather than a shared + # version in directory B, is chosen (so we can use + # --with-pcap=/usr/local to force all programs to be linked + # with a static version installed in /usr/local/lib rather than + # the system version in /usr/lib). + # + LDFLAGS="-Wl,-search_paths_first $LDFLAGS" + AC_MSG_RESULT([Apple linker - added -Wl,-single_module and -Wl,-search_paths_first]) + ;; +cygwin*) + # + # Shared libraries in cygwin/Win32 must never contain + # undefined symbols. + # + LDFLAGS="$LDFLAGS -no-undefined" + AC_MSG_RESULT(CygWin GNU ld - added -no-undefined) + ;; +*) + AC_MSG_RESULT(none needed) + ;; +esac +AC_SUBST(LDFLAGS_SHAREDLIB) + +# +# On OS X, if we find the headers for Core Foundation, Launch Services, +# and Core Services, add -framework options to link with Application +# Services (of which Launch Services is a subframework), Core Foundation +# (required by the Launch Services APIs), and Core Services, so we can +# use them to launch a Web browser from the Help menu and to use +# Gestalt() to get the Mac OS X version number. +# +case "$host_os" in + +darwin*) + AC_MSG_CHECKING([whether we can build with Core Foundation, Launch Services, and Core Services]) + ac_save_LIBS="$LIBS" + ac_frameworks="-framework ApplicationServices -framework CoreFoundation -framework CoreServices" + LIBS="$LIBS $ac_frameworks" + AC_TRY_LINK( + [ +# include +# include +# include +# include +# include + ], + [ + CFStringRef url_CFString; + CFURLRef url_CFURL; + OSStatus status; + long os_version; + + url_CFString = CFStringCreateWithCString(NULL, "", kCFStringEncodingASCII); + url_CFURL = CFURLCreateWithString(NULL, url_CFString, NULL); + status = LSOpenCFURLRef(url_CFURL, NULL); + + Gestalt(gestaltSystemVersion, &os_version); + ], + ac_cv_can_use_osx_frameworks=yes, + ac_cv_can_use_osx_frameworks=no, + [echo $ac_n "cross compiling; assumed OK... $ac_c"]) + if test "$ac_cv_can_use_osx_frameworks" = yes ; then + AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks]) + FRAMEWORKS="$ac_frameworks" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + LIBS="$ac_save_LIBS" + ;; +esac +AC_SUBST(FRAMEWORKS) + +# +# If using $prefix we add "$prefix/include" to the include search path +# and "$prefix/lib" to the library search path. +# +if test "x$prefix" != "x" ; then + AC_MSG_CHECKING(whether to use $prefix for headers and libraries) + if test -d $prefix/include ; then + AC_MSG_RESULT(yes) + # + # Arrange that we search for header files in "$prefix/include", as + # various packages we use may have been installed under "$prefix/include". + # + CFLAGS="$CFLAGS -I$prefix/include" + CPPFLAGS="$CPPFLAGS -I$prefix/include" + + # + # Arrange that we search for libraries in "$prefix/lib". + # + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib) + else + AC_MSG_RESULT(no) + fi +fi + +dnl Look in /usr/local for header files and libraries ? +dnl XXX FIXME don't include /usr/local if it is already in the system +dnl search path as this causes gcc 3.2 on Linux to complain about a change +dnl of the system search order for includes +AC_ARG_ENABLE(usr-local, + AC_HELP_STRING( [--enable-usr-local], + [look for headers and libs in /usr/local tree. @<:@default=yes@:>@]), + ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes) + +AC_MSG_CHECKING(whether to use /usr/local for headers and libraries) +if test "x$ac_cv_enable_usr_local" = "xyes" ; then + AC_MSG_RESULT(yes) + # + # Arrange that we search for header files in the source directory + # and in its "wiretap" subdirectory, as well as in "/usr/local/include", + # as various packages we use ("libpcap", "zlib", "adns", "pcre") + # may have been installed under "/usr/local/include". + # + CFLAGS="$CFLAGS -I/usr/local/include" + CPPFLAGS="$CPPFLAGS -I/usr/local/include" + + # + # Arrange that we search for libraries in "/usr/local/lib". + # + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib) +else + AC_MSG_RESULT(no) +fi + +# +# If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a +# link directory. +# +case "$host_os" in + solaris*) + AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris) + if test x$LD_LIBRARY_PATH != x ; then + LIBS="$LIBS -R$LD_LIBRARY_PATH" + AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path) + else + AC_MSG_RESULT(no -- this may be a problem in a few seconds) + fi + ;; +esac + +# +# Check for versions of "sed" inadequate to handle, in libtool, a list +# of object files as large as the list in Wireshark. +# +# On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed", +# as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a +# symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in +# their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed" +# is the only "sed" that comes with Solaris that can handle Wireshark. +# +# Add any checks here that are necessary for other OSes. +# +AC_WIRESHARK_GNU_SED_CHECK +if test "$HAVE_GNU_SED" = no ; then + case "$host_os" in + solaris*) + AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used) + case `which sed` in + /bin/sed|/usr/bin/sed|/usr/ucb/sed) + AC_MSG_RESULT(yes) + AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)]) + ;; + + *) + AC_MSG_RESULT(no) + ;; + esac + ;; + + *) + : + ;; + esac +fi + +# Enable/disable tshark + +AC_ARG_ENABLE(wireshark, + AC_HELP_STRING( [--enable-wireshark], + [build GTK+-based wireshark. @<:@default=yes, if GTK+ available@:>@]), + enable_wireshark=$enableval,enable_wireshark=yes) + +AC_ARG_ENABLE(threads, + AC_HELP_STRING( [--enable-threads], + [use threads in wireshark. @<:@default=no@:>@]), + enable_threads=$enableval,enable_threads=no) +AM_CONDITIONAL(USE_THREADS, test x$enable_threads = xyes) + +AC_ARG_ENABLE(profile-build, + AC_HELP_STRING( [--enable-profile-build], + [build profile-ready binaries. @<:@default=no@:>@]), + enable_profile_build=$enableval,enable_profile_build=no) +AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes) +AC_MSG_CHECKING(if profile builds must be generated) +if test "x$enable_profile_build" = "xyes" ; then + if test "x$GCC" = "xyes" ; then + AC_MSG_RESULT(yes) + CFLAGS=" -pg $CFLAGS" + else + AC_MSG_RESULT(no) + echo "Building profile binaries currently only supported for GCC." + fi +else + AC_MSG_RESULT(no) +fi + +# Create DATAFILE_DIR #define for config.h +datafiledir=$datadir/wireshark +datafiledir=`( + test "x$prefix" = xNONE && prefix=$ac_default_prefix + test "x$exec_prefix" = xNONE && exec_prefix=${prefix} + # Ugly hack, but I don't see how this problem can be solved + # properly that DATAFILE_DIR had a value starting with + # "${prefix}/" instead of e.g. "/usr/local/" + eval eval echo "$datafiledir" +)` +AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data]) + +# GTK checks; we require GTK+ 2.4 or later. +# We don't add $GLIB_LIBS to LIBS, because we don't want to force all +# programs to be built with GTK+. +# +if test "x$enable_wireshark" = "xyes"; then + AM_PATH_GTK_2_0(2.4.0, CFLAGS="$CFLAGS $GTK_CFLAGS", GTK_OK=no, gthread) +else + GTK_OK=no +fi + +# GLib checks +# This doesn't add GLIB_CFLAGS to CFLAGS, because AM_PATH_GTK will add +# GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a superset of CFLAGS. +# However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be +# set when generating the Makefile, so we can make programs that require +# only GLib link with @GLIB_LIBS@ and make programs that require GTK+ +# link with @GTK_LIBS@ (which includes @GLIB_LIBS@). +# We don't add $GLIB_LIBS to LIBS, because we don't want to force all +# programs to be built with GLib. +# +if test "$GTK_OK" = "no" ; then + # + # We don't have GTK+. + # If they didn't explicitly say "--disable-wireshark", fail (so + # that, unless they explicitly indicated that they don't want + # Wireshark, we stop so they know they won't be getting + # Wireshark unless they fix the GTK+ problem). + # + if test "x$enable_wireshark" = "xyes"; then + AC_MSG_ERROR([GTK+ 2.4 or later isn't available, so Wireshark can't be compiled]) + fi + wireshark_bin="" + wireshark_man="" + # Honor GLIB_CFLAGS + AM_PATH_GLIB_2_0(2.4.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule) + +else + wireshark_bin="wireshark\$(EXEEXT)" + wireshark_man="wireshark.1" + wireshark_SUBDIRS="codecs gtk" + # Honor GLIB_CFLAGS + AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule) +fi + +# +# Check whether GLib modules are supported, to determine whether we +# can support plugins. +# +AC_MSG_CHECKING(whether GLib supports loadable modules) +ac_save_CFLAGS="$CFLAGS" +ac_save_LIBS="$LIBS" +CFLAGS="$CFLAGS $GLIB_CFLAGS" +LIBS="$GLIB_LIBS $LIBS" +AC_TRY_RUN([ +#include +#include +#include +#include + +int +main () +{ + if (g_module_supported()) + return 0; /* success */ + else + return 1; /* failure */ +} +], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no, + [echo $ac_n "cross compiling; assumed OK... $ac_c" + ac_cv_glib_supports_modules=yes]) +CFLAGS="$ac_save_CFLAGS" +LIBS="$ac_save_LIBS" +if test "$ac_cv_glib_supports_modules" = yes ; then + AC_MSG_RESULT(yes) + have_plugins=yes +else + AC_MSG_RESULT(no) + have_plugins=no +fi + +# +# If we have , check whether we can use dladdr to find a +# filename (hopefully, a full pathname, but no guarantees) for +# the executable. +# +if test "$ac_cv_header_dlfcn_h" = "yes" +then + AC_MSG_CHECKING(whether dladdr can be used to find the pathname of an executable) + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GLIB_CFLAGS" + LIBS="$GLIB_LIBS $LIBS" + AC_TRY_RUN([ +#define _GNU_SOURCE /* required on Linux, sigh */ +#include + +int +main(void) +{ + Dl_info info; + + if (!dladdr((void *)main, &info)) + return 1; /* failure */ + return 0; /* assume success */ +} +], ac_cv_dladdr_finds_executable_path=yes, ac_cv_dladdr_finds_executable_path=no, + [echo $ac_n "cross compiling; assumed OK... $ac_c" + ac_cv_dladdr_finds_executable_path=yes]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + if test x$ac_cv_dladdr_finds_executable_path = xyes + then + AC_DEFINE(DLADDR_FINDS_EXECUTABLE_PATH, 1, [Define if dladdr can be used to find the path of the executable]) + fi + AC_MSG_RESULT($ac_cv_dladdr_finds_executable_path) +fi + +dnl IGE Mac integration check +AC_MSG_CHECKING(whether to use IGE Mac integration functions) + +AC_ARG_WITH(ige-mac-integration, + AC_HELP_STRING( [--with-ige-mac-integration], + [use IGE Mac integration. (@<:@default=yes, if available@:>@]), +[ + if test $withval = no + then + want_ige_mac_integration=no + else + want_ige_mac_integration=yes + fi +],[ + want_ige_mac_integration=yes +]) +if test "x$want_ige_mac_integration" = "xno" -o "x$no_gtk" = "xyes" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_IGE_MAC_INTEGRATION_CHECK +fi + + +AC_SUBST(wireshark_bin) +AC_SUBST(wireshark_man) + + +# Enable/disable tshark + +AC_ARG_ENABLE(tshark, + AC_HELP_STRING( [--enable-tshark], + [build tshark. @<:@default=yes@:>@]), + tshark=$enableval,enable_tshark=yes) + +if test "x$enable_tshark" = "xyes" ; then + tshark_bin="tshark\$(EXEEXT)" + tshark_man="tshark.1" + wiresharkfilter_man="wireshark-filter.4" +else + tshark_bin="" + tshark_man="" +fi +AC_SUBST(tshark_bin) +AC_SUBST(tshark_man) +AC_SUBST(wiresharkfilter_man) + + + +# Enable/disable editcap + +AC_ARG_ENABLE(editcap, + AC_HELP_STRING( [--enable-editcap], + [build editcap. @<:@default=yes@:>@]), + enable_editcap=$enableval,enable_editcap=yes) + +if test "x$enable_editcap" = "xyes" ; then + editcap_bin="editcap\$(EXEEXT)" + editcap_man="editcap.1" +else + editcap_bin="" + editcap_man="" +fi +AC_SUBST(editcap_bin) +AC_SUBST(editcap_man) + +# Enabling/disabling of dumpcap is done later (after we know if we have PCAP +# or not) + +# Enable/disable capinfos + +AC_ARG_ENABLE(capinfos, + AC_HELP_STRING( [--enable-capinfos], + [build capinfos. @<:@default=yes@:>@]), + enable_capinfos=$enableval,enable_capinfos=yes) + +if test "x$enable_capinfos" = "xyes" ; then + capinfos_bin="capinfos\$(EXEEXT)" + capinfos_man="capinfos.1" +else + capinfos_bin="" + capinfos_man="" +fi +AC_SUBST(capinfos_bin) +AC_SUBST(capinfos_man) + + +# Enable/disable mergecap + +AC_ARG_ENABLE(mergecap, + AC_HELP_STRING( [--enable-mergecap], + [build mergecap. @<:@default=yes@:>@]), + enable_mergecap=$enableval,enable_mergecap=yes) + +if test "x$enable_mergecap" = "xyes" ; then + mergecap_bin="mergecap\$(EXEEXT)" + mergecap_man="mergecap.1" +else + mergecap_bin="" + mergecap_man="" +fi +AC_SUBST(mergecap_bin) +AC_SUBST(mergecap_man) + + +# Enable/disable text2pcap + +AC_ARG_ENABLE(text2pcap, + AC_HELP_STRING( [--enable-text2pcap], + [build text2pcap. @<:@default=yes@:>@]), + text2pcap=$enableval,enable_text2pcap=yes) + +if test "x$enable_text2pcap" = "xyes" ; then + text2pcap_bin="text2pcap\$(EXEEXT)" + text2pcap_man="text2pcap.1" +else + text2pcap_bin="" + text2pcap_man="" +fi +AC_SUBST(text2pcap_bin) +AC_SUBST(text2pcap_man) + +# Enable/disable idl2wrs + +AC_ARG_ENABLE(idl2wrs, + AC_HELP_STRING( [--enable-idl2wrs], + [build idl2wrs. @<:@default=yes@:>@]), + enable_idl2wrs=$enableval,enable_idl2wrs=yes) + +if test "x$enable_idl2wrs" = "xyes" ; then + idl2wrs_bin="idl2wrs" + idl2wrs_man="idl2wrs.1" +else + idl2wrs_bin="" + idl2wrs_man="" +fi +AC_SUBST(idl2wrs_bin) +AC_SUBST(idl2wrs_man) + + +# Enable/disable dftest + +AC_ARG_ENABLE(dftest, + AC_HELP_STRING( [--enable-dftest], + [build dftest. @<:@default=yes@:>@]), + enable_dftest=$enableval,enable_dftest=yes) + +if test "x$enable_dftest" = "xyes" ; then + dftest_bin="dftest\$(EXEEXT)" +else + dftest_bin="" +fi +AC_SUBST(dftest_bin) + + +# Enable/disable randpkt + +AC_ARG_ENABLE(randpkt, + AC_HELP_STRING( [--enable-randpkt], + [build randpkt. @<:@default=yes@:>@]), + enable_randpkt=$enableval,enable_randpkt=yes) + +if test "x$enable_randpkt" = "xyes" ; then + randpkt_bin="randpkt\$(EXEEXT)" +else + randpkt_bin="" +fi +AC_SUBST(randpkt_bin) + + + +dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get +dnl "gethostbyname()". +AC_WIRESHARK_GETHOSTBY_LIB_CHECK + +dnl Checks for "connect()", used as a proxy for "socket()" - and +dnl "-lsocket", if we need it to get "connect()". +AC_WIRESHARK_SOCKET_LIB_CHECK + +dnl pcap check +AC_MSG_CHECKING(whether to use libpcap for packet capture) + +AC_ARG_WITH(pcap, + AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@], + [use libpcap for packet capturing. @<:@default=yes@:>@]), +[ + if test $withval = no + then + want_pcap=no + elif test $withval = yes + then + want_pcap=yes + else + want_pcap=yes + pcap_dir=$withval + fi +],[ + want_pcap=yes + pcap_dir= +]) +if test "x$want_pcap" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_PCAP_CHECK +fi + +# Enable/disable dumpcap + +dnl dumpcap check +AC_MSG_CHECKING(whether to build dumpcap) + +AC_ARG_ENABLE(dumpcap, + AC_HELP_STRING( [--enable-dumpcap], + [build dumpcap. @<:@default=yes@:>@]), + enable_dumpcap=$enableval,enable_dumpcap=yes) + +if test "x$enable_dumpcap" = "xyes" ; then + if test "x$want_pcap" = "xno" ; then + enable_dumpcap=no + AC_MSG_RESULT(pcap not available - disabling dumpcap) + else + AC_MSG_RESULT(yes) + fi +else + AC_MSG_RESULT(no) +fi + +if test "x$enable_dumpcap" = "xyes" ; then + dumpcap_bin="dumpcap\$(EXEEXT)" + dumpcap_man="dumpcap.1" +else + dumpcap_bin="" + dumpcap_man="" +fi +AC_SUBST(dumpcap_bin) +AC_SUBST(dumpcap_man) + +# Enable/disable rawshark + +dnl rawshark check +AC_MSG_CHECKING(whether to build rawshark) + +AC_ARG_ENABLE(rawshark, + AC_HELP_STRING( [--enable-rawshark], + [build rawshark. @<:@default=yes@:>@]), + rawshark=$enableval,enable_rawshark=yes) + +if test "x$enable_rawshark" = "xyes" ; then + if test "x$want_pcap" = "xno" ; then + enable_rawshark=no + AC_MSG_RESULT(pcap not available - disabling rawshark) + else + AC_MSG_RESULT(yes) + fi +else + AC_MSG_RESULT(no) +fi + +if test "x$enable_rawshark" = "xyes" ; then + rawshark_bin="rawshark\$(EXEEXT)" + rawshark_man="rawshark.1" +else + rawshark_bin="" + rawshark_man="" +fi +AC_SUBST(rawshark_bin) +AC_SUBST(rawshark_man) + + +dnl pcap remote check +AC_MSG_CHECKING(whether to use libpcap remote capturing feature) + +AC_ARG_WITH(pcap-remote, +[ --with-pcap-remote use libpcap remote capturing (requires libpcap)], +[ + if test $withval = no + then + want_pcap_remote=no + else + want_pcap_remote=yes + fi +],[ + want_pcap_remote=no +]) +if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_PCAP_REMOTE_CHECK +fi + +dnl zlib check +AC_MSG_CHECKING(whether to use zlib for reading compressed capture files) + +AC_ARG_WITH(zlib, + AC_HELP_STRING( [--with-zlib@<:@=DIR@:>@], + [use zlib (located in directory DIR, if supplied) to read compressed data. @<:@default=yes, if available@:>@]), +[ + if test $withval = no + then + want_zlib=no + elif test $withval = yes + then + want_zlib=yes + else + want_zlib=yes + zlib_dir=$withval + fi +],[ + # + # Use zlib if it's present, otherwise don't. + # + want_zlib=ifavailable + zlib_dir= +]) +if test "x$want_zlib" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_ZLIB_CHECK + if test "x$want_zlib" = "xno" ; then + AC_MSG_RESULT(zlib not found - disabling compressed capture file support) + fi +fi + + +dnl pcre check +AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters) + +AC_ARG_WITH(pcre, + AC_HELP_STRING( [--with-pcre@<:@=DIR@:>@], + [use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions. @<:@default=yes, if available@:>@]), +[ + if test $withval = no + then + want_pcre=no + elif test $withval = yes + then + want_pcre=yes + else + want_pcre=yes + pcre_dir=$withval + fi +],[ + # + # Use libpcre if it's present, otherwise don't. + # XXX - Should GLib 2.14 take precedence here? + # + want_pcre=ifavailable + pcre_dir= +]) +if test "x$want_pcre" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_LIBPCRE_CHECK + if test "x$want_pcre" = "xno" ; then + AC_MSG_RESULT(libpcre not found - disabling support for perl compatible regular expressions in dfilters) + fi +fi + + +dnl lua check +AC_MSG_CHECKING(whether to use liblua for the lua scripting plugin) + +AC_ARG_WITH(lua, + AC_HELP_STRING( [--with-lua@<:@=DIR@:>@], + [use liblua (located in directory DIR, if supplied) for the lua scripting plugin. @<:@default=yes, if available@:>@]), +[ + if test $withval = no + then + want_lua=no + elif test $withval = yes + then + want_lua=yes + else + want_lua=yes + lua_dir=$withval + fi +],[ + # + # Use liblua by default + # + want_lua=ifavailable + lua_dir= +]) +if test "x$want_lua" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_LIBLUA_CHECK + if test "x$want_lua" = "xno" ; then + AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin) + fi +fi +AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes) + + +dnl portaudio check +AC_MSG_CHECKING(whether to use libportaudio for the rtp_player) + +AC_ARG_WITH(portaudio, + AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@], + [use libportaudio (located in directory DIR, if supplied) for the rtp_player. @<:@default=yes, if available@:>@]), +[ + if test $withval = no + then + want_portaudio=no + elif test $withval = yes + then + want_portaudio=yes + else + want_portaudio=yes + portaudio_dir=$withval + fi +],[ + # + # Use libportaudio by default + # + want_portaudio=ifavailable + portaudio_dir= +]) +if test "x$want_portaudio" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_LIBPORTAUDIO_CHECK + if test "x$want_portaudio" = "xno" ; then + AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player) + fi +fi +AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes) + + +dnl ipv6 check +AC_ARG_ENABLE(ipv6, + AC_HELP_STRING( [--enable-ipv6], + [use ipv6 name resolution, if available. @<:@default=yes@:>@]), + enable_ipv6=$enableval,enable_ipv6=yes) + +AC_MSG_CHECKING(whether to enable ipv6 name resolution if available) +if test "x$enable_ipv6" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_IPV6_STACK +fi + + +dnl Check if dumpcap should be installed setuid +AC_ARG_ENABLE(setuid-install, + AC_HELP_STRING( [--enable-setuid-install], + [install dumpcap as setuid @<:@default=no@:>@]), + enable_setuid_install=$enableval,enable_setuid_install=no) + +AC_MSG_CHECKING(whether to install dumpcap setuid) +if test "x$enable_setuid_install" = "xno" ; then + AC_MSG_RESULT(no) +else + if test "x$enable_dumpcap" = "xno" ; then + AC_MSG_ERROR(Setuid install works only with dumpcap but dumpcap is disabled) + else + AC_MSG_RESULT(yes) + fi +fi + +AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes) +AC_CHECK_FUNCS(setresuid setresgid) + +dnl libcap (not libpcap) check +LIBCAP_LIBS='' +AC_MSG_CHECKING(whether to use the libcap capabilities library) + +AC_ARG_WITH(libcap, + AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@], + [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management. @<:@default=yes, if present@:>@]), +[ +if test "x$withval" = "xno"; then + want_libcap=no +elif test "x$withval" = "xyes"; then + want_libcap=yes +elif test -d "$withval"; then + want_libcap=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +]) +if test "x$with_libcap" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_LIBCAP_CHECK +fi +AC_SUBST(LIBCAP_LIBS) + +dnl Checks for header files. +AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h) +AC_CHECK_HEADERS(sys/ioctl.h sys/param.h sys/socket.h sys/sockio.h sys/stat.h sys/time.h sys/types.h sys/utsname.h sys/wait.h) +AC_CHECK_HEADERS(netinet/in.h) +AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h) + +dnl SSL Check +SSL_LIBS='' +AC_MSG_CHECKING(whether to use SSL library) + +AC_ARG_WITH(ssl, + AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@], + [use SSL crypto library (located in directory DIR, if supplied). @<:@default=no@:>@]), +[ +if test "x$withval" = "xno"; then + want_ssl=no +elif test "x$withval" = "xyes"; then + want_ssl=yes +elif test -d "$withval"; then + want_ssl=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +],[ + want_ssl=no +]) +if test "x$want_ssl" = "xyes"; then + AC_MSG_RESULT(yes) + AC_CHECK_LIB(crypto,EVP_md5, + [ + SSL_LIBS=-lcrypto + ], + [ + AC_MSG_ERROR([SSL crypto library was requested, but is not available]) + ]) +else + AC_MSG_RESULT(no) +fi +AC_SUBST(SSL_LIBS) + +dnl kerberos check +AC_MSG_CHECKING(whether to use kerberos) + +AC_ARG_WITH(krb5, + AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@], + [use kerberos (located in directory DIR, if supplied) to use in kerberos dissection @<:@default=yes@:>@]), +[ + if test $withval = no + then + want_krb5=no + elif test $withval = yes + then + want_krb5=yes + else + want_krb5=yes + krb5_dir=$withval + fi +],[ + # + # Use kerberos if specified, otherwise don't. + # + want_krb5=ifavailable + krb5_dir= +]) +if test "x$want_krb5" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_KRB5_CHECK +fi + + +dnl c-ares Check +C_ARES_LIBS='' +AC_MSG_CHECKING(whether to use the c-ares library if available) + +AC_ARG_WITH(c-ares, + AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@], + [use c-ares (located in directory DIR, if supplied). Supersedes --with-adns. @<:@default=yes, if present@:>@]), +[ +if test "x$withval" = "xno"; then + want_c_ares=no +elif test "x$withval" = "xyes"; then + want_c_ares=yes +elif test -d "$withval"; then + want_c_ares=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +]) +if test "x$want_c_ares" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_C_ARES_CHECK +fi +AC_SUBST(C_ARES_LIBS) + +dnl ADNS Check +ADNS_LIBS='' +AC_MSG_CHECKING(whether to use the GNU ADNS library if available) + +AC_ARG_WITH(adns, + AC_HELP_STRING( [--with-adns@<:@=DIR@:>@], + [use GNU ADNS (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]), +[ +if test "x$withval" = "xno"; then + want_adns=no +elif test "x$withval" = "xyes"; then + want_adns=yes +elif test -d "$withval"; then + want_adns=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +]) +if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_ADNS_CHECK +fi +AC_SUBST(ADNS_LIBS) + +dnl GEOIP Check +GEOIP_LIBS='' +AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available) + +AC_ARG_WITH(geoip, + AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@], + [use GeoIP (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]), +[ +if test "x$withval" = "xno"; then + want_geoip=no +elif test "x$withval" = "xyes"; then + want_geoip=yes +elif test -d "$withval"; then + want_geoip=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +]) +if test "x$want_geoip" = "xno"; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_GEOIP_CHECK +fi +AC_SUBST(GEOIP_LIBS) + +# +# Define WS_VAR_IMPORT appropriately for declarations of external +# variables exported from dynamically-linked libraries. +# +AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries]) + +AC_ARG_ENABLE(airpcap, + AC_HELP_STRING( [--enable-airpcap], + [use airpcap in wireshark. @<:@default=no@:>@]), + enable_airpcap=$enableval + if test x$enable_airpcap != xno; then + AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap]) + fi +) +# +# Define HAVE_AIRPDCAP +# We'll want to remove this eventually. +# +AC_DEFINE(HAVE_AIRPDCAP, 1, [Enable AirPDcap (WPA/WPA2 decryption)]) + +dnl Checks for typedefs, structures, and compiler characteristics. +# AC_C_CONST + +# We need to know whether "struct sockaddr" has an "sa_len" member +# for get_interface_list(). + +AC_WIRESHARK_STRUCT_SA_LEN + +# We must know our byte order +AC_C_BIGENDIAN + +# Checks whether "-traditional" is needed when using "ioctl". +# XXX - do we need this? +AC_PROG_GCC_TRADITIONAL + +GETOPT_C="" +GETOPT_O="" +AC_CHECK_FUNC(getopt, GETOPT_O="", + [GETOPT_O="getopt.o" + AC_DEFINE(NEED_GETOPT_H, 1, [Define if getopt.h needs to be included]) +]) +if test "$ac_cv_func_getopt" = no ; then + GETOPT_C="getopt.c" + GETOPT_O="getopt.o" +fi +AC_SUBST(GETOPT_C) +AC_SUBST(GETOPT_O) + +AC_CHECK_FUNC(strerror, STRERROR_O="", + [STRERROR_O="strerror.o" + AC_DEFINE(NEED_STRERROR_H, 1, [Define if strerror.h needs to be included]) +]) +if test "$ac_cv_func_strerror" = no ; then + STRERROR_C="strerror.c" + STRERROR_O="strerror.o" +fi +AC_SUBST(STRERROR_C) +AC_SUBST(STRERROR_O) + +AC_CHECK_FUNC(strcasecmp, STRCASECMP_O="", + STRCASECMP_O="strcasecmp.o") +if test "$ac_cv_func_strcasecmp" = no ; then + STRCASECMP_C="strcasecmp.c" + STRCASECMP_O="strcasecmp.o" +fi +AC_SUBST(STRCASECMP_C) +AC_SUBST(STRCASECMP_O) + +AC_CHECK_FUNC(strncasecmp, STRNCASECMP_O="", + STRNCASECMP_O="strncasecmp.o") +if test "$ac_cv_func_strncasecmp" = no ; then + STRNCASECMP_C="strncasecmp.c" + STRNCASECMP_O="strncasecmp.o" +fi +AC_SUBST(STRNCASECMP_C) +AC_SUBST(STRNCASECMP_O) + +AC_CHECK_FUNCS(mkstemp mkdtemp) + +# +# XXX - if inet_aton isn't found, the build fails, with a complaint from +# libtool about inet_aton.lo not being a valid libtool object. We +# probably have to handle it - and all the other replacement functions that +# get built into libwireshark - differently. +# +AC_SEARCH_LIBS(inet_aton, [socket nsl], have_inet_aton=yes, + have_inet_aton=no) +if test "$have_inet_aton" = no; then + INET_ATON_C="inet_aton.c" + INET_ATON_O="inet_aton.o" + INET_ATON_LO="inet_aton.lo" + AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included]) +else + INET_ATON_C="" + INET_ATON_O="" + INET_ATON_LO="" +fi +AC_SUBST(INET_ATON_C) +AC_SUBST(INET_ATON_O) +AC_SUBST(INET_ATON_LO) + +AC_SEARCH_LIBS(inet_pton, [socket nsl], [ + dnl check for pre-BIND82 inet_pton() bug. + AC_MSG_CHECKING(for broken inet_pton) + AC_TRY_RUN([#include +#include +#include +#include +int main() +{ +#ifdef AF_INET6 + char buf[16]; + /* this should return 0 (error) */ + return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf); +#else + return 1; +#endif +}], [AC_MSG_RESULT(ok); +have_inet_pton=yes], [AC_MSG_RESULT(broken); +have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken); +have_inet_pton=no])], +have_inet_pton=no) +if test "$have_inet_pton" = no; then + INET_PTON_C="inet_pton.c" + INET_PTON_O="inet_pton.o" + INET_PTON_LO="inet_pton.lo" +else + INET_PTON_C="" + INET_PTON_O="" + INET_PTON_LO="" +fi +AC_SUBST(INET_PTON_C) +AC_SUBST(INET_PTON_O) +AC_SUBST(INET_PTON_LO) + +AC_SEARCH_LIBS(inet_ntop, [socket nsl], [ + AC_MSG_CHECKING([for inet_ntop prototype]) + AC_TRY_COMPILE([#include +#include +#include +#include +#include + +extern const char *inet_ntop(int, const void *, char *, size_t);],, [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_INET_NTOP_PROTO, 1, + [Define if inet_ntop() prototype exists])], [ + AC_TRY_COMPILE([#include +#include +#include +#include +#include + +extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_INET_NTOP_PROTO, 1, + [Define if inet_ntop() prototype exists])], [ + AC_MSG_RESULT(no)])]) + INET_NTOP_O="" + INET_NTOP_LO=""], [ + INET_NTOP_C="inet_ntop.c" + INET_NTOP_O="inet_ntop.o" + INET_NTOP_LO="inet_ntop.lo" + AC_DEFINE(NEED_INET_V6DEFS_H, 1, + [Define if inet/v6defs.h needs to be included])]) +AC_SUBST(INET_NTOP_C) +AC_SUBST(INET_NTOP_O) +AC_SUBST(INET_NTOP_LO) + +AC_CHECK_FUNC(strptime, STRPTIME_O="", + [STRPTIME_O="strptime.o" + AC_DEFINE(NEED_STRPTIME_H, 1, [Define if strptime.h needs to be included]) +]) +if test "$ac_cv_func_strptime" = no ; then + STRPTIME_C="strptime.c" + STRPTIME_O="strptime.o" +fi +AC_SUBST(STRPTIME_C) +AC_SUBST(STRPTIME_O) + +AC_CHECK_FUNCS(getprotobynumber gethostbyname2) +AC_CHECK_FUNCS(issetugid) +AC_CHECK_FUNCS(mmap mprotect sysconf) + +dnl blank for now, but will be used in future +AC_SUBST(wireshark_SUBDIRS) + +dnl +dnl check whether plugins should be enabled and, if they should be, +dnl check for plugins directory - stolen from Amanda's configure.in +dnl +dnl we don't wish to expand ${libdir} yet +plugindir='${libdir}/wireshark/plugins/${VERSION}' +AC_ARG_WITH(plugins, + AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@], + [support plugins (installed in DIR, if supplied). @<:@default=yes, if possible@:>@]), +[ + if test "x$withval" = "xno"; then + have_plugins=no + elif test "x$have_plugins" = "xno"; then + AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.]) + elif test "x$withval" != "xyes"; then + plugindir="$withval" + fi +]) +AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes") +if test x$have_plugins = xyes +then + AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled]) +fi +AC_SUBST(plugindir) +CPPFLAGS="$CPPFLAGS '-DPLUGIN_DIR=\"\$(plugindir)\"'" + +# +# The plugin dissectors reside in ./plugins/PROTO/ +# +PLUGIN_LIBS="" +AC_SUBST(PLUGIN_LIBS) + +dnl libtool defs +# +# Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s) +# (autoconf? automake? libtool?) - with the newer version(s), it's +# just an alias for AC_PROG_LIBTOOL, which is called earlier. +# +# With older version(s) of those tool(s), however, it's not just an +# alias, and the configure scripts don't work without it. +# +AM_PROG_LIBTOOL +AC_SUBST(LIBTOOL_DEPS) + +AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes) +if test x$enable_static = xyes -a x$have_plugins = xyes +then + AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark]) +fi +AC_SUBST(ENABLE_STATIC) + +dnl Save the cacheable configure results to config.cache before recursing +AC_CACHE_SAVE + +sinclude(plugins/Custom.m4) dnl +ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl + +AM_CONFIG_HEADER(config.h) +AC_OUTPUT( + Makefile + doxygen.cfg + asn1/Makefile + asn1/acp133/Makefile + asn1/acse/Makefile + asn1/ansi_map/Makefile + asn1/ansi-tcap/Makefile + asn1/camel/Makefile + asn1/cdt/Makefile + asn1/charging_ase/Makefile + asn1/cmip/Makefile + asn1/cms/Makefile + asn1/dap/Makefile + asn1/disp/Makefile + asn1/dop/Makefile + asn1/dsp/Makefile + asn1/ess/Makefile + asn1/ftam/Makefile + asn1/gnm/Makefile + asn1/goose/Makefile + asn1/gsmmap/Makefile + asn1/h225/Makefile + asn1/h235/Makefile + asn1/h245/Makefile + asn1/h248/Makefile + asn1/h282/Makefile + asn1/h283/Makefile + asn1/h323/Makefile + asn1/h450/Makefile + asn1/h450-ros/Makefile + asn1/h460/Makefile + asn1/h501/Makefile + asn1/inap/Makefile + asn1/ldap/Makefile + asn1/logotype-cert-extn/Makefile + asn1/lte-rrc/Makefile + asn1/mms/Makefile + asn1/mpeg-audio/Makefile + asn1/mpeg-pes/Makefile + asn1/nbap/Makefile + asn1/ns-cert-exts/Makefile + asn1/ocsp/Makefile + asn1/p7/Makefile + asn1/pcap/Makefile + asn1/pkcs1/Makefile + asn1/pkcs12/Makefile + asn1/pkinit/Makefile + asn1/pkix1explicit/Makefile + asn1/pkix1implicit/Makefile + asn1/pkixcmp/Makefile + asn1/pkixcrmf/Makefile + asn1/pkixproxy/Makefile + asn1/pkixqualified/Makefile + asn1/pkixtsp/Makefile + asn1/pres/Makefile + asn1/q932/Makefile + asn1/q932-ros/Makefile + asn1/qsig/Makefile + asn1/ranap/Makefile + asn1/rnsap/Makefile + asn1/ros/Makefile + asn1/rrc/Makefile + asn1/rrlp/Makefile + asn1/rtse/Makefile + asn1/s1ap/Makefile + asn1/s4406/Makefile + asn1/sabp/Makefile + asn1/smrse/Makefile + asn1/snmp/Makefile + asn1/spnego/Makefile + asn1/t125/Makefile + asn1/t38/Makefile + asn1/tcap/Makefile + asn1/ulp/Makefile + asn1/wlancertextn/Makefile + asn1/x2ap/Makefile + asn1/x411/Makefile + asn1/x420/Makefile + asn1/x509af/Makefile + asn1/x509ce/Makefile + asn1/x509if/Makefile + asn1/x509sat/Makefile + asn1/x721/Makefile + doc/Makefile + epan/Makefile + epan/crc/Makefile + epan/crypt/Makefile + epan/doxygen.cfg + epan/dfilter/Makefile + epan/dissectors/Makefile + epan/ftypes/Makefile + epan/wslua/Makefile + codecs/Makefile + gtk/Makefile + gtk/doxygen.cfg + help/Makefile + packaging/Makefile + packaging/macosx/Info.plist + packaging/macosx/Makefile + packaging/nsis/Makefile + packaging/rpm/Makefile + packaging/rpm/SPECS/Makefile + packaging/rpm/SPECS/wireshark.spec + packaging/svr4/Makefile + packaging/svr4/checkinstall + packaging/svr4/pkginfo + plugins/Makefile + plugins/asn1/Makefile + plugins/docsis/Makefile + plugins/ethercat/Makefile + plugins/giop/Makefile + plugins/gryphon/Makefile + plugins/irda/Makefile + plugins/m2m/Makefile + plugins/mate/Makefile + plugins/opcua/Makefile + plugins/profinet/Makefile + plugins/sercosiii/Makefile + plugins/stats_tree/Makefile + plugins/unistim/Makefile + plugins/wimax/Makefile + plugins/wimaxasncp/Makefile + tools/Makefile + tools/idl2wrs.sh + tools/lemon/Makefile + wiretap/Makefile + wsutil/Makefile + _CUSTOM_AC_OUTPUT_ + ,) +dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl]) + + + +# Pretty messages + +if test "x$enable_setuid_install" = "xyes" ; then + setuid_message="yes" +else + setuid_message="no" +fi + +if test "x$want_zlib" = "xno" ; then + zlib_message="no" +else + zlib_message="yes" +fi + +if test "x$want_pcre" = "xno" ; then + pcre_message="no" +else + pcre_message="yes" +fi + +if test "x$want_lua" = "xyes" ; then + lua_message="yes" +else + lua_message="no" +fi + +if test "x$want_portaudio" = "xyes" ; then + portaudio_message="yes" +else + portaudio_message="no" +fi + +if test "x$want_ssl" = "xno" ; then + ssl_message="no" +else + ssl_message="yes" +fi + +if test "x$want_krb5" = "xno" ; then + krb5_message="no" +else + krb5_message="yes ($ac_krb5_version)" +fi + +if test "x$have_good_c_ares" = "xyes" ; then + c_ares_message="yes" +else + c_ares_message="no" +fi + +if test "x$have_good_adns" = "xyes" ; then + adns_message="yes" +else + adns_message="no" +fi + +if test "x$have_good_libcap" = "xyes" ; then + libcap_message="yes" +else + libcap_message="no" +fi + +if test "x$have_good_geoip" = "xyes" ; then + geoip_message="yes" +else + geoip_message="no" +fi + +echo "" +echo "The Wireshark package has been configured with the following options." +echo " Build wireshark : $enable_wireshark" +echo " Build tshark : $enable_tshark" +echo " Build capinfos : $enable_capinfos" +echo " Build editcap : $enable_editcap" +echo " Build dumpcap : $enable_dumpcap" +echo " Build mergecap : $enable_mergecap" +echo " Build text2pcap : $enable_text2pcap" +echo " Build idl2wrs : $enable_idl2wrs" +echo " Build randpkt : $enable_randpkt" +echo " Build dftest : $enable_dftest" +echo " Build rawshark : $enable_rawshark" +echo "" +echo " Install dumpcap setuid : $setuid_message" +echo " Use plugins : $have_plugins" +echo " Use lua library : $lua_message" +echo " Build rtp_player : $portaudio_message" +echo " Use threads : $enable_threads" +echo " Build profile binaries : $enable_profile_build" +echo " Use pcap library : $want_pcap" +echo " Use zlib library : $zlib_message" +echo " Use pcre library : $pcre_message" +echo " Use kerberos library : $krb5_message" +echo " Use c-ares library : $c_ares_message" +echo " Use GNU ADNS library : $adns_message" +echo " Use SMI MIB library : $libsmi_message" +echo " Use GNU crypto library : $gcrypt_message" +echo " Use SSL crypto library : $ssl_message" +echo " Use IPv6 name resolution : $enable_ipv6" +echo " Use gnutls library : $tls_message" +echo " Use POSIX capabilities library : $libcap_message" +echo " Use GeoIP library : $geoip_message" diff --git a/application/tool/wireshark/1.2.6/oct_readme.txt b/application/tool/wireshark/1.2.6/oct_readme.txt new file mode 100644 index 0000000..9a747c6 --- /dev/null +++ b/application/tool/wireshark/1.2.6/oct_readme.txt @@ -0,0 +1,84 @@ +// Can't create link because WS makefile use relative path +cd /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins + +// Copy GOOSE plugins +cp /mnt/goose/application/tool/wireshark/plugins/octasic octasic + +**************************** +cd /pub/dev.wireshark/1.2.6/wireshark-1.2.6 + +Modify file: configure.in + to allow plugin version to related OCTVC1 build version. + - Added + + #PPMODIF + # + AC_MSG_CHECKING([whether a TGT_VERSION was specified]) + AC_ARG_WITH([version], + AS_HELP_STRING([--with-version=@<:@*@:>@], + [Specify Target version @<:@default=1.3.1@:>@]), + with_version="$withval", with_version="1.3.2") + AC_SUBST(TGT_VERSION, [$with_version]) + AC_MSG_RESULT(TGT_VERSION=$TGT_VERSION) + # + AC_MSG_CHECKING([whether OCT_PATH was specified]) + AC_ARG_WITH([oct_path], + AS_HELP_STRING([--with-oct_path=@<:@*@:>@], + [Specify Octasic path @<:@default=/mnt/goose@:>@]), + with_oct_path="$withval", with_oct_path="/mnt/goose") + AC_SUBST(OCT_PATH, [$with_oct_path]) + AC_MSG_RESULT(OCT_PATH=$OCT_PATH) + #PPMODIF + + AFTER:# Check for doxygen + +Modify file: configure.in + +find AC_OUTPUT= + +ADD + plugins/octasic/oct1010db_ws/Makefile + plugins/octasic/octmfa_ws/Makefile + plugins/octasic/octpkt_ws/Makefile + plugins/octasic/octvocnet_ws/Makefile + plugins/octasic/octvc1_ws/Makefile + plugins/octasic/rfc4175_yuv_ws/Makefile + + +**************************** +cd /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins + +Modify file: Makefile.am + // remove all plugin under + SUBDIRS = $(_CUSTOM_SUBDIRS_) \ + + // Added + octasic/oct1010db_ws + octasic/octmfa_ws + octasic/octpkt_ws + octasic/octvocnet_ws + octasic/octvc1_ws + octasic/rfc4175_yuv_ws + + ... + +**************************** +# For new plugins +cp /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins/octasic/octpkt_ws/Makefile.am /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins/octasic/newplugi_dir/Makefile.am +cp /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins/octasic/octpkt_ws/Makefile.common /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins/octasic/newplugi_dir/Makefile.common +.. +update file list and pkg name. + +**************************** +Making Wireshark plugins: + +cd /pub/dev.wireshark/1.2.6/wireshark-1.2.6 +./autogen.sh + +===> OCTVC1 Pkg Version +===> OCTASIC PATH in /mnt/goose +./configure --with-version=1.4.0.1-PR --with-oct_path=/mnt/goose + +make install ==> Result is /usr/local/lib/wireshark/plugins/1.2.6 + + diff --git a/application/tool/wireshark/1.6.5/config.h b/application/tool/wireshark/1.6.5/config.h new file mode 100644 index 0000000..c299c12 --- /dev/null +++ b/application/tool/wireshark/1.6.5/config.h @@ -0,0 +1,278 @@ +/* $Id: config.h.win32 39537 2011-10-24 18:44:00Z gerald $ */ +/* config.h.win32 Generated manually. :-) */ +/* config.h. Generated automatically by configure. */ +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Generated Bison and Flex files test whether __STDC__ is defined + in order to check whether to use ANSI C features such as "const". + + GCC defines it as 1 even if extensions that render the implementation + non-conformant are enabled; Sun's C compiler (and, I think, other + AT&T-derived C compilers) define it as 0 if extensions that render + the implementation non-conformant are enabled; Microsoft Visual C++ + 6.0 doesn't define it at all if extensions that render the implementation + non-conformant are enabled. + + We define it as 0 here, so that those generated files will use + those features (and thus not get type warnings when compiled with + MSVC++). */ +#ifndef __STDC__ +#define __STDC__ 0 +#endif + +/* + * Flex (v 2.5.35) uses this symbol to "exclude" unistd.h + */ +#define YY_NO_UNISTD_H + +/* Use Unicode in Windows runtime functions. */ +#define UNICODE 1 +#define _UNICODE 1 + +/* Use threads */ +#define USE_THREADS 1 + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if your processor stores words with the most significant + byte first (like Motorola and SPARC, unlike Intel and VAX). */ +/* #undef WORDS_BIGENDIAN */ + +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#define YYTEXT_POINTER 1 + +#define HAVE_PLUGINS 1 + +#define USE_THREADS 1 + +/* #undef HAVE_SA_LEN */ + +/* #undef HAVE_MKSTEMP */ +/* #undef HAVE_MKDTEMP */ + +#define HAVE_LIBPCAP 1 + +#define HAVE_PCAP_FINDALLDEVS 1 +#define HAVE_PCAP_DATALINK_NAME_TO_VAL 1 +#define HAVE_PCAP_DATALINK_VAL_TO_NAME 1 +#define HAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION 1 +#define HAVE_LIBWIRESHARKDLL 1 + +#define HAVE_PCAP_LIST_DATALINKS 1 +#define HAVE_PCAP_FREE_DATALINKS 1 +#define HAVE_PCAP_SET_DATALINK 1 + +#define HAVE_REMOTE 1 +#define HAVE_PCAP_REMOTE 1 +#define HAVE_PCAP_OPEN 1 +#define HAVE_PCAP_OPEN_DEAD 1 +#define HAVE_BPF_IMAGE 1 +#define HAVE_PCAP_SETSAMPLING 1 + +#define HAVE_AIRPCAP 1 +#define HAVE_AIRPDCAP 1 + + + + +/* availability of pcap_freecode() is handled at runtime */ +#define HAVE_PCAP_FREECODE 1 + +/* define macro for importing variables from an dll + * it depends on HAVE_LIBWIRESHARKDLL and _NEED_VAR_IMPORT_ + */ +#if defined (_NEED_VAR_IMPORT_) && defined (HAVE_LIBWIRESHARKDLL) +# define WS_VAR_IMPORT __declspec(dllimport) extern +#else +# define WS_VAR_IMPORT extern +#endif + +/* + * Define WS_MSVC_NORETURN appropriately for declarations of routines that + * never return (just like Charlie on the MTA). + * + * Note that MSVC++ expects __declspec(noreturn) to precede the function + * name and GCC, as far as I know, expects __attribute__((noreturn)) to + * follow the function name, so we need two different flavors of + * noreturn tag. + */ +#define WS_MSVC_NORETURN __declspec(noreturn) + +/* Define if you have the gethostbyname2 function. */ +/* #undef HAVE_GETHOSTBYNAME2 */ + +/* Define if you have the getprotobynumber function. */ +/* #undef HAVE_GETPROTOBYNUMBER */ + +/* Define if you have the header file. */ +/* #undef HAVE_ARPA_INET_H */ + +/* Define if you have the header file. */ +#define HAVE_DIRECT_H 1 + +/* Define if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_ICONV */ + +/* Define if you have the header file. */ +/* #undef HAVE_NETDB_H */ + +/* Define if you have the header file. */ +/* #define HAVE_NETINET_IN_H 1 */ + +/* Define if you have the header file. */ +/* #undef HAVE_SNMP_SNMP_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SNMP_VERSION_H */ + +/* Define if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_STDDEF_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_IOCTL_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_SOCKET_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_SOCKIO_H */ + +/* Define if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define if you have the header file. */ +/* #define HAVE_SYS_TIME_H 1 */ + +/* Define if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if tm_zone field exists in struct tm */ +/* #undef HAVE_TM_ZONE 1 */ + +/* Define if tzname array exists */ +/* #undef HAVE_TZNAME */ + +/* Define if you have the header file. */ +/* #define HAVE_UNISTD_H 1 */ + +/* Define if you have the header file. */ +#define HAVE_WINDOWS_H 1 + +/* Define if you have the header file. */ +#define HAVE_WINSOCK2_H 1 + +/* Define if defines PRI[doxu]64 macros */ +/* #define INTTYPES_H_DEFINES_FORMATS */ + +/* Define if you have the z library (-lz). */ +#define HAVE_LIBZ 1 +#ifdef HAVE_LIBZ +#define HAVE_INFLATEPRIME 1 +#endif + +/* Define to use GNU ADNS library */ +#define HAVE_C_ARES 1 + +/* Define to use GNU ADNS library */ +#ifndef HAVE_C_ARES + +#define ADNS_JGAA_WIN32 1 +#endif + +/* Define to use the PCRE library */ + + +/* Define to use the Nettle library */ + + +/* Define to use the gnutls library */ +#define HAVE_LIBGNUTLS 1 + +/* Define to use the libgcrypt library */ +#define HAVE_LIBGCRYPT 1 + +/* Define to use mit kerberos for decryption of kerberos/sasl/dcerpc */ +#define HAVE_MIT_KERBEROS 1 +#ifdef HAVE_MIT_KERBEROS +#define HAVE_KERBEROS +#endif + +/* Define to use Lua */ +#define HAVE_LUA 1 +#define HAVE_LUA_5_1 1 + +/* Define to use Python */ + + +/* Define to use Portaudio library */ +#define HAVE_LIBPORTAUDIO 1 +/* Define version of of the Portaudio library API */ + + +/* Define to have SMI */ +#define HAVE_LIBSMI 1 + +/* Define to have GeoIP */ +#define HAVE_GEOIP 1 + +/* Define for IPv6 */ +#define INET6 1 + +/* Define to have ntddndis.h */ +#define HAVE_NTDDNDIS_H 1 + +#define NEED_INET_ATON_H 1 +#define NEED_INET_V6DEFS_H 1 +#define NEED_STRPTIME_H 1 + +#ifndef WIN32 +#define WIN32 1 +#endif + +/* Visual C 9 (2008) & Visual C 10 (2010) need these prototypes */ +#if _MSC_VER == 1500 || _MSC_VER == 1600 +#define NTDDI_VERSION NTDDI_WIN2K +#define _WIN32_WINNT _WIN32_WINNT_WIN2K +#endif + +#define strncasecmp strnicmp +#define popen _popen +#define pclose _pclose + +/* Define to use GTK */ +#define HAVE_GTK + +/* Name of package */ +#define PACKAGE "wireshark" + +/* Version number of package */ +#define VERSION "1.6.5" + +/* We shouldn't need this under Windows but we'll define it anyway. */ +#define HTML_VIEWER "mozilla" + +/* Check for the required _MSC_VER */ +#if MSC_VER_REQUIRED != _MSC_VER +#define WS_TO_STRING2(x) #x +#define WS_TO_STRING(x) WS_TO_STRING2(x) +#pragma message( "_MSC_VER is:" WS_TO_STRING(_MSC_VER) " but required is:" WS_TO_STRING(MSC_VER_REQUIRED) ) +#error Your MSVC_VARIANT setting in config.nmake doesn't match the MS compiler version! +#endif + +/* Disable Code Analysis warnings that result in too many false positives. */ +/* http://msdn.microsoft.com/en-US/library/zyhb0b82.aspx */ +#if _MSC_VER >= 1400 +#pragma warning ( disable : 6011 ) +#endif + +typedef int ssize_t; diff --git a/application/tool/wireshark/1.6.5/config.h.win32 b/application/tool/wireshark/1.6.5/config.h.win32 new file mode 100644 index 0000000..8645368 --- /dev/null +++ b/application/tool/wireshark/1.6.5/config.h.win32 @@ -0,0 +1,278 @@ +/* $Id: config.h.win32 39537 2011-10-24 18:44:00Z gerald $ */ +/* config.h.win32 Generated manually. :-) */ +/* config.h. Generated automatically by configure. */ +/* config.h.in. Generated automatically from configure.in by autoheader. */ + +/* Generated Bison and Flex files test whether __STDC__ is defined + in order to check whether to use ANSI C features such as "const". + + GCC defines it as 1 even if extensions that render the implementation + non-conformant are enabled; Sun's C compiler (and, I think, other + AT&T-derived C compilers) define it as 0 if extensions that render + the implementation non-conformant are enabled; Microsoft Visual C++ + 6.0 doesn't define it at all if extensions that render the implementation + non-conformant are enabled. + + We define it as 0 here, so that those generated files will use + those features (and thus not get type warnings when compiled with + MSVC++). */ +#ifndef __STDC__ +#define __STDC__ 0 +#endif + +/* + * Flex (v 2.5.35) uses this symbol to "exclude" unistd.h + */ +#define YY_NO_UNISTD_H + +/* Use Unicode in Windows runtime functions. */ +#define UNICODE 1 +#define _UNICODE 1 + +/* Use threads */ +#define USE_THREADS 1 + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if your processor stores words with the most significant + byte first (like Motorola and SPARC, unlike Intel and VAX). */ +/* #undef WORDS_BIGENDIAN */ + +/* Define if lex declares yytext as a char * by default, not a char[]. */ +#define YYTEXT_POINTER 1 + +#define HAVE_PLUGINS 1 + +#define USE_THREADS 1 + +/* #undef HAVE_SA_LEN */ + +/* #undef HAVE_MKSTEMP */ +/* #undef HAVE_MKDTEMP */ + +@HAVE_LIBPCAP@ +@HAVE_PCAP_BREAKLOOP@ +@HAVE_PCAP_FINDALLDEVS@ +@HAVE_PCAP_DATALINK_NAME_TO_VAL@ +@HAVE_PCAP_DATALINK_VAL_TO_NAME@ +@HAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION@ +@HAVE_LIBWIRESHARKDLL@ + +@HAVE_PCAP_LIST_DATALINKS@ +@HAVE_PCAP_FREE_DATALINKS@ +@HAVE_PCAP_SET_DATALINK@ + +@HAVE_REMOTE@ +@HAVE_PCAP_REMOTE@ +@HAVE_PCAP_OPEN@ +@HAVE_PCAP_OPEN_DEAD@ +@HAVE_BPF_IMAGE@ +@HAVE_PCAP_SETSAMPLING@ + +@HAVE_AIRPCAP@ +@HAVE_AIRPDCAP@ + +@MAIN_MENU_USE_UIMANAGER@ +@WANT_PACKET_EDITOR@ + +/* availability of pcap_freecode() is handled at runtime */ +#define HAVE_PCAP_FREECODE 1 + +/* define macro for importing variables from an dll + * it depends on HAVE_LIBWIRESHARKDLL and _NEED_VAR_IMPORT_ + */ +#if defined (_NEED_VAR_IMPORT_) && defined (HAVE_LIBWIRESHARKDLL) +# define WS_VAR_IMPORT __declspec(dllimport) extern +#else +# define WS_VAR_IMPORT extern +#endif + +/* + * Define WS_MSVC_NORETURN appropriately for declarations of routines that + * never return (just like Charlie on the MTA). + * + * Note that MSVC++ expects __declspec(noreturn) to precede the function + * name and GCC, as far as I know, expects __attribute__((noreturn)) to + * follow the function name, so we need two different flavors of + * noreturn tag. + */ +#define WS_MSVC_NORETURN __declspec(noreturn) + +/* Define if you have the gethostbyname2 function. */ +/* #undef HAVE_GETHOSTBYNAME2 */ + +/* Define if you have the getprotobynumber function. */ +/* #undef HAVE_GETPROTOBYNUMBER */ + +/* Define if you have the header file. */ +/* #undef HAVE_ARPA_INET_H */ + +/* Define if you have the header file. */ +#define HAVE_DIRECT_H 1 + +/* Define if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_ICONV */ + +/* Define if you have the header file. */ +/* #undef HAVE_NETDB_H */ + +/* Define if you have the header file. */ +/* #define HAVE_NETINET_IN_H 1 */ + +/* Define if you have the header file. */ +/* #undef HAVE_SNMP_SNMP_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SNMP_VERSION_H */ + +/* Define if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_STDDEF_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_IOCTL_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_SOCKET_H */ + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_SOCKIO_H */ + +/* Define if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define if you have the header file. */ +/* #define HAVE_SYS_TIME_H 1 */ + +/* Define if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if you have the header file. */ +/* #undef HAVE_SYS_WAIT_H */ + +/* Define if tm_zone field exists in struct tm */ +/* #undef HAVE_TM_ZONE 1 */ + +/* Define if tzname array exists */ +/* #undef HAVE_TZNAME */ + +/* Define if you have the header file. */ +/* #define HAVE_UNISTD_H 1 */ + +/* Define if you have the header file. */ +#define HAVE_WINDOWS_H 1 + +/* Define if you have the header file. */ +#define HAVE_WINSOCK2_H 1 + +/* Define if defines PRI[doxu]64 macros */ +/* #define INTTYPES_H_DEFINES_FORMATS */ + +/* Define if you have the z library (-lz). */ +@HAVE_LIBZ@ +#ifdef HAVE_LIBZ +#define HAVE_INFLATEPRIME 1 +#endif + +/* Define to use GNU ADNS library */ +@HAVE_C_ARES@ + +/* Define to use GNU ADNS library */ +#ifndef HAVE_C_ARES +@HAVE_GNU_ADNS@ +#define ADNS_JGAA_WIN32 1 +#endif + +/* Define to use the PCRE library */ +@HAVE_PCRE@ + +/* Define to use the Nettle library */ +@HAVE_NETTLE@ + +/* Define to use the gnutls library */ +@HAVE_LIBGNUTLS@ + +/* Define to use the libgcrypt library */ +@HAVE_LIBGCRYPT@ + +/* Define to use mit kerberos for decryption of kerberos/sasl/dcerpc */ +@HAVE_KFW@ +#ifdef HAVE_MIT_KERBEROS +#define HAVE_KERBEROS +#endif + +/* Define to use Lua */ +@HAVE_LUA@ +@HAVE_LUA_5_1@ + +/* Define to use Python */ +@HAVE_PYTHON@ + +/* Define to use Portaudio library */ +@HAVE_LIBPORTAUDIO@ +/* Define version of of the Portaudio library API */ +@PORTAUDIO_API_1@ + +/* Define to have SMI */ +@HAVE_SMI@ + +/* Define to have GeoIP */ +@HAVE_GEOIP@ + +/* Define for IPv6 */ +@INET6@ + +/* Define to have ntddndis.h */ +@HAVE_NTDDNDIS_H@ + +#define NEED_INET_ATON_H 1 +#define NEED_INET_V6DEFS_H 1 +#define NEED_STRPTIME_H 1 + +#ifndef WIN32 +#define WIN32 1 +#endif + +/* Visual C 9 (2008) & Visual C 10 (2010) need these prototypes */ +#if _MSC_VER == 1500 || _MSC_VER == 1600 +#define NTDDI_VERSION NTDDI_WIN2K +#define _WIN32_WINNT _WIN32_WINNT_WIN2K +#endif + +#define strncasecmp strnicmp +#define popen _popen +#define pclose _pclose + +/* Define to use GTK */ +#define HAVE_GTK + +/* Name of package */ +#define PACKAGE "wireshark" + +/* Version number of package */ +#define VERSION "@VERSION@" + +/* We shouldn't need this under Windows but we'll define it anyway. */ +#define HTML_VIEWER "mozilla" + +/* Check for the required _MSC_VER */ +#if MSC_VER_REQUIRED != _MSC_VER +#define WS_TO_STRING2(x) #x +#define WS_TO_STRING(x) WS_TO_STRING2(x) +#pragma message( "_MSC_VER is:" WS_TO_STRING(_MSC_VER) " but required is:" WS_TO_STRING(MSC_VER_REQUIRED) ) +#error Your MSVC_VARIANT setting in config.nmake doesn't match the MS compiler version! +#endif + +/* Disable Code Analysis warnings that result in too many false positives. */ +/* http://msdn.microsoft.com/en-US/library/zyhb0b82.aspx */ +#if _MSC_VER >= 1400 +#pragma warning ( disable : 6011 ) +#endif + +typedef int ssize_t; diff --git a/application/tool/wireshark/1.6.5/config.nmake b/application/tool/wireshark/1.6.5/config.nmake new file mode 100644 index 0000000..0afe8ea --- /dev/null +++ b/application/tool/wireshark/1.6.5/config.nmake @@ -0,0 +1,1383 @@ +# $Id: config.nmake 39943 2011-11-18 21:29:16Z gerald $ + +# Some more information about the settings in this file can be found in +# the file README.windows and the Developer's Guide (available online). + +##### Target platform ##### +# Only "win32" and "win64" are valid (for now). +# This can be defined in the system environment. +!IFNDEF WIRESHARK_TARGET_PLATFORM +WIRESHARK_TARGET_PLATFORM=win32 +!ENDIF + +##### Versions ##### + +# The SVN revision of our build. Updated by make-version.pl +SVN_REVISION=40429 + +# The current Wireshark version. Recommended: Leave unchanged. +# Updated by make-version.pl +VERSION_MAJOR=1 +VERSION_MINOR=6 +VERSION_MICRO=5 +VERSION_BUILD=$(SVN_REVISION) + +# Local build information. Recommended: Unique string for your +# environment, e.g. "-JackStackBarbecue". Updated by make-version.pl + +VERSION_EXTRA= + +# The version of the wiretap library. Recommended: Leave unchanged. +WTAP_VERSION_MAJOR=$(VERSION_MAJOR) +WTAP_VERSION_MINOR=$(VERSION_MINOR) +WTAP_VERSION_MICRO=0 + +##### Directories ##### + +# +# Base directory, where your libraries reside, which are needed to +# compile the sources. This setting is used only inside this file. +# +#PPMODIF +#!IFDEF WIRESHARK_LIB_DIR +#WIRESHARK_LIBS=$(WIRESHARK_LIB_DIR) +#!ELSE +#WIRESHARK_LIBS=C:\wireshark-$(WIRESHARK_TARGET_PLATFORM)-libs-1.6 +#!ENDIF + +!IFNDEF DEV_ROOT +DEV_ROOT=../../../../../.. +!ENDIF + +!IFNDEF WS_DEV_ROOT +!IF EXIST( "$(DEV_ROOT)\application\tool\wireshark\ws_dev_root.nmake") +!include $(DEV_ROOT)\application\tool\wireshark\ws_dev_root.nmake +!ENDIF +!ENDIF + +!IFNDEF WS_DEV_ROOT +WIRESHARK_LIBS=$(DEV_ROOT)/application/3rdparty/wireshark/$(TGT_WS_VERSION)/$(WIRESHARK_TARGET_PLATFORM)-libs +!ELSE +WIRESHARK_LIBS=$(WS_DEV_ROOT)/$(TGT_WS_VERSION)/$(WIRESHARK_TARGET_PLATFORM)-libs +!ENDIF +OCT_INC = $(DEV_ROOT)/software/include + + +# +# Base directory, where your programs reside. +# This setting is used only inside this file. +# +# PPMODIF +!IFNDEF WIRESHARK_RELEASE +WIRESHARK_RELEASE=$(TGT_WS_VERSION) +!ENDIF +PROGRAM_FILES=$(PROGRAMFILES) + +!IFNDEF WS_INSTALL_PATH +# +# Wireshark plugins installation +#WS_INSTALL_PATH=D:\work\3rdparty\wireshark\1.6.5\wireshark-gtk2 +WS_INSTALL_PATH=$(PROGRAM_FILES)/wireshark +!ENDIF +WIRESHARK_PLUGING_DEST=$(WS_INSTALL_PATH)/plugins/$(WIRESHARK_RELEASE) + + +# +# Location of the "tools" directory. This affects HTML2TXT below and should +# be overridden by makefiles in any subdirectories that use HTML2TXT. +!IFNDEF TOOLS_DIR +TOOLS_DIR=tools +!ENDIF + +# +# Machine type for the compiler and linker +# TARGET_MACHINE (Used for link /MACHINE) should be one of "X86" or "X64" +# (sorry ARM, Alpha, MIPS, and Itanium fans). +# CPU (Used by win32.mak) should be one of "i386" or "AMD64". +# PROCESSOR_ARCHITECTURE (Used for redistributable packages and +# manifests) should be one of "x86" or "amd64". +!if "$(WIRESHARK_TARGET_PLATFORM)" == "win32" +TARGET_MACHINE=x86 +CPU=i386 +PROCESSOR_ARCHITECTURE=x86 +!else if "$(WIRESHARK_TARGET_PLATFORM)" == "win64" +TARGET_MACHINE=x64 +CPU=AMD64 +PROCESSOR_ARCHITECTURE=amd64 +!else +!error Your mysterious moon-man architecture "$(WIRESHARK_TARGET_PLATFORM)" frightens and confuses us. +!endif + + +##### Microsoft Visual C / Studio Variant ##### +# For the different Studios, see: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio +# only one of the following MSVC_VARIANT settings should be used +# BTW: The "Microsoft Visual C++ Toolkit 2003" DOESN'T WORK for WS! + +# "Microsoft Visual Studio 6.0" +# Visual C++ 6.0, _MSC_VER 1200, msvcrt.dll (version 6) +#MSVC_VARIANT=MSVC6 + +# "Microsoft Visual Studio .NET (2002)" +# Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll +#MSVC_VARIANT=MSVC2002 + +# "Microsoft .Net Framework SDK Version 1.0" +# needs additional Platform SDK installation +# Visual C++ 7.0, _MSC_VER 1300, msvcr70.dll +#MSVC_VARIANT=DOTNET10 + +# "Microsoft Visual Studio .NET 2003" +# Visual C++ 7.1, _MSC_VER 1310, msvcr71.dll +#MSVC_VARIANT=MSVC2003 + +# "Microsoft .Net Framework SDK Version 1.1" +# needs additional Platform SDK installation +# Visual C++ 7.1, _MSC_VER 1310, msvcr71.dll +#MSVC_VARIANT=DOTNET11 + +# "Microsoft Visual Studio 2005" +# Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll +#MSVC_VARIANT=MSVC2005 + +# "Microsoft Visual C++ 2005 Express Edition" +# needs additional Platform SDK installation +# Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll +#MSVC_VARIANT=MSVC2005EE + +# "Microsoft .Net Framework 2.0 SDK" +# needs additional Platform SDK installation +# Visual C++ 8.0, _MSC_VER 1400, msvcr80.dll +#MSVC_VARIANT=DOTNET20 + +# "Microsoft Visual Studio 2008" +# Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll +#MSVC_VARIANT=MSVC2008 + +# "Microsoft Visual C++ 2008 Express Edition" +# Visual C++ 9.0, _MSC_VER 1500, msvcr90.dll +#PPMODIF +MSVC_VARIANT=MSVC2008EE + +# "Microsoft Visual Studio 2010" +# Visual C++ 10.0, _MSC_VER 1600, msvcr100.dll +#MSVC_VARIANT=MSVC2010 + +# "Microsoft Visual C++ 2010 Express Edition" +# Visual C++ 10.0, _MSC_VER 1600, msvcr100.dll +#MSVC_VARIANT=MSVC2010EE + +# The default if we haven't set a system environment variable or +# uncommented an entry above. +!IFNDEF MSVC_VARIANT +MSVC_VARIANT=MSVC2008 +!ENDIF + +# +# Optional: To compile some time critical code from assembler instead of C +# +# If you have the NASM compiler, set this to the NASM executable. +# http://nasm.sourceforge.net/ +# +# If you don't have NASM, comment this line out, so that NASM +# isn't defined. +# +NASM=$(WIRESHARK_LIBS)\nasm-2.09.08\nasm.exe + +# +# Optional: the Python library enables scripting support. +# +# If you don't have the Python library, comment this line out, so that +# PYTHON_EMBED isn't defined. +# +# NOTE: The Python library must have been compiled with the same +# compiler (MSVC_VARIANT) as Wireshark. Known python.org Python +# CRT versions: +# +# Python version CRT (32-bit) CRT (64-bit) +# 2.4.4 7.1 ? +# 2.6.1 9.0 ? +# 2.6.2 9.0 +# +# If you versions of Python and Visual C++ use different CRTs +# comment this out. +# +# XXX The DLL path in epan/wspython/wspy_libws.py likely needs to +# be fixed before this is enabled by default. +#PYTHON_EMBED=1 + +# +# Optional: the Python interpreter is used as part of the buildsystem +# +# This will override the automatic detection below. +#PYTHON_VER=27 +#PYTHON_DIR=C:\Python$(PYTHON_VER) + +# +# If you don't have the native Python package installed, you can use +# the Cygwin version (not recommended) +# +#PYTHON=env python + +# Santity check: native vs Cygwin Python options +!IF DEFINED(PYTHON) && DEFINED(PYTHON_DIR) +!ERROR PYTHON and PYTHON_DIR cannot be specified at the same time +!ENDIF + +# Find native Python automatically if PYTHON(_DIR) wasn't defined +!IF !DEFINED(PYTHON) && !DEFINED(PYTHON_DIR) +!IF EXIST(c:\Python27\python.exe) +PYTHON_VER=27 +!ELSE IF EXIST(c:\Python26\python.exe) +PYTHON_VER=26 +!ELSE IF EXIST(c:\Python25\python.exe) +PYTHON_VER=25 +!ELSE IF EXIST(c:\Python24\python.exe) +PYTHON_VER=24 +!ENDIF + +!IF DEFINED(PYTHON_VER) +PYTHON_DIR=C:\Python$(PYTHON_VER) +!ENDIF +!ENDIF + +!IF DEFINED(PYTHON_DIR) +PYTHON="$(PYTHON_DIR)\python.exe" +PATH=$(PYTHON_DIR);$(PATH) +!ENDIF + +##### To Use packet editor uncomment this line #### +### Warning Experimental - work in progress +#WANT_PACKET_EDITOR=^#define WANT_PACKET_EDITOR 1 + +##### To use UIManager insted of GtkItemFactory comment out this line NOTE not completly implemented yet some menus will be missing#### +#MAIN_MENU_USE_UIMANAGER=^#define MAIN_MENU_USE_UIMANAGER 1 + +!if "$(WIRESHARK_TARGET_PLATFORM)" == "win32" +##### Win32 Libraries ##### +# +# Mandatory: GLib settings +# +# Please note: Since Wireshark release 1.0.0, we no longer support GLib1.x +# +GLIB_VERSION=2.0 +#PPMODIF +GLIB_DIR=$(WIRESHARK_LIBS)\glib + +!IF "$(DEBUG)" == "1" +DISSECTOR_OBJ_PATH = $(DISSECTOR_SRC:source=Debug_1.6.5) +SMOKE_OBJ_PATH = $(SMOKE_SRC:smoke_test=Debug_Smoke_1.6.5) +!ELSE +DISSECTOR_OBJ_PATH = $(DISSECTOR_SRC:source=Release_1.6.5) +SMOKE_OBJ_PATH = $(SMOKE_SRC:smoke_test=Release_Smoke_1.6.5) +!ENDIF +#PPMODIF + +# +# Mandatory: GLib, GTK & related library settings +# +# Please note: Since Wireshark release 1.0.0, we no longer support GTK1.x +# +# If you want building with GTK+, set GTK_DIR to the pathname of the +# directory in which the "include" and "lib" directories reside. +# +GTK_DIR=$(WIRESHARK_LIBS)\gtk2 +# These macros are used by the nsis installer script and by the install target. +PNG_DLL=libpng14-14.dll +FREETYPE_DLL=freetype6.dll +FONTCONFIG_DLL=libfontconfig-1.dll +EXPAT_DLL=libexpat-1.dll +INTL_DLL=intl.dll +# This macro is used by the setup target. +#GTK_PKG=2.16.6-20100912 +GTK_PKG=2.22.1-20101227 + +# +# Mandatory: Version numbers of GTK and pango. +# +# (MAJOR + MINOR Version number but without MICRO version number) +# These macros are used by the nsis installer script and by the setup target. +# +#GTK_INST_VERSION=2.16 +GTK_INST_VERSION=2.22 + +# +# Optional: WinPcap developer's pack to capture network traffic. +# +# If you have the WinPcap developer's pack (at least version 3.0), +# set this to the directory in which the WinPcap developer's pack resides. +# +# If you don't have the WPdpack, comment this line out, so that +# PCAP_DIR isn't defined. +# +PCAP_DIR=$(WIRESHARK_LIBS)\WPdpack +# This macro is used by the nsis installer script, by the u3/portable apps and by the setup target. +PCAP_VERSION=4_1_2 + +# +# Optional: WinPcap remote capture support and new API +# (pcap_open(), pcap_findalldevs_ex(), etc.) +# +PCAP_REMOTE=1 + +# +# Optional: The ZLib enables unzipping of gzip compressed capture files +# "on the fly". +# +# If you have Zlib, set this to directory in which the Zlib headers +# and .lib file are stored. +# +# If you don't have Zlib, comment this line out, so that ZLIB_DIR isn't +# defined. +# EXperimental only use zlib 1.2.5 on win32 for now +ZLIB_DIR=$(WIRESHARK_LIBS)\zlib125 + +# +# Optional: the ADNS library enables asynchronous (nonblocking) DNS +# name resolvings. +# +# If you have GNU ADNS, set this to the directory in which the GNU ADNS +# .lib file is stored. +# +# If you don't have GNU ADNS, comment this line out, so that ADNS_DIR +# isn't defined. +# +# If C_ARES_DIR is defined below, it will override this setting. +# +#ADNS_DIR=$(WIRESHARK_LIBS)\adns-1.0-win32-05ws + +# +# Optional: the c-ares library enables asynchronous (nonblocking) DNS +# name resolvings. +# +# If you have c-ares, set this to the directory in which the c-ares +# .lib file is stored. Setting this will override ADNS_DIR above. You +# can't have both. +# +# If you're using Visual C++ 6.0, you'll have to use a platform SDK that +# defines socklen_t, such as Windows Server 2003 PSDK. +# +# If you don't have c-ares, comment this line out, so that C_ARES_DIR +# isn't defined. +# +C_ARES_PKG=1.7.1 + +# +# Optional: the PCRE (Perl Compatible Regular Expressions) library +# enables regular expressions for display filters. +# +# If you have the PCRE library, set this to the directory in which +# the GNUWIN32 pcre-lib package is stored. +# +# If you don't have PCRE, comment this line out, so that PCRE_DIR +# isn't defined. +# +#PCRE_DIR=$(WIRESHARK_LIBS)\pcre-7.0 + +# +# Optional: the GNUTLS library enables ssl decryption. +# +# If you have the GNUTLS library, set this to the package version. +# +# If you don't have GNUTLS, comment this line out, so that GNUTLS_PKG +# isn't defined. +# +# Platform SDK conflicts with openssl.h header +GNUTLS_PKG=2.10.3-1.11 + +# +# Optional: the KFW library enables kerberos/sasl/dcerpc decryption. +# +# If you have the kerberos for windows (mit) library, set this to the +# directory where the kfw package is stored. +# +# If you don't have KFW, comment this line out, so that KFW_DIR +# isn't defined. +# +KFW_DIR=$(WIRESHARK_LIBS)\kfw-3-2-2-i386-ws-vc6 + +# +# Optional: the Nettle library enables ??? decryption. +# +# If you have the Nettle encryption library, set this to the +# directory in which the nettle package is stored. +# +# If you don't have Nettle, comment this line out, so that NETTLE_DIR +# isn't defined. +# +# NETTLE_DIR=$(WIRESHARK_LIBS)\nettle-1.10 + +# +# Optional: the LUA library enables scripting support. +# +# If you have the LUA library, set this to the directory in which +# the LUA package is stored. +# +# If you don't have LUA, comment this line out, so that LUA_DIR +# isn't defined. +# +LUA_DIST=5_1_4_Win32_dll6 +LUA_DIR=$(WIRESHARK_LIBS)\lua5.1.4 + +# +# Optional: the PORTAUDIO library enables audio output for RTP streams. +# +# If you have the PORTAUDIO library (used for rtp_player), set this to +# the directory in which the PORTAUDIO library is stored. +# +# If you don't have PORTAUDIO, comment this line out, so that +# PORTAUDIO_DIR isn't defined. +# +#PORTAUDIO_DIR=$(WIRESHARK_LIBS)\portaudio_v18_1 +PORTAUDIO_DIR=$(WIRESHARK_LIBS)\portaudio_v19_2 + +# +# Version number of PortAudio +# +#PORTAUDIO_VERSION=18 +PORTAUDIO_VERSION=19 + +# +# Optional: AirPcap developer's pack to capture wireless network traffic +# incl. 802.11 management frames. +# +# If you have the AirPcap developer's pack, set this to the directory +# in which the AirPcap developer's pack resides. +# +# If you don't have the AirPcap developer's pack, comment this line out, +# so that AIRPCAP_DIR isn't defined. +# +AIRPCAP_DIR=$(WIRESHARK_LIBS)\AirPcap_Devpack_4_1_0_1622\AirPcap_Devpack + +# +# Optional: LIBSMI, System Management Interface +# +# Used for oid-name resolution for SNMP and other protocols +# +SMI_DIR=$(WIRESHARK_LIBS)\libsmi-0.4.8 + +# +# Optional: GeoIP, IP address database lookups +# +# Used to map IP addresses to MaxMind GeoIP database entries +# +# GeoIP requires IPv6 definitions that don't ship with Visual C++ 6.0. +# However, the Microsoft Platform SDK for Windows Server 2003 R2 provides +# these definitions. The SDK's SetEnv.bat script defines INETSDK. +!IF "$(MSVC_VARIANT)" != "MSVC6" || DEFINED(INETSDK) +GEOIP_DIR=$(WIRESHARK_LIBS)\GeoIP-1.4.6-win32ws\libGeoIP +!ENDIF + +!else +##### Win64 Libraries ##### +# +# Mandatory: GLib settings +# +# Please note: Since Wireshark release 1.0.0, we no longer support GLib1.x +# +GLIB_VERSION=2.0 + +# +# Mandatory: GLib, GTK & related library settings +# +# Please note: Since Wireshark release 1.0.0, we no longer support GTK1.x +# +# If you want building with GTK+, set GTK_DIR to the pathname of the +# directory in which the "include" and "lib" directories reside. +# +GTK_DIR=$(WIRESHARK_LIBS)\gtk2 +# These macros are used by the nsis installer script and by the install target. +PNG_DLL=libpng14-14.dll +#TIFF_DLL=libtiff-3.dll +#JPEG_DLL=libjpeg-7.dll +FREETYPE_DLL=libfreetype-6.dll +FONTCONFIG_DLL=libfontconfig-1.dll +EXPAT_DLL=libexpat-1.dll +INTL_DLL=libintl-8.dll + +# These macros are used by the setup target. +#GTK_PKG=2.16.6-20100912 +GTK_PKG=2.22.1-20101229 + +# +# Mandatory: Version numbers of GTK and pango. +# +# (MAJOR + MINOR Version number but without MICRO version number) +# These macros are used by the nsis installer script and by the setup target. +# +#GTK_INST_VERSION=2.16 +GTK_INST_VERSION=2.22 + +# +# Optional: WinPcap developer's pack to capture network traffic. +# +# If you have the WinPcap developer's pack (at least version 3.0), +# set this to the directory in which the WinPcap developer's pack resides. +# +# If you don't have the WPdpack, comment this line out, so that +# PCAP_DIR isn't defined. +# +PCAP_DIR=$(WIRESHARK_LIBS)\WPdpack +# This macro is used by the nsis installer script, by the u3/portable apps and by the setup target. +PCAP_VERSION=4_1_2 + +# +# Optional: WinPcap remote capture support and new API +# (pcap_open(), pcap_findalldevs_ex(), etc.) +# +PCAP_REMOTE=1 + +# +# Optional: The ZLib enables unzipping of gzip compressed capture files +# "on the fly". +# +# If you have Zlib, set this to directory in which the Zlib headers +# and .lib file are stored. +# +# If you don't have Zlib, comment this line out, so that ZLIB_DIR isn't +# defined. +# +ZLIB_DIR=$(WIRESHARK_LIBS)\zlib125 + +# +# Optional: the ADNS library enables asynchronous (nonblocking) DNS +# name resolvings. +# +# If you have GNU ADNS, set this to the directory in which the GNU ADNS +# .lib file is stored. +# +# If you don't have GNU ADNS, comment this line out, so that ADNS_DIR +# isn't defined. +# +# If C_ARES_DIR is defined below, it will override this setting. +# +#ADNS_DIR=$(WIRESHARK_LIBS)\adns-1.0-win32-05ws + +# +# Optional: the c-ares library enables asynchronous (nonblocking) DNS +# name resolvings. +# +# If you have c-ares, set this to the directory in which the c-ares +# .lib file is stored. Setting this will override ADNS_DIR above. You +# can't have both. +# +# If you're using Visual C++ 6.0, you'll have to use a platform SDK that +# defines socklen_t, such as Windows Server 2003 PSDK. +# +# If you don't have c-ares, comment this line out, so that C_ARES_DIR +# isn't defined. +# +C_ARES_PKG=1.7.1 + +# +# Optional: the PCRE (Perl Compatible Regular Expressions) library +# enables regular expressions for display filters. +# +# If you have the PCRE library, set this to the directory in which +# the GNUWIN32 pcre-lib package is stored. +# +# If you don't have PCRE, comment this line out, so that PCRE_DIR +# isn't defined. +# +#PCRE_DIR=$(WIRESHARK_LIBS)\pcre-7.0 + +# +# Optional: the GNUTLS library enables ssl decryption. +# +# If you have the GNUTLS library, set this to the package version. +# +# If you don't have GNUTLS, comment this line out, so that GNUTLS_PKG +# isn't defined. +# +# Platform SDK conflicts with openssl.h header +GNUTLS_PKG=2.10.3-1.7 + +# +# Optional: the KFW library enables kerberos/sasl/dcerpc decryption. +# +# If you have the kerberos for windows (mit) library, set this to the +# directory where the kfw package is stored. +# +# If you don't have KFW, comment this line out, so that KFW_DIR +# isn't defined. +# +#KFW_DIR=$(WIRESHARK_LIBS)\kfw-3.2.2-ws1 + +# +# Optional: the Nettle library enables ??? decryption. +# +# If you have the Nettle encryption library, set this to the +# directory in which the nettle package is stored. +# +# If you don't have Nettle, comment this line out, so that NETTLE_DIR +# isn't defined. +# +# NETTLE_DIR=$(WIRESHARK_LIBS)\nettle-1.10 + +# +# Optional: the LUA library enables scripting support. +# +# If you have the LUA library, set this to the directory in which +# the LUA package is stored. +# +# If you don't have LUA, comment this line out, so that LUA_DIR +# isn't defined. +# +LUA_DIST=5_1_4_Win64_dll9 +LUA_DIR=$(WIRESHARK_LIBS)\lua5.1.4 + +# +# Optional: the PORTAUDIO library enables audio output for RTP streams. +# +# If you have the PORTAUDIO library (used for rtp_player), set this to +# the directory in which the PORTAUDIO library is stored. +# +# If you don't have PORTAUDIO, comment this line out, so that +# PORTAUDIO_DIR isn't defined. +# +#PORTAUDIO_DIR=$(WIRESHARK_LIBS)\portaudio_v18_1 +PORTAUDIO_DIR=$(WIRESHARK_LIBS)\portaudio_v19_2 + +# +# Version number of PortAudio +# +#PORTAUDIO_VERSION=18 +PORTAUDIO_VERSION=19 + +# +# Optional: AirPcap developer's pack to capture wireless network traffic +# incl. 802.11 management frames. +# +# If you have the AirPcap developer's pack, set this to the directory +# in which the AirPcap developer's pack resides. +# +# If you don't have the AirPcap developer's pack, comment this line out, +# so that AIRPCAP_DIR isn't defined. +# +AIRPCAP_DIR=$(WIRESHARK_LIBS)\AirPcap_Devpack_4_1_0_1622\AirPcap_Devpack + +# +# Optional: LIBSMI, System Management Interface +# +# Used for oid-name resolution for SNMP and other protocols +# +#SMI_DIR=$(WIRESHARK_LIBS)\libsmi-0.4.8 + +# +# Optional: GeoIP, IP address database lookups +# +# Used to map IP addresses to MaxMind GeoIP database entries +# +GEOIP_DIR=$(WIRESHARK_LIBS)\GeoIP-1.4.6-win64ws\libGeoIP + +!endif + +##### Tools ##### + +# Set the following mandatory commands to find the tools. +# The easiest way is to use the corresponding packages from cygwin. + +# Set up the path to the cygwin binaries +CYGWIN_PATH=c:\cygwin\bin + +# command for a shell (cygwin's bash package recommended) +SH_PROG=bash + +# bash versions after 3.1.6 need the 'igncr' shell option to be able to +# process scripts in windows 'native format' (dos crlf format). +# The following !IF results in the option being used only if it is available +# since using it on bash version 3.1.6 (or earlier) is not required and +# will cause an error message. +!if "$(SH_PROG)"=="bash" && [$(CYGWIN_PATH)\bash -c "set -o igncr" 2>nul: ] == 0 +SH_FLAGS=-o igncr +!endif + +SH=$(SH_PROG) $(SH_FLAGS) + + +# command for perl (cygwin's perl package recommended) +PERL=perl + +# command for pod2man and pod2html +# (part of the perl package, usually leave these unchanged) +POD2MAN=$(SH) pod2man +POD2HTML=$(SH) pod2html + +# command for lex/flexx (cygwin's flex recommended) +LEX=flex + +# command for yacc/bison (cygwin's bison recommended) +YACC=bison + +# Commands to convert UNIX line endings to DOS/Windows +UNIX2DOS=u2d +TEXTIFY=$(SH) $(TOOLS_DIR)/textify.sh + +# +# Optional: To build the NSIS installer. +# +# If you have the NSIS package, set this to the NSIS executable. +# +# If you don't have NSIS, comment this line out, so that MAKENSIS +# isn't defined. +# +MAKENSIS="$(PROGRAM_FILES)\NSIS\makensis.exe" + +# +# Optional: To build the NSIS PortableApps installer. +# +# If you have the NSIS Unicode package, set this to the NSIS Unicode executable. +# +# If you don't have NSIS Unicode, comment this line out, so that +# MAKENSIS_UNICODE isn't defined. +# +MAKENSIS_UNICODE="$(PROGRAM_FILES)\NSIS\Unicode\makensis.exe" + +# +# Optional: To build the developers API documentation with doxygen and dot. +# Currently experimental, outdated and incomplete. +# +# You will have to download and install: +# Doxygen from: http://www.doxygen.org +# Graphviz from: http://www.research.att.com/sw/tools/graphviz/ +# +# If you have doxygen, set this to the doxygen executable. +# +# If you don't want the developers documentation (or don't have the tools), +# comment this line out, so that DOXYGEN isn't defined. +# +#DOXYGEN="$(PROGRAM_FILES)/doxygen/bin/doxygen.exe" + +# +# Recommended: Use the compressed html help format .chm as the Wireshark integrated help. +# +# The required htmlhelp.h and htmlhelp.lib should be included in MSVC_VARIANT > MSVC6. +# +# For MSVC_VARIANT == MSVC6 you will have to download and install the html help workshop from: +# +# http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html +# /hwMicrosoftHTMLHelpDownloads.asp +# +# Then point HHC_DIR to the html help dir (where hhc.exe resides). +# +# If you don't want the online help (or don't have the tools), +# comment this line out, so that HHC_DIR isn't defined. +# +HHC_DIR=$(PROGRAM_FILES)/HTML Help Workshop + +# +# Optional: To reduce the size of dlls and exes, which is especially useful for USB device distributions (U3, PortableApps) +# +# If you have the UPX package, set this to the upx.exe executable. +# +# UPX can be downloaded from: +# http://upx.sourceforge.net/ +# +# If you don't have UPX, or don't want to pack exes and dlls, +# comment this line out, so that UPX isn't defined. +# + +UPX=$(WIRESHARK_LIBS)\upx303w\upx.exe + +##### Flags, PATHs and Miscellaneous ##### + +# Santity check: Python embedding requires a valid PYTHON_DIR +!IF DEFINED(PYTHON_EMBED) && !DEFINED(PYTHON_DIR) +!ERROR PYTHON_EMBED requires that PYTHON_DIR is defined +!ENDIF + +# "convert" the MSVC variant into the required MSC compiler version +!IF "$(MSVC_VARIANT)" == "MSVC6" +MSC_VER_REQUIRED=1200 +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2002" || "$(MSVC_VARIANT)" == "DOTNET10" +MSC_VER_REQUIRED=1300 +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2003" || "$(MSVC_VARIANT)" == "DOTNET11" +MSC_VER_REQUIRED=1310 +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" +MSC_VER_REQUIRED=1400 +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2008" || "$(MSVC_VARIANT)" == "MSVC2008EE" +MSC_VER_REQUIRED=1500 +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2010" || "$(MSVC_VARIANT)" == "MSVC2010EE" +MSC_VER_REQUIRED=1600 +!ELSE +!ERROR MSVC_VARIANT unknown +!ENDIF + +## Manifest processing is not needed for VC10 (Visual Studio 2010 C) +## See: http://msdn.microsoft.com/en-us/library/dd293574.aspx +!IF ($(MSC_VER_REQUIRED) >= 1400) && ($(MSC_VER_REQUIRED) < 1600) +MANIFEST_INFO_REQUIRED=1 +!ENDIF + +# Compiler flags: +# /W3 Warning level 3 (0 less - 4 most, 1 default) +# /Zi Create .pdb file for debugging +# /MD Use "multithread- and DLL-specific version" of run-time libraries +# msvc documentation states that /MD causes _MT and _DLL to be defined +# See: http://msdn.microsoft.com/en-us/library/2kzt1wy3%28v=VS.90%29.aspx +# /D_CRT_SECURE_NO_DEPRECATE Don't warn for "insecure" calls, +# see MSDN "Security Enhancements in the CRT" +# /D_CRT_NONSTDC_NO_DEPRECATE Don't warn for "Deprecated CRT Functions" as MSDN calls this +# /D_BIND_TO_CURRENT_CRT_VERSION=1 Make sure our CRT and manifest versions match +# (http://msdn.microsoft.com/en-us/library/cc664727.aspx) +# /DWIN32_LEAN_AND_MEAN Don't include unnecessary Windows include files (see windows.h) +# /MANIFEST:no Don't create a SxS manifest. Makes sure our plugins don't load +# a second copy of the CRT. +# +##Note: LOCAL_CFLAGS are flags used for *all* compilations +## STANDARD_CFLAGS (see below) are flags used just for *Wireshark* compilations +!IF "$(MSVC_VARIANT)" == "MSVC6" || \ + "$(MSVC_VARIANT)" == "MSVC2002" || \ + "$(MSVC_VARIANT)" == "DOTNET10" || \ + "$(MSVC_VARIANT)" == "MSVC2003" || \ + "$(MSVC_VARIANT)" == "DOTNET11" +LOCAL_CFLAGS=/Zi /W3 /MD /DWIN32_LEAN_AND_MEAN /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED) + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || \ + "$(MSVC_VARIANT)" == "MSVC2005EE" || \ + "$(MSVC_VARIANT)" == "DOTNET20" || \ + "$(MSVC_VARIANT)" == "MSVC2008" || \ + "$(MSVC_VARIANT)" == "MSVC2008EE" || \ + "$(MSVC_VARIANT)" == "MSVC2010" || \ + "$(MSVC_VARIANT)" == "MSVC2010EE" +LOCAL_CFLAGS=/Zi /W3 /MD /DWIN32_LEAN_AND_MEAN /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED) \ + /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE + +!IF "$(WIRESHARK_TARGET_PLATFORM)" != "win64" +LOCAL_CFLAGS=$(LOCAL_CFLAGS) /D_BIND_TO_CURRENT_CRT_VERSION=1 +!ENDIF + +# Additional compiler warnings to be treated as "Level 3" +# when compiling Wireshark sources. (Selected from "level 4" warnings). +## 4295: array is too small to include a terminating null character +WARNINGS_CFLAGS=/w34295 + +!ELSE +!ERROR MSVC_VARIANT unknown +!ENDIF + +# http://msdn.microsoft.com/en-us/library/bb385193.aspx +# /MP Compiles multiple source files by using multiple processes +# /MP[processMax] If you omit the processMax argument, the compiler retrieves the number of effective processors +# on your computer from the operating system, and creates a process for each processor. +# +# The following compiler options and language features that are incompatible with the /MP option: +# +# * #import preprocessor directive +# * /E, /EP +# * /Gm +# * /showIncludes +# * /Yc +# +!IF "$(MSVC_VARIANT)" == "MSVC2008" || \ + "$(MSVC_VARIANT)" == "MSVC2008EE" || \ + "$(MSVC_VARIANT)" == "MSVC2010" || \ + "$(MSVC_VARIANT)" == "MSVC2010EE" +LOCAL_CFLAGS= $(LOCAL_CFLAGS) /MP +!ENDIF + +# Optional: Static analysis. Only supported in the full-frontal MSVC editions. +# http://msdn.microsoft.com/en-us/library/ms182025.aspx + +!IFDEF ENABLE_CODE_ANALYSIS +LOCAL_CFLAGS= $(LOCAL_CFLAGS) /analyze:WX- +!ENDIF + +# STANDARD_CFLAGS are flags used for *Wireshark* compiles (not stuff like lemon, etc) +STANDARD_CFLAGS=-DHAVE_CONFIG_H -D_U_="" $(LOCAL_CFLAGS) $(WARNINGS_CFLAGS) + +# Uncomment the following to treat compiler warnings as errors +#WARNINGS_ARE_ERRORS=-WX + +## XXX: _MT and _DLL are defined when /MD is used so CVARSDLL is apparently unneeded +##CVARSDLL=-D_MT -D_DLL + +# Linker flags: +# /DEBUG generate debug info +# /PROFILE generate map file(s) for profiling +# /DEFAULTLIB:xxx use xxx as the standard C library +# /NODEFAULTLIB:xxx don't use xxx as the standard C library +# +LOCAL_LDFLAGS=/DEBUG /MACHINE:$(TARGET_MACHINE) +DLL_LDFLAGS = +!IFDEF MANIFEST_INFO_REQUIRED +DLL_LDFLAGS = /MANIFEST:no +!ENDIF + +# Enable Safe Exception Handler. +# http://msdn.microsoft.com/en-us/magazine/cc337897.aspx +!IF $(MSC_VER_REQUIRED) >= 1300 +LOCAL_CFLAGS= $(LOCAL_CFLAGS) /GS +!IF "$(WIRESHARK_TARGET_PLATFORM)" != "win64" +LOCAL_LDFLAGS= $(LOCAL_LDFLAGS) /SafeSEH +!ENDIF +!ENDIF + +# Enable ASLR. Requires VS2008 or later. +# http://blogs.msdn.com/b/vcblog/archive/2009/05/21/dynamicbase-and-nxcompat.aspx +# DEP (/NXCompat) is handled in init_process_policies() via SetProcessDEPPolicy. + +# ASLR http://msdn.microsoft.com/en-us/library/bb384887.aspx +!IF $(MSC_VER_REQUIRED) >= 1500 +LOCAL_LDFLAGS= $(LOCAL_LDFLAGS) /DYNAMICBASE /FIXED:no +!ENDIF + +PLUGIN_LDFLAGS = /NOLOGO /INCREMENTAL:no $(LOCAL_LDFLAGS) $(DLL_LDFLAGS) + +# +# According to http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=403 +# XCOPY under Windows NT doesn't support the "/Y" flag. This works +# around that bug. +# XXX - This apparently doesn't work for some versions of nmake: +# http://support.microsoft.com/default.aspx?scid=kb;en-us;86814 +# It looks like we'll have to call "set copycmd=/y" before we run xcopy. +COPYCMD=/y + +# +# If you don't want to build libwireshark.dll, you should comment out the +# following line. (Note: for plugin support this option must stay activated) +ENABLE_LIBWIRESHARK=USE + +# +# install (debug) directory for Wireshark (relative to your source dir) +INSTALL_DIR=wireshark-gtk2 + + + +##### C-Runtime Redistributable ##### +# +# The C-Runtime since Version 7 must be shipped together with +# the program installer, to avoid missing msvcr*.dll files on +# the target machine. +# +# The location of these files differ on the various compiler +# packages, the following will use the default paths depending +# on the package version. +# +!IF "$(MSVC_VARIANT)" == "MSVC6" +# msvcrt.dll will already be available on target machines - nothing additional to install + +!ELSEIF "$(WIRESHARK_TARGET_PLATFORM)" == "win64" +# We're not creating portable packages and therefore don't have to worry about +# "deploying using xcopy" +VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_$(TARGET_MACHINE).exe + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2002" +# you probably need to tweak this directory if you don't use the professional edition! +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET\Visual Studio .NET Professional - English\msvcr70.dll + +!ELSEIF "$(MSVC_VARIANT)" == "DOTNET10" +# no redistributable available for this package! + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2003" +# you probably need to tweak this directory if you don't use the professional edition! +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio .NET 2003\Visual Studio .NET Professional 2003 - English\msvcr71.dll + +!ELSEIF "$(MSVC_VARIANT)" == "DOTNET11" +# no redistributable available for this package! + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 8\VC\redist\$(PROCESSOR_ARCHITECTURE)\Microsoft.VC80.CRT\*.* + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" || "$(MSVC_VARIANT)" == "MSVC2008EE" +# you need to download the redistributable package vcredist_x86.exe from Microsoft first, +# and copy it to the lib folder!!! +VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_$(TARGET_MACHINE).exe + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2008" +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 9.0\VC\redist\$(PROCESSOR_ARCHITECTURE)\Microsoft.VC90.CRT\*.* + +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2010EE" +# you need to download the redistributable package vcredist_x86.exe from Microsoft first, +# and copy it to the lib folder!!! +VCREDIST_EXE=$(WIRESHARK_LIBS)\vcredist_$(TARGET_MACHINE).exe +!ELSEIF "$(MSVC_VARIANT)" == "MSVC2010" +MSVCR_DLL=$(PROGRAM_FILES)\Microsoft Visual Studio 10.0\VC\redist\$(TARGET_MACHINE)\Microsoft.VC100.CRT\*.* + +!ELSE +!ERROR MSVC_VARIANT unknown +!ENDIF + +#PPMODIF +#!IF DEFINED(VCREDIST_EXE) && ! EXIST("$(VCREDIST_EXE)") +#!ERROR Can't find $(VCREDIST_EXE). Have you downloaded it from Microsoft? \ +#See the developer's guide section "C-Runtime "Redistributable" files" for details how to get it +#!ENDIF + +##### Advanced: Docbook/XML documentation generation ##### +# If you want to generate the Docbook/XML based docs (User's and Developer's +# Guide, ...), you'll need some additional tools / libraries compared to the +# rest of the build process. +# +# FOR DETAILED INSTRUCTIONS TO GENERATE THE DOCS, SEE: docbook\README.txt. +# +# If you don't call the Makefile.nmake in the docbook dir to generate the +# docs, the following settings in this section will have no effect. + +# formatting objects processor executable +# Comment this out if you don't have fop installed or you don't want the docs +# in PDF format. +# +# You may want to install the FOP hyphenation patterns from +# http://offo.sourceforge.net/hyphenation/ +!IFNDEF FOP +FOP=fop-0.95\fop.bat +!ENDIF + +# Additional options to fop. +FOP_OPTS=-Xmx256m + +# html help compiler +# Comment this out if you don't have hhc.exe or you don't want the docs in +# .chm format. +# +# Beware: hhc.exe is NOT part of the MSVC packages in HHC_DIR mentioned above, +# so you'll need to install the HTML Help Workshop for this. +HHC_EXE="$(HHC_DIR)\hhc.exe" + +# html to text converter for text version of release notes, e.g. elinks. +# This could also be "lynx", or "true" if neither elinks nor lynx is installed +# (cygwin: lynx works, elinks not available, links and true doesn't produce output) +#HTML2TXT=elinks -dump -dump-width 72 +##HTML2TXT=links -dump -width 72 ## XXX: Fails: For links -dump requires 'url' (filename) arg. +#HTML2TXT=lynx -dump -width=72 -nolist -stdin + +!IFNDEF HTML2TXT +HTML2TXT=$(PYTHON) $(TOOLS_DIR)\html2text.py --width=72 --no-links +!ENDIF + +# the XSL processor (part of cygwin's libxslt package) +XSLTPROC="xsltproc" + +# the XML validator (part of cygwin's libxml2 package) +XMLLINT="xmllint" + + + +############################################################################## +# +# You should not have to change anything below this comment. +# If you do, it's a deficiency in the Makefile.nmake files; +# either tell wireshark-dev@wireshark.org about it, including +# details of why you had to change it, or fix config.nmake +# and any Makefile.nmake files that need to be changed, and +# send us the patches, along with details of why the change +# was necessary. +# +############################################################################## + +# +# 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." +# + +VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_MICRO)$(VERSION_EXTRA) +RC_VERSION=$(VERSION_MAJOR),$(VERSION_MINOR),$(VERSION_MICRO),$(VERSION_BUILD) +PRODUCT_VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_MICRO).$(VERSION_BUILD) + +WTAP_VERSION=$(WTAP_VERSION_MAJOR).$(WTAP_VERSION_MINOR).$(WTAP_VERSION_MICRO) +RC_WTAP_VERSION=$(WTAP_VERSION_MAJOR),$(WTAP_VERSION_MINOR),$(WTAP_VERSION_MICRO) + +# GLib +#PPMODIF +GLIB_CFLAGS=/I$(GLIB_DIR)\include\glib-$(GLIB_VERSION) \ + /I$(GLIB_DIR)\lib\glib-$(GLIB_VERSION)\include +GLIB_LIBS=$(GLIB_DIR)\lib\glib-$(GLIB_VERSION).lib \ + $(GLIB_DIR)\lib\gmodule-$(GLIB_VERSION).lib \ + $(GLIB_DIR)\lib\gobject-$(GLIB_VERSION).lib +GTHREAD_LIBS=$(GLIB_DIR)\lib\gthread-$(GLIB_VERSION).lib + +# GTK+ +GTK_CFLAGS=$(GLIB_CFLAGS) /I$(GTK_DIR)\include\gtk-2.0 \ + /I$(GTK_DIR)\include\gdk-pixbuf-2.0 \ + /I$(GTK_DIR)\lib\gtk-2.0\include \ + /I$(GTK_DIR)\include\atk-1.0 \ + /I$(GTK_DIR)\include\cairo \ + /I$(GTK_DIR)\include\pango-1.0 +GTK_LIBS=$(GTK_DIR)\lib\gtk-win32-2.0.lib \ + $(GTK_DIR)\lib\gdk-win32-2.0.lib \ + $(GTK_DIR)\lib\gdk_pixbuf-2.0.lib \ + $(GTK_DIR)\lib\pango-1.0.lib \ + $(GLIB_LIBS) + +# 2.18 was no good(Theming problem) +!IF "$(GTK_INST_VERSION)" == "2.22" || "$(GTK_INST_VERSION)" == "2.16" || "$(GTK_INST_VERSION)" == "2.14" +GTK_LIB_DIR=2.10.0 + +!IFDEF PNG_DLL +NEED_LIBPNG_DLL=USE +!ENDIF +!IFDEF JPEG_DLL +NEED_LIBJPEG_DLL=USE +!ENDIF +!IFDEF TIFF_DLL +NEED_LIBTIFF_DLL=USE +!ENDIF +NEED_CAIRO_DLL=USE +# Pango >=1.24.5 Needs these: +NEED_FREETYPE_DLL=USE +NEED_FONTCONFIG_DLL=USE +NEED_EXPAT_DLL=USE + +GTK_WIMP_DLLSRC_DIR=$(GTK_DIR)\lib\gtk-2.0\2.10.0\engines +GTK_WIMP_DLLDST_DIR=lib\gtk-2.0\2.10.0\engines +GTK_WIMP_RCSRC_DIR=$(GTK_DIR)\share\themes\MS-Windows\gtk-2.0 +GTK_WIMP_RCDST_DIR=etc\gtk-2.0 +!ELSE +!ERROR ? Unknown or invalid GTK_INST_VERSION +!ENDIF + + +!IFDEF AIRPCAP_DIR +AIRPCAP_CONFIG=^#define HAVE_AIRPCAP 1 +AIRPDCAP_CONFIG=^#define HAVE_AIRPDCAP 1 +#AIRPCAP_CFLAGS=/I$(AIRPCAP_DIR)\include +!ELSE +AIRPCAP_CONFIG= +AIRPDCAP_CONFIG= +!ENDIF + +!IFDEF PCAP_DIR +# Nmake uses carets to escape special characters +WINPCAP_CONFIG=^#define HAVE_LIBPCAP 1 +# +# This requires that, if you're *building* Wireshark, you have +# the most recent WinPcap's development package. If, at *run* +# time, an older version of WinPcap, missing some routines, +# is found, we work around that. +# +PCAP_FINDALLDEVS_CONFIG=^#define HAVE_PCAP_FINDALLDEVS 1 +PCAP_DATALINK_NAME_TO_VAL_CONFIG=^#define HAVE_PCAP_DATALINK_NAME_TO_VAL 1 +PCAP_DATALINK_VAL_TO_NAME_CONFIG=^#define HAVE_PCAP_DATALINK_VAL_TO_NAME 1 +PCAP_DATALINK_VAL_TO_DESCRIPTION_CONFIG=^#define HAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION 1 +# PCAP_BREAKLOOP won't have any benefit on Win32, but breaks compatibility with 3.0 +PCAP_BREAKLOOP_CONFIG= +PCAP_LIST_DATALINKS_CONFIG=^#define HAVE_PCAP_LIST_DATALINKS 1 +PCAP_FREE_DATALINKS_CONFIG=^#define HAVE_PCAP_FREE_DATALINKS 1 +PCAP_SET_DATALINK_CONFIG=^#define HAVE_PCAP_SET_DATALINK 1 +PCAP_OPEN_DEAD_CONFIG=^#define HAVE_PCAP_OPEN_DEAD 1 +BPF_IMAGE_CONFIG=^#define HAVE_BPF_IMAGE 1 +!ELSE +# no WpdPack installed +WINPCAP_CONFIG= +PCAP_FINDALLDEVS_CONFIG= +PCAP_DATALINK_NAME_TO_VAL_CONFIG= +PCAP_DATALINK_VAL_TO_NAME_CONFIG= +PCAP_DATALINK_VAL_TO_DESCRIPTION_CONFIG= +PCAP_BREAKLOOP_CONFIG= +PCAP_LIST_DATALINKS_CONFIG= +PCAP_FREE_DATALINKS_CONFIG= +PCAP_SET_DATALINK_CONFIG= +PCAP_OPEN_DEAD_CONFIG= +BPF_IMAGE_CONFIG= +!ENDIF + +!IF DEFINED(PCAP_DIR) && DEFINED(PCAP_REMOTE) +PCAP_HAVE_REMOTE_CONFIG=^#define HAVE_REMOTE 1 +PCAP_REMOTE_CONFIG=^#define HAVE_PCAP_REMOTE 1 +PCAP_OPEN_CONFIG=^#define HAVE_PCAP_OPEN 1 +PCAP_SETSAMPLING_CONFIG=^#define HAVE_PCAP_SETSAMPLING 1 +!ELSE +PCAP_HAVE_REMOTE_CONFIG= +PCAP_REMOTE_CONFIG= +PCAP_OPEN_CONFIG= +PCAP_SETSAMPLING_CONFIG= +!ENDIF + +!IFDEF ZLIB_DIR +ZLIB_PATH=$(ZLIB_DIR) +ZLIB_CFLAGS=/I$(ZLIB_DIR)\include +ZLIB_LIBS=$(ZLIB_DIR)\lib\zdll.lib +ZLIB_DLL=$(ZLIB_DIR)\zlib1.dll +# Nmake uses carets to escape special characters +ZLIB_CONFIG=^#define HAVE_LIBZ 1 +!else +ZLIB_CFLAGS= +ZLIB_LIBS= +ZLIB_DLL= +ZLIB_CONFIG= +!ENDIF + +!IFDEF C_ARES_PKG +!UNDEF ADNS_DIR +C_ARES_DIR=$(WIRESHARK_LIBS)\c-ares-$(C_ARES_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws +C_ARES_CFLAGS=/I$(C_ARES_DIR)/include +C_ARES_LIBS=$(C_ARES_DIR)\lib\libcares-2.lib +C_ARES_DLL=$(C_ARES_DIR)\bin\libcares-2.dll +# Nmake uses carets to escape special characters +C_ARES_CONFIG=^#define HAVE_C_ARES 1 +!else +C_ARES_CFLAGS= +C_ARES_LIBS= +C_ARES_CONFIG= +!IFDEF ADNS_DIR +ADNS_PATH=$(ADNS_DIR)\adns_win32\lib +ADNS_CFLAGS=/I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32 +ADNS_LIBS=$(WIRESHARK_LIBS)\$(MSVC_VARIANT)\adns\adns_dll.lib +ADNS_DLL=$(WIRESHARK_LIBS)\$(MSVC_VARIANT)\adns\adns_dll.dll +# Nmake uses carets to escape special characters +ADNS_CONFIG=^#define HAVE_GNU_ADNS 1 +!else +ADNS_CFLAGS= +ADNS_LIBS= +ADNS_CONFIG= +!ENDIF # ADNS +!ENDIF # C_ARES + +!IFDEF KFW_DIR +KFW_PATH=$(KFW_DIR)\bin +KFW_CFLAGS=/I$(KFW_DIR)\include +KFW_LIBS=$(KFW_DIR)\lib\krb5_32.lib +# Nmake uses carets to escape special characters +KFW_CONFIG=^#define HAVE_MIT_KERBEROS 1 +!else +KFW_CFLAGS= +KFW_LIBS= +KFW_CONFIG= +!ENDIF + +!IFDEF PCRE_DIR +PCRE_PATH=$(PCRE_DIR)\bin +PCRE_CFLAGS=/I$(PCRE_DIR)\include +PCRE_LIBS=$(PCRE_DIR)\lib\pcre.lib +# Nmake uses carets to escape special characters +PCRE_CONFIG=^#define HAVE_LIBPCRE 1 +!else +PCRE_CFLAGS= +PCRE_LIBS= +PCRE_CONFIG= +!ENDIF + +!IFDEF NETTLE_DIR +NETTLE_CFLAGS=/I$(NETTLE_DIR) +NETTLE_LIBS=$(NETTLE_DIR)\libnettle.lib +# Nmake uses carets to escape special characters +NETTLE_CONFIG=^#define HAVE_LIBNETTLE 1 +!else +NETTLE_CFLAGS= +NETTLE_LIBS= +NETTLE_CONFIG= +!ENDIF + +!IFDEF GNUTLS_PKG +GNUTLS_DIR=$(WIRESHARK_LIBS)\gnutls-$(GNUTLS_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws +GNUTLS_PATH=$(GNUTLS_DIR) +# /DNOCRYPT avoids inclusion of Wincrypt.h, avoiding a X509_NAME define clash +GNUTLS_CFLAGS=/I$(GNUTLS_DIR)\include /DNOCRYPT /DIMPORT_LIGNUTLSDLL +GCRYPT_LIBS = $(GNUTLS_DIR)\bin\libgcrypt-11.lib +GNUTLS_LIBS=\ + $(GNUTLS_DIR)\bin\libtasn1-3.lib \ + $(GNUTLS_DIR)\bin\libgpg-error-0.lib \ + $(GCRYPT_LIBS) \ + $(GNUTLS_DIR)\bin\libgnutls-26.lib +# Nmake uses carets to escape special characters +GNUTLS_CONFIG=^#define HAVE_LIBGNUTLS 1 +LIBGCRYPT_CONFIG=^#define HAVE_LIBGCRYPT 1 +!else +GNUTLS_CFLAGS= +GNUTLS_LIBS= +GNUTLS_CONFIG= +LIBGCRYPT_CONFIG= +!ENDIF + +!IFDEF LUA_DIR +LUA_CFLAGS=/I$(LUA_DIR)\include +LUA_LIBS=$(LUA_DIR)\lua5.1.lib +# Nmake uses carets to escape special characters +LUA_CONFIG=^#define HAVE_LUA 1 +LUA_VERSION=^#define HAVE_LUA_5_1 1 +!else +LUA_CFLAGS= +LUA_LIBS= +LUA_CONFIG= +!ENDIF + +!IF DEFINED(PYTHON_EMBED) +PYTHON_CFLAGS=/I$(PYTHON_DIR)\include +PYTHON_LIBS=$(PYTHON_DIR)\libs\python$(PYTHON_VER).lib +# Nmake uses carets to escape special characters +PYTHON_CONFIG=^#define HAVE_PYTHON 1 +!else +PYTHON_CFLAGS= +PYTHON_LIBS= +PYTHON_CONFIG= +!ENDIF + +!IFDEF PORTAUDIO_DIR +# Nmake uses carets to escape special characters +PORTAUDIO_CONFIG=^#define HAVE_LIBPORTAUDIO 1 +!IF "$(PORTAUDIO_VERSION)" == "18" +# V18 uses API version 1 and v19 API version 2 +PORTAUDIO_CFLAGS=/I$(PORTAUDIO_DIR)\pa_common +PORTAUDIO_API_CONFIG=^#define PORTAUDIO_API_1 1 +!ELSE +PORTAUDIO_CFLAGS=/I$(PORTAUDIO_DIR)\include /I$(PORTAUDIO_DIR)\src\common /I$(PORTAUDIO_DIR)\src\os\win /DPA_NO_DS /DPA_NO_ASIO +!ENDIF +!ELSE +PORTAUDIO_CFLAGS= +PORTAUDIO_CONFIG= +!ENDIF + +!IFDEF HHC_DIR +!IF "$(MSVC_VARIANT)" == "MSVC6" +HHC_CFLAGS=/I"$(HHC_DIR)\include" -DHHC_DIR +HHC_LIBS="$(HHC_DIR)\lib\htmlhelp.lib" +!ELSE +HHC_CFLAGS=-DHHC_DIR +HHC_LIBS=htmlhelp.lib +!ENDIF +!ELSE +HHC_CFLAGS= +HHC_LIBS= +!ENDIF + +!IFDEF SMI_DIR +SMI_CONFIG=^#define HAVE_LIBSMI 1 +SMI_CFLAGS=/I$(SMI_DIR)\include +SMI_LIBS=$(SMI_DIR)\lib\smi.lib +!ELSE +SMI_LIBS= +SMI_CFLAGS= +SMI_CONFIG= +!ENDIF + +!IFDEF GEOIP_DIR +GEOIP_CONFIG=^#define HAVE_GEOIP 1 +GEOIP_CFLAGS=/I$(GEOIP_DIR) +GEOIP_LIBS=$(GEOIP_DIR)\GeoIP.lib +!ELSE +GeoIP_LIBS= +GeoIP_CFLAGS= +GeoIP_CONFIG= +!ENDIF + +!IFDEF ENABLE_LIBWIRESHARK +LIBWIRESHARK_CONFIG=^#define HAVE_LIBWIRESHARKDLL 1 +# Link plugins with the import library of libwireshark.dll +LINK_PLUGINS_WITH_LIBWIRESHARK=USE +!ELSE +LIBWIRESHARK_CONFIG= +!ENDIF + +# Construct the path +PATH=$(PATH);$(CYGWIN_PATH);$(GTK_DIR)\bin;$(GETTEXT_DIR)\bin;$(ZLIB_PATH);$(ADNS_PATH) + +# We can't use a lot of IPv6 code with plain Visual C++ 6.0 +!IF "$(MSVC_VARIANT)" == "MSVC6" && !DEFINED(MSSDK) +INET6_CONFIG= +!ELSE +INET6_CONFIG=^#define INET6 1 +!ENDIF + +!IF "$(MSVC_VARIANT)" == "MSVC6" && !DEFINED(MSSDK) +NTDDNDIS_CONFIG= +!ELSE +NTDDNDIS_CONFIG=^#define HAVE_NTDDNDIS_H 1 +!ENDIF diff --git a/application/tool/wireshark/1.6.5/configure.in b/application/tool/wireshark/1.6.5/configure.in new file mode 100644 index 0000000..32deaee --- /dev/null +++ b/application/tool/wireshark/1.6.5/configure.in @@ -0,0 +1,2182 @@ +# $Id: configure.in 39943 2011-11-18 21:29:16Z gerald $ +# +AC_PREREQ(2.60) + +AC_INIT(wireshark, 1.6.5) + +dnl Check for CPU / vendor / OS +dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or +dnl `AC_CANONICAL_HOST', or `AC_CANONICAL_TARGET', depending on the +dnl needs. Using `AC_CANONICAL_TARGET' is enough to run the two other +dnl macros. +dnl +dnl As nothing in the Wireshark is itself a build tool (we are not, +dnl for example, a compiler that generates machine code), we probably +dnl don't need AC_CANONICAL_TARGET, so, in theory, we should be able +dnl to use AC_CANONICAL_BUILD and AC_CANONICAL_HOST - or perhaps just +dnl AC_CANONICAL_HOST - instead. Note that we do have tools, such as +dnl lemon, that need to be built for the build machine, not for the +dnl host machine, so we might need both. +dnl +dnl This has to be done *after* AC_INIT, otherwise autogen.sh fails. + +dnl AC_CANONICAL_BUILD +dnl AC_CANONICAL_HOST +AC_CANONICAL_TARGET + +AM_INIT_AUTOMAKE([1.9 tar-ustar dist-bzip2 no-dist-gzip]) + +AM_DISABLE_STATIC + +dnl Checks for programs. +AC_PROG_CC +AM_PROG_CC_C_O +AC_PROG_CXX +AC_PROG_CPP +dnl Work around libtool bug (fixed in the version 1.5a?) +AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], ) +AC_LIBTOOL_DLOPEN +AC_PROG_LIBTOOL +AC_PATH_PROG(PERL, perl) +# +# XXX - should autogen.sh check for YACC/Bison and Flex? A user building +# from a distribution tarball shouldn't have to have YACC/Bison or Flex, +# as the tarball should contain the results of running YACC/Bison on .y +# files and running Flex on .l files, but a user building from SVN +# will have to run YACC/Bison and Flex to process those files. +# +# On the other hand, what about users who use a distribution tarball to +# do development? They *shouldn't* - that's what the SVN repository is +# for - but they might. They'd get errors if they modify a .y or .l +# file and try to do a build - but the error should tell them that they +# need to get YACC/Bison and/or Flex. +# +# Then again, getting them shouldn't be too big of a burden. +# +# XXX - is the same true of pod2man and pod2html, or are they needed +# even when building from a distribution tarball? +# +# +AC_PROG_YACC +AC_PATH_PROG(YACCDUMMY, $YACC) +if test "x$YACCDUMMY" = x +then + AC_MSG_ERROR(I couldn't find yacc (or bison or ...); make sure it's installed and in your path) +fi +AM_PROG_LEX +AC_PATH_PROG(LEX, flex) +if test "x$LEX" = x +then + AC_MSG_ERROR(I couldn't find flex; make sure it's installed and in your path) +fi +AC_PATH_PROG(POD2MAN, pod2man) +if test "x$POD2MAN" = x +then + # + # The alternative is not to build the man pages.... + # + AC_MSG_ERROR(I couldn't find pod2man; make sure it's installed and in your path) +fi +AC_PATH_PROG(POD2HTML, pod2html) +if test "x$POD2HTML" = x +then + # + # The alternative is not to build the HTML man pages.... + # + AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path) +fi + +# +# XXX - this looks for various HTML viewers on the host, not the target; +# we really want to know what's available on the target, for cross-builds. +# That would probably require us to, at run time, look for xdg-open and, +# if we don't find it, look for mozilla, htmlview, etc. +# +AC_PATH_PROG(HTML_VIEWER, xdg-open) +if test "x$HTML_VIEWER" != x +then + # + # XXX - the HTML_VIEWER shell variable is the full path of xdg-open. + # Define some variable to be that, so we just run that? + # + AC_DEFINE(HAVE_XDG_OPEN, 1, [Define if we have xdg-open]) + + # + # XXX - we have to define HTML_VIEWER for the prefs.c code that + # sets the default value of the Web browser preference, even + # though that preference won't be offered. + # + AC_DEFINE_UNQUOTED(HTML_VIEWER, "xdg-open", [HTML viewer, e.g. mozilla]) +else + AC_PATH_PROG(HTML_VIEWER, htmlview) + if test "x$HTML_VIEWER" = x + then + AC_DEFINE_UNQUOTED(HTML_VIEWER, "mozilla", [HTML viewer, e.g. mozilla]) + else + AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla]) + fi +fi + +AC_PATH_PROG(PYTHON, python) + +AC_SUBST(PERL) +AC_SUBST(LEX) +AC_SUBST(POD2MAN) +AC_SUBST(POD2HTML) +AC_SUBST(PYTHON) +AC_SUBST(XSLTPROC) +AC_SUBST(XMLLINT) + +# +# Set "ac_supports_gcc_flags" if the compiler is known to support GCC-style +# flags such as -pedantic, -W warning flags and -f feature flags. Currently, +# we assume GCC and clang do; other compilers should be added here. +# +# This is done to avoid getting tripped up by compilers that support +# those flags but give them a different meaning. +# +if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then + ac_supports_gcc_flags=yes +fi + +# +# Set "ac_supports_W_linker_passthrough" if the compiler is known to +# support "-Wl,{options}" to pass options through to the linker. +# Currently, we assume GCC, xlc, and clang do; other compilers should +# be added here. +# +if test "x$GCC" = "xyes" -o "x$CC" = "xxlc" -o "x$CC" = "xclang" ; then + ac_supports_W_linker_passthrough=yes +fi + +# +# Set "ac_supports_attribute_unused" if the compiler is known to +# support "__attribute__(unused)". +# Currently, we assume GCC and clang do; other compilers should +# be added here. +# +# XXX - do this with a compiler test? +# +if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then + ac_supports_W_linker_passthrough=yes +fi + +if test "x$CC_FOR_BUILD" = x +then + CC_FOR_BUILD=$CC +fi +AC_SUBST(CC_FOR_BUILD) + +# Check for doxygen +AC_PATH_PROG(DOXYGEN, doxygen) +AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no") +AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes) + + +#PPMODIF +# +AC_MSG_CHECKING([whether a TGT_VERSION was specified]) +AC_ARG_WITH([version], + AS_HELP_STRING([--with-version=@<:@*@:>@], + [Specify Target version @<:@default=1.3.1@:>@]), + with_version="$withval", with_version="1.3.2") +AC_SUBST(TGT_VERSION, [$with_version]) +AC_MSG_RESULT(TGT_VERSION=$TGT_VERSION) +# +AC_MSG_CHECKING([whether OCT_PATH was specified]) +AC_ARG_WITH([oct_path], + AS_HELP_STRING([--with-oct_path=@<:@*@:>@], + [Specify Octasic path @<:@default=/mnt/goose@:>@]), + with_oct_path="$withval", with_oct_path="/mnt/goose") +AC_SUBST(OCT_PATH, [$with_oct_path]) +AC_MSG_RESULT(OCT_PATH=$OCT_PATH) +#PPMODIF + + +# +# Try to arrange for large file support. +# +AC_SYS_LARGEFILE + +# gnu tls +tls_message="no" +AC_ARG_WITH([gnutls], + AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@], + [use gnutls library @<:@default=yes@:>@]), + with_gnutls="$withval", with_gnutls="yes") +if test "x$with_gnutls" = "xyes"; then + PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0], + [ + echo "gnuTLS found, enabling ssl decryption" + AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use gnutls library]) + tls_message="yes" + ] + , [ + echo "gnuTLS not found, disabling ssl decryption" + tls_message="no" + ] + ) +fi + +# libgrypt +gcrypt_message="no" +AC_ARG_WITH([gcrypt], + AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@], + [use gcrypt library @<:@default=yes@:>@]), + with_gcrypt="$withval", with_gcrypt="yes") +if test "x$with_gcrypt" = "xyes"; then + AM_PATH_LIBGCRYPT(1.1.92, + [ + echo "libgcrypt found, enabling ipsec decryption" + AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt]) + gcrypt_message="yes" + ] + , [ + if test x$libgcrypt_config_prefix != x ; then + AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]]) + else + echo "libgcrypt not found, disabling ipsec decryption" + gcrypt_message="no" + fi + ] + ) +fi + +AC_ARG_WITH([gtk3], + AC_HELP_STRING( [--with-gtk3=@<:@yes/no@:>@], + [use GTK+ 3.0 instead of 2.0 @<:@default=no@:>@]), + with_gtk3="$withval", with_gtk="no") + + +# libsmi +# FIXME: currently the path argument to with-libsmi is being ignored +AX_LIBSMI + +# Check for xsltproc +AC_PATH_PROG(XSLTPROC, xsltproc) +AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no") +AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes) + +# Check for xmllint +AC_PATH_PROG(XMLLINT, xmllint) +AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no") +AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes) + +# Check for fop (translate .fo to e.g. pdf) +AC_PATH_PROG(FOP, fop) +AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no") +AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes) + +# +# Look for something to convert HTML to text (for docbook/) +# +AC_PATH_PROG(ELINKS, elinks) +AC_CHECK_PROG(HAVE_ELINKS, elinks, "yes", "no") +AM_CONDITIONAL(HAVE_ELINKS, test x$HAVE_ELINKS = xyes) + +## links: Fails as used in docbook/Makefile.am +## (Rather than fixing things we'll just disable the use of links). +##AC_PATH_PROG(LINKS, links) +##AC_CHECK_PROG(HAVE_LINKS, links, "yes", "no") +##AM_CONDITIONAL(HAVE_LINKS, test x$HAVE_LINKS = xyes) + +AC_PATH_PROG(LYNX, lynx) +AC_CHECK_PROG(HAVE_LYNX, lynx, "yes", "no") +AM_CONDITIONAL(HAVE_LYNX, test x$HAVE_LYNX = xyes) + + +# Check for hhc (html help compiler) +AC_PATH_PROG(HHC, hhc.exe) +AC_CHECK_PROG(HAVE_HHC, hhc.exe, "yes", "no") +AM_CONDITIONAL(HAVE_HHC, test x$HAVE_HHC = xyes) + +# Check for packaging utilities +# For now, we check to see if the various packaging utilites are in our +# path. I'm too lazy to write code to go hunt for them. - Gerald + +# SVR4/Solaris +AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no") +AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no") +AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no") + +if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \ + -a x$HAVE_PKGTRANS = xyes ; then + HAVE_SVR4_PACKAGING=yes +else + HAVE_SVR4_PACKAGING=no +fi +AC_SUBST(HAVE_SVR4_PACKAGING) + +# RPM +AC_WIRESHARK_RPM_CHECK +AC_SUBST(HAVE_RPM) + +# Debian +AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no") + +# Mac OS X +AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no") +AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no") +AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no") + +if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \ + -a x$HAVE_BLESS = xyes ; then + HAVE_OSX_PACKAGING=yes +else + HAVE_OSX_PACKAGING=no +fi +AC_SUBST(HAVE_OSX_PACKAGING) + +# +# Try to add some additional gcc checks to CFLAGS +# +AC_ARG_ENABLE(extra-gcc-checks, + AC_HELP_STRING( [--enable-extra-gcc-checks], + [Do additional -W checks in GCC. @<:@default=no@:>@]), +[ + wireshark_extra_gcc_flags=$enableval + if test $enableval != no + then + AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Woverflow) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wlogical-op) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings) +# AC_WIRESHARK_GCC_CFLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4) +# AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunreachable-code) +# AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunsafe-loop-optimizations) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wbad-function-cast) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-qual) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Waddress) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wattributes) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdiv-by-zero) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wignored-qualifiers) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpragmas) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wredundant-decls) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wvla) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wc++-compat) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wjump-misses-init) + # + # epan/dissectors/packet-ncp2222.inc blocks this one + # for now. + # + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes) + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations) + # + # epan/dissectors/packet-afs.c blocks this one for now. + # + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshadow) + # + # More cleanup needed for this on LP64. + # + AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32) + fi +],) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) # -W is now known as -Wextra +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wextra) # -W is now known as -Wextra +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wendif-labels) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpointer-arith) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-pointer-sign) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align) +AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security) +# Use the faster pre gcc 4.5 floating point precision +if test "x$CC" != "xclang" ; then +AC_WIRESHARK_GCC_CFLAGS_CHECK(-fexcess-precision=fast) +fi + +AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed]) +###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M]) +###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--cref]) +# AC_WIRESHARK_LDFLAGS_CHECK([-flto]) +# AC_WIRESHARK_LDFLAGS_CHECK([-fwhopr]) +# AC_WIRESHARK_LDFLAGS_CHECK([-fwhole-program]) + +# +# If we're running GCC or clang, add '-D_U_="__attribute__((unused))"' to +# CFLAGS as well, so we can use _U_ to flag unused function arguments and +# not get warnings about them. Otherwise, add '-D_U_=""', so that _U_ used +# to flag an unused function argument will compile with non-GCC, non-clang +# compilers. +# +# XXX - other compilers? +# +if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then + CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS" +else + CFLAGS="-D_U_=\"\" $CFLAGS" +fi + +# +# If the compiler supports GCC-style flags, enable a barrier "stop on +# warning". +# This barrier is set for a very large part of the code. However, it is +# typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...) +# +warnings_as_errors_default="no" +AC_MSG_CHECKING(whether we should treat compiler warnings as errors) +AC_ARG_ENABLE(warnings-as-errors, + AC_HELP_STRING( [--enable-warnings-as-errors], + [Treat warnings as errors (only for GCC or clang). @<:@default=no@:>@]), +[ + if test "x$ac_supports_gcc_flags" = "xyes" -a "x$enableval" = "xyes" -a "x$wireshark_extra_gcc_flags" != "xyes"; then + with_warnings_as_errors="yes" + AC_MSG_RESULT(yes) + else + with_warnings_as_errors="no" + AC_MSG_RESULT(no) + fi +], + if test "x$ac_supports_gcc_flags" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then + with_warnings_as_errors="yes" + AC_MSG_RESULT(yes) + else + with_warnings_as_errors="no" + AC_MSG_RESULT(no) + fi +) +AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes") + +# +# Add any platform-specific compiler flags needed. +# +AC_MSG_CHECKING(for platform-specific compiler flags) +if test "x$GCC" = "xyes" ; then + # + # GCC - do any platform-specific tweaking necessary. + # + case "$host_os" in + solaris*) + # the X11 headers don't automatically include prototype info + # and a lot don't include the return type + CFLAGS="$CFLAGS -Wno-return-type -DFUNCPROTO=15" + AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15) + ;; + darwin*) + # + # See comments above about Apple's lovely C compiler. + # + # NOTE: to AC_PROG_CC, "GCC" means "any compiler that + # defines __GNUC__"; clang defines __GNUC__, so that + # means we think clang is GCC. + # + # clang whines about -no-cpp-precomp being unused + # so we check whether this is really clang, and + # only add -no-cpp-precomp if it's not. + # + if test "x$CC" != "xclang" ; then + CFLAGS="-no-cpp-precomp $CFLAGS" + AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp) + else + # + # Clang, clang, clang went the trolley.... + # + AC_MSG_RESULT(none needed) + fi + ;; + *) + AC_MSG_RESULT(none needed) + ;; + esac +else + # + # Not GCC - assume it's the vendor's compiler. + # + case "$host_os" in + hpux*) + # + # HP's ANSI C compiler; flags suggested by Jost Martin. + # "-Ae" for ANSI C plus extensions such as "long long". + # "+O2", for optimization. XXX - works with "-g"? + # + CFLAGS="-Ae +O2 $CFLAGS" + AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2) + ;; + darwin*) + # + # It may be called "cc", but it's really a GCC derivative + # with a problematic special precompiler and precompiled + # headers; turn off the special precompiler, as some + # apparently-legal code won't compile with its precompiled + # headers. + # + # On the other hand, if it's called "clang", it's not a + # GCC derivative, and it whines if you pass it + # -no-cpp-precomp. + # + # XXX - is there any version of autoconf we support + # where it uses another way to decide if the compiler + # is GCC or not? + # + if test "x$CC" != "xclang" ; then + CFLAGS="-no-cpp-precomp $CFLAGS" + AC_MSG_RESULT(Apple CC - added -no-cpp-precomp) + else + # + # Clang, clang, clang went the trolley.... + # + AC_MSG_RESULT(none needed) + fi + ;; + *) + AC_MSG_RESULT(none needed) + ;; + esac +fi + +# +# Add any platform-specific linker flags needed. +# +AC_MSG_CHECKING(for platform-specific linker flags) +case "$host_os" in +darwin*) + # + # Add -Wl,-single_module to the LDFLAGS used with shared + # libraries, to fix some error that show up in some cases; + # some Apple documentation recommends it for most shared + # libraries. + # + LDFLAGS_SHAREDLIB="-Wl,-single_module" + # + # Add -Wl,-search_paths_first to make sure that if we search + # directories A and B, in that order, for a given library, a + # non-shared version in directory A, rather than a shared + # version in directory B, is chosen (so we can use + # --with-pcap=/usr/local to force all programs to be linked + # with a static version installed in /usr/local/lib rather than + # the system version in /usr/lib). + # + LDFLAGS="-Wl,-search_paths_first $LDFLAGS" + AC_MSG_RESULT([Apple linker - added -Wl,-single_module and -Wl,-search_paths_first]) + ;; +cygwin*) + # + # Shared libraries in cygwin/Win32 must never contain + # undefined symbols. + # + LDFLAGS="$LDFLAGS -no-undefined" + AC_MSG_RESULT(CygWin GNU ld - added -no-undefined) + ;; +*) + AC_MSG_RESULT(none needed) + ;; +esac +AC_SUBST(LDFLAGS_SHAREDLIB) + +# Control silent compiling +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])]) + +# +# On OS X, if we find the headers for Core Foundation, Launch Services, +# and Core Services, add -framework options to link with Application +# Services (of which Launch Services is a subframework), Core Foundation +# (required by the Launch Services APIs), and Core Services, so we can +# use them to launch a Web browser from the Help menu and to use +# Gestalt() to get the Mac OS X version number. +# +case "$host_os" in + +darwin*) + AC_MSG_CHECKING([whether we can build with Core Foundation, Launch Services, and Core Services]) + ac_save_LIBS="$LIBS" + ac_coreservices_frameworks="-framework CoreServices" + ac_launchservices_frameworks="-framework ApplicationServices -framework CoreFoundation $ac_coreservices_frameworks" + LIBS="$LIBS $ac_launchservices_frameworks $ac_coreservices_frameworks" + AC_TRY_LINK( + [ +# include +# include +# include +# include +# include + ], + [ + CFStringRef url_CFString; + CFURLRef url_CFURL; + OSStatus status; + long os_version; + + url_CFString = CFStringCreateWithCString(NULL, "", kCFStringEncodingASCII); + url_CFURL = CFURLCreateWithString(NULL, url_CFString, NULL); + status = LSOpenCFURLRef(url_CFURL, NULL); + + Gestalt(gestaltSystemVersion, &os_version); + ], + ac_cv_can_use_osx_frameworks=yes, + ac_cv_can_use_osx_frameworks=no, + [echo $ac_n "cross compiling; assumed OK... $ac_c"]) + if test "$ac_cv_can_use_osx_frameworks" = yes ; then + AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks]) + CORESERVICES_FRAMEWORKS="$ac_coreservices_frameworks" + LAUNCHSERVICES_FRAMEWORKS="$ac_launchservices_frameworks" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + LIBS="$ac_save_LIBS" + ;; +esac +AC_SUBST(CORESERVICES_FRAMEWORKS) +AC_SUBST(LAUNCHSERVICES_FRAMEWORKS) + +# +# If using $prefix we add "$prefix/include" to the include search path +# and "$prefix/lib" to the library search path. +# +if test "x$prefix" != "x" ; then + AC_MSG_CHECKING(whether to use $prefix for headers and libraries) + if test -d $prefix/include ; then + AC_MSG_RESULT(yes) + # + # Arrange that we search for header files in "$prefix/include", as + # various packages we use may have been installed under "$prefix/include". + # + CFLAGS="$CFLAGS -I$prefix/include" + CPPFLAGS="$CPPFLAGS -I$prefix/include" + + # + # Arrange that we search for libraries in "$prefix/lib". + # + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib) + else + AC_MSG_RESULT(no) + fi +fi + +dnl Look in /usr/local for header files and libraries ? +dnl XXX FIXME don't include /usr/local if it is already in the system +dnl search path as this causes gcc 3.2 on Linux to complain about a change +dnl of the system search order for includes +AC_ARG_ENABLE(usr-local, + AC_HELP_STRING( [--enable-usr-local], + [look for headers and libs in /usr/local tree. @<:@default=yes@:>@]), + ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes) + +AC_MSG_CHECKING(whether to use /usr/local for headers and libraries) +if test "x$ac_cv_enable_usr_local" = "xyes" ; then + if test -d "/usr/local"; then + AC_MSG_RESULT(yes) + # + # Arrange that we search for header files in the source directory + # and in its "wiretap" subdirectory, as well as in "/usr/local/include", + # as various packages we use ("libpcap", "zlib", "adns", "pcre") + # may have been installed under "/usr/local/include". + # + CFLAGS="$CFLAGS -I/usr/local/include" + CPPFLAGS="$CPPFLAGS -I/usr/local/include" + + # + # Arrange that we search for libraries in "/usr/local/lib". + # + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib) + else + AC_MSG_RESULT(no) + fi +else + AC_MSG_RESULT(no) +fi + +# +# If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a +# link directory. +# +case "$host_os" in + solaris*) + AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris) + if test x$LD_LIBRARY_PATH != x ; then + LIBS="$LIBS -R$LD_LIBRARY_PATH" + AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path) + else + AC_MSG_RESULT(no -- this may be a problem in a few seconds) + fi + ;; +esac + +# +# Check for versions of "sed" inadequate to handle, in libtool, a list +# of object files as large as the list in Wireshark. +# +# On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed", +# as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a +# symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in +# their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed" +# is the only "sed" that comes with Solaris that can handle Wireshark. +# +# Add any checks here that are necessary for other OSes. +# +AC_WIRESHARK_GNU_SED_CHECK +if test "$HAVE_GNU_SED" = no ; then + case "$host_os" in + solaris*) + AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used) + case `which sed` in + /bin/sed|/usr/bin/sed|/usr/ucb/sed) + AC_MSG_RESULT(yes) + AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)]) + ;; + + *) + AC_MSG_RESULT(no) + ;; + esac + ;; + + *) + : + ;; + esac +fi + +# Enable/disable tshark + +AC_ARG_ENABLE(wireshark, + AC_HELP_STRING( [--enable-wireshark], + [build GTK+-based wireshark. @<:@default=yes, if GTK+ available@:>@]), + enable_wireshark=$enableval,enable_wireshark=yes) + +AC_ARG_ENABLE(packet-editor, + AC_HELP_STRING( [--enable-packet-editor], + [add support for packet editor in wireshark. @<:@default=no@:>@]), + enable_packet_editor=$enableval,enable_packet_editor=no) +if test x$enable_packet_editor = xyes; then + AC_DEFINE(WANT_PACKET_EDITOR, 1, [Support for packet editor]) +fi + +AC_ARG_ENABLE(threads, + AC_HELP_STRING( [--enable-threads], + [use threads in wireshark. @<:@default=no@:>@]), + enable_threads=$enableval,enable_threads=no) +if test x$enable_threads = xyes; then + AC_DEFINE(USE_THREADS, 1, [Support for threads]) +fi + +AC_ARG_ENABLE(profile-build, + AC_HELP_STRING( [--enable-profile-build], + [build profile-ready binaries. @<:@default=no@:>@]), + enable_profile_build=$enableval,enable_profile_build=no) +AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes) +AC_MSG_CHECKING(if profile builds must be generated) +if test "x$enable_profile_build" = "xyes" ; then + if test "x$GCC" = "xyes" -o "x$CLANG" = "xyes" ; then + AC_MSG_RESULT(yes) + CFLAGS=" -pg $CFLAGS" + else + AC_MSG_RESULT(no) + echo "Building profile binaries currently only supported for GCC and clang." + fi +else + AC_MSG_RESULT(no) +fi + +# Create DATAFILE_DIR #define for config.h +datafiledir=$datadir/wireshark +datafiledir=`( + test "x$prefix" = xNONE && prefix=$ac_default_prefix + test "x$exec_prefix" = xNONE && exec_prefix=${prefix} + # Ugly hack, but I don't see how this problem can be solved + # properly that DATAFILE_DIR had a value starting with + # "${prefix}/" instead of e.g. "/usr/local/" + eval eval echo "$datafiledir" +)` +AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data]) + +# Create DOC_DIR #define for config.h +docdir=`( + test "x$prefix" = xNONE && prefix=$ac_default_prefix + test "x$exec_prefix" = xNONE && exec_prefix=${prefix} + # Ugly hack, but I don't see how this problem can be solved + # properly that DOC_DIR had a value starting with + # "${prefix}/" instead of e.g. "/usr/local/" + eval eval echo "$docdir" +)` +AC_DEFINE_UNQUOTED(DOC_DIR, "$docdir", [Directory for docs]) + +# GTK checks; we require GTK+ 2.4 or later. +# We don't add $GLIB_LIBS to LIBS, because we don't want to force all +# programs to be built with GTK+. +# +if test "x$enable_wireshark" = "xyes"; then +if test "x$with_gtk3" = "xyes"; then + AM_PATH_GTK_3_0(3.0.0, + [ + CFLAGS="$CFLAGS $GTK_CFLAGS" + CXXFLAGS="$CXXFLAGS $GTK_CFLAGS" + AC_DEFINE(HAVE_GTK, 1, [Define to 1 if compiling with GTK]) + ], GTK_OK=no, gthread) + +else + AM_PATH_GTK_2_0(2.4.0, + [ + CFLAGS="$CFLAGS $GTK_CFLAGS" + CXXFLAGS="$CXXFLAGS $GTK_CFLAGS" + AC_DEFINE(HAVE_GTK, 1, [Define to 1 if compiling with GTK]) + ], GTK_OK=no, gthread) +fi +else + GTK_OK=no +fi + +# GLib checks; we require GLib 2.4 or later, and require gmodule +# support, as we need that for dynamically loading plugins. +# If we found GTK+, this doesn't add GLIB_CFLAGS to CFLAGS, because +# AM_PATH_GTK will add GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a +# superset of GLIB_CFLAGS. If we didn't find GTK+, it does add +# GLIB_CFLAGS to CFLAGS. +# However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be +# set when generating the Makefile, so we can make programs that require +# only GLib link with @GLIB_LIBS@ and make programs that require GTK+ +# link with @GTK_LIBS@ (which includes @GLIB_LIBS@). +# We don't add $GLIB_LIBS to LIBS, because we don't want to force all +# programs to be built with GLib. +# +if test "$GTK_OK" = "no" ; then + # + # We don't have GTK+. + # If they didn't explicitly say "--disable-wireshark", fail (so + # that, unless they explicitly indicated that they don't want + # Wireshark, we stop so they know they won't be getting + # Wireshark unless they fix the GTK+ problem). + # + if test "x$enable_wireshark" = "xyes"; then + AC_MSG_ERROR([GTK+ 2.4 or later isn't available, so Wireshark can't be compiled]) + fi + wireshark_bin="" + wireshark_man="" + # Use GLIB_CFLAGS + AM_PATH_GLIB_2_0(2.4.0, + [ + CFLAGS="$CFLAGS $GLIB_CFLAGS" + CXXFLAGS="$CXXFLAGS $GLIB_CFLAGS" + ], AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gthread gmodule) +else + # + # We have GTK+, and thus will be building Wireshark unless the + # user explicitly disabled it. + # + wireshark_bin="wireshark\$(EXEEXT)" + wireshark_man="wireshark.1" + wireshark_SUBDIRS="codecs gtk" + # Don't use GLIB_CFLAGS + AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gthread gmodule) +fi + +# +# Check whether GLib includes GRegex support. +# We just assume that everybody builds GLib 2.14.0 and later +# with GRegex support; it's possible to compile GLib without +# GRegex but it doesn't look as if anyone does. +# +AC_MSG_CHECKING(for GLIB - version >= 2.14.0) +if test x$PKG_CONFIG != xno ; then + ## don't try to run the test against uninstalled libtool libs + if $PKG_CONFIG --uninstalled $pkg_config_args; then + echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH" + enable_glibtest=no + fi + + if $PKG_CONFIG --atleast-version 2.14.0 glib-2.0; then + have_gregex=yes + else + have_gregex=no + fi + AC_MSG_RESULT($have_gregex) +fi + +# +# Check whether GLib modules are supported, to determine whether we +# can support plugins. +# +AC_MSG_CHECKING(whether GLib supports loadable modules) +ac_save_CFLAGS="$CFLAGS" +ac_save_LIBS="$LIBS" +CFLAGS="$CFLAGS $GLIB_CFLAGS" +LIBS="$GLIB_LIBS $LIBS" +AC_TRY_RUN([ +#include +#include +#include +#include + +int +main () +{ + if (g_module_supported()) + return 0; /* success */ + else + return 1; /* failure */ +} +], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no, + [echo $ac_n "cross compiling; assumed OK... $ac_c" + ac_cv_glib_supports_modules=yes]) +CFLAGS="$ac_save_CFLAGS" +LIBS="$ac_save_LIBS" +if test "$ac_cv_glib_supports_modules" = yes ; then + AC_MSG_RESULT(yes) + have_plugins=yes +else + AC_MSG_RESULT(no) + have_plugins=no +fi + +# +# If we have , check whether we can use dladdr to find a +# filename (hopefully, a full pathname, but no guarantees) for +# the executable. +# +if test "$ac_cv_header_dlfcn_h" = "yes" +then + AC_MSG_CHECKING(whether dladdr can be used to find the pathname of an executable) + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GLIB_CFLAGS" + LIBS="$GLIB_LIBS $LIBS" + AC_TRY_RUN([ +#define _GNU_SOURCE /* required on Linux, sigh */ +#include + +int +main(void) +{ + Dl_info info; + + if (!dladdr((void *)main, &info)) + return 1; /* failure */ + return 0; /* assume success */ +} +], ac_cv_dladdr_finds_executable_path=yes, ac_cv_dladdr_finds_executable_path=no, + [echo $ac_n "cross compiling; assumed OK... $ac_c" + ac_cv_dladdr_finds_executable_path=yes]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + if test x$ac_cv_dladdr_finds_executable_path = xyes + then + AC_DEFINE(DLADDR_FINDS_EXECUTABLE_PATH, 1, [Define if dladdr can be used to find the path of the executable]) + fi + AC_MSG_RESULT($ac_cv_dladdr_finds_executable_path) +fi + +if test "x$no_gtk" != "xyes" +then + # + # We have GTK+; do we want the OS X integration functions and, + # if so, do we have them and, if so, which versions do we have, + # the old Carbon-based ones or the new Cocoa-based ones? + # + AC_MSG_CHECKING(whether to use OS X integration functions) + + AC_ARG_WITH(osx-integration, + AC_HELP_STRING( [--with-osx-integration], + [use OS X integration functions (@<:@default=yes, if available@:>@]), + [ + if test $withval = no + then + want_osx_integration=no + else + want_osx_integration=yes + fi + ],[ + want_osx_integration=yes + ]) + if test "x$want_osx_integration" = "xno"; then + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(yes) + AC_WIRESHARK_OSX_INTEGRATION_CHECK + fi +fi + +AC_SUBST(wireshark_bin) +AC_SUBST(wireshark_man) + + +# Enable/disable tshark + +AC_ARG_ENABLE(tshark, + AC_HELP_STRING( [--enable-tshark], + [build tshark. @<:@default=yes@:>@]), + tshark=$enableval,enable_tshark=yes) + +if test "x$enable_tshark" = "xyes" ; then + tshark_bin="tshark\$(EXEEXT)" + tshark_man="tshark.1" + wiresharkfilter_man="wireshark-filter.4" +else + tshark_bin="" + tshark_man="" +fi +AC_SUBST(tshark_bin) +AC_SUBST(tshark_man) +AC_SUBST(wiresharkfilter_man) + + + +# Enable/disable editcap + +AC_ARG_ENABLE(editcap, + AC_HELP_STRING( [--enable-editcap], + [build editcap. @<:@default=yes@:>@]), + enable_editcap=$enableval,enable_editcap=yes) + +if test "x$enable_editcap" = "xyes" ; then + editcap_bin="editcap\$(EXEEXT)" + editcap_man="editcap.1" +else + editcap_bin="" + editcap_man="" +fi +AC_SUBST(editcap_bin) +AC_SUBST(editcap_man) + +# Enabling/disabling of dumpcap is done later (after we know if we have PCAP +# or not) + +# Enable/disable capinfos + +AC_ARG_ENABLE(capinfos, + AC_HELP_STRING( [--enable-capinfos], + [build capinfos. @<:@default=yes@:>@]), + enable_capinfos=$enableval,enable_capinfos=yes) + +if test "x$enable_capinfos" = "xyes" ; then + capinfos_bin="capinfos\$(EXEEXT)" + capinfos_man="capinfos.1" +else + capinfos_bin="" + capinfos_man="" +fi +AC_SUBST(capinfos_bin) +AC_SUBST(capinfos_man) + + +# Enable/disable mergecap + +AC_ARG_ENABLE(mergecap, + AC_HELP_STRING( [--enable-mergecap], + [build mergecap. @<:@default=yes@:>@]), + enable_mergecap=$enableval,enable_mergecap=yes) + +if test "x$enable_mergecap" = "xyes" ; then + mergecap_bin="mergecap\$(EXEEXT)" + mergecap_man="mergecap.1" +else + mergecap_bin="" + mergecap_man="" +fi +AC_SUBST(mergecap_bin) +AC_SUBST(mergecap_man) + + +# Enable/disable text2pcap + +AC_ARG_ENABLE(text2pcap, + AC_HELP_STRING( [--enable-text2pcap], + [build text2pcap. @<:@default=yes@:>@]), + text2pcap=$enableval,enable_text2pcap=yes) + +if test "x$enable_text2pcap" = "xyes" ; then + text2pcap_bin="text2pcap\$(EXEEXT)" + text2pcap_man="text2pcap.1" +else + text2pcap_bin="" + text2pcap_man="" +fi +AC_SUBST(text2pcap_bin) +AC_SUBST(text2pcap_man) + +# Enable/disable idl2wrs + +AC_ARG_ENABLE(idl2wrs, + AC_HELP_STRING( [--enable-idl2wrs], + [build idl2wrs. @<:@default=yes@:>@]), + enable_idl2wrs=$enableval,enable_idl2wrs=yes) + +if test "x$enable_idl2wrs" = "xyes" ; then + idl2wrs_bin="idl2wrs" + idl2wrs_man="idl2wrs.1" +else + idl2wrs_bin="" + idl2wrs_man="" +fi +AC_SUBST(idl2wrs_bin) +AC_SUBST(idl2wrs_man) + + +# Enable/disable dftest + +AC_ARG_ENABLE(dftest, + AC_HELP_STRING( [--enable-dftest], + [build dftest. @<:@default=yes@:>@]), + enable_dftest=$enableval,enable_dftest=yes) + +if test "x$enable_dftest" = "xyes" ; then + dftest_bin="dftest\$(EXEEXT)" + dftest_man="dftest.1" +else + dftest_bin="" + dftest_man="" +fi +AC_SUBST(dftest_bin) +AC_SUBST(dftest_man) + + +# Enable/disable randpkt + +AC_ARG_ENABLE(randpkt, + AC_HELP_STRING( [--enable-randpkt], + [build randpkt. @<:@default=yes@:>@]), + enable_randpkt=$enableval,enable_randpkt=yes) + +if test "x$enable_randpkt" = "xyes" ; then + randpkt_bin="randpkt\$(EXEEXT)" + randpkt_man="randpkt.1" +else + randpkt_bin="" + randpkt_man="" +fi +AC_SUBST(randpkt_bin) +AC_SUBST(randpkt_man) + + + +dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get +dnl "gethostbyname()". +AC_WIRESHARK_GETHOSTBY_LIB_CHECK + +dnl Checks for "connect()", used as a proxy for "socket()" - and +dnl "-lsocket", if we need it to get "connect()". +AC_WIRESHARK_SOCKET_LIB_CHECK + +dnl pcap check +AC_MSG_CHECKING(whether to use libpcap for packet capture) + +AC_ARG_WITH(pcap, + AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@], + [use libpcap for packet capturing. @<:@default=yes@:>@]), +[ + if test $withval = no + then + want_pcap=no + elif test $withval = yes + then + want_pcap=yes + else + want_pcap=yes + pcap_dir=$withval + fi +],[ + want_pcap=yes + pcap_dir= +]) +if test "x$want_pcap" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_PCAP_CHECK +fi + +# Enable/disable dumpcap + +dnl dumpcap check +AC_MSG_CHECKING(whether to build dumpcap) + +AC_ARG_ENABLE(dumpcap, + AC_HELP_STRING( [--enable-dumpcap], + [build dumpcap. @<:@default=yes@:>@]), + enable_dumpcap=$enableval,enable_dumpcap=yes) + +if test "x$enable_dumpcap" = "xyes" ; then + if test "x$want_pcap" = "xno" ; then + enable_dumpcap=no + AC_MSG_RESULT(pcap not available - disabling dumpcap) + else + AC_MSG_RESULT(yes) + fi +else + AC_MSG_RESULT(no) +fi + +if test "x$enable_dumpcap" = "xyes" ; then + dumpcap_bin="dumpcap\$(EXEEXT)" + dumpcap_man="dumpcap.1" +else + dumpcap_bin="" + dumpcap_man="" +fi +AC_SUBST(dumpcap_bin) +AC_SUBST(dumpcap_man) + +# Enable/disable rawshark + +dnl rawshark check +AC_MSG_CHECKING(whether to build rawshark) + +AC_ARG_ENABLE(rawshark, + AC_HELP_STRING( [--enable-rawshark], + [build rawshark. @<:@default=yes@:>@]), + rawshark=$enableval,enable_rawshark=yes) + +if test "x$enable_rawshark" = "xyes" ; then + if test "x$want_pcap" = "xno" ; then + enable_rawshark=no + AC_MSG_RESULT(pcap not available - disabling rawshark) + else + AC_MSG_RESULT(yes) + fi +else + AC_MSG_RESULT(no) +fi + +if test "x$enable_rawshark" = "xyes" ; then + rawshark_bin="rawshark\$(EXEEXT)" + rawshark_man="rawshark.1" +else + rawshark_bin="" + rawshark_man="" +fi +AC_SUBST(rawshark_bin) +AC_SUBST(rawshark_man) + + +dnl pcap remote check +AC_MSG_CHECKING(whether to use libpcap remote capturing feature) + +AC_ARG_WITH(pcap-remote, + AC_HELP_STRING([--with-pcap-remote], + [use libpcap remote capturing (requires libpcap)]), +[ + if test $withval = no + then + want_pcap_remote=no + else + want_pcap_remote=yes + fi +],[ + want_pcap_remote=no +]) +if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_PCAP_REMOTE_CHECK +fi + +dnl zlib check +AC_MSG_CHECKING(whether to use zlib for gzip compression and decompression) + +AC_ARG_WITH(zlib, + AC_HELP_STRING([--with-zlib@<:@=DIR@:>@], + [use zlib (located in directory DIR, if supplied) for gzip compression and decompression . @<:@default=yes, if available@:>@]), +[ + if test $withval = no + then + want_zlib=no + elif test $withval = yes + then + want_zlib=yes + else + want_zlib=yes + zlib_dir=$withval + fi +],[ + # + # Use zlib if it's present, otherwise don't. + # + want_zlib=ifavailable + zlib_dir= +]) +if test "x$want_zlib" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_ZLIB_CHECK + if test "x$want_zlib" = "xno" ; then + AC_MSG_RESULT(zlib not found - disabling gzip compression and decompression) + else + if test "x$ac_cv_func_inflatePrime" = "xno" ; then + AC_MSG_RESULT(inflatePrime not found in zlib - disabling gzipped capture file support) + fi + fi +fi + +dnl pcre check +AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters) + +AC_ARG_WITH(pcre, + AC_HELP_STRING( [--with-pcre@<:@=DIR@:>@], + [use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions. Not needed if you have GLib 2.14 or later. @<:@default=yes, if available and GLib < 2.14@:>@]), +[ + if test $withval = no + then + want_pcre=no + elif test $withval = yes + then + want_pcre=yes + else + want_pcre=yes + pcre_dir=$withval + fi +],[ + # + # Use libpcre if it's present and GRegex isn't, otherwise don't. + # + if test $have_gregex = yes ; then + want_pcre=no + else + want_pcre=ifavailable + fi + pcre_dir= +]) +if test "x$want_pcre" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_LIBPCRE_CHECK + if test "x$want_pcre" = "xno" ; then + AC_MSG_RESULT(libpcre not found - disabling support for perl compatible regular expressions in dfilters) + fi +fi + + +dnl lua check +AC_MSG_CHECKING(whether to use liblua for the lua scripting plugin) + +AC_ARG_WITH(lua, + AC_HELP_STRING( [--with-lua@<:@=DIR@:>@], + [use liblua (located in directory DIR, if supplied) for the lua scripting plugin. @<:@default=yes, if available@:>@]), +[ + if test $withval = no + then + want_lua=no + elif test $withval = yes + then + want_lua=yes + else + want_lua=yes + lua_dir=$withval + fi +],[ + # + # Use liblua by default + # + want_lua=ifavailable + lua_dir= +]) +if test "x$want_lua" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_LIBLUA_CHECK + if test "x$want_lua" = "xno" ; then + AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin) + fi +fi +AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes) + + +dnl portaudio check +AC_MSG_CHECKING(whether to use libportaudio for the rtp_player) + +AC_ARG_WITH(portaudio, + AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@], + [use libportaudio (located in directory DIR, if supplied) for the rtp_player. @<:@default=yes, if available@:>@]), +[ + if test $withval = no + then + want_portaudio=no + elif test $withval = yes + then + want_portaudio=yes + else + want_portaudio=yes + portaudio_dir=$withval + fi +],[ + # + # Use libportaudio by default + # + want_portaudio=ifavailable + portaudio_dir= +]) +if test "x$want_portaudio" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_LIBPORTAUDIO_CHECK + if test "x$want_portaudio" = "xno" ; then + AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player) + fi +fi +AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes) + + +dnl ipv6 check +AC_ARG_ENABLE(ipv6, + AC_HELP_STRING( [--enable-ipv6], + [use ipv6 name resolution, if available. @<:@default=yes@:>@]), + enable_ipv6=$enableval,enable_ipv6=yes) + +AC_MSG_CHECKING(whether to enable ipv6 name resolution if available) +if test "x$enable_ipv6" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_IPV6_STACK +fi + + +dnl Check if dumpcap should be installed with filesystem capabilities +AC_PATH_PROG(SETCAP, setcap) +AC_ARG_ENABLE(setcap-install, + AC_HELP_STRING( [--enable-setcap-install], + [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]), + enable_setcap_install=$enableval,enable_setcap_install=no) + +AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities) +if test "x$enable_setcap_install" = "xno" ; then + AC_MSG_RESULT(no) +else + if test "x$SETCAP" = "x" ; then + AC_MSG_RESULT(no. Setcap not found) + elif test "x$enable_dumpcap" = "xno" ; then + AC_MSG_ERROR(Setcap install works only with dumpcap but dumpcap is disabled) + else + AC_MSG_RESULT(yes) + fi +fi + +AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes) + +dnl Check if dumpcap should be installed setuid +AC_ARG_ENABLE(setuid-install, + AC_HELP_STRING( [--enable-setuid-install], + [install dumpcap as setuid @<:@default=no@:>@]), + enable_setuid_install=$enableval,enable_setuid_install=no) + +AC_MSG_CHECKING(whether to install dumpcap setuid) +if test "x$enable_setuid_install" = "xno" ; then + AC_MSG_RESULT(no) +else + if test "x$enable_setcap_install" = "xyes" ; then + enable_setuid_install=no + AC_MSG_RESULT(no; using setcap instead) + elif test "x$enable_dumpcap" = "xno" ; then + AC_MSG_ERROR(Setuid install works only with dumpcap but dumpcap is disabled) + else + AC_MSG_RESULT(yes) + fi +fi + +AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes) +AC_CHECK_FUNCS(setresuid setresgid) + +dnl ...but our Network Operations group is named "no"! +DUMPCAP_GROUP='' +AC_ARG_WITH(dumpcap-group, + AC_HELP_STRING( [--with-dumpcap-group=GROUP], + [restrict dumpcap to GROUP]), +[ + if test "x$withval" = "xyes"; then + AC_MSG_ERROR([No dumpcap group specified.]) + elif test "x$withval" != "xno"; then + AC_MSG_RESULT($withval) + DUMPCAP_GROUP="$withval" + fi +]) +AC_SUBST(DUMPCAP_GROUP) +AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x) + +dnl libcap (not libpcap) check +LIBCAP_LIBS='' +AC_MSG_CHECKING(whether to use the libcap capabilities library) + +AC_ARG_WITH(libcap, + AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@], + [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management. @<:@default=yes, if present@:>@]), +[ +if test "x$withval" = "xno"; then + want_libcap=no +elif test "x$withval" = "xyes"; then + want_libcap=yes +elif test -d "$withval"; then + want_libcap=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +]) +if test "x$with_libcap" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_LIBCAP_CHECK +fi +AC_SUBST(LIBCAP_LIBS) + +dnl Checks for header files. +AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h) +AC_CHECK_HEADERS(sys/ioctl.h sys/param.h sys/socket.h sys/sockio.h sys/stat.h sys/time.h sys/types.h sys/utsname.h sys/wait.h) +AC_CHECK_HEADERS(netinet/in.h) +AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h) + +dnl SSL Check +SSL_LIBS='' +AC_MSG_CHECKING(whether to use SSL library) + +AC_ARG_WITH(ssl, + AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@], + [use SSL crypto library (located in directory DIR, if supplied). @<:@default=no@:>@]), +[ +if test "x$withval" = "xno"; then + want_ssl=no +elif test "x$withval" = "xyes"; then + want_ssl=yes +elif test -d "$withval"; then + want_ssl=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +],[ + want_ssl=no +]) +if test "x$want_ssl" = "xyes"; then + AC_MSG_RESULT(yes) + AC_CHECK_LIB(crypto,EVP_md5, + [ + SSL_LIBS=-lcrypto + ], + [ + AC_MSG_ERROR([SSL crypto library was requested, but is not available]) + ]) +else + AC_MSG_RESULT(no) +fi +AC_SUBST(SSL_LIBS) + +dnl kerberos check +AC_MSG_CHECKING(whether to use kerberos) + +AC_ARG_WITH(krb5, + AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@], + [use kerberos (located in directory DIR, if supplied) to use in kerberos dissection @<:@default=yes@:>@]), +[ + if test $withval = no + then + want_krb5=no + elif test $withval = yes + then + want_krb5=yes + else + want_krb5=yes + krb5_dir=$withval + fi +],[ + # + # Use kerberos if specified, otherwise don't. + # + want_krb5=ifavailable + krb5_dir= +]) +if test "x$want_krb5" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_KRB5_CHECK +fi + + +dnl c-ares Check +C_ARES_LIBS='' +AC_MSG_CHECKING(whether to use the c-ares library if available) + +AC_ARG_WITH(c-ares, + AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@], + [use c-ares (located in directory DIR, if supplied). Supersedes --with-adns. @<:@default=yes, if present@:>@]), +[ +if test "x$withval" = "xno"; then + want_c_ares=no +elif test "x$withval" = "xyes"; then + want_c_ares=yes +elif test -d "$withval"; then + want_c_ares=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +]) +if test "x$want_c_ares" = "xno" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_C_ARES_CHECK +fi +AC_SUBST(C_ARES_LIBS) + +dnl ADNS Check +ADNS_LIBS='' +AC_MSG_CHECKING(whether to use the GNU ADNS library if available) + +AC_ARG_WITH(adns, + AC_HELP_STRING( [--with-adns@<:@=DIR@:>@], + [use GNU ADNS (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]), +[ +if test "x$withval" = "xno"; then + want_adns=no +elif test "x$withval" = "xyes"; then + want_adns=yes +elif test -d "$withval"; then + want_adns=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +]) +if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_ADNS_CHECK +fi +AC_SUBST(ADNS_LIBS) + +dnl GEOIP Check +GEOIP_LIBS='' +AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available) + +AC_ARG_WITH(geoip, + AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@], + [use GeoIP (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]), +[ +if test "x$withval" = "xno"; then + want_geoip=no +elif test "x$withval" = "xyes"; then + want_geoip=yes +elif test -d "$withval"; then + want_geoip=yes + AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib) +fi +]) +if test "x$want_geoip" = "xno"; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_WIRESHARK_GEOIP_CHECK +fi +AC_SUBST(GEOIP_LIBS) + +dnl Python devel Check +AC_ARG_WITH(python, + AC_HELP_STRING( [--with-python@<:@=DIR@:>@], + [use python interpreter (installed in DIR, if supplied). @<:@default=yes@:>@ (EXPERIMENTAL)]), +[ +pythondir='${libdir}/wireshark/python/${VERSION}' +if test "x$withval" = "xno"; then + want_python=no +elif test "x$withval" != "xyes"; then + pythondir="$withval" + want_python=yes + AC_WIRESHARK_PYTHON_CHECK +else + want_python=yes + AC_WIRESHARK_PYTHON_CHECK +fi +]) +AM_CONDITIONAL(HAVE_LIBPY, test x$want_python = xyes) +AC_SUBST(pythondir) + +# +# Define WS_VAR_IMPORT appropriately for declarations of external +# variables exported from dynamically-linked libraries. +# +AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries]) + +# +# Define WS_MSVC_NORETURN appropriately for declarations of routines that +# never return (just like Charlie on the MTA). +# +# Note that MSVC++ expects __declspec(noreturn) to precede the function +# name and GCC, as far as I know, expects __attribute__((noreturn)) to +# follow the function name, so we need two different flavors of +# noreturn tag. +# +AC_DEFINE(WS_MSVC_NORETURN,, [Define as the string to precede declarations of routines that never return]) + +AC_ARG_ENABLE(airpcap, + AC_HELP_STRING( [--enable-airpcap], + [use airpcap in wireshark. @<:@default=yes@:>@]), + enable_airpcap=$enableval + if test x$enable_airpcap != xno; then + AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap]) + fi +) +# +# Define HAVE_AIRPDCAP +# We'll want to remove this eventually. +# +AC_DEFINE(HAVE_AIRPDCAP, 1, [Enable AirPDcap (WPA/WPA2 decryption)]) + +dnl Checks for typedefs, structures, and compiler characteristics. +# AC_C_CONST + +# Check how we can get the time zone abbreviation +AC_WIRESHARK_TIMEZONE_ABBREV + +# We need to know whether "struct sockaddr" has an "sa_len" member +# for get_interface_list(). + +AC_WIRESHARK_STRUCT_SA_LEN + +# We must know our byte order +AC_C_BIGENDIAN + +# Checks whether "-traditional" is needed when using "ioctl". +# XXX - do we need this? +AC_PROG_GCC_TRADITIONAL + +GETOPT_LO="" +AC_CHECK_FUNC(getopt, + [GETOPT_LO="" + AC_DEFINE(HAVE_GETOPT, 1, [Define to 1 if you have the getopt function.]) + ], + GETOPT_LO="wsgetopt.lo" +) +if test "$ac_cv_func_getopt" = no ; then + GETOPT_LO="wsgetopt.lo" +fi +AM_CONDITIONAL(NEED_GETOPT_LO, test "x$ac_cv_func_getopt" = "xno") +AC_SUBST(GETOPT_LO) + +AC_CHECK_FUNC(strncasecmp, STRNCASECMP_LO="", + STRNCASECMP_LO="strncasecmp.lo") +if test "$ac_cv_func_strncasecmp" = no ; then + STRNCASECMP_LO="strncasecmp.lo" +fi +AM_CONDITIONAL(NEED_STRNCASECMP_LO, test "x$ac_cv_func_strncasecmp" = "xno") +AC_SUBST(STRNCASECMP_LO) + +AC_CHECK_FUNCS(mkstemp mkdtemp) + +AC_SEARCH_LIBS(inet_aton, [socket nsl], have_inet_aton=yes, + have_inet_aton=no) +if test "$have_inet_aton" = no; then + INET_ATON_LO="inet_aton.lo" + AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included]) +else + INET_ATON_LO="" +fi +AM_CONDITIONAL(NEED_INET_ATON_LO, test "x$have_inet_aton" = "xno") +AC_SUBST(INET_ATON_LO) + +AC_SEARCH_LIBS(inet_pton, [socket nsl], [ + dnl check for pre-BIND82 inet_pton() bug. + AC_MSG_CHECKING(for broken inet_pton) + AC_TRY_RUN([#include +#include +#include +#include +int main() +{ +#ifdef AF_INET6 + char buf[16]; + /* this should return 0 (error) */ + return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf); +#else + return 1; +#endif +}], [AC_MSG_RESULT(ok); +have_inet_pton=yes], [AC_MSG_RESULT(broken); +have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken); +have_inet_pton=no])], +have_inet_pton=no) +if test "$have_inet_pton" = no; then + INET_PTON_LO="inet_pton.lo" +else + INET_PTON_LO="" +fi +AM_CONDITIONAL(NEED_INET_PTON_LO, test "x$have_inet_pton" = "xno") +AC_SUBST(INET_PTON_LO) + +AC_SEARCH_LIBS(inet_ntop, [socket nsl], [ + AC_MSG_CHECKING([for inet_ntop prototype]) + AC_TRY_COMPILE([#include +#include +#include +#include +#include + +extern const char *inet_ntop(int, const void *, char *, size_t);],, [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_INET_NTOP_PROTO, 1, + [Define if inet_ntop() prototype exists])], [ + AC_TRY_COMPILE([#include +#include +#include +#include +#include + +extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_INET_NTOP_PROTO, 1, + [Define if inet_ntop() prototype exists])], [ + AC_MSG_RESULT(no)])]) + INET_NTOP_LO=""], [ + INET_NTOP_LO="inet_ntop.lo" + AC_DEFINE(NEED_INET_V6DEFS_H, 1, + [Define if inet/v6defs.h needs to be included])]) +AM_CONDITIONAL(NEED_INET_NTOP_LO, test "x$INET_NTOP_LO" != "x") +AC_SUBST(INET_NTOP_LO) + +AC_CHECK_FUNC(strptime, STRPTIME_LO="", + [STRPTIME_LO="strptime.lo" + AC_DEFINE(NEED_STRPTIME_H, 1, [Define if strptime.h needs to be included]) +]) +if test "$ac_cv_func_strptime" = no ; then + STRPTIME_LO="strptime.lo" +fi +AC_SUBST(STRPTIME_C) +AM_CONDITIONAL(NEED_STRPTIME_LO, test "x$ac_cv_func_strptime" = "no") +AC_SUBST(STRPTIME_LO) + +AC_CHECK_FUNCS(getprotobynumber gethostbyname2) +AC_CHECK_FUNCS(issetugid) +AC_CHECK_FUNCS(mmap mprotect sysconf) +AC_CHECK_FUNCS(strtoll) + +dnl blank for now, but will be used in future +AC_SUBST(wireshark_SUBDIRS) + +dnl +dnl check whether plugins should be enabled and, if they should be, +dnl check for plugins directory - stolen from Amanda's configure.in +dnl +dnl we don't wish to expand ${libdir} yet +plugindir='${libdir}/wireshark/plugins/${VERSION}' +AC_ARG_WITH(plugins, + AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@], + [support plugins (installed in DIR, if supplied). @<:@default=yes, if possible@:>@]), +[ + if test "x$withval" = "xno"; then + have_plugins=no + elif test "x$have_plugins" = "xno"; then + AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.]) + elif test "x$withval" != "xyes"; then + plugindir="$withval" + fi +]) +AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes") +if test x$have_plugins = xyes +then + AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled]) +fi +AC_SUBST(plugindir) +CPPFLAGS="$CPPFLAGS '-DPLUGIN_DIR=\"\$(plugindir)\"'" + +# +# The plugin dissectors reside in ./plugins/PROTO/ +# +PLUGIN_LIBS="" +AC_SUBST(PLUGIN_LIBS) + +dnl libtool defs +# +# Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s) +# (autoconf? automake? libtool?) - with the newer version(s), it's +# just an alias for AC_PROG_LIBTOOL, which is called earlier. +# +# With older version(s) of those tool(s), however, it's not just an +# alias, and the configure scripts don't work without it. +# +AM_PROG_LIBTOOL +AC_SUBST(LIBTOOL_DEPS) + +AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes) +if test x$enable_static = xyes -a x$have_plugins = xyes +then + AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark]) +fi +AC_SUBST(ENABLE_STATIC) + +dnl Save the cacheable configure results to config.cache before recursing +AC_CACHE_SAVE + +sinclude(plugins/Custom.m4) dnl +ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl + +AM_CONFIG_HEADER(config.h) +AC_OUTPUT( + Makefile + doxygen.cfg + asn1/Makefile + asn1/acp133/Makefile + asn1/acse/Makefile + asn1/ansi_map/Makefile + asn1/ansi_tcap/Makefile + asn1/camel/Makefile + asn1/cdt/Makefile + asn1/charging_ase/Makefile + asn1/cmip/Makefile + asn1/cmp/Makefile + asn1/crmf/Makefile + asn1/cms/Makefile + asn1/dap/Makefile + asn1/disp/Makefile + asn1/dop/Makefile + asn1/dsp/Makefile + asn1/ess/Makefile + asn1/ftam/Makefile + asn1/gnm/Makefile + asn1/goose/Makefile + asn1/gprscdr/Makefile + asn1/gsm_map/Makefile + asn1/h225/Makefile + asn1/h235/Makefile + asn1/h245/Makefile + asn1/h248/Makefile + asn1/h282/Makefile + asn1/h283/Makefile + asn1/h323/Makefile + asn1/h450/Makefile + asn1/h450-ros/Makefile + asn1/h460/Makefile + asn1/h501/Makefile + asn1/HI2Operations/Makefile + asn1/hnbap/Makefile + asn1/idmp/Makefile + asn1/inap/Makefile + asn1/kerberos/Makefile + asn1/ldap/Makefile + asn1/logotypecertextn/Makefile + asn1/lte-rrc/Makefile + asn1/mms/Makefile + asn1/mpeg-audio/Makefile + asn1/mpeg-pes/Makefile + asn1/nbap/Makefile + asn1/ns_cert_exts/Makefile + asn1/ocsp/Makefile + asn1/p1/Makefile + asn1/p22/Makefile + asn1/p7/Makefile + asn1/p772/Makefile + asn1/pcap/Makefile + asn1/pkcs1/Makefile + asn1/pkcs12/Makefile + asn1/pkinit/Makefile + asn1/pkixac/Makefile + asn1/pkix1explicit/Makefile + asn1/pkix1implicit/Makefile + asn1/pkixproxy/Makefile + asn1/pkixqualified/Makefile + asn1/pkixtsp/Makefile + asn1/pres/Makefile + asn1/q932/Makefile + asn1/q932-ros/Makefile + asn1/qsig/Makefile + asn1/ranap/Makefile + asn1/rnsap/Makefile + asn1/ros/Makefile + asn1/rrc/Makefile + asn1/rrlp/Makefile + asn1/rtse/Makefile + asn1/rua/Makefile + asn1/s1ap/Makefile + asn1/sabp/Makefile + asn1/smrse/Makefile + asn1/snmp/Makefile + asn1/spnego/Makefile + asn1/sv/Makefile + asn1/t125/Makefile + asn1/t38/Makefile + asn1/tcap/Makefile + asn1/tetra/Makefile + asn1/ulp/Makefile + asn1/wlancertextn/Makefile + asn1/x2ap/Makefile + asn1/x509af/Makefile + asn1/x509ce/Makefile + asn1/x509if/Makefile + asn1/x509sat/Makefile + asn1/x721/Makefile + doc/Makefile + docbook/Makefile + epan/Makefile + epan/crc/Makefile + epan/crypt/Makefile + epan/doxygen.cfg + epan/dfilter/Makefile + epan/dissectors/Makefile + epan/dissectors/dcerpc/Makefile + epan/dissectors/pidl/Makefile + epan/ftypes/Makefile + epan/wslua/Makefile + epan/wspython/Makefile + codecs/Makefile + gtk/Makefile + gtk/doxygen.cfg + help/Makefile + packaging/Makefile + packaging/macosx/Info.plist + packaging/macosx/Makefile + packaging/nsis/Makefile + packaging/rpm/Makefile + packaging/rpm/SPECS/Makefile + packaging/rpm/SPECS/wireshark.spec + packaging/svr4/Makefile + packaging/svr4/checkinstall + packaging/svr4/pkginfo + plugins/Makefile + plugins/asn1/Makefile + plugins/docsis/Makefile + plugins/ethercat/Makefile + plugins/giop/Makefile + plugins/gryphon/Makefile + plugins/interlink/Makefile + plugins/irda/Makefile + plugins/m2m/Makefile + plugins/mate/Makefile + plugins/opcua/Makefile + plugins/profinet/Makefile + plugins/sercosiii/Makefile + plugins/stats_tree/Makefile + plugins/unistim/Makefile + plugins/wimax/Makefile + plugins/wimaxasncp/Makefile + tools/Makefile + tools/idl2wrs.sh + tools/lemon/Makefile + wiretap/Makefile + wsutil/Makefile + _CUSTOM_AC_OUTPUT_ + ,) +dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl]) + + + +# Pretty messages + +if test "x$enable_setcap_install" = "xyes" ; then + setcap_message="yes" +else + setcap_message="no" +fi + + +if test "x$enable_setuid_install" = "xyes" ; then + setuid_message="yes" +else + setuid_message="no" +fi + +if test "x$DUMPCAP_GROUP" = "x" ; then + dumpcap_group_message="(none)" +else + dumpcap_group_message="$DUMPCAP_GROUP" +fi + +if test "x$want_zlib" = "xno" ; then + zlib_message="no" +else + zlib_message="yes" +fi + +if test "x$want_pcre" = "xno" ; then + if test $have_gregex = yes + then + pcre_message="no (using GRegex instead)" + else + pcre_message="no" + fi +else + pcre_message="yes" +fi + +if test "x$want_lua" = "xyes" ; then + lua_message="yes" +else + lua_message="no" +fi + +if test "x$want_python" = "xyes"; then + python_message="yes" +else + python_message="no" +fi + +if test "x$want_portaudio" = "xyes" ; then + portaudio_message="yes" +else + portaudio_message="no" +fi + +if test "x$want_ssl" = "xno" ; then + ssl_message="no" +else + ssl_message="yes" +fi + +if test "x$want_krb5" = "xno" ; then + krb5_message="no" +else + krb5_message="yes ($ac_krb5_version)" +fi + +if test "x$have_good_c_ares" = "xyes" ; then + c_ares_message="yes" +else + c_ares_message="no" +fi + +if test "x$have_good_adns" = "xyes" ; then + adns_message="yes" +else + if test "x$have_good_c_ares" = "xyes" ; then + adns_message="no (using c-ares instead)" + else + adns_message="no" + fi +fi + +if test "x$have_good_libcap" = "xyes" ; then + libcap_message="yes" +else + libcap_message="no" +fi + +if test "x$have_good_geoip" = "xyes" ; then + geoip_message="yes" +else + geoip_message="no" +fi + +echo "" +echo "The Wireshark package has been configured with the following options." +echo " Build wireshark : $enable_wireshark" +echo " Build tshark : $enable_tshark" +echo " Build capinfos : $enable_capinfos" +echo " Build editcap : $enable_editcap" +echo " Build dumpcap : $enable_dumpcap" +echo " Build mergecap : $enable_mergecap" +echo " Build text2pcap : $enable_text2pcap" +echo " Build idl2wrs : $enable_idl2wrs" +echo " Build randpkt : $enable_randpkt" +echo " Build dftest : $enable_dftest" +echo " Build rawshark : $enable_rawshark" +echo "" +echo " Install dumpcap with capabilities : $setcap_message" +echo " Install dumpcap setuid : $setuid_message" +echo " Use dumpcap group : $dumpcap_group_message" +echo " Use plugins : $have_plugins" +echo " Use lua library : $lua_message" +echo " Use python binding : $python_message" +echo " Build rtp_player : $portaudio_message" +echo " Use threads : $enable_threads" +echo " Build profile binaries : $enable_profile_build" +echo " Use pcap library : $want_pcap" +echo " Use zlib library : $zlib_message" +echo " Use pcre library : $pcre_message" +echo " Use kerberos library : $krb5_message" +echo " Use c-ares library : $c_ares_message" +echo " Use GNU ADNS library : $adns_message" +echo " Use SMI MIB library : $libsmi_message" +echo " Use GNU crypto library : $gcrypt_message" +echo " Use SSL crypto library : $ssl_message" +echo " Use IPv6 name resolution : $enable_ipv6" +echo " Use gnutls library : $tls_message" +echo " Use POSIX capabilities library : $libcap_message" +echo " Use GeoIP library : $geoip_message" diff --git a/application/tool/wireshark/1.6.5/oct_readme.txt b/application/tool/wireshark/1.6.5/oct_readme.txt new file mode 100644 index 0000000..b4dca5c --- /dev/null +++ b/application/tool/wireshark/1.6.5/oct_readme.txt @@ -0,0 +1,101 @@ +// Can't create link because WS makefile use relative path +cd /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins + +// Copy GOOSE plugins +cp /mnt/goose/application/tool/wireshark/plugins/octasic octasic + +**************************** +cd /pub/dev.wireshark/1.2.6/wireshark-1.2.6 + +Modify file: configure.in + to allow plugin version to related OCTVC1 build version. + - Added + + #PPMODIF + # + AC_MSG_CHECKING([whether a TGT_VERSION was specified]) + AC_ARG_WITH([version], + AS_HELP_STRING([--with-version=@<:@*@:>@], + [Specify Target version @<:@default=1.3.1@:>@]), + with_version="$withval", with_version="1.3.2") + AC_SUBST(TGT_VERSION, [$with_version]) + AC_MSG_RESULT(TGT_VERSION=$TGT_VERSION) + # + AC_MSG_CHECKING([whether OCT_PATH was specified]) + AC_ARG_WITH([oct_path], + AS_HELP_STRING([--with-oct_path=@<:@*@:>@], + [Specify Octasic path @<:@default=/mnt/goose@:>@]), + with_oct_path="$withval", with_oct_path="/mnt/goose") + AC_SUBST(OCT_PATH, [$with_oct_path]) + AC_MSG_RESULT(OCT_PATH=$OCT_PATH) + #PPMODIF + + AFTER:# Check for doxygen + +Modify file: configure.in + +find AC_OUTPUT= + +ADD + plugins/octasic/oct1010db_ws/Makefile + plugins/octasic/octmfa_ws/Makefile + plugins/octasic/octpkt_ws/Makefile + plugins/octasic/rfc4175_yuv_ws/Makefile + octvc1_place_holder + +replace + octvc1_place_holder + by + plugins/octasic/vocallo_mgw/octvocnet_ws/Makefile + plugins/octasic/vocallo_mgw/octvc1/Makefile + +with ant + +**************************** +cd /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins + +Modify file: Makefile.am + // remove all plugin under + SUBDIRS = $(_CUSTOM_SUBDIRS_) \ + + // Added + octasic/oct1010db_ws + octasic/octmfa_ws + octasic/octpkt_ws + octasic/rfc4175_yuv_ws + octvc1_place_holder + + ... + + + + +replace + octvc1_place_holder + by + plugins/octasic/vocallo_mgw/octvocnet_ws/Makefile + plugins/octasic/vocallo_mgw/octvc1/Makefile + +with ant + + +**************************** +# For new plugins +cp /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins/octasic/octpkt_ws/Makefile.am /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins/octasic/newplugi_dir/Makefile.am +cp /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins/octasic/octpkt_ws/Makefile.common /pub/dev.wireshark/1.2.6/wireshark-1.2.6/plugins/octasic/newplugi_dir/Makefile.common +.. +update file list and pkg name. + +**************************** +Making Wireshark plugins: + +cd /pub/dev.wireshark/1.2.6/wireshark-1.2.6 +./autogen.sh + +===> OCTVC1 Pkg Version +===> OCTASIC PATH in /mnt/goose +./configure --with-version=1.4.0.1-PR --with-oct_path=/mnt/goose + +make install ==> Result is /usr/local/lib/wireshark/plugins/1.2.6 + + diff --git a/application/tool/wireshark/plugins/Makefile.am b/application/tool/wireshark/plugins/Makefile.am new file mode 100644 index 0000000..28045fe --- /dev/null +++ b/application/tool/wireshark/plugins/Makefile.am @@ -0,0 +1,54 @@ +# Makefile.am +# Automake file for Wireshark plugins +# +# $Id: Makefile.am 27506 2009-02-22 12:01:19Z 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. + +-include Custom.make +SUBDIRS = $(_CUSTOM_SUBDIRS_) \ + asn1 \ + docsis \ + ethercat \ + giop \ + gryphon \ + irda \ + m2m \ + mate \ + opcua \ + profinet \ + sercosiii \ + stats_tree \ + unistim \ + wimax \ + wimaxasncp + +plugindir = @plugindir@ + +EXTRA_DIST = \ + Makefile.nmake + +MAINTAINERCLEANFILES = \ + Makefile.in + +checkapi: + for i in $(SUBDIRS); do \ + (cd "$$i"; $(MAKE) checkapi); \ + done + diff --git a/application/tool/wireshark/plugins/octasic/MakeRules.nmake b/application/tool/wireshark/plugins/octasic/MakeRules.nmake new file mode 100644 index 0000000..561a62e --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/MakeRules.nmake @@ -0,0 +1,150 @@ +# Makefile.nmake +# nmake file for Wireshark plugin +# +# $Id: Makefile.nmake 24520 2008-03-01 12:31:01Z jake $ +# + +!IF "$(DEBUG)" == "1" +OUT_DIR=Debug_$(TGT_WS_VERSION) +!ELSE +OUT_DIR=Release_$(TGT_WS_VERSION) +!ENDIF +!IFNDEF WS_ROOT +WS_ROOT=../../.. +!ENDIF + +OUT_PATH=$(OUT_DIR)/ + +CFLAGS=/DHAVE_CONFIG_H /I$(WIRESHARK_LIBS)/../ $(GLIB_CFLAGS) \ + /I $(WS_ROOT)/$(TGT_WS_VERSION)/ \ + /I$(OCT_INC) \ + /I$(OCT_INC)/octpkt \ +!IF EXIST("$(OCT_INC)/octcodec") + /I$(OCT_INC)/octcodec \ +!ENDIF + /I$(OCT_INC)/vocallo \ +!IF EXIST("$(OCT_INC)/../octmfa_api/include") + /I$(OCT_INC)/../octmfa_api/include \ +!ENDIF + /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS) + +LDFLAGS = $(PLUGIN_LDFLAGS) + +!IFDEF ENABLE_LIBWIRESHARK +LINK_PLUGIN_WITH=$(WIRESHARK_LIBS)/../epan/libwireshark.lib +CFLAGS=/DHAVE_WIN32_LIBWIRESHARK_LIB /D_NEED_VAR_IMPORT_ $(CFLAGS) +!ENDIF + +{$(SRC_PATH)}.c{$(OUT_PATH)}.obj:: + @$(CC) $(CFLAGS) -Fd$(OUT_PATH) -Fo$(OUT_PATH) -c $< + +!IFNDEF DISSECTOR_OBJ_PATH +!IF "$(DEBUG)" == "1" +DISSECTOR_OBJ_PATH = $(DISSECTOR_SRC:source=Debug) +#!ELSE +DISSECTOR_OBJ_PATH = $(DISSECTOR_SRC:source=Release) +!ENDIF +!ENDIF + +DISSECTOR_OBJECTS = $(DISSECTOR_OBJ_PATH:.c=.obj) +DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj) +DLL_NAME=$(PLUGIN_NAME) + +OBJECTS = $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) $(OUT_PATH)plugin.obj + +RESOURCE=$(OUT_PATH)$(PLUGIN_NAME).res + +WIRESHARK_PLUGING_DEST_EXIST = 0 +!IF EXIST( "$(WIRESHARK_PLUGING_DEST)") +WIRESHARK_PLUGING_DEST_EXIST = 1 +!ENDIF + +!if defined( NO_TGT_VERSION ) +LOCAL_CFLAGS=/DNO_TGT_VERSION=$(NO_TGT_VERSION) $(LOCAL_CFLAGS) +!endif + + +all: $(OUT_PATH)$(DLL_NAME).dll + +$(OUT_DIR) : + @if not exist "$(OUT_DIR)/$(NULL)" mkdir "$(OUT_DIR)" + +$(OUT_PATH)$(PLUGIN_NAME).rc : + -@sed -e s/@PLUGIN_NAME@/$(PLUGIN_NAME)/ \ + -e s/@RC_MODULE_VERSION@/$(RC_MODULE_VERSION)/ \ + -e s/@RC_VERSION@/$(RC_VERSION)/ \ + -e s/@MODULE_VERSION@/$(MODULE_VERSION)/ \ + -e s/@PACKAGE@/$(PACKAGE)/ \ + -e s/@VERSION@/$(VERSION)/ \ + -e s/@INTERNAL_NAME@/$(RC_INTERNAL_NAME)/ \ + -e s/@MSVC_VARIANT@/$(MSVC_VARIANT)/ \ + < $(WS_ROOT)\plugins\octasic\plugin.rc.in > $@ +# @copy source\$(PLUGIN_NAME).rc $(OUT_DIR)\$(PLUGIN_NAME).rc + +$(OUT_PATH)$(DLL_NAME).dll $(OUT_PATH)$(PLUGIN_NAME).exp $(OUT_PATH)$(DLL_NAME).lib : $(OUT_DIR) $(OBJECTS) $(LINK_PLUGIN_WITH) $(RESOURCE) + @link -dll /out:$(OUT_PATH)$(DLL_NAME).dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH) \ + $(GLIB_LIBS) $(RESOURCE) + +# +# 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. +# +#!IFDEF PYTHON +#plugin.c: $(DISSECTOR_SRC) moduleinfo.h ../../tools/make-dissector-reg.py +# @echo Making plugin.c (using python) +# @$(PYTHON) "../../tools/make-dissector-reg.py" . plugin $(DISSECTOR_SRC) +#!ELSE +#plugin.c: $(DISSECTOR_SRC) moduleinfo.h ../../tools/make-dissector-reg +# @echo Making plugin.c (using sh) +# @$(SH) ../../tools/make-dissector-reg . plugin $(DISSECTOR_SRC) +#!ENDIF + + +clean: + -@ erase /Q "$(OUT_PATH)\*.*" + +install: +! IF $(WIRESHARK_PLUGING_DEST_EXIST)==0 +! MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++++++ +! MESSAGE Pluging path "$(WIRESHARK_PLUGING_DEST)" does not exist +! MESSAGE Please install WIRESHARK VERSION $(WIRESHARK_RELEASE) +! MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++++++ +! ERROR +! ELSE + @del "$(WIRESHARK_PLUGING_DEST)\$(PLUGIN_NAME)*.dll" + @xcopy /Q $(OUT_DIR)\$(DLL_NAME).dll "$(WIRESHARK_PLUGING_DEST)" /Y +! ENDIF + +package: + @cd ../packaging/nsis + @$(MAKENSIS) /DVER_MAJOR=$(MODULE_VERSION_MAJOR) /DVER_MINOR=$(MODULE_VERSION_MINOR) /DVER_REVISION=$(MODULE_VERSION_MICRO) /DVER_BUILD=$(MODULE_VERSION_EXTRA) /DTGT_VERSION=$(TGT_VERSION) /DTGT_WS_VERSION=$(TGT_WS_VERSION) octvoc_ws.nsi + @cd $(MAKEDIR) diff --git a/application/tool/wireshark/plugins/octasic/include/oct_ws_macro.h b/application/tool/wireshark/plugins/octasic/include/oct_ws_macro.h new file mode 100644 index 0000000..88f1c77 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/include/oct_ws_macro.h @@ -0,0 +1,67 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: oct_ws_macro.c + +Copyright (c) 2014 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 +(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: 4 $ + + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCT_WS_MACRO_H__ +#define __OCT_WS_MACRO_H__ + +/***************************** INCLUDE FILES *******************************/ +#include +#include + +/***************************** DEFINES **************************************/ +#ifndef UNUSED +#ifdef __GNUC__ +# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__)) +#else +# define UNUSED(x) UNUSED_ ## x +#endif +#endif + +#ifndef UNUSED_FUNCTION +#ifdef __GNUC__ +# define UNUSED_FUNCTION(x) __attribute__((__unused__)) UNUSED_ ## x +#else +# define UNUSED_FUNCTION(x) UNUSED_ ## x +#endif +#endif + +#define mWS_RED_COMPONENT(x) (guint16) (((((x) >> 16) & 0xff) * 65535 / 255)) +#define mWS_GREEN_COMPONENT(x) (guint16) (((((x) >> 8) & 0xff) * 65535 / 255)) +#define mWS_BLUE_COMPONENT(x) (guint16) ( (((x) & 0xff) * 65535 / 255)) + +#define mWS_FIELDSIZE( type, field) (sizeof(((type *)0)->field)) +#define mWS_FIELDOFFSET(type, field) ((guint32)&(((type *)0)->field)) +#define mWS_COUNTOF(array) (sizeof(array)/sizeof(array[0])) + +#if defined(VERSION_MAJOR) && (VERSION_MAJOR > 1 || (VERSION_MAJOR == 1 && VERSION_MINOR > 8)) +#define OCT_MATCH_STRVAL_IDX(a,b,c) try_val_to_str_idx(a,b,c) +#else +#define OCT_MATCH_STRVAL_IDX(a,b,c) match_strval_idx(a,b,c) +#define dissector_add_uint(a,b,c) dissector_add(a,b,c) +#endif + +#endif /* __OCT_WS_MACRO_H__ */ diff --git a/application/tool/wireshark/plugins/octasic/include/oct_ws_priv.h b/application/tool/wireshark/plugins/octasic/include/oct_ws_priv.h new file mode 100644 index 0000000..c38b2c3 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/include/oct_ws_priv.h @@ -0,0 +1,45 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: oct_ws_priv.c + +Copyright (c) 2014 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 +(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: 4 $ + + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCT_WS_PRIV_H__ +#define __OCT_WS_PRIV_H__ + +/***************************** INCLUDE FILES *******************************/ + +/***************************** DEFINES **************************************/ +typedef struct +{ + guint16 total_packet_size; + guint16 pktHdt_size; + guint8 api_type; + guint8 format; /* PktFormat */ + guint8 trace_flag; + guint16 padding; + +}tOctWsPrivateData; + +#endif /* __OCT_WS_PRIV_H__ */ diff --git a/application/tool/wireshark/plugins/octasic/include/oct_ws_version.h b/application/tool/wireshark/plugins/octasic/include/oct_ws_version.h new file mode 100644 index 0000000..990fa8f --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/include/oct_ws_version.h @@ -0,0 +1,40 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: oct_ws_version.c + +Copyright (c) 2014 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 +(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: 4 $ + + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCT_WS_VERSION_H__ +#define __OCT_WS_VERSION_H__ + +/***************************** INCLUDE FILES *******************************/ + +/***************************** DEFINES **************************************/ +#define NO_TGT_VERSION + + +/***************************** DEFINES **************************************/ + + +#endif /* __OCT_WS_VERSION_H__ */ diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.am b/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.am new file mode 100644 index 0000000..b12ba6e --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.am @@ -0,0 +1,104 @@ +# 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 + +include Makefile.common + +#if HAVE_WARNINGS_AS_ERRORS +#AM_CFLAGS = -Werror +#endif + + +AM_CFLAGS=-DTGT_VERSION=$(TGT_VERSION) -DMODULE_VERSION=$(MODULE_VERSION) + +plugindir = @plugindir@ + +plugin_LTLIBRARIES = octpkt_ws.la +octpkt_ws_la_SOURCES = \ + source/plugin.c \ + include/moduleinfo.h \ + $(DISSECTOR_SRC) \ + $(DISSECTOR_INCLUDES) +octpkt_ws_la_LDFLAGS = -module -avoid-version +octpkt_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 = \ + octpkt_ws \ + *~ + +MAINTAINERCLEANFILES = \ + Makefile.in \ + source/plugin.c + +EXTRA_DIST = \ + Makefile.common \ + Makefile.nmake diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.common b/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.common new file mode 100644 index 0000000..87b3516 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.common @@ -0,0 +1,40 @@ +# 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 = octpkt_ws + +# the dissector sources (without any helpers) +DISSECTOR_SRC = \ + source/octpkt.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/octpkt_ws/Makefile.nmake b/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.nmake new file mode 100644 index 0000000..31d6114 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/Makefile.nmake @@ -0,0 +1,58 @@ +# Makefile.nmake +# nmake file for Wireshark plugin +# +# $Id: Makefile.nmake 24520 2008-03-01 12:31:01Z jake $ +# + +!include ..\..\..\$(TGT_WS_VERSION)\config.nmake + +# The name +PACKAGE=octpkt + +# The version +!IF "$(MODULE_VERSION_MAJOR)" == "" +MODULE_VERSION_MAJOR=1 +!ENDIF +!IF "$(MODULE_VERSION_MINOR)" == "" +MODULE_VERSION_MINOR=0 +!ENDIF +!IF "$(MODULE_VERSION_MICRO)" == "" +MODULE_VERSION_MICRO=1 +!ENDIF +!IF "$(MODULE_VERSION_EXTRA)" == "" +MODULE_VERSION_EXTRA=0 +!ENDIF + + +# +# 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 = octpkt_ws + + +# the dissector sources (without any helpers) +SRC_PATH=source +DISSECTOR_SRC = source/octpkt.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/octpkt_ws/Release_1.6.5/octpkt.obj b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt.obj new file mode 100644 index 0000000..e9eb7a6 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt.obj differ diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.dll b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.dll new file mode 100644 index 0000000..da8a3fd Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.dll differ diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.exp b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.exp new file mode 100644 index 0000000..639b1b3 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.exp differ diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.lib b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.lib new file mode 100644 index 0000000..14f21d0 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.lib differ 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 new file mode 100644 index 0000000..b3752c3 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.pdb differ diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.rc b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.rc new file mode 100644 index 0000000..e69de29 diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.res b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.res new file mode 100644 index 0000000..36f26e2 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/octpkt_ws.res differ 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 new file mode 100644 index 0000000..eb393c6 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/plugin.obj differ diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/vc90.pdb b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/vc90.pdb new file mode 100644 index 0000000..5c53e3d Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octpkt_ws/Release_1.6.5/vc90.pdb differ diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/include/moduleinfo.h b/application/tool/wireshark/plugins/octasic/octpkt_ws/include/moduleinfo.h new file mode 100644 index 0000000..55c9627 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/include/moduleinfo.h @@ -0,0 +1,56 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#include "../../include/oct_ws_version.h" + +#ifdef PACKAGE +#undef PACKAGE +#endif + +/* Name of package */ +#define PACKAGE "octpkt" + + +#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/octpkt_ws/source/octpkr.rc b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/octpkr.rc new file mode 100644 index 0000000..86e8325 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/octpkr.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", "octpkt 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", "octpkt.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/octpkt_ws/source/octpkt.c b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/octpkt.c new file mode 100644 index 0000000..95fe166 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/octpkt.c @@ -0,0 +1,265 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + + #ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#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_octpkt = -1; + +static int hf_octpkt_format = -1; +static int hf_octpkt_trace_flag = -1; +static int hf_octpkt_api_type = -1; +static int hf_octpkt_size = -1; + +static dissector_handle_t data_handle; +static dissector_handle_t vocallonet_handle; +static dissector_handle_t octmfa_handle; + +/* fields defining a subtree */ +static gint ett_octpkt = -1; + + +const value_string octpkt_api_type_vals[] = +{ + { cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTVOCNET, "OCTVOCNET" }, + { cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTMFA, "OCTMFA" }, + { 0, NULL }, +}; + + +#define OCTPKT_TRACE_BIT(octet) ((octet) & 0x80) +#define OCTPKT_TOTAL_PACKET_SIZE(uint16) ((uint16) & 0x07ff) +#define OCTPKT_API_TYPE(octet) (((octet) & 0x78) >> 3 ) + + + +/************************************************************************* +* +* Code to actually dissect the Vocallo common packet header +* +**************************************************************************/ +static void dissect_octpkt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + proto_item* ti = NULL; + proto_tree* octpkt_tree = NULL; + unsigned int offset = 0; + gboolean trace_flag; + guint32 format_trace_proto_len = 0; + tOctWsPrivateData *pPrivData; + + /* 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, "OCTPKT_FORMAT" ); + + if( pinfo->private_data == NULL ) + pinfo->private_data = ep_alloc( sizeof( tOctWsPrivateData ) ); + + pPrivData = (tOctWsPrivateData *)pinfo->private_data; + + format_trace_proto_len = tvb_get_ntohl( tvb, offset ); + offset += sizeof(format_trace_proto_len); + + /* Get the format field [bit 24 to 31] */ + pPrivData->format = (format_trace_proto_len & cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT ) >> cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET; + trace_flag = (format_trace_proto_len & cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE ) >> cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_OFFSET; + pPrivData->api_type = (format_trace_proto_len & cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE ) >> cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_OFFSET; + pPrivData->total_packet_size = (format_trace_proto_len & cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH ) >> cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_OFFSET; + pPrivData->pktHdt_size = offset; + pPrivData->trace_flag = trace_flag; + + if( pPrivData->total_packet_size < 46 ) + pPrivData->padding = 46 - pPrivData->total_packet_size; + else + pPrivData->padding = 0; + + /* Add summary display for the Vocallonet packet */ + if ( check_col( pinfo->cinfo, COL_INFO) ) + { + col_add_fstr( pinfo->cinfo, COL_INFO, + "Format=%d, Size=%u bytes%s", + pPrivData->format, + pPrivData->total_packet_size, + pPrivData->trace_flag ? ", Trace" : ""); + } + + if ( tree ) + { + + /* create display subtree for the protocol */ + ti = proto_tree_add_item( tree, proto_octpkt, tvb, 0, offset, FALSE ); + octpkt_tree = proto_item_add_subtree(ti, ett_octpkt); + + /* Scroll back to the beginning of the header*/ + offset -= sizeof(format_trace_proto_len); + + /* add the VocalloNet common fields to the UI */ + proto_tree_add_uint( octpkt_tree, hf_octpkt_format, tvb, + offset, 1, format_trace_proto_len ); + offset++; + + proto_tree_add_boolean( octpkt_tree, hf_octpkt_trace_flag, tvb, + offset, 1, format_trace_proto_len ); + + offset++; + + proto_tree_add_uint( octpkt_tree, hf_octpkt_api_type, tvb, + offset, 1, format_trace_proto_len ); + + proto_tree_add_uint( octpkt_tree, hf_octpkt_size, tvb, + offset, 2, format_trace_proto_len ); + offset+=2; + } + + if (tvb_reported_length_remaining(tvb, offset) > 0) + { + tvb = tvb_new_subset(tvb, offset, -1, -1); + + switch( pPrivData->api_type ) + { + case cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTVOCNET: + + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCTVOCNET" ); + + if( vocallonet_handle ) + call_dissector(vocallonet_handle, tvb, pinfo, tree); + else + call_dissector(data_handle, tvb, pinfo, tree); + break; + + case cOCTPKT_HDR_CONTROL_PROTOCOL_TYPE_ENUM_OCTMFA: + + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCTMFA" ); + + if( octmfa_handle ) + call_dissector(octmfa_handle, tvb, pinfo, tree); + else + call_dissector(data_handle, tvb, pinfo, tree); + break; + + default: + /* Dump the rest in raw format */ + call_dissector(data_handle, tvb, pinfo, tree); + break; + } + } +} + + +/************************************************************************* +* +* Code to register the protocol with Wireshark +* +**************************************************************************/ +void proto_register_octpkt(void) +{ + /* Setup list of header fields */ + static hf_register_info hf_octpkt[] = + { + { &hf_octpkt_format, + { "Format", "octpkt.format", + FT_UINT32, BASE_HEX, NULL, 0xff000000, + "Packet format", HFILL } + }, + { &hf_octpkt_trace_flag, + { "Trace", "octpkt.trace_flag", + FT_BOOLEAN, 32, NULL, 0x00800000, + "Debug trace flag", HFILL } + }, + { &hf_octpkt_api_type, + { "API Type", "octpkt.api_type", + FT_UINT32, BASE_HEX, VALS(octpkt_api_type_vals), 0x00007800, + "API Type", HFILL } + }, + + { &hf_octpkt_size, + { "Size", "octpkt.size_in_bytes", + FT_UINT32, BASE_DEC, NULL, 0x000007ff, + "Total bit length", HFILL } + } + }; + + /* Setup protocol subtree array */ + static gint* ett[] = + { + &ett_octpkt, + }; + + + + /* Register the protocol name and description */ + proto_octpkt = proto_register_protocol( "OCTPKT Packets", "Octasic Packets", "octpkt"); + + /* Required function calls to register the header fields and subtrees used */ + proto_register_field_array( proto_octpkt, hf_octpkt, array_length(hf_octpkt) ); + proto_register_subtree_array(ett, array_length(ett)); +} + +/************************************************************************* +* +* 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_octpkt(void) +{ + dissector_handle_t octpkt_handle; + + data_handle = find_dissector("data"); + vocallonet_handle = find_dissector("vocallonet"); + octmfa_handle = find_dissector("octmfa"); + + octpkt_handle = create_dissector_handle(dissect_octpkt, proto_octpkt); + + dissector_add_uint("ethertype", cOCTPKT_HDR_ETHERTYPE, octpkt_handle); + +} + diff --git a/application/tool/wireshark/plugins/octasic/octpkt_ws/source/plugin.c b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/plugin.c new file mode 100644 index 0000000..70de27a --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octpkt_ws/source/plugin.c @@ -0,0 +1,62 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#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_octpkt (void); proto_register_octpkt ();} +} + +WS_EXPORT void +plugin_reg_handoff(void) +{ + {extern void proto_reg_handoff_octpkt (void); proto_reg_handoff_octpkt ();} +} +#endif + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/makefile.nmake b/application/tool/wireshark/plugins/octasic/octsdr/makefile.nmake new file mode 100644 index 0000000..ce9102b --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/makefile.nmake @@ -0,0 +1,24 @@ +# Makefile.nmake +# nmake file for Wireshark plugins +DEV_ROOT=../../../../../../.. +WS_ROOT=../../../.. + + +all: setup_m + @cd "octvc1" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake + @cd $(MAKEDIR) + +clean: setup_m + @cd "octvc1" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake clean + @cd $(MAKEDIR) + +install: setup_m + @cd "octvc1" + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f makefile.nmake install + @cd $(MAKEDIR) + +setup_m: + @SET WS_ROOT=$(WS_ROOT) + @SET DEV_ROOT=$(DEV_ROOT) diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmoke.nmake b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmoke.nmake new file mode 100644 index 0000000..481040b --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmoke.nmake @@ -0,0 +1,25 @@ +!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_v + @echo +++++++++++++++++++++++++++++++++++++++++++++ + @echo Building Wireshark Smoke Test App $(TGT_WS_VERSION) + @echo +++++++++++++++++++++++++++++++++++++++++++++ + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f MakeSmokeApp.nmake + +clean: setup_v + @echo +++++++++++++++++++++++++++++++++++++++++++++ + @echo Cleaning Wireshark Smoke Test App $(TGT_WS_VERSION) + @echo +++++++++++++++++++++++++++++++++++++++++++++ + @$(MAKE) /NOLOGO /$(MAKEFLAGS) -f MakeSmokeApp.nmake clean + +!include ..\..\..\..\oasis\makefile\version.nmake \ No newline at end of file diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmokeApp.nmake b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmokeApp.nmake new file mode 100644 index 0000000..9d2f899 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/MakeSmokeApp.nmake @@ -0,0 +1,96 @@ +# Makefile.nmake +# nmake file for Wireshark plugin +# +# $Id: Makefile.nmake 24520 2008-03-01 12:31:01Z jake $ +# +SRC_PATH=smoke_test +SMOKE_SRC = $(SRC_PATH)/ws_smoke.c +DEV_ROOT=../../../../../../.. + +!include ..\..\..\..\$(TGT_WS_VERSION)\config.nmake +!include + +# The name +PACKAGE=octvc1 + +# The version +!IF "$(MODULE_VERSION_MAJOR)" == "" +MODULE_VERSION_MAJOR=1 +!ENDIF +!IF "$(MODULE_VERSION_MINOR)" == "" +MODULE_VERSION_MINOR=0 +!ENDIF +!IF "$(MODULE_VERSION_MICRO)" == "" +MODULE_VERSION_MICRO=1 +!ENDIF +!IF "$(MODULE_VERSION_EXTRA)" == "" +MODULE_VERSION_EXTRA=0 +!ENDIF +LINK= link + +# +# 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 = octvc1_ws + +LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS) + +# the dissector sources (without any helpers) + +#include ..\MakeRules.nmake +!IF "$(DEBUG)" == "1" +OUT_DIR=Debug_Smoke_$(TGT_WS_VERSION) +!ELSE +OUT_DIR=Release_Smoke_$(TGT_WS_VERSION) +!ENDIF + +OUT_PATH=$(OUT_DIR)/ + +CFLAGS=/DHAVE_CONFIG_H /I$(WIRESHARK_LIBS)/../ $(GLIB_CFLAGS) \ + $(cflags) \ + $(LOCAL_CFLAGS) \ + /I ../../ \ + /I$(OCT_INC)/vocallo \ + /I$(PCAP_DIR)\include -D_U_="" + +CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL + +SMOKE_OBJECTS = $(SMOKE_OBJ_PATH:.c=.obj) + +OBJECTS = $(SMOKE_OBJECTS) + +{$(SRC_PATH)}.c{$(OUT_PATH)}.obj:: + @$(CC) $(CFLAGS) -Fd$(OUT_PATH) -Fo$(OUT_PATH) -c $< + +all: octvc1.pcap + +tshark_test: octvc1.pcap + @echo *** Testing Wirershark transformation for $(PACKAGE) package *** + @"$(WS_INSTALL_PATH:/=\)\tshark" -r octvc1.pcap -n -V > octvc1_ws.txt + +octvc1.pcap : $(OUT_PATH)ws_smoke.exe + $(OUT_PATH:/=\)ws_smoke.exe octvc1.pcap + +$(OUT_PATH)ws_smoke.exe : $(OUT_DIR) $(OBJECTS) + @echo Linking $@ + @$(LINK) /out:$(OUT_PATH)ws_smoke.exe $(conflags) $(conlibsdll) /SUBSYSTEM:console $(OBJECTS) + +$(OUT_DIR) : + @if not exist "$(OUT_DIR)/$(NULL)" mkdir "$(OUT_DIR)" + +clean: + -@ erase /Q "$(OUT_PATH)\*.*" + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.am b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.am new file mode 100644 index 0000000..a96d804 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.am @@ -0,0 +1,103 @@ +# 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 + +include Makefile.common + +AM_CFLAGS=-DTGT_VERSION=$(TGT_VERSION) -DMODULE_VERSION=$(MODULE_VERSION) + +plugindir = @plugindir@ + +plugin_LTLIBRARIES = octvc1_ws.la +octvc1_ws_la_SOURCES = \ + source/plugin.c \ + source/octvc1_msg_ctrl.c \ + source/octvc1_plugin.c \ + source/octvc1_msg_event.c \ + source/ws_util.c \ + include/plugin_info.h \ + $(DISSECTOR_SRC) \ + $(DISSECTOR_INCLUDES) + +octvc1_ws_la_LDFLAGS = -module -avoid-version +octvc1_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 = \ + octvc1_ws \ + *~ + +MAINTAINERCLEANFILES = \ + Makefile.in \ + plugin.c + +EXTRA_DIST = \ + Makefile.common \ + Makefile.nmake diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.common b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.common new file mode 100644 index 0000000..464ca4d --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Makefile.common @@ -0,0 +1,16 @@ +# Makefile.common +# Use by Makefile.am to create Wireshark plugins on Linux environment +DISSECTOR_SRC= \ + source/octdev_common.c \ + source/octpkt_common.c \ + source/octvocnet_common.c \ + source/octvc1_common.c \ + source/octvc1_module_ctrl.c \ + source/octvc1_module_main.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 new file mode 100644 index 0000000..bc92d80 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octdev_common.obj differ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octpkt_common.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octpkt_common.obj new file mode 100644 index 0000000..cd50805 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octpkt_common.obj differ 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 new file mode 100644 index 0000000..a02b2ef Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_cid_eid_value_string.obj differ 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 new file mode 100644 index 0000000..811dbd8 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_common.obj differ 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 new file mode 100644 index 0000000..6acc255 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_cpp.obj differ 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 new file mode 100644 index 0000000..b6fa422 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_ctrl.obj differ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_gsm.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_gsm.obj new file mode 100644 index 0000000..c5d933d Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_gsm.obj differ 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 new file mode 100644 index 0000000..2baefef Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_main.obj differ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_net.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_net.obj new file mode 100644 index 0000000..a92bb84 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_module_net.obj differ 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 new file mode 100644 index 0000000..a145c44 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_msg_ctrl.obj differ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_msg_event.obj b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_msg_event.obj new file mode 100644 index 0000000..9c047ce Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_msg_event.obj differ 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 new file mode 100644 index 0000000..52c24b5 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_plugin.obj differ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.dll b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.dll new file mode 100644 index 0000000..5e2c124 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.dll differ 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 new file mode 100644 index 0000000..1e70fc5 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.exp differ 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 new file mode 100644 index 0000000..bd071f4 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.lib differ 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 new file mode 100644 index 0000000..c6ff513 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.pdb differ 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 new file mode 100644 index 0000000..e69de29 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 new file mode 100644 index 0000000..36f26e2 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvc1_ws.res differ 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 new file mode 100644 index 0000000..2a3aede Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/octvocnet_common.obj differ 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 new file mode 100644 index 0000000..0014b5f Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/plugin.obj differ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/vc90.pdb b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/vc90.pdb new file mode 100644 index 0000000..1f14300 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/vc90.pdb differ 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 new file mode 100644 index 0000000..f7bb0b5 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/Release_1.6.5/ws_util.obj differ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/module.h b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/module.h new file mode 100644 index 0000000..710a04f --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/module.h @@ -0,0 +1,59 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: module.h + +Copyright (c) 2014 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 +(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: 4 $ + + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __MODULE_H__ +#define __MODULE_H__ + +/***************************** INCLUDE FILES *******************************/ +#include +#include "ws_util.h" + + +/***************************** INCLUDES *************************************/ +/***************************** DEFINES **************************************/ + +typedef struct +{ + const char *pszModuleName; + const value_string *apCodeIdValueString; + const value_string *apEvtIdValueString; + const value_string *apSupIdValueString; + tregister_dissector_fnc Register_fnc; + tmodule_dissector_fnc Dissector_fnc; + const value_string *apPrivateCodeIdValueString; + const value_string *apPrivateEvtIdValueString; +}tModuleColInfo; + +extern const value_string vals_OCTVC1_module_UID[]; +extern tModuleColInfo aOCTVC1ModuleColInfo[]; +extern int proto_octvc1_ctrl; + +/***************************** PROTO **************************************/ +void ws_register_dissector_module(void); + + +#endif /* __MODULE_H__ */ 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 new file mode 100644 index 0000000..4703c56 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octdev_common.h @@ -0,0 +1,43 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octdev_common.h + +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 . + +$Octasic_Release: $ + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +/***************************** INCLUDE FILES *******************************/ +#ifndef _OCTDEV_COMMON_H__ +#define _OCTDEV_COMMON_H__ + +#include + +/**************************************************************************** + 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[]; + +#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 new file mode 100644 index 0000000..c524afc --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octpkt_common.h @@ -0,0 +1,42 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octpkt_common.h + +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 . + +$Octasic_Release: $ + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +/***************************** INCLUDE FILES *******************************/ +#ifndef _OCTPKT_COMMON_H__ +#define _OCTPKT_COMMON_H__ + +#include + +/**************************************************************************** + 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[]; + +#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 new file mode 100644 index 0000000..04ea179 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvc1_common.h @@ -0,0 +1,101 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_common.h + +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 *******************************/ +#ifndef _OCTVC1_COMMON_H__ +#define _OCTVC1_COMMON_H__ + +#include +#include "octdev_common.h" +#include "octpkt_common.h" +#include "octvocnet_common.h" + +/**************************************************************************** + 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[]; + +/**************************************************************************** + COMMON API DISSECTOR + ****************************************************************************/ +extern unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ); +extern unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET(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_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_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_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_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 ); + +/**************************************************************************** + COMMON USER REGISTATION + ****************************************************************************/ +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" +#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} + }; +#else +gchar* aOCTVC1_user_list[][2]; +#endif /* OCT_DECLARE_COMMON */ + +extern const gchar* octvc1_chck_private( guint32 f_event_id_code, const value_string *f_PrivateApi, gint32 * f_piRegistered ); + +#endif /* _OCTVC1_COMMON_H__ */ + 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 new file mode 100644 index 0000000..4dc39a5 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/octvocnet_common.h @@ -0,0 +1,41 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvocnet_common.h + +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 *******************************/ +#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[]; +extern const value_string vals_tOCTVOCNET_PKT_D_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 new file mode 100644 index 0000000..06a2dfb --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/plugin_info.h @@ -0,0 +1,77 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: plugin_info.h + +Copyright (c) 2014 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 +(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: 4 $ + + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __PLUGIN_INFO_H__ +#define __PLUGIN_INFO_H__ + + +/***************************** INCLUDES *************************************/ +#include +#include "../../../include/oct_ws_version.h" +#include "../../../include/oct_ws_macro.h" + +/***************************** DEFINES **************************************/ + + +#ifdef PACKAGE +#undef PACKAGE +#endif + +/* Name of package */ +#define PACKAGE "OCTVC1" + + +#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 + + +/***************************** VARIABLE ***********************************/ +extern dissector_handle_t data_handle; + + +/***************************** PROTO **************************************/ +void proto_register_octvc1_ctrl(void); +void proto_register_octvc1_event(void); + + +#endif /* __PLUGIN_INFO_H__ */ 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 new file mode 100644 index 0000000..ea1c5fe --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/include/ws_util.h @@ -0,0 +1,78 @@ + +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: oct_ws_util.h + +Copyright (c) 2014 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 +(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: 4 $ + + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCT_WS_UTIL_H__ +#define __OCT_WS_UTIL_H__ + +/***************************** INCLUDE FILES *******************************/ +#include + +/***************************** DEFINES **************************************/ + +typedef int ( * tmodule_dissector_fnc )( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ); +typedef int ( * tCID_dissector_fnc )( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ); +typedef void ( * tregister_dissector_fnc )( void ); + +typedef struct +{ + gint ett; + int proto; + +}tWS_ENTITY_HANDLE; + +typedef struct +{ + char *pszValue; + int lValue; + +}tWS_EXTRA_VALUE; + +extern int hf_octvc1_msg_cmd; +extern int hf_octvc1_msg_rsp; +extern int hf_octvc1_msg_evt; + +extern gint ett_octvc1_msg_type; + + + +/***************************** PROTO **************************************/ +extern void ws_dissector_not_registered(void); +extern int ws_dissector_module_notimplemented( guint8 message_type, guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ); +extern int ws_dissector_notimplemented( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ); + + +extern unsigned int dissect_tOCTVC1_MAIN_FILE_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtraValue ); +extern const char * dissect_OCTVC1_Return_Code( guint32 ulRc ); + + +#if defined(VERSION_MAJOR) && (VERSION_MAJOR > 1 || (VERSION_MAJOR == 1 && VERSION_MINOR > 8)) +WS_DLL_PUBLIC const char *decode_enumerated_bitfield(const guint32 val, const guint32 mask,const int width, const value_string *tab, const char *fmt); +#endif + + +#endif /* __OCT_WS_UTIL_H__ */ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/makefile.nmake b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/makefile.nmake new file mode 100644 index 0000000..4569b52 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/makefile.nmake @@ -0,0 +1,62 @@ +# Makefile.nmake +# nmake file for Wireshark plugin +# +# the dissector sources (without any helpers) +# +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 \ + $(SRC_PATH)/ws_util.c \ + $(SRC_PATH)/octdev_common.c \ + $(SRC_PATH)/octpkt_common.c \ + $(SRC_PATH)/octvocnet_common.c \ + $(SRC_PATH)/octvc1_common.c \ + $(SRC_PATH)/octvc1_cid_eid_value_string.c \ + $(SRC_PATH)/octvc1_module_ctrl.c \ + $(SRC_PATH)/octvc1_module_main.c \ + $(SRC_PATH)/octvc1_module_gsm.c \ + + + +!include ..\..\..\..\$(TGT_WS_VERSION)\config.nmake + +PACKAGE=octvc1 + + +# The version +!IF "$(MODULE_VERSION_MAJOR)" == "" +MODULE_VERSION_MAJOR=1 +!ENDIF +!IF "$(MODULE_VERSION_MINOR)" == "" +MODULE_VERSION_MINOR=0 +!ENDIF +!IF "$(MODULE_VERSION_MICRO)" == "" +MODULE_VERSION_MICRO=1 +!ENDIF +!IF "$(MODULE_VERSION_EXTRA)" == "" +MODULE_VERSION_EXTRA=0 +!ENDIF + +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=octvc1_ws + + +!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 + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis2ws.nmake b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis2ws.nmake new file mode 100644 index 0000000..0f39785 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis2ws.nmake @@ -0,0 +1,141 @@ +# 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 new file mode 100644 index 0000000..ae1a6ba --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/oasis_pkgCommon.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/octvc1.pcap b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/octvc1.pcap new file mode 100644 index 0000000..e35fe87 Binary files /dev/null and b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/octvc1.pcap differ diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octdev_common.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octdev_common.c new file mode 100644 index 0000000..c3dcac0 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octdev_common.c @@ -0,0 +1,60 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octdev_common.c + +Copyright (c) 2014 Octasic Inc. All rights reserved. + +Description: Contain the wireshark module dissector related functions + +$Octasic_Confidentiality: $ + +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/octdev_common.h" + + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTDEV_IP_VERSION_ENUM[] = + { + { cOCTDEV_IP_VERSION_ENUM_4, "cOCTDEV_IP_VERSION_ENUM_4" }, + { cOCTDEV_IP_VERSION_ENUM_6, "cOCTDEV_IP_VERSION_ENUM_6" }, + { cOCTDEV_IP_VERSION_ENUM_INVALID, "cOCTDEV_IP_VERSION_ENUM_INVALID" }, + { 0, NULL } + }; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTDEV_DEVICES_TYPE_ENUM[] = + { + { cOCTDEV_DEVICES_TYPE_ENUM_INVALID, "cOCTDEV_DEVICES_TYPE_ENUM_INVALID" }, + { cOCTDEV_DEVICES_TYPE_ENUM_OCT1010, "cOCTDEV_DEVICES_TYPE_ENUM_OCT1010" }, + { cOCTDEV_DEVICES_TYPE_ENUM_OCT2200, "cOCTDEV_DEVICES_TYPE_ENUM_OCT2200" }, + { 0, NULL } + }; + +const value_string vals_tOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM[] = + { + { cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_INVALID, "cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_INVALID" }, + { cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_OPUS1, "cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_OPUS1" }, + { cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_OPUS2, "cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_OPUS2" }, + { 0, NULL } + }; diff --git a/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octpkt_common.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octpkt_common.c new file mode 100644 index 0000000..9cb2473 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octpkt_common.c @@ -0,0 +1,89 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octpkt_common.c + +Copyright (c) 2014 Octasic Inc. All rights reserved. + +Description: Contain the wireshark module dissector related functions + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . + +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/octpkt_common.h" + + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK[] = + { + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_MASK, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_MASK" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_OFFSET, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE_BIT_OFFSET" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_TRACE" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_MASK, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_MASK" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_OFFSET, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_OFFSET" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_MASK, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_MASK" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_OFFSET, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_OFFSET" }, + { cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH, "cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH" }, + { 0, NULL } + }; + +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 } + }; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK[] = + { + { cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK, "cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK" }, + { cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET, "cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET" }, + { cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT, "cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT" }, + { cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_MASK, "cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_MASK" }, + { cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_OFFSET, "cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE_BIT_OFFSET" }, + { cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE, "cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_CONTROL_PROTOCOL_TYPE" }, + { cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_MASK, "cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_MASK" }, + { cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_OFFSET, "cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH_BIT_OFFSET" }, + { cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH, "cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_LENGTH" }, + { 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 new file mode 100644 index 0000000..a8c1c7f --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_cid_eid_value_string.c @@ -0,0 +1,282 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_cid_eid_value_string.c + +Copyright (c) 2014 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 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
+#include +#include + + +/**************************************************************************** + Module unique entry + ****************************************************************************/ +const value_string vals_OCTVC1_module_UID[] = +{ + { (cOCTVC1_MAIN_UID), "MAIN" }, + { (cOCTVC1_CTRL_UID), "CTRL" }, + { (cOCTVC1_GSM_UID), "GSM" }, + { 0, NULL }, +}; + +/**************************************************************************** + CID arrays + ****************************************************************************/ +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_FILE_OPEN_CID& 0x00000FFF), "FILE_OPEN" }, + { (cOCTVC1_MAIN_MSG_FILE_CLOSE_CID& 0x00000FFF), "FILE_CLOSE" }, + { (cOCTVC1_MAIN_MSG_FILE_WRITE_CID& 0x00000FFF), "FILE_WRITE" }, + { (cOCTVC1_MAIN_MSG_FILE_READ_CID& 0x00000FFF), "FILE_READ" }, + { (cOCTVC1_MAIN_MSG_FILE_INFO_CID& 0x00000FFF), "FILE_INFO" }, + { (cOCTVC1_MAIN_MSG_FILE_LIST_CID& 0x00000FFF), "FILE_LIST" }, + { (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_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" }, + { 0, NULL }, +}; +const value_string vals_OCTVC1_MAIN_CID_PRIV[] = +{ + { 0, NULL }, +}; +const value_string vals_OCTVC1_CTRL_CID[] = +{ + { 0, NULL }, +}; +const value_string vals_OCTVC1_CTRL_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_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" }, + { 0, NULL }, +}; +const value_string vals_OCTVC1_GSM_CID_PRIV[] = +{ + { 0, NULL }, +}; + +/**************************************************************************** + EID arrays + ****************************************************************************/ +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" }, + { 0, NULL }, +}; + +const value_string vals_OCTVC1_MAIN_EID_PRIV[] = +{ + { 0, NULL }, +}; +const value_string vals_OCTVC1_CTRL_EID[] = +{ + { 0, NULL }, +}; + +const value_string vals_OCTVC1_CTRL_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" }, + { 0, NULL }, +}; + +const value_string vals_OCTVC1_GSM_EID_PRIV[] = +{ + { 0, NULL }, +}; + +/**************************************************************************** + SID arrays + ****************************************************************************/ +const value_string vals_OCTVC1_MAIN_SID[] = +{ + { 0, NULL }, +}; + +const value_string vals_OCTVC1_MAIN_SID_PRIV[] = +{ + { 0, NULL }, +}; +const value_string vals_OCTVC1_CTRL_SID[] = +{ + { (cOCTVC1_CTRL_MSG_MODULE_REJECT_SID& 0x00000FFF), "MODULE_REJECT" }, + { 0, NULL }, +}; + +const value_string vals_OCTVC1_CTRL_SID_PRIV[] = +{ + { 0, NULL }, +}; +const value_string vals_OCTVC1_GSM_SID[] = +{ + { 0, NULL }, +}; + +const value_string vals_OCTVC1_GSM_SID_PRIV[] = +{ + { 0, NULL }, +}; + +/**************************************************************************** + typedef struct tModuleColInfo + ****************************************************************************/ +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_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 }, + { "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 }, + +}; + + +/************************************************************************* + Registered dissector module +**************************************************************************/ +void ws_register_dissector_module(void) +{ + /* Register all modules */ + unsigned int i; + for( i=0; i. + +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_OBJECT_CURSOR_ENUM[] = + { + { cOCTVC1_OBJECT_CURSOR_ENUM_DONE, "cOCTVC1_OBJECT_CURSOR_ENUM_DONE" }, + { cOCTVC1_OBJECT_CURSOR_ENUM_SPECIFIC, "cOCTVC1_OBJECT_CURSOR_ENUM_SPECIFIC" }, + { cOCTVC1_OBJECT_CURSOR_ENUM_FIRST, "cOCTVC1_OBJECT_CURSOR_ENUM_FIRST" }, + { cOCTVC1_OBJECT_CURSOR_ENUM_NEXT, "cOCTVC1_OBJECT_CURSOR_ENUM_NEXT" }, + { cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_FIRST, "cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_FIRST" }, + { cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_NEXT, "cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_NEXT" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_CURSOR_HANDLE_GET[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_GET; + +void register_tOCTVC1_CURSOR_HANDLE_GET(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET[0], + { "hObject", "octvc1.cursor.handle_get.hobject", + FT_NONE, BASE_NONE, NULL, 0x0, + "hObject",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET[1], + { "ulGetMode", "octvc1.cursor.handle_get.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CURSOR_HANDLE_GET.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_GET_HANDLE; + +void register_tOCTVC1_CURSOR_HANDLE_GET_HANDLE(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[0], + { "hObject", "octvc1.cursor.handle_get_handle.hobject", + FT_NONE, BASE_NONE, NULL, 0x0, + "hObject",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[1], + { "ulGetMode", "octvc1.cursor.handle_get_handle.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[2], + { "hSubObject", "octvc1.cursor.handle_get_handle.hsubobject", + FT_NONE, BASE_NONE, NULL, 0x0, + "hSubObject",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CURSOR_HANDLE_GET_HANDLE.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT; + +void register_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[0], + { "hObject", "octvc1.cursor.handle_get_handle_object.hobject", + FT_NONE, BASE_NONE, NULL, 0x0, + "hObject",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[1], + { "ulGetMode", "octvc1.cursor.handle_get_handle_object.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[2], + { "hHandleObject", "octvc1.cursor.handle_get_handle_object.hhandleobject", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hHandleObject",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID; + +void register_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[0], + { "hObject", "octvc1.cursor.handle_get_sub_object_id.hobject", + FT_NONE, BASE_NONE, NULL, 0x0, + "hObject",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[1], + { "ulGetMode", "octvc1.cursor.handle_get_sub_object_id.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[2], + { "ulSubObjectId", "octvc1.cursor.handle_get_sub_object_id.ulsubobjectid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulSubObjectId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET; + +void register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[0], + { "hObject", "octvc1.cursor.handle_object_get.hobject", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hObject",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[1], + { "ulGetMode", "octvc1.cursor.handle_object_get.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT; + +void register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[0], + { "hObject", "octvc1.cursor.handle_object_get_handle_object.hobject", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hObject",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[1], + { "ulGetMode", "octvc1.cursor.handle_object_get_handle_object.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[2], + { "hHandleObjectGet", "octvc1.cursor.handle_object_get_handle_object.hhandleobjectget", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hHandleObjectGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID; + +void register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], + { "hObject", "octvc1.cursor.handle_object_get_sub_object_id.hobject", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hObject",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], + { "ulGetMode", "octvc1.cursor.handle_object_get_sub_object_id.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], + { "ulSubObjectId", "octvc1.cursor.handle_object_get_sub_object_id.ulsubobjectid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulSubObjectId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_CURSOR_INDEX_GET[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CURSOR_INDEX_GET; + +void register_tOCTVC1_CURSOR_INDEX_GET(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CURSOR_INDEX_GET[0], + { "ulIndex", "octvc1.cursor.index_get.ulindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulIndex",HFILL } + + }, + { + &ahf_tOCTVC1_CURSOR_INDEX_GET[1], + { "ulGetMode", "octvc1.cursor.index_get.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CURSOR_INDEX_GET.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_GET))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CURSOR_HANDLE_GET (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CURSOR_HANDLE_GET)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_CURSOR_HANDLE_GET); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET, hObject), "hObject:tOCTVC1_HANDLE"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET, ulGetMode); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CURSOR_HANDLE_GET_HANDLE (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE, hObject), "hObject:tOCTVC1_HANDLE"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE, ulGetMode); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE, hSubObject), "hSubObject:tOCTVC1_HANDLE"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, hObject), "hObject:tOCTVC1_HANDLE"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, ulGetMode); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, hHandleObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT, hHandleObject); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, hObject), "hObject:tOCTVC1_HANDLE"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, ulGetMode); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, ulSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID, ulSubObjectId); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CURSOR_HANDLE_OBJECT_GET (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET, hObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET, hObject); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET, ulGetMode); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, hObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, hObject); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, ulGetMode); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, hHandleObjectGet), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT, hHandleObjectGet); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, hObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, hObject); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulGetMode); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulSubObjectId); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_CURSOR_INDEX_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CURSOR_INDEX_GET))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CURSOR_INDEX_GET (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CURSOR_INDEX_GET)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_CURSOR_INDEX_GET); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET, ulIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET, ulIndex); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CURSOR_INDEX_GET[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CURSOR_INDEX_GET, ulGetMode); + + } + + + return offset; + +}; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_BUFFER_FORMAT_ENUM[] = + { + { cOCTVC1_BUFFER_FORMAT_ENUM_UNKNOWN, "cOCTVC1_BUFFER_FORMAT_ENUM_UNKNOWN" }, + { cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_PCAP_TRACE, "cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_PCAP_TRACE" }, + { cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_FILE_SYS, "cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_FILE_SYS" }, + { 0, NULL } + }; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_ETH_PORT_ID_ENUM[] = + { + { cOCTVC1_ETH_PORT_ID_ENUM_0, "cOCTVC1_ETH_PORT_ID_ENUM_0" }, + { cOCTVC1_ETH_PORT_ID_ENUM_1, "cOCTVC1_ETH_PORT_ID_ENUM_1" }, + { cOCTVC1_ETH_PORT_ID_ENUM_2, "cOCTVC1_ETH_PORT_ID_ENUM_2" }, + { cOCTVC1_ETH_PORT_ID_ENUM_3, "cOCTVC1_ETH_PORT_ID_ENUM_3" }, + { cOCTVC1_ETH_PORT_ID_ENUM_INVALID, "cOCTVC1_ETH_PORT_ID_ENUM_INVALID" }, + { 0, NULL } + }; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_IP_VERSION_ENUM[] = + { + { cOCTVC1_IP_VERSION_ENUM_4, "cOCTVC1_IP_VERSION_ENUM_4" }, + { cOCTVC1_IP_VERSION_ENUM_6, "cOCTVC1_IP_VERSION_ENUM_6" }, + { cOCTVC1_IP_VERSION_ENUM_INVALID, "cOCTVC1_IP_VERSION_ENUM_INVALID" }, + { 0, NULL } + }; + +#include + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_VLAN_PROTOCOL_ID_ENUM[] = + { + { cOCTVC1_VLAN_PROTOCOL_ID_ENUM_8100, "cOCTVC1_VLAN_PROTOCOL_ID_ENUM_8100" }, + { cOCTVC1_VLAN_PROTOCOL_ID_ENUM_88A8, "cOCTVC1_VLAN_PROTOCOL_ID_ENUM_88A8" }, + { cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9100, "cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9100" }, + { cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9200, "cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9200" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_VLAN_TAG[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_VLAN_TAG; + +void register_tOCTVC1_VLAN_TAG(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_VLAN_TAG[0], + { "ulPriority", "octvc1.vlan.tag.ulpriority", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulPriority",HFILL } + + }, + { + &ahf_tOCTVC1_VLAN_TAG[1], + { "ulVlanId", "octvc1.vlan.tag.ulvlanid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulVlanId",HFILL } + + }, + { + &ahf_tOCTVC1_VLAN_TAG[2], + { "ulProtocolId", "octvc1.vlan.tag.ulprotocolid", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_VLAN_PROTOCOL_ID_ENUM), 0x0, + "ulProtocolId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_VLAN_TAG.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_VLAN_HEADER_INFO[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_VLAN_HEADER_INFO; + +void register_tOCTVC1_VLAN_HEADER_INFO(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_VLAN_HEADER_INFO[0], + { "ulNumVlanTag", "octvc1.vlan.header_info.ulnumvlantag", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumVlanTag",HFILL } + + }, + { + &ahf_tOCTVC1_VLAN_HEADER_INFO[1], + { "aVlanTag", "octvc1.vlan.header_info.avlantag", + FT_NONE, BASE_NONE, NULL, 0x0, + "aVlanTag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_VLAN_HEADER_INFO.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_VLAN_TAG(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_VLAN_TAG))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_VLAN_TAG (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_VLAN_TAG)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_VLAN_TAG); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_VLAN_TAG[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulPriority), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_VLAN_TAG[0], tvb, offset, + 4, temp_data); + if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 7 ) ) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (0..7)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulPriority); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_VLAN_TAG[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulVlanId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_VLAN_TAG[1], tvb, offset, + 4, temp_data); + if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > 4095 ) ) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (0..4095)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulVlanId); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_VLAN_TAG[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulProtocolId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_VLAN_TAG[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_VLAN_TAG, ulProtocolId); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_VLAN_HEADER_INFO(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_VLAN_HEADER_INFO))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_VLAN_HEADER_INFO (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_VLAN_HEADER_INFO)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_VLAN_HEADER_INFO); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_VLAN_HEADER_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_VLAN_HEADER_INFO, ulNumVlanTag), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_VLAN_HEADER_INFO[0], tvb, offset, + 4, temp_data); + if( ( (unsigned int)temp_data < 0) || ( (unsigned int)temp_data > cOCTVC1_VLAN_MAX_TAG ) ) + { + proto_item_set_expert_flags(ti, PI_MALFORMED, PI_ERROR); + proto_item_append_text(ti," [Out of range - (0..cOCTVC1_VLAN_MAX_TAG)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_VLAN_HEADER_INFO, ulNumVlanTag); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_VLAN_HEADER_INFO, aVlanTag), "aVlanTag:tOCTVC1_VLAN_TAG"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<4; i++ ) + { + { + proto_tree* sub_tree2; + ti = proto_tree_add_text(sub_tree, tvb, offset, + sizeof(tOCTVC1_VLAN_TAG), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_VLAN_TAG( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + } + } + + + return offset; + +}; + +#include + +#include + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_LIST_HANDLE_GET[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_GET; + +void register_tOCTVC1_LIST_HANDLE_GET(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_LIST_HANDLE_GET[0], + { "ulNumHandle", "octvc1.list.handle_get.ulnumhandle", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumHandle",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_HANDLE_GET[1], + { "aHandle", "octvc1.list.handle_get.ahandle", + FT_NONE, BASE_NONE, NULL, 0x0, + "aHandle",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_LIST_HANDLE_GET.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID; + +void register_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[0], + { "hParent", "octvc1.list.handle_get_sub_object_id.hparent", + FT_NONE, BASE_NONE, NULL, 0x0, + "hParent",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[1], + { "ulNumSubObjectId", "octvc1.list.handle_get_sub_object_id.ulnumsubobjectid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumSubObjectId",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[2], + { "aSubObjectId", "octvc1.list.handle_get_sub_object_id.asubobjectid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "aSubObjectId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_OBJECT_GET; + +void register_tOCTVC1_LIST_HANDLE_OBJECT_GET(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[0], + { "ulNumHandleObject", "octvc1.list.handle_object_get.ulnumhandleobject", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumHandleObject",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[1], + { "aHandleObject", "octvc1.list.handle_object_get.ahandleobject", + FT_UINT32,BASE_HEX, NULL, 0x0, + "aHandleObject",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_LIST_HANDLE_OBJECT_GET.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID; + +void register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], + { "hParent", "octvc1.list.handle_object_get_sub_object_id.hparent", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hParent",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], + { "ulNumSubObjectId", "octvc1.list.handle_object_get_sub_object_id.ulnumsubobjectid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumSubObjectId",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], + { "aSubObjectId", "octvc1.list.handle_object_get_sub_object_id.asubobjectid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "aSubObjectId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_LIST_INDEX_GET[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_LIST_INDEX_GET; + +void register_tOCTVC1_LIST_INDEX_GET(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_LIST_INDEX_GET[0], + { "ulNumIndex", "octvc1.list.index_get.ulnumindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulNumIndex",HFILL } + + }, + { + &ahf_tOCTVC1_LIST_INDEX_GET[1], + { "aIndex", "octvc1.list.index_get.aindex", + FT_UINT32,BASE_HEX, NULL, 0x0, + "aIndex",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_LIST_INDEX_GET.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_LIST_HANDLE_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_GET))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_LIST_HANDLE_GET (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_LIST_HANDLE_GET)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_LIST_HANDLE_GET); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_GET[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET, ulNumHandle), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_GET[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET, ulNumHandle); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET, aHandle), "aHandle:tOCTVC1_HANDLE"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<100; i++ ) + { + { + proto_tree* sub_tree2; + ti = proto_tree_add_text(sub_tree, tvb, offset, + sizeof(tOCTVC1_HANDLE), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, hParent), "hParent:tOCTVC1_HANDLE"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_HANDLE( tvb, pinfo, sub_tree2, offset, pExtValue ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, ulNumSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, ulNumSubObjectId); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, aSubObjectId), "aSubObjectId"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<100; i++ ) + { + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID, aSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID[2], tvb, offset, + 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + } + offset+=4; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_LIST_HANDLE_OBJECT_GET (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET, ulNumHandleObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET, ulNumHandleObject); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET, aHandleObject), "aHandleObject"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<100; i++ ) + { + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET, aHandleObject), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET[1], tvb, offset, + 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + } + offset+=4; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, hParent), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, hParent); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulNumSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, ulNumSubObjectId); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, aSubObjectId), "aSubObjectId"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<100; i++ ) + { + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID, aSubObjectId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID[2], tvb, offset, + 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + } + offset+=4; + } + } + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_LIST_INDEX_GET(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_LIST_INDEX_GET))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_LIST_INDEX_GET (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_LIST_INDEX_GET)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_LIST_INDEX_GET); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LIST_INDEX_GET[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET, ulNumIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LIST_INDEX_GET[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET, ulNumIndex); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET, aIndex), "aIndex"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<100; i++ ) + { + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_LIST_INDEX_GET[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LIST_INDEX_GET, aIndex), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_LIST_INDEX_GET[1], tvb, offset, + 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + } + offset+=4; + } + } + } + + + return offset; + +}; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_MSG_FLAGS_MASK[] = + { + { cOCTVC1_MSG_FLAGS_MASK_RETRANSMIT, "cOCTVC1_MSG_FLAGS_MASK_RETRANSMIT" }, + { cOCTVC1_MSG_FLAGS_MASK_NO_RESPONSE, "cOCTVC1_MSG_FLAGS_MASK_NO_RESPONSE" }, + { cOCTVC1_MSG_FLAGS_MASK_LONG_PROCESSING, "cOCTVC1_MSG_FLAGS_MASK_LONG_PROCESSING" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_MSG_HEADER[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MSG_HEADER; + +void register_tOCTVC1_MSG_HEADER(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MSG_HEADER[0], + { "ulLength", "octvc1.msg.header.ullength", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulLength",HFILL } + + }, + { + &ahf_tOCTVC1_MSG_HEADER[1], + { "ulTransactionId", "octvc1.msg.header.ultransactionid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulTransactionId",HFILL } + + }, + { + &ahf_tOCTVC1_MSG_HEADER[2], + { "ul_Type_R_CmdId", "octvc1.msg.header.ul_type_r_cmdid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ul_Type_R_CmdId",HFILL } + + }, + { + &ahf_tOCTVC1_MSG_HEADER[3], + { "ulSessionId", "octvc1.msg.header.ulsessionid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulSessionId",HFILL } + + }, + { + &ahf_tOCTVC1_MSG_HEADER[4], + { "ulReturnCode", "octvc1.msg.header.ulreturncode", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulReturnCode",HFILL } + + }, + { + &ahf_tOCTVC1_MSG_HEADER[5], + { "ulUserInfo", "octvc1.msg.header.uluserinfo", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulUserInfo",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MSG_HEADER.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_EVENT_HEADER[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_EVENT_HEADER; + +void register_tOCTVC1_EVENT_HEADER(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_EVENT_HEADER[0], + { "ulLength", "octvc1.msg.toctvc1_event_header.ullength", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulLength",HFILL } + + }, + { + &ahf_tOCTVC1_EVENT_HEADER[1], + { "ulEventId", "octvc1.msg.toctvc1_event_header.uleventid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulEventId",HFILL } + + }, + { + &ahf_tOCTVC1_EVENT_HEADER[2], + { "ulUserEventId", "octvc1.msg.toctvc1_event_header.ulusereventid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulUserEventId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_EVENT_HEADER.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_MSG_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MSG_HEADER (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MSG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_MSG_HEADER); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulLength); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulTransactionId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulTransactionId); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ul_Type_R_CmdId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ul_Type_R_CmdId); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulSessionId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulSessionId); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulReturnCode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[4], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulReturnCode); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MSG_HEADER[5], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulUserInfo), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MSG_HEADER[5], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MSG_HEADER, ulUserInfo); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_EVENT_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_EVENT_HEADER (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_EVENT_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_EVENT_HEADER); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_EVENT_HEADER[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulLength), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_EVENT_HEADER[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulLength); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_EVENT_HEADER[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulEventId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_EVENT_HEADER[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulEventId); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_EVENT_HEADER[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulUserEventId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_EVENT_HEADER[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_EVENT_HEADER, ulUserEventId); + + } + + + return offset; + +}; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_LOG_TYPE_ENUM[] = + { + { cOCTVC1_LOG_TYPE_ENUM_LOG, "cOCTVC1_LOG_TYPE_ENUM_LOG" }, + { cOCTVC1_LOG_TYPE_ENUM_TRACE, "cOCTVC1_LOG_TYPE_ENUM_TRACE" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_LOG_LEVEL_ENUM[] = + { + { cOCTVC1_LOG_LEVEL_ENUM_EMERGENCY, "cOCTVC1_LOG_LEVEL_ENUM_EMERGENCY" }, + { cOCTVC1_LOG_LEVEL_ENUM_ALERT, "cOCTVC1_LOG_LEVEL_ENUM_ALERT" }, + { cOCTVC1_LOG_LEVEL_ENUM_CRITICAL, "cOCTVC1_LOG_LEVEL_ENUM_CRITICAL" }, + { cOCTVC1_LOG_LEVEL_ENUM_ERROR, "cOCTVC1_LOG_LEVEL_ENUM_ERROR" }, + { cOCTVC1_LOG_LEVEL_ENUM_WARNING, "cOCTVC1_LOG_LEVEL_ENUM_WARNING" }, + { cOCTVC1_LOG_LEVEL_ENUM_NOTICE, "cOCTVC1_LOG_LEVEL_ENUM_NOTICE" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_LOG_TRACE_MASK[] = + { + { cOCTVC1_LOG_TRACE_MASK_FNC_IN, "cOCTVC1_LOG_TRACE_MASK_FNC_IN" }, + { cOCTVC1_LOG_TRACE_MASK_FNC_OUT, "cOCTVC1_LOG_TRACE_MASK_FNC_OUT" }, + { cOCTVC1_LOG_TRACE_MASK_INFO, "cOCTVC1_LOG_TRACE_MASK_INFO" }, + { cOCTVC1_LOG_TRACE_MASK_DEBUG, "cOCTVC1_LOG_TRACE_MASK_DEBUG" }, + { cOCTVC1_LOG_TRACE_MASK_USER_0, "cOCTVC1_LOG_TRACE_MASK_USER_0" }, + { cOCTVC1_LOG_TRACE_MASK_USER_1, "cOCTVC1_LOG_TRACE_MASK_USER_1" }, + { cOCTVC1_LOG_TRACE_MASK_USER_2, "cOCTVC1_LOG_TRACE_MASK_USER_2" }, + { cOCTVC1_LOG_TRACE_MASK_USER_3, "cOCTVC1_LOG_TRACE_MASK_USER_3" }, + { cOCTVC1_LOG_TRACE_MASK_NONE, "cOCTVC1_LOG_TRACE_MASK_NONE" }, + { cOCTVC1_LOG_TRACE_MASK_ALL, "cOCTVC1_LOG_TRACE_MASK_ALL" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_LOG_HEADER[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_LOG_HEADER; + +void register_tOCTVC1_LOG_HEADER(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_LOG_HEADER[0], + { "ulId", "octvc1.log.header.ulid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulId",HFILL } + + }, + { + &ahf_tOCTVC1_LOG_HEADER[1], + { "ulTime", "octvc1.log.header.ultime", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulTime",HFILL } + + }, + { + &ahf_tOCTVC1_LOG_HEADER[2], + { "hProcess", "octvc1.log.header.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_LOG_HEADER[3], + { "ul_Type_Info_Length", "octvc1.log.header.ul_type_info_length", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ul_Type_Info_Length",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_LOG_HEADER.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_LOG_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_LOG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_LOG_HEADER (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_LOG_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_LOG_HEADER); + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LOG_HEADER[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ulId), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LOG_HEADER[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ulId); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LOG_HEADER[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ulTime), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LOG_HEADER[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ulTime); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LOG_HEADER[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, hProcess), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LOG_HEADER[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_LOG_HEADER[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ul_Type_Info_Length), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_LOG_HEADER[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_LOG_HEADER, ul_Type_Info_Length); + + } + + + return offset; + +}; + +#include + +/**************************************************************************** + MODULE API ENUMERATION STRING VALUES + ****************************************************************************/ + +const value_string vals_tOCTVC1_FILE_TYPE_ENUM[] = + { + { cOCTVC1_FILE_TYPE_ENUM_NONE, "cOCTVC1_FILE_TYPE_ENUM_NONE" }, + { cOCTVC1_FILE_TYPE_ENUM_TEXT, "cOCTVC1_FILE_TYPE_ENUM_TEXT" }, + { cOCTVC1_FILE_TYPE_ENUM_BIN, "cOCTVC1_FILE_TYPE_ENUM_BIN" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_FILE_FORMAT_ENUM[] = + { + { cOCTVC1_FILE_FORMAT_ENUM_NONE, "cOCTVC1_FILE_FORMAT_ENUM_NONE" }, + { cOCTVC1_FILE_FORMAT_ENUM_LOG, "cOCTVC1_FILE_FORMAT_ENUM_LOG" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_FILE_HEADER[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_FILE_HEADER; + +void register_tOCTVC1_FILE_HEADER(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_FILE_HEADER[0], + { "ulMagic", "octvc1.file.header.ulmagic", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulMagic",HFILL } + + }, + { + &ahf_tOCTVC1_FILE_HEADER[1], + { "ul_Type_Ver", "octvc1.file.header.ul_type_ver", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ul_Type_Ver",HFILL } + + }, + { + &ahf_tOCTVC1_FILE_HEADER[2], + { "ulReserved", "octvc1.file.header.ulreserved", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulReserved",HFILL } + + }, + { + &ahf_tOCTVC1_FILE_HEADER[3], + { "ulHeaderSize", "octvc1.file.header.ulheadersize", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulHeaderSize",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_FILE_HEADER.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_FILE_HEADER(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_FILE_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_FILE_HEADER (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_FILE_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_FILE_HEADER); + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_FILE_MAGIC_BIG_ENDIAN) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulMagic),temp_data, "cOCTVC1_FILE_MAGIC_BIG_ENDIAN (0x%08x)",temp_data); + }else { + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulMagic), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulMagic); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ul_Type_Ver), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ul_Type_Ver); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulReserved), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulReserved); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_FILE_HEADER[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulHeaderSize), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_FILE_HEADER[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_FILE_HEADER, ulHeaderSize); + + } + + + return offset; + +}; + +#include + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_HANDLE[1]; +tWS_ENTITY_HANDLE ws_htOCTVC1_HANDLE; + +void register_tOCTVC1_HANDLE(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_HANDLE[0], + { "aulHandle", "octvc1.handle.toctvc1_handle.aulhandle", + FT_UINT32,BASE_HEX, NULL, 0x0, + "aulHandle",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_HANDLE.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_HANDLE(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset, tWS_EXTRA_VALUE *pExtValue ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_HANDLE))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_HANDLE (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_HANDLE)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_HANDLE); + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HANDLE, aulHandle), "aulHandle"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<3; i++ ) + { + temp_data = tvb_get_ntohl( tvb, offset ); + if( pExtValue && (pExtValue->lValue == temp_data ) ) + { + ti = proto_tree_add_uint_format_value(sub_tree, ahf_tOCTVC1_HANDLE[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_HANDLE, aulHandle), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint_format(sub_tree, ahf_tOCTVC1_HANDLE[0], tvb, offset, + 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + } + offset+=4; + } + } + } + + + return offset; + +}; +/**************************************************************************** + MODULE REGISTERED EXPORTED FUNCTION + ****************************************************************************/ + +void ws_register_OCTVC1_common(void) +{ + register_tOCTVC1_CURSOR_HANDLE_GET(); + register_tOCTVC1_CURSOR_HANDLE_GET_HANDLE(); + register_tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT(); + register_tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID(); + register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET(); + register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT(); + register_tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID(); + register_tOCTVC1_CURSOR_INDEX_GET(); + register_tOCTVC1_VLAN_TAG(); + register_tOCTVC1_VLAN_HEADER_INFO(); + register_tOCTVC1_LIST_HANDLE_GET(); + register_tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID(); + register_tOCTVC1_LIST_HANDLE_OBJECT_GET(); + register_tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID(); + register_tOCTVC1_LIST_INDEX_GET(); + register_tOCTVC1_MSG_HEADER(); + register_tOCTVC1_EVENT_HEADER(); + register_tOCTVC1_LOG_HEADER(); + register_tOCTVC1_FILE_HEADER(); + register_tOCTVC1_HANDLE(); + +} + + 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 new file mode 100644 index 0000000..f30c68c --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_cpp.c @@ -0,0 +1,4396 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..54fe328 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_ctrl.c @@ -0,0 +1,202 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_module_ctrl.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 + + +/**************************************************************************** + Event Registered + ****************************************************************************/ + +int ahf_tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_CTRL_MSG_MODULE_REJECT_SPV; + +void register_tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV[0], + { "ulExpectedTransactionId", "octvc1.ctrl.module.reject.ulexpectedtransactionid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulExpectedTransactionId",HFILL } + + }, + { + &ahf_tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV[1], + { "ulRejectedCmdId", "octvc1.ctrl.module.reject.ulrejectedcmdid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulRejectedCmdId",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_CTRL_MSG_MODULE_REJECT_SPV.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + +/**************************************************************************** + Event dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, unsigned int offset ) +{ + proto_tree *field_tree = tree; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV)-sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV)-sizeof(tOCTVC1_EVENT_HEADER)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + ti = proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV (%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_CTRL_MSG_MODULE_REJECT_SPV[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV, ulExpectedTransactionId); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV, ulRejectedCmdId); + + } + + + return 0; + +}; + +/**************************************************************************** + CMD/RSP dissectors + ****************************************************************************/ +/**************************************************************************** + MODULE REGISTERED EXPORTED FUNCTION + ****************************************************************************/ + +void ws_register_OCTVC1_CTRL(void) +{ + /**************************************************************************** + Register Common struct + ****************************************************************************/ + + /**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + + /**************************************************************************** + Event Registered + ****************************************************************************/ + +} + +/**************************************************************************** + MODULE DISSECTOR FUNCTIONS + ****************************************************************************/ +int ws_dissect_OCTVC1_CTRL_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_CTRL_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + if( tree ) + { + switch( CID ) { + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_CTRL_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_CTRL( 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_CTRL_RSP( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_COMMAND) + return ws_dissect_OCTVC1_CTRL_CMD( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_NOTIFICATION ) + return ws_dissect_OCTVC1_CTRL_EVT( CID, tvb, pinfo, tree); + else + return 1; + +} + 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 new file mode 100644 index 0000000..91616fc --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_gsm.c @@ -0,0 +1,7362 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_module_gsm.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_GSM_TRX_BAND_HOPPING_TSC_MASK[] = + { + { 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_SAPI_ENUM[] = + { + { cOCTVC1_GSM_SAPI_ENUM_IDLE, "cOCTVC1_GSM_SAPI_ENUM_IDLE" }, + { cOCTVC1_GSM_SAPI_ENUM_FCCH, "cOCTVC1_GSM_SAPI_ENUM_FCCH" }, + { cOCTVC1_GSM_SAPI_ENUM_SCH, "cOCTVC1_GSM_SAPI_ENUM_SCH" }, + { cOCTVC1_GSM_SAPI_ENUM_SACCH, "cOCTVC1_GSM_SAPI_ENUM_SACCH" }, + { cOCTVC1_GSM_SAPI_ENUM_SDCCH, "cOCTVC1_GSM_SAPI_ENUM_SDCCH" }, + { cOCTVC1_GSM_SAPI_ENUM_BCCH, "cOCTVC1_GSM_SAPI_ENUM_BCCH" }, + { cOCTVC1_GSM_SAPI_ENUM_PCH_AGCH, "cOCTVC1_GSM_SAPI_ENUM_PCH_AGCH" }, + { cOCTVC1_GSM_SAPI_ENUM_CBCH, "cOCTVC1_GSM_SAPI_ENUM_CBCH" }, + { cOCTVC1_GSM_SAPI_ENUM_RACH, "cOCTVC1_GSM_SAPI_ENUM_RACH" }, + { cOCTVC1_GSM_SAPI_ENUM_TCHF, "cOCTVC1_GSM_SAPI_ENUM_TCHF" }, + { cOCTVC1_GSM_SAPI_ENUM_FACCHF, "cOCTVC1_GSM_SAPI_ENUM_FACCHF" }, + { cOCTVC1_GSM_SAPI_ENUM_TCHH, "cOCTVC1_GSM_SAPI_ENUM_TCHH" }, + { cOCTVC1_GSM_SAPI_ENUM_FACCHH, "cOCTVC1_GSM_SAPI_ENUM_FACCHH" }, + { cOCTVC1_GSM_SAPI_ENUM_NCH, "cOCTVC1_GSM_SAPI_ENUM_NCH" }, + { cOCTVC1_GSM_SAPI_ENUM_PDTCH, "cOCTVC1_GSM_SAPI_ENUM_PDTCH" }, + { cOCTVC1_GSM_SAPI_ENUM_PACCH, "cOCTVC1_GSM_SAPI_ENUM_PACCH" }, + { cOCTVC1_GSM_SAPI_ENUM_PBCCH, "cOCTVC1_GSM_SAPI_ENUM_PBCCH" }, + { cOCTVC1_GSM_SAPI_ENUM_PAGCH, "cOCTVC1_GSM_SAPI_ENUM_PAGCH" }, + { cOCTVC1_GSM_SAPI_ENUM_PPCH, "cOCTVC1_GSM_SAPI_ENUM_PPCH" }, + { cOCTVC1_GSM_SAPI_ENUM_PNCH, "cOCTVC1_GSM_SAPI_ENUM_PNCH" }, + { cOCTVC1_GSM_SAPI_ENUM_PTCCH, "cOCTVC1_GSM_SAPI_ENUM_PTCCH" }, + { cOCTVC1_GSM_SAPI_ENUM_PRACH, "cOCTVC1_GSM_SAPI_ENUM_PRACH" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_Channel_Type_ENUM[] = + { + { 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" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_CIPHERING_ENUM[] = + { + { 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" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_GSM_LOGICAL_CHANNEL_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" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_tSUBCHANNEL_STATUS; + +void register_tOCTVC1_GSM_tSUBCHANNEL_STATUS(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_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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_tSUBCHANNEL_STATUS.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; + +void register_tOCTVC1_GSM_tMEASUREMENT_INFO(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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_tMEASUREMENT_INFO.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_TIMESLOT_STATUS[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_TIMESLOT_STATUS; + +void register_tOCTVC1_GSM_TIMESLOT_STATUS(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_TIMESLOT_STATUS[0], + { "byChannelType", "octvc1.gsm.timeslot_status.bychanneltype", + FT_UINT8,BASE_HEX, NULL, 0x0, + "byChannelType",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_TIMESLOT_STATUS[1], + { "bySubchannelCount", "octvc1.gsm.timeslot_status.bysubchannelcount", + FT_UINT8,BASE_HEX, NULL, 0x0, + "bySubchannelCount",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_TIMESLOT_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; + +void register_tOCTVC1_GSM_MSG_MODULE_TIME_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", + FT_NONE, BASE_NONE, NULL, 0x0, + "tMeasurementInfo",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", + FT_NONE, BASE_NONE, NULL, 0x0, + "tMeasurementInfo",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_MODULE_RACH_INDICATION_EVT[8], + { "ausMessageContents", "octvc1.gsm.module.rach_indication.ausmessagecontents", + FT_UINT16,BASE_HEX, NULL, 0x0, + "ausMessageContents",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_MODULE_RACH_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; + +void register_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_MODULE_ERROR_EVT[0], + { "hProcessUnit", "octvc1.gsm.module.error.hprocessunit", + FT_NONE, BASE_NONE, NULL, 0x0, + "hProcessUnit",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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_MODULE_ERROR_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; + +void register_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_MODULE_MESSAGE_EVT[0], + { "hProcessUnit", "octvc1.gsm.module.message.hprocessunit", + FT_NONE, BASE_NONE, NULL, 0x0, + "hProcessUnit",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", + FT_NONE, BASE_NONE, NULL, 0x0, + "hProcessUnit",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_MODULE_CHECKPOINT_EVT[1], + { "ulCoreId", "octvc1.gsm.module.checkpoint.ulcoreid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulCoreId",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", + FT_NONE, BASE_NONE, NULL, 0x0, + "hProcessUnit",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_MODULE_TRACING_EVT[1], + { "ulCoreId", "octvc1.gsm.module.tracing.ulcoreid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulCoreId",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", + FT_UINT8,BASE_HEX, NULL, 0x0, + "abyUnparsedPayload",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_MODULE_TRACING_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; + +void register_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_ERROR_EVT[0], + { "hProcessUnit", "octvc1.gsm.process_unit.error.hprocessunit", + FT_NONE, BASE_NONE, NULL, 0x0, + "hProcessUnit",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", + FT_NONE, BASE_NONE, NULL, 0x0, + "hProcessUnit",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", + FT_NONE, BASE_NONE, NULL, 0x0, + "hProcessUnit",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", + 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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_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; + +void register_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + +int ahf_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD; + +void register_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_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", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulUserEventId",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD[2], + { "hEventDestObj", "octvc1.gsm.module.evt.modify.heventdestobj", + FT_NONE, BASE_NONE, NULL, 0x0, + "hEventDestObj",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", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulEventMask",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", + 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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_MODULE_INFO_EVT_RSP.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; + +void register_tOCTVC1_GSM_MSG_MODULE_INFO_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", + FT_NONE, BASE_NONE, NULL, 0x0, + "hProcessUnit",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 } + + }, + { + &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[2], + { "ulEventMask", "octvc1.gsm.process_unit.evt.modify.uleventmask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulEventMask",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD[3], + { "ulDebugFwdEventMask", "octvc1.gsm.process_unit.evt.modify.uldebugfwdeventmask", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulDebugFwdEventMask",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_EVT_CMD.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]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_STATUS_CMD(void) +{ + static hf_register_info hf[] = + { + { + &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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STATUS_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_STATUS_RSP; + +void register_tOCTVC1_GSM_MSG_TRX_STATUS_RSP(void) +{ + static hf_register_info hf[] = + { + { + &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 } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[1], + { "byPad", "octvc1.gsm.trx.status.bypad", + FT_UINT8,BASE_HEX, NULL, 0x0, + "byPad",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[2], + { "atStatus", "octvc1.gsm.trx.status.atstatus", + FT_NONE, BASE_NONE, NULL, 0x0, + "atStatus",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[3], + { "aPadding", "octvc1.gsm.trx.status.apadding", + FT_UINT8,BASE_HEX, NULL, 0x0, + "aPadding",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_STATUS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[9]; +tWS_ENTITY_HANDLE ws_htOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD; + +void register_tOCTVC1_GSM_MSG_TRX_CONFIGURE_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", + 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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_CONFIGURE_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; + +void register_tOCTVC1_GSM_MSG_TRX_CONFIGURE_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", + FT_NONE, BASE_NONE, NULL, 0x0, + "u6TrxId_u4band_u6Pad",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP[1], + { "usStatus", "octvc1.gsm.trx.configure.usstatus", + FT_UINT16,BASE_HEX, NULL, 0x0, + "usStatus",HFILL } + + }, + { + &ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP[2], + { "aPadding", "octvc1.gsm.trx.configure.apadding", + FT_UINT8,BASE_HEX, NULL, 0x0, + "aPadding",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TRX_CONFIGURE_RSP.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; + +void register_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD(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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TEST_START_ETSI_CMD.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; + +void register_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP(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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TEST_START_ETSI_RSP.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; + +void register_tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD(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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TEST_END_ETSI_CMD.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; + +void register_tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP(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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_GSM_MSG_TEST_END_ETSI_RSP.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; + +void register_tOCTVC1_GSM_MSG_TEST_START_FCC_CMD(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 } + + }, + }; + + 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 + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_GSM_tSUBCHANNEL_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_tSUBCHANNEL_STATUS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_tSUBCHANNEL_STATUS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_tSUBCHANNEL_STATUS)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_tSUBCHANNEL_STATUS); + 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[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveUplinkSAPIMapMSW), 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); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveUplinkSAPIMapMSW); + + 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[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveUplinkSAPIMapLSW), 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); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveUplinkSAPIMapLSW); + + 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 ); + 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 ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_tSUBCHANNEL_STATUS[3], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_tSUBCHANNEL_STATUS, usActiveDownlinkSAPIMapLSW); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_tMEASUREMENT_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_tMEASUREMENT_INFO))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_tMEASUREMENT_INFO (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_tMEASUREMENT_INFO)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_GSM_tMEASUREMENT_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_tMEASUREMENT_INFO[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, sRSSI), 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); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_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_tMEASUREMENT_INFO[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, sSNR), 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, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_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_tMEASUREMENT_INFO[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, sBurstTiming), 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, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_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_tMEASUREMENT_INFO[3], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, usBERCount), 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, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_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_tMEASUREMENT_INFO[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, usBERTOtalBitCOunt), 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, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_tMEASUREMENT_INFO, usBERTOtalBitCOunt); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_GSM_TIMESLOT_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_TIMESLOT_STATUS))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_TIMESLOT_STATUS (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_TIMESLOT_STATUS)); + return 1; + } + else + { + 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_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); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_STATUS, byChannelType); + + 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_TIMESLOT_STATUS[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_STATUS, bySubchannelCount), 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); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_TIMESLOT_STATUS, bySubchannelCount); + + } + + + return offset; + +}; + +/**************************************************************************** + Event dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_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_MODULE_TIME_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_MODULE_TIME_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_TIME_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"); + { + 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 ); + } + 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"); + { + 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 ); + } + temp_data = tvb_get_ntohs( tvb, offset ); + { + 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_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)]" ); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, usMessageLength); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_RACH_INDICATION_EVT, ausMessageContents), "ausMessageContents"); + { + 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++ ) + { + 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, + 1, temp_data, "[%d]: 0x%02x", i, temp_data ); + } + offset+=1; + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_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_PROCESS_UNIT_ERROR_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_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_PROCESS_UNIT_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_PROCESS_UNIT_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_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"); + { + 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_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"); + { + 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_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; + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_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_PROCESS_UNIT_TRACING_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_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_PROCESS_UNIT_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_PROCESS_UNIT_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_PROCESS_UNIT_TRACING_EVT[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_PROCESS_UNIT_TRACING_EVT, ulCoreId); + + 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; + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_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_GSM_MSG_TEST_ETSI_TEST_REPORT_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TEST_ETSI_TEST_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_GSM_MSG_TEST_ETSI_TEST_REPORT_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_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT[0], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_ETSI_TEST_REPORT_EVT, usTodo); + + } + + + return 0; + +}; + +/**************************************************************************** + CMD/RSP dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_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))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_MODULE_INFO_HARDWARE_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_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")); + + 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, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_MODULE_MODIFY_EVT_CMD, ulUserEventId); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_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_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"); + { + 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_INFO_EVT_RSP[3], tvb, offset, + 4, temp_data); + } + 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); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_MODULE_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_MODULE_INFO_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_MODULE_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_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")); + + 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"); + { + 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 ); + 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); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_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_MODIFY_EVT_RSP)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_MODIFY_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_MODIFY_EVT_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_RSP, 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 ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_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_INFO_EVT_CMD)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_PROCESS_UNIT_INFO_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_INFO_EVT_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_EVT_CMD, 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 ); + } + } + + + 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; + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_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_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_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_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_CMD[0], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_CMD, usu2Pad_u6TRXId_u8Pad); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_STATUS_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_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_GSM_MSG_TRX_STATUS_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_STATUS_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_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_STATUS_RSP[0], tvb, offset, + 1, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, byu2Pad_u6TRXId); + + temp_data = tvb_get_guint8( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_STATUS_RSP[1], tvb, offset, + 1, temp_data); + } + 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"); + { + 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_GSM_TIMESLOT_STATUS), "[%d]:", i); + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_GSM_TIMESLOT_STATUS( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + } + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_STATUS_RSP, aPadding), "aPadding"); + { + int i, ofs=offset; + proto_tree* sub_tree = proto_item_add_subtree(ti, ett_octvc1_msg_type); + for( i=0; i<446; 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, + 1, temp_data, "[%d]: 0x%02x", i, temp_data ); + } + offset+=1; + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TRX_CONFIGURE_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_CONFIGURE_CMD)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TRX_CONFIGURE_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_CONFIGURE_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_none_format(field_tree, ahf_tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD[0], tvb, offset, + 2,"u6TrxId_u4band_u1H_u5TSC: (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++ ) + { + 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")); + } + } + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_CMD, u6TrxId_u4band_u1H_u5TSC); + + temp_data = tvb_get_ntohs( 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); + 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++ ) + { + 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")); + } + } + } + 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); + + ti = proto_tree_add_text(field_tree, tvb, offset, + mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TRX_CONFIGURE_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_CONFIGURE_RSP[2], tvb, offset, + 1, temp_data, "[%d]: 0x%02x", i, temp_data ); + } + offset+=1; + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TEST_START_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_START_ETSI_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TEST_START_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_START_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_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD[0], tvb, offset, + 2, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_GSM_MSG_TEST_START_ETSI_CMD, usTodo); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_GSM_MSG_TEST_START_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_START_ETSI_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_GSM_MSG_TEST_START_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_START_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_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_START_ETSI_RSP[0], tvb, offset, + 2, temp_data); + } + 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_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_END_ETSI_CMD[0], tvb, offset, + 2, temp_data); + } + 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_uint(field_tree, ahf_tOCTVC1_GSM_MSG_TEST_END_ETSI_RSP[0], tvb, offset, + 2, temp_data); + } + 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); + + } + + + return 0; + +}; +/**************************************************************************** + MODULE REGISTERED EXPORTED FUNCTION + ****************************************************************************/ + +void ws_register_OCTVC1_GSM(void) +{ + /**************************************************************************** + Register Common struct + ****************************************************************************/ + register_tOCTVC1_GSM_tSUBCHANNEL_STATUS(); + register_tOCTVC1_GSM_tMEASUREMENT_INFO(); + register_tOCTVC1_GSM_TIMESLOT_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_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(); + + /**************************************************************************** + 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(); + +} + +/**************************************************************************** + MODULE DISSECTOR FUNCTIONS + ****************************************************************************/ +int ws_dissect_OCTVC1_GSM_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + 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_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; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_GSM_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + 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_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; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_GSM_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + 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; + default: return 1; + } + } + return 0; + +} + +/**************************************************************************** + MODULE DISSECTOR EXPORTED FUNCTION + ****************************************************************************/ + +int ws_dissect_OCTVC1_GSM( 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_GSM_RSP( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_COMMAND) + return ws_dissect_OCTVC1_GSM_CMD( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_NOTIFICATION ) + return ws_dissect_OCTVC1_GSM_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 new file mode 100644 index 0000000..4cb5e9b --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_main.c @@ -0,0 +1,11076 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvc1_module_main.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_MAIN_SPI_CLOCK_POLARITY_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" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_MAIN_SPI_CLOCK_PHASE_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" }, + { 0, NULL } + }; + +const value_string vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[] = + { + { cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_READ, "cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_READ" }, + { cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_WRITE, "cOCTVC1_MAIN_FILE_OPEN_MODE_MASK_WRITE" }, + { 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" }, + { cOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_START, "cOCTVC1_MAIN_LOG_TRACE_STATE_ENUM_START" }, + { 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" }, + { cOCTVC1_MAIN_EVT_PHY_MASK_DOWN, "cOCTVC1_MAIN_EVT_PHY_MASK_DOWN" }, + { 0, NULL } + }; + +/**************************************************************************** + COMMON Registered + ****************************************************************************/ + +int ahf_tOCTVC1_MAIN_LICENSING_CURSOR[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_LICENSING_CURSOR; + +void register_tOCTVC1_MAIN_LICENSING_CURSOR(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_LICENSING_CURSOR[1], + { "ulGetMode", "octvc1.main.licensing_cursor.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_LICENSING_CURSOR.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; + +void register_tOCTVC1_MAIN_THREAD_CPU_USAGE(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_THREAD_CPU_USAGE[1], + { "ulCpuUsagePercent", "octvc1.main.thread_cpu_usage.ulcpuusagepercent", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulCpuUsagePercent",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 + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR; + +void register_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR[0], + { "szFileName", "octvc1.main.file_system_file_cursor.szfilename", + FT_STRING, BASE_NONE, NULL, 0x0, + "szFileName",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR[1], + { "ulGetMode", "octvc1.main.file_system_file_cursor.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_LOG_ENTRY[5]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_LOG_ENTRY; + +void register_tOCTVC1_MAIN_LOG_ENTRY(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_ENTRY[1], + { "ulLogTimestamp", "octvc1.main.log_entry.ullogtimestamp", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulLogTimestamp",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_ENTRY[3], + { "ulLogReserved1", "octvc1.main.log_entry.ullogreserved1", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulLogReserved1",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_LOG_ENTRY[4], + { "achLogMsg", "octvc1.main.log_entry.achlogmsg", + FT_STRING, BASE_NONE, NULL, 0x0, + "achLogMsg",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_LOG_ENTRY.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; + +void register_tOCTVC1_MAIN_FILE_CURSOR(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_FILE_CURSOR[1], + { "ulGetMode", "octvc1.main.file_cursor.ulgetmode", + FT_UINT32,BASE_HEX, VALS(vals_tOCTVC1_OBJECT_CURSOR_ENUM), 0x0, + "ulGetMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_FILE_CURSOR.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + 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]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT; + +void register_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[0], + { "hProcess", "octvc1.main.process.cpu_usage.report.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &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, + "ulProcessImageType",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[2], + { "ulProcessCpuUsagePercent", "octvc1.main.process.cpu_usage.report.ulprocesscpuusagepercent", + FT_UINT32,BASE_DEC, NULL, 0x0, + "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[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +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; + +void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_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", + 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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + CMD/RSP Registered + ****************************************************************************/ + +int ahf_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD; + +void register_tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD(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", + FT_UINT32,BASE_HEX, VALS(vals_tOCTDEV_DEVICES_TYPE_ENUM), 0x0, + "ulDeviceType",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_DEVICE_INFO_RSP[2], + { "abyUserInfo", "octvc1.main.device.info.abyuserinfo", + FT_BYTES, BASE_NONE, NULL, 0x0, + "abyUserInfo",HFILL } + + }, + }; + + 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 + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_OPEN_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_OPEN_CMD; + +void register_tOCTVC1_MAIN_MSG_FILE_OPEN_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_OPEN_CMD[0], + { "szFileName", "octvc1.main.file.open.szfilename", + FT_STRING, BASE_NONE, NULL, 0x0, + "szFileName",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_OPEN_CMD[1], + { "ulAccessMode", "octvc1.main.file.open.ulaccessmode", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulAccessMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_OPEN_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_OPEN_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_OPEN_RSP; + +void register_tOCTVC1_MAIN_MSG_FILE_OPEN_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_OPEN_RSP[0], + { "hFile", "octvc1.main.file.open.hfile", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hFile",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_OPEN_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_CLOSE_CMD; + +void register_tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD[0], + { "hFile", "octvc1.main.file.close.hfile", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hFile",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_CLOSE_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_WRITE_CMD; + +void register_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD[0], + { "hFile", "octvc1.main.file.write.hfile", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hFile",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD[1], + { "ulNumByteToWrite", "octvc1.main.file.write.ulnumbytetowrite", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulNumByteToWrite",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD[2], + { "abyData", "octvc1.main.file.write.abydata", + FT_BYTES, BASE_NONE, NULL, 0x0, + "abyData",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_WRITE_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_WRITE_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_WRITE_RSP; + +void register_tOCTVC1_MAIN_MSG_FILE_WRITE_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_WRITE_RSP[0], + { "ulNumByteWritten", "octvc1.main.file.write.ulnumbytewritten", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulNumByteWritten",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_WRITE_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_READ_CMD[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_READ_CMD; + +void register_tOCTVC1_MAIN_MSG_FILE_READ_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_READ_CMD[0], + { "hFile", "octvc1.main.file.read.hfile", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hFile",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_READ_CMD[1], + { "ulMaxNumByteToRead", "octvc1.main.file.read.ulmaxnumbytetoread", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxNumByteToRead",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_READ_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_READ_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_READ_RSP; + +void register_tOCTVC1_MAIN_MSG_FILE_READ_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_READ_RSP[0], + { "ulNumByteRead", "octvc1.main.file.read.ulnumbyteread", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulNumByteRead",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_READ_RSP[1], + { "abyData", "octvc1.main.file.read.abydata", + FT_BYTES, BASE_NONE, NULL, 0x0, + "abyData",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_READ_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_INFO_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_INFO_CMD; + +void register_tOCTVC1_MAIN_MSG_FILE_INFO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_INFO_CMD[0], + { "hFile", "octvc1.main.file.info.hfile", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hFile",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_INFO_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_INFO_RSP; + +void register_tOCTVC1_MAIN_MSG_FILE_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[0], + { "hFile", "octvc1.main.file.info.hfile", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hFile",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[1], + { "szFileName", "octvc1.main.file.info.szfilename", + FT_STRING, BASE_NONE, NULL, 0x0, + "szFileName",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[2], + { "ulAccessMode", "octvc1.main.file.info.ulaccessmode", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulAccessMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_LIST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_LIST_CMD; + +void register_tOCTVC1_MAIN_MSG_FILE_LIST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_LIST_CMD[0], + { "ObjectCursor", "octvc1.main.file.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_LIST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_LIST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_LIST_RSP; + +void register_tOCTVC1_MAIN_MSG_FILE_LIST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_LIST_RSP[0], + { "ObjectCursor", "octvc1.main.file.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_LIST_RSP[1], + { "ObjectList", "octvc1.main.file.list.objectlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_LIST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP; + +void register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP[0], + { "ulMaxFileEntry", "octvc1.main.file_system.info.ulmaxfileentry", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxFileEntry",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD; + +void register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD[0], + { "ObjectGet", "octvc1.main.file_system.file.info.objectget", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectGet",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP; + +void register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP[0], + { "ObjectGet", "octvc1.main.file_system.file.info.objectget", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectGet",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP[1], + { "ulAccessMode", "octvc1.main.file_system.file.info.ulaccessmode", + FT_NONE, BASE_NONE, NULL, 0x0, + "ulAccessMode",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD; + +void register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD[0], + { "szFileName", "octvc1.main.file_system.file.delete.szfilename", + FT_STRING, BASE_NONE, NULL, 0x0, + "szFileName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP; + +void register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP[0], + { "szFileName", "octvc1.main.file_system.file.delete.szfilename", + FT_STRING, BASE_NONE, NULL, 0x0, + "szFileName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD; + +void register_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_CMD[0], + { "ulGetNewestFlag", "octvc1.main.log.entry.read.ulgetnewestflag", + 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 } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP[1], + { "aLogEntry", "octvc1.main.log.entry.read.alogentry", + FT_NONE, BASE_NONE, NULL, 0x0, + "aLogEntry",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_LOG_READ_ENTRY_RSP.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; + +void register_tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_LICENSING_INFO_CMD[0], + { "ObjectGet", "octvc1.main.licensing.info.objectget", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectGet",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", + 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 } + + }, + }; + + 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 + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_CMD; + +void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD[0], + { "hProcess", "octvc1.main.process.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_RSP; + +void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[0], + { "hProcess", "octvc1.main.process.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP[1], + { "szProcessImageName", "octvc1.main.process.info.szprocessimagename", + FT_STRING, BASE_NONE, NULL, 0x0, + "szProcessImageName",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_LIST_CMD; + +void register_tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD[0], + { "ObjectCursor", "octvc1.main.process.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_LIST_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_LIST_RSP; + +void register_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP[0], + { "ObjectCursor", "octvc1.main.process.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP[1], + { "ObjectList", "octvc1.main.process.list.objectlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_LIST_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[4]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD; + +void register_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[0], + { "hProcess", "octvc1.main.process.cpu_usage.monitor.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[1], + { "ulAlarmThresholdHighPercent", "octvc1.main.process.cpu_usage.monitor.ulalarmthresholdhighpercent", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulAlarmThresholdHighPercent",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[2], + { "ulAlarmThresholdLowPercent", "octvc1.main.process.cpu_usage.monitor.ulalarmthresholdlowpercent", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulAlarmThresholdLowPercent",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP[3]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP; + +void register_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP[0], + { "hProcess", "octvc1.main.process.cpu_usage.monitor.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "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[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD[2]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD; + +void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD[0], + { "hProcess", "octvc1.main.process.cpu_usage.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[9]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP; + +void register_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP[0], + { "hProcess", "octvc1.main.process.cpu_usage.info.hprocess", + FT_UINT32,BASE_HEX, NULL, 0x0, + "hProcess",HFILL } + + }, + { + &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], + { "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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +int ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[6]; +tWS_ENTITY_HANDLE ws_htOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD; + +void register_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_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", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulDestObjPort",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[2], + { "ulDestObjFifoId", "octvc1.main.debug_forward.open.uldestobjfifoid", + FT_UINT32,BASE_HEX, NULL, 0x0, + "ulDestObjFifoId",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", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxNumServerMgw",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_CMD[1], + { "ulForceApiResourceCleanUpFlag", "octvc1.main.redundancy_server.start.ulforceapiresourcecleanupflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulForceApiResourceCleanUpFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_START_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; + +void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[0], + { "ulMaxNumSystemMgw", "octvc1.main.redundancy_server.info.ulmaxnumsystemmgw", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxNumSystemMgw",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[1], + { "ulMaxNumServerMgw", "octvc1.main.redundancy_server.info.ulmaxnumservermgw", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMaxNumServerMgw",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_RSP[2], + { "ulMgwCnt", "octvc1.main.redundancy_server.info.ulmgwcnt", + FT_UINT32,BASE_DEC, NULL, 0x0, + "ulMgwCnt",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", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_CMD.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; + +void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP(void) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP[0], + { "ObjectCursor", "octvc1.main.redundancy_server.mgw.list.objectcursor", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectCursor",HFILL } + + }, + { + &ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP[1], + { "ObjectList", "octvc1.main.redundancy_server.mgw.list.objectlist", + FT_NONE, BASE_NONE, NULL, 0x0, + "ObjectList",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_MGW_RSP.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; + +void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD(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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_CMD.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; + +void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP(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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_MGW_RSP.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; + +void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD(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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD.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; + +void register_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP(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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + + +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) +{ + static hf_register_info hf[] = + { + { + &ahf_tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD[0], + { "ulResetStatsFlag", "octvc1.main.oct2200.stats.ulresetstatsflag", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, + "ulResetStatsFlag",HFILL } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_OCT2200_STATS_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; + +void register_tOCTVC1_MAIN_MSG_OCT2200_STATS_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 } + + }, + }; + + static gint* ett[] = + { + &ws_htOCTVC1_MAIN_MSG_OCT2200_STATS_RSP.ett + }; + + proto_register_field_array( proto_octvc1_ctrl, hf, array_length(hf) ); + +}; + +/**************************************************************************** + COMMON dissectors + ****************************************************************************/ + + +unsigned int dissect_tOCTVC1_MAIN_LICENSING_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_MAIN_LICENSING_CURSOR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_LICENSING_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_LICENSING_CURSOR)); + 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); + + 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 ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LICENSING_CURSOR[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LICENSING_CURSOR, ulGetMode); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_THREAD_CPU_USAGE(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))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_THREAD_CPU_USAGE (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_THREAD_CPU_USAGE)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_MAIN_THREAD_CPU_USAGE); + 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 ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_THREAD_CPU_USAGE[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_THREAD_CPU_USAGE, 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_THREAD_CPU_USAGE[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_THREAD_CPU_USAGE, ulCpuUsagePercent), 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, + 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); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_FILE_SYSTEM_FILE_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_MAIN_FILE_SYSTEM_FILE_CURSOR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR); + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR, szFileName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR, szFileName); + + 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_SYSTEM_FILE_CURSOR[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR, ulGetMode), temp_data, "%s (0x%x)",pExtValue->pszValue, temp_data ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR, ulGetMode); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_LOG_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_MAIN_LOG_ENTRY))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_LOG_ENTRY (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_LOG_ENTRY)); + return 1; + } + else + { + int temp_data = 0; + proto_item *ti; + bytes = sizeof(tOCTVC1_MAIN_LOG_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_MAIN_LOG_ENTRY[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogSeqNumber), 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, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogSeqNumber); + + 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 ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogTimestamp); + + 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 ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogReserved0); + + 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 ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[3], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, ulLogReserved1); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_LOG_ENTRY[4], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, achLogMsg), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_LOG_ENTRY, achLogMsg); + + } + + + return offset; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_FILE_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_MAIN_FILE_CURSOR))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_FILE_CURSOR (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_FILE_CURSOR)); + 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); + + 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 ); + }else + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_FILE_CURSOR[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_FILE_CURSOR, ulGetMode); + + } + + + return offset; + +}; + +/**************************************************************************** + Event dissectors + ****************************************************************************/ + + +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; + unsigned int offset_0 = offset; + gint bytes = tvb_length_remaining(tvb, offset); + if (bytes < (gint)(sizeof(tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT)-sizeof(tOCTVC1_EVENT_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_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_PROCESS_CPU_USAGE_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_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT, ulProcessImageType); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_CPU_USAGE_REPORT_EVT[2], tvb, offset, + 4, temp_data); + } + 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); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_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))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_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)); + return 1; + } + else + { + 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")); + + 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, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_MGW_FAILOVER_DONE_EVT, hMgw); + + 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; + } + + + 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 ) +{ + 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))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_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_MAIN_MSG_MODULE_MODIFY_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_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, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MODULE_MODIFY_EVT_CMD, ulUserEventId); + + 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); + + 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); + + } + + + 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); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_OPEN_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_OPEN_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_OPEN_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_FILE_OPEN_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_OPEN_CMD, szFileName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_OPEN_CMD, szFileName); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_OPEN_CMD[1], tvb, offset, + 4,"ulAccessMode: (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_FILE_OPEN_MODE_MASK); i++ ) + { + if( ( vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value && + ( vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value & temp_data ) == + vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK),"%s")); + } + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_OPEN_CMD, ulAccessMode); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_OPEN_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_OPEN_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_OPEN_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_OPEN_RSP, hFile); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_CLOSE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_CLOSE_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD, hFile),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD, hFile); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_WRITE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_WRITE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_WRITE_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_WRITE_CMD, hFile),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_WRITE_CMD, hFile); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_WRITE_CMD, ulNumByteToWrite); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD[2], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_WRITE_CMD, abyData), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_WRITE_CMD, abyData); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_WRITE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_WRITE_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_WRITE_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_WRITE_RSP, ulNumByteWritten); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_READ_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_READ_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_READ_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_READ_CMD, hFile),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_READ_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_READ_CMD, hFile); + + temp_data = tvb_get_ntohl( tvb, offset ); + if( temp_data == cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE) + { ti = proto_tree_add_uint_format_value(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_READ_CMD[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_READ_CMD, ulMaxNumByteToRead),temp_data, "cOCTVC1_MAIN_FILE_MAX_DATA_BYTE_SIZE (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_READ_CMD[1], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_READ_CMD, ulMaxNumByteToRead); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_READ_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_READ_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_READ_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_READ_RSP, ulNumByteRead); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_READ_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_READ_RSP, abyData), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_READ_RSP, abyData); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_INFO_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_INFO_CMD, hFile),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_INFO_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_INFO_CMD, hFile); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_INFO_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_INFO_RSP, hFile); + + ti = proto_tree_add_item(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[1], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_INFO_RSP, szFileName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_INFO_RSP, szFileName); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_INFO_RSP[2], tvb, offset, + 4,"ulAccessMode: (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_FILE_OPEN_MODE_MASK); i++ ) + { + if( ( vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value && + ( vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value & temp_data ) == + vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK),"%s")); + } + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_INFO_RSP, ulAccessMode); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_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_FILE_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_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_FILE_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_FILE_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_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_FILE_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_FILE_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_FILE_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_FILE_SYSTEM_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_FILE_SYSTEM_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_SYSTEM_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_FILE_SYSTEM_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_FILE_SYSTEM_INFO_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP, ulMaxFileEntry); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_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_FILE_SYSTEM_INFO_FILE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_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_FILE_SYSTEM_INFO_FILE_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_FILE_SYSTEM_INFO_FILE_CMD, ObjectGet), "ObjectGet:tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_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_FILE_SYSTEM_INFO_FILE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_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_FILE_SYSTEM_INFO_FILE_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_FILE_SYSTEM_INFO_FILE_RSP, ObjectGet), "ObjectGet:tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR"); + { + proto_tree* sub_tree2; + sub_tree2 = proto_item_add_subtree(ti, ett_octvc1_msg_type); + offset = dissect_tOCTVC1_MAIN_FILE_SYSTEM_FILE_CURSOR( tvb, pinfo, sub_tree2, offset, NULL ); + } + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_none_format(field_tree, ahf_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP[1], tvb, offset, + 4,"ulAccessMode: (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_FILE_OPEN_MODE_MASK); i++ ) + { + if( ( vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value && + ( vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value & temp_data ) == + vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value)) + proto_tree_add_text(sub_tree, tvb, offset,4,"%s", + decode_enumerated_bitfield(vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK[i].value, 0xFFFFFFFF, (4*8), + VALS(vals_tOCTVC1_MAIN_FILE_OPEN_MODE_MASK),"%s")); + } + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_RSP, ulAccessMode); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_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_FILE_SYSTEM_DELETE_FILE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_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_FILE_SYSTEM_DELETE_FILE_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_FILE_SYSTEM_DELETE_FILE_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD, szFileName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_CMD, szFileName); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_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_FILE_SYSTEM_DELETE_FILE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_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_FILE_SYSTEM_DELETE_FILE_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_FILE_SYSTEM_DELETE_FILE_RSP[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP, szFileName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_FILE_SYSTEM_DELETE_FILE_RSP, szFileName); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_LOG_READ_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_MAIN_MSG_LOG_READ_ENTRY_CMD)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_LOG_READ_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_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")); + + 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"); + { + 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 ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_LICENSING_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_LICENSING_INFO_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_LICENSING_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_LICENSING_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_RSP, ObjectGet), "ObjectGet:tOCTVC1_MAIN_LICENSING_CURSOR"); + { + 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 ); + } + 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); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_GPIO_READ_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_READ_BANK_CMD)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_GPIO_READ_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_READ_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_READ_BANK_CMD[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); + + 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_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; + 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_CMD[11], tvb, offset, + 4, temp_data, "[%d]: 0x%08x", i, temp_data ); + } + offset+=4; + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_SPI_ACCESS_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_SPI_ACCESS_RSP)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_SPI_ACCESS_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_SPI_ACCESS_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_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 ); + } + offset+=4; + } + } + } + + + 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); + + 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, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_CMD, ulRegisterAddress); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_MDIO_READ_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_READ_PHY_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_MDIO_READ_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_READ_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_READ_PHY_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_MDIO_READ_PHY_RSP, ulPhyAddress); + + 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, + 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); + + 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_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; + 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( 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; + } + } + } + + + 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; + } + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_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_MAIN_MSG_PROCESS_INFO_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_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_MAIN_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_MAIN_MSG_PROCESS_INFO_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD, hProcess),temp_data, "cOCTVC1_HANDLE_INVALID (0x%08x)",temp_data); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CMD, hProcess); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_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_MAIN_MSG_PROCESS_INFO_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_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_MAIN_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_MAIN_MSG_PROCESS_INFO_RSP[0], tvb, offset, + 4, temp_data); + } + 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, szProcessImageName), FALSE); + + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP, szProcessImageName); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_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_MAIN_MSG_PROCESS_LIST_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_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_MAIN_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_MAIN_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_MAIN_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_MAIN_MSG_PROCESS_LIST_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_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_MAIN_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_MAIN_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_MAIN_MSG_PROCESS_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_PROCESS_MONITOR_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_PROCESS_MONITOR_CPU_USAGE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_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_PROCESS_MONITOR_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_MONITOR_CPU_USAGE_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD, ulAlarmThresholdHighPercent); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD[2], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD, ulAlarmThresholdLowPercent); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_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_MONITOR_CPU_USAGE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_PROCESS_MONITOR_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_MONITOR_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_MONITOR_CPU_USAGE_RSP[0], tvb, offset, + 4, temp_data); + } + 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); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_INFO_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_PROCESS_INFO_CPU_USAGE_CMD)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_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_PROCESS_INFO_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_INFO_CPU_USAGE_CMD[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_CMD, hProcess); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_PROCESS_INFO_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_INFO_CPU_USAGE_RSP)-sizeof(tOCTVC1_MSG_HEADER))) + { + proto_tree_add_text(tree, tvb, offset, bytes, + "tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP (%d byte%s) - Malformated packet...expected(%ld)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_PROCESS_INFO_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_INFO_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_INFO_CPU_USAGE_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_PROCESS_INFO_CPU_USAGE_RSP, hProcess); + + temp_data = tvb_get_ntohl( tvb, offset ); + { + 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); + + 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); + } + 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); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_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_MAIN_MSG_DEBUG_FORWARD_OPEN_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_DEBUG_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_MAIN_MSG_DEBUG_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_MAIN_MSG_DEBUG_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_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[1], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_DEBUG_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_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); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_DEBUG_FORWARD_OPEN_CMD[2], 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); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_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_MAIN_MSG_DEBUG_FORWARD_OPEN_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_DEBUG_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_MAIN_MSG_DEBUG_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_MAIN_MSG_DEBUG_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_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 ); + } + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_DEBUG_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_MAIN_MSG_DEBUG_FORWARD_CLOSE_RSP)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_DEBUG_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_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")); + + 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); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_CMD, hMgw); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_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_ADD_MGW_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_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_ADD_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_ADD_MGW_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_ADD_MGW_RSP, hMgw); + + } + + + 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"); + { + 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_REDUNDANCY_SERVER_LIST_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_LIST_MGW_RSP)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_LIST_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_LIST_MGW_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_REDUNDANCY_SERVER_LIST_MGW_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_REDUNDANCY_SERVER_LIST_MGW_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_REDUNDANCY_SERVER_INFO_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_INFO_MGW_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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_INFO_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_INFO_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 ); + { + 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); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_CMD, hMgw); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_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_EXECUTE_MGW_FAILOVER_RSP)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_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_EXECUTE_MGW_FAILOVER_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 ); + 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); + }else { + { + ti = proto_tree_add_uint(field_tree, ahf_tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP[0], tvb, offset, + 4, temp_data); + } + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_REDUNDANCY_SERVER_EXECUTE_MGW_FAILOVER_RSP, hMgw); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_OCT2200_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_OCT2200_STATS_CMD)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_OCT2200_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_OCT2200_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_OCT2200_STATS_CMD[0], tvb, offset, + mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD, ulResetStatsFlag), temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT2200_STATS_CMD, ulResetStatsFlag); + + } + + + return 0; + +}; + + +unsigned int dissect_tOCTVC1_MAIN_MSG_OCT2200_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_OCT2200_STATS_RSP)-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)", + bytes, plurality(bytes, "", "s"), + sizeof(tOCTVC1_MAIN_MSG_OCT2200_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_OCT2200_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_OCT2200_STATS_RSP[0], tvb, offset, + 4, temp_data); + } + offset += mWS_FIELDSIZE(tOCTVC1_MAIN_MSG_OCT2200_STATS_RSP, ulOCT2200MonitorNumber); + + } + + + return 0; + +}; + +/**************************************************************************** + MODULE REGISTERED EXPORTED FUNCTION + ****************************************************************************/ + +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_FILE_SYSTEM_FILE_CURSOR(); + register_tOCTVC1_MAIN_LOG_ENTRY(); + register_tOCTVC1_MAIN_FILE_CURSOR(); + + /**************************************************************************** + 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_FILE_OPEN_CMD(); + register_tOCTVC1_MAIN_MSG_FILE_OPEN_RSP(); + register_tOCTVC1_MAIN_MSG_FILE_CLOSE_CMD(); + register_tOCTVC1_MAIN_MSG_FILE_WRITE_CMD(); + register_tOCTVC1_MAIN_MSG_FILE_WRITE_RSP(); + register_tOCTVC1_MAIN_MSG_FILE_READ_CMD(); + register_tOCTVC1_MAIN_MSG_FILE_READ_RSP(); + register_tOCTVC1_MAIN_MSG_FILE_INFO_CMD(); + register_tOCTVC1_MAIN_MSG_FILE_INFO_RSP(); + register_tOCTVC1_MAIN_MSG_FILE_LIST_CMD(); + register_tOCTVC1_MAIN_MSG_FILE_LIST_RSP(); + register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP(); + register_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_FILE_CMD(); + 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_PROCESS_INFO_CMD(); + register_tOCTVC1_MAIN_MSG_PROCESS_INFO_RSP(); + register_tOCTVC1_MAIN_MSG_PROCESS_LIST_CMD(); + register_tOCTVC1_MAIN_MSG_PROCESS_LIST_RSP(); + register_tOCTVC1_MAIN_MSG_PROCESS_MONITOR_CPU_USAGE_CMD(); + 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(); + + /**************************************************************************** + 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(); + +} + +/**************************************************************************** + MODULE DISSECTOR FUNCTIONS + ****************************************************************************/ +int ws_dissect_OCTVC1_MAIN_CMD( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + 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_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; + case cOCTVC1_MAIN_MSG_FILE_READ_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_READ_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_FILE_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_INFO_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_FILE_LIST_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_LIST_CMD( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CID: return 0; break; + 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_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; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_MAIN_RSP( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + 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_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; + case cOCTVC1_MAIN_MSG_FILE_READ_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_READ_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_FILE_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_INFO_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_FILE_LIST_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_LIST_RSP( tvb, pinfo, tree, 0 ); break; + case cOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_CID: return dissect_tOCTVC1_MAIN_MSG_FILE_SYSTEM_INFO_RSP( tvb, pinfo, tree, 0 ); break; + 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_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; + default: return 1; + } + } + return 0; + +} +int ws_dissect_OCTVC1_MAIN_EVT( guint32 CID, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree ) +{ + 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; + default: return 1; + } + } + return 0; + +} + +/**************************************************************************** + MODULE DISSECTOR EXPORTED FUNCTION + ****************************************************************************/ + +int ws_dissect_OCTVC1_MAIN( 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_MAIN_RSP( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_COMMAND) + return ws_dissect_OCTVC1_MAIN_CMD( CID, tvb, pinfo, tree); + if (message_type == cOCTVC1_MSG_TYPE_NOTIFICATION ) + return ws_dissect_OCTVC1_MAIN_EVT( CID, tvb, pinfo, tree); + else + 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 new file mode 100644 index 0000000..5c49057 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_module_net.c @@ -0,0 +1,16794 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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_msg_ctrl.c b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_ctrl.c new file mode 100644 index 0000000..06a3529 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_ctrl.c @@ -0,0 +1,740 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + + +#include +#include +#include +#include + +#include "../include/module.h" +#include "../include/octvc1_common.h" +#include "../include/plugin_info.h" +#include "../../../include/oct_ws_macro.h" + +#include +#include +#include +#include +#include +#include + +#include "../include/ws_util.h" + +#include +#include +#define OCTVC1_RC2STRING_DECLARE +#include +#include + +/* Define version if we are not building Wireshark statically */ +/* Initialize the protocol and registered fields */ +int proto_octvc1_ctrl = -1; + +/* tOCTVC1_MSG_HEADER */ +int hf_octvc1_msg_cmd = -1; +int hf_octvc1_msg_rsp = -1; +int hf_octvc1_msg_evt = -1; + +extern int g_fIsRegistered; + +static int hf_octvc1_msg_header_ulLength = -1; +static int hf_octvc1_msg_header_ulTransactionId = -1; +static int hf_octvc1_msg_header_ul_Type_R_CmdId = -1; +static int hf_octvc1_msg_header_ulSessionId = -1; +static int hf_octvc1_msg_header_ulReturnCode = -1; +static int hf_octvc1_msg_header_ulUserInfo = -1; + +static int hf_octvc1_msg_header_reject_expected_transaction_id = -1; +static int hf_octvc1_msg_header_reject_rejected_command_id = -1; + + +static int hf_octvc1_msg_header_ul_Type_R_CmdId_Type = -1; +static int hf_octvc1_msg_header_ul_Type_R_CmdId_Resynch = -1; +static int hf_octvc1_msg_header_ul_Type_R_CmdId_Base = -1; +static int hf_octvc1_msg_header_ul_Type_R_CmdId_ModuleId = -1; +static int hf_octvc1_msg_header_ul_Type_R_CmdId_MsgId = -1; +static int hf_octvc1_msg_header_ul_Type_R_CmdId_Flag = -1; + + +#define mWD_OCTVC1_CID_TYPE_BASE(uint32) ((uint32) & 0x00f00000) +#define mWD_OCTVC1_CID_UID(uint32) ((uint32) & 0x000f0000) +#define mWD_OCTVC1_CID_CODE(uint32) ((uint32) & 0x00000FFF) +#define mWD_OCTVC1_CID_FLAG(uint32) ((uint32) & 0x0000F000) + +#define mWD_OCTVC1_CID_2_FLAG(uint32) (((uint32)& 0x0000F000)>>12) +#define mWD_OCTVC1_CID_2_UID(uint32) (((uint32)& 0x000F0000)>>16) +#define mWD_OCTVC1_CID_2_BASE(uint32) (((uint32)& 0x00F00000)>>20) + + +const value_string octvc1_message_type_vals[] = +{ + { cOCTVC1_MSG_TYPE_COMMAND, "Command" }, + { cOCTVC1_MSG_TYPE_RESPONSE, "Response" }, + { cOCTVC1_MSG_TYPE_NOTIFICATION, "Notification" }, + { cOCTVC1_MSG_TYPE_SUPERVISORY, "Supervisory" }, + { 0, NULL }, +}; + +const value_string octvc1_message_type_base_vals[] = +{ + { cOCTVC1_CID_BASE>>20, "Cmd/Rsp" }, + { cOCTVC1_EID_BASE>>20, "Notification" }, + { cOCTVC1_SID_BASE>>20, "Supervisory" }, + { 0, NULL }, +}; + +const value_string octvc1_cid_flag_vals[] = +{ + { cOCTVC1_MSG_RETRANSMIT_FLAG >> cOCTVC1_MSG_FLAGS_BIT_OFFSET, "Retransmit" }, + { cOCTVC1_MSG_NO_RESPONSE_FLAG >> cOCTVC1_MSG_FLAGS_BIT_OFFSET, "No Response" }, + { cOCTVC1_MSG_LONG_PROCESSING_FLAG >> cOCTVC1_MSG_FLAGS_BIT_OFFSET, "Long Processing" }, + { 0, "None" }, + { 0, NULL }, +}; + + + +/* fields defining a subtree */ +static gint ett_octvc1_msg_header = -1; +static gint ett_octvc1_type_r_cmd = -1; +gint ett_octvc1_msg_type = -1; + + + + + +/************************************************************************* +* +* Code to actually dissect the Vocallo event packet header +* +**************************************************************************/ +void dissect_octvc1_ctrl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + unsigned int packet_offset = 0; + guint32 message_length; + guint32 transaction_id; + guint32 type_r_cmdid; + guint8 message_type; + guint8 message_resynch; + guint32 message_command_id; + + guint32 command_id_type_base; + guint32 command_id_uid; + guint32 command_id_code; + guint32 command_id_flag; + + guint32 session_id; + guint32 return_code; + guint32 user_info; + guint32 expected_transaction_id = -1; + guint32 rejected_command_id = -1; + proto_tree* msg_tree = NULL; + gint32 module_index = -1; + guint32 fOldMainCid = FALSE; + const gchar* pszValueStringCID=NULL; + gint32 iRegistered = 1; + + + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCTVC1_CTRL"); + + /* Now parse the message header */ + message_length = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(message_length); + transaction_id = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(transaction_id); + + type_r_cmdid = tvb_get_ntohl( tvb, packet_offset ); + + message_type = ( type_r_cmdid >> cOCTVC1_MSG_TYPE_BIT_OFFSET ) & cOCTVC1_MSG_TYPE_BIT_MASK; + message_resynch = ( type_r_cmdid >> cOCTVC1_MSG_RESYNCH_BIT_OFFSET ) & cOCTVC1_MSG_RESYNCH_BIT_MASK; + message_command_id = ( type_r_cmdid >> cOCTVC1_MSG_ID_BIT_OFFSET ) & cOCTVC1_MSG_ID_BIT_MASK; + + command_id_type_base = mWD_OCTVC1_CID_TYPE_BASE(message_command_id); + command_id_uid = mWD_OCTVC1_CID_UID(message_command_id); + command_id_code = mWD_OCTVC1_CID_CODE(message_command_id); + command_id_flag = mWD_OCTVC1_CID_FLAG(message_command_id); + + /* Find Tbl Module Index */ + OCT_MATCH_STRVAL_IDX( mWD_OCTVC1_CID_2_UID(message_command_id), vals_OCTVC1_module_UID, &module_index ); + + // Special process on main ... CID use to be 0x01yz and we are now 0x0zzz + // if can't find 0x01yz try with 0x00yz + + if( cOCTVC1_MAIN_UID == mWD_OCTVC1_CID_2_UID(message_command_id) ) + { + int cmd_index; + + OCT_MATCH_STRVAL_IDX( command_id_code, + aOCTVC1ModuleColInfo[module_index].apCodeIdValueString, &cmd_index ); + // did we found the cid + if( cmd_index == -1 ) + { + OCT_MATCH_STRVAL_IDX( command_id_code & 0x000000FF, + aOCTVC1ModuleColInfo[module_index].apCodeIdValueString, &cmd_index ); + + if( cmd_index != -1 ) + { + // This is an old trace ... + command_id_code &= 0xFFFFFEFF; + fOldMainCid = TRUE; + } + } + } + + packet_offset += sizeof(type_r_cmdid); + + session_id = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(session_id); + return_code = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(return_code); + + // Get no swap + tvb_memcpy( tvb, &user_info, packet_offset, sizeof(user_info) ); + // user_info = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(user_info); + + if( ( message_type == cOCTVC1_MSG_TYPE_SUPERVISORY ) && + ( ( cOCTVC1_SUPERVISORY_MSG_MODULE_REJECT_CID == message_command_id ) || + ( cOCTVC1_CTRL_MSG_MODULE_REJECT_SID == message_command_id ) ) ) + { + expected_transaction_id = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(expected_transaction_id); + rejected_command_id = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(rejected_command_id); + } + + + if ( check_col( pinfo->cinfo, COL_INFO) ) + { + col_clear(pinfo->cinfo, COL_INFO); + if( message_type != cOCTVC1_MSG_TYPE_SUPERVISORY ) + { + if( module_index < 0 ) + { + col_add_fstr( pinfo->cinfo, COL_INFO, + "%s %s, CID=0x%04X, Trans ID=0x%x", + val_to_str( mWD_OCTVC1_CID_2_UID(message_command_id), vals_OCTVC1_module_UID, "Unknown (%x)" ), + val_to_str( message_type, octvc1_message_type_vals, "Unknown (%x)" ), + command_id_code, + transaction_id ); + } + else + { + pszValueStringCID = val_to_str( command_id_code, aOCTVC1ModuleColInfo[module_index].apCodeIdValueString, cOCTVC1_UNKNOWN_STRING ); + + // look for private + if( strcmp( pszValueStringCID, cOCTVC1_PRIVATE_ID_STRING ) == 0 ) + { + iRegistered = 0; + // look if somebody register + if( g_fIsRegistered ) + { + pszValueStringCID = octvc1_chck_private( command_id_code, aOCTVC1ModuleColInfo[module_index].apPrivateCodeIdValueString, &iRegistered ); + } + else + pszValueStringCID = cOCTVC1_UNKNOWN_STRING; + } + + col_add_fstr( pinfo->cinfo, COL_INFO, + "%s%s_MSG_%s(0x%04X), Trans ID=0x%x", + fOldMainCid ? "*" : "", + aOCTVC1ModuleColInfo[module_index].pszModuleName, + pszValueStringCID, + command_id_code, + transaction_id); + } + if (message_type == cOCTVC1_MSG_TYPE_RESPONSE) + { + if ( check_col(pinfo->cinfo, COL_PROTOCOL) ) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCTVC1_RSP"); + + col_append_fstr( pinfo->cinfo, COL_INFO, + ", Ret Code=%s (0x%08X)", + mOCTVC1_RC2STRING(return_code), return_code ); + } + else + { + if ( check_col(pinfo->cinfo, COL_PROTOCOL) ) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCTVC1_CMD"); + } + } + else + { + if( ( cOCTVC1_SUPERVISORY_MSG_MODULE_REJECT_CID == message_command_id ) || + ( cOCTVC1_CTRL_MSG_MODULE_REJECT_SID == message_command_id ) ) + { + gint32 rej_module_index = -1; + gint32 rej_command_id_code = mWD_OCTVC1_CID_CODE(rejected_command_id); + + /* Find Tbl Module Index */ + OCT_MATCH_STRVAL_IDX( mWD_OCTVC1_CID_2_UID(rejected_command_id), vals_OCTVC1_module_UID, &rej_module_index ); + + if( ( rej_module_index != -1 ) && + ( cOCTVC1_MAIN_UID == mWD_OCTVC1_CID_2_UID(rejected_command_id ) ) ) + { + int cmd_index; + + OCT_MATCH_STRVAL_IDX( rejected_command_id, + aOCTVC1ModuleColInfo[rej_module_index].apCodeIdValueString, &cmd_index ); + // did we found the cid + if( cmd_index == -1 ) + { + OCT_MATCH_STRVAL_IDX( rejected_command_id & 0x000000FF, + aOCTVC1ModuleColInfo[rej_module_index].apCodeIdValueString, &cmd_index ); + + if( cmd_index != -1 ) + { + // This is an old trace ... + rejected_command_id &= 0xFFFFFEFF; + fOldMainCid = TRUE; + } + } + } + + + if( rej_module_index == -1 ) + col_add_fstr( pinfo->cinfo, COL_INFO, + "Reject %s, CID=0x%04X, Exp trans ID=0x%x", + val_to_str( mWD_OCTVC1_CID_2_UID(rejected_command_id), vals_OCTVC1_module_UID, "Unknown (%x)" ), + rej_command_id_code, + expected_transaction_id ); + else + { + pszValueStringCID = val_to_str( rej_command_id_code, aOCTVC1ModuleColInfo[rej_module_index].apCodeIdValueString, cOCTVC1_UNKNOWN_STRING ); + + // look for private + if( strcmp( pszValueStringCID, cOCTVC1_PRIVATE_ID_STRING ) == 0 ) + { + iRegistered = 0; + // look if somebody register + if( g_fIsRegistered ) + { + pszValueStringCID = octvc1_chck_private( rej_command_id_code, aOCTVC1ModuleColInfo[rej_module_index].apPrivateCodeIdValueString, &iRegistered ); + } + else + pszValueStringCID = cOCTVC1_UNKNOWN_STRING; + } + + col_add_fstr( pinfo->cinfo, COL_INFO, + "Reject %s%s_MSG_%s, Exp trans ID=0x%x", + fOldMainCid ? "*" : "", + aOCTVC1ModuleColInfo[rej_module_index].pszModuleName, + pszValueStringCID, + expected_transaction_id ); + } + } + } + } + + if (tree) + { + proto_item* ti = NULL; + + proto_item *tf = NULL; + proto_tree *field_tree; + + /* Add the subtree for struct tOCTVOCNET_PKT_CTL_HEADER */ + ti = proto_tree_add_item( tree, proto_octvc1_ctrl, tvb, 0, -1, FALSE ); + msg_tree = proto_item_add_subtree( ti, ett_octvc1_msg_header ); + + /* Scroll back to the beginning of the packet */ + packet_offset = 0; + + proto_tree_add_uint( msg_tree, hf_octvc1_msg_header_ulLength, tvb, packet_offset, 4, message_length ); + packet_offset += sizeof(message_length); + proto_tree_add_uint( msg_tree, hf_octvc1_msg_header_ulTransactionId, tvb, packet_offset, 4, transaction_id ); + packet_offset += sizeof(transaction_id); + + /* Validate the cmd */ + if( module_index < 0 ) + { + proto_tree_add_uint(msg_tree, hf_octvc1_msg_header_ul_Type_R_CmdId, tvb, packet_offset, 4, type_r_cmdid ); + } + else + { + if( message_type != cOCTVC1_MSG_TYPE_SUPERVISORY ) + { + if( pszValueStringCID == NULL ) + { + pszValueStringCID = val_to_str( command_id_code, aOCTVC1ModuleColInfo[module_index].apCodeIdValueString, cOCTVC1_UNKNOWN_STRING ); + + // look for private + if( strcmp( pszValueStringCID, cOCTVC1_PRIVATE_ID_STRING ) == 0 ) + { + iRegistered = 0; + // look if somebody register + if( g_fIsRegistered ) + { + pszValueStringCID = octvc1_chck_private( command_id_code, aOCTVC1ModuleColInfo[module_index].apPrivateCodeIdValueString, &iRegistered ); + } + else + pszValueStringCID = cOCTVC1_UNKNOWN_STRING; + } + } + + tf = proto_tree_add_uint_format(msg_tree, hf_octvc1_msg_header_ul_Type_R_CmdId, tvb, + packet_offset, 4, type_r_cmdid, + "Type/%s(0x%08X): %scOCTVC1_%s_MSG_%s_CID", + (message_type == cOCTVC1_MSG_TYPE_RESPONSE) ? "Rsp" : "Cmd", + type_r_cmdid, + fOldMainCid ? "*" : "", + aOCTVC1ModuleColInfo[module_index].pszModuleName, + pszValueStringCID ); + } + else + { + tf = proto_tree_add_uint_format(msg_tree, hf_octvc1_msg_header_ul_Type_R_CmdId, tvb, + packet_offset, 4, type_r_cmdid, + "Type/Sup(0x%08X): cOCTVC1_%s_MSG_%s_SID", + type_r_cmdid, + aOCTVC1ModuleColInfo[module_index].pszModuleName, + val_to_str( command_id_code,aOCTVC1ModuleColInfo[module_index].apSupIdValueString, "Unknown (%x)" )); + } + } + + if( tf ) + { + int iFlag = 0x00001000; + int i,cFlag = 0; + + field_tree = proto_item_add_subtree(tf, ett_octvc1_type_r_cmd); + + proto_tree_add_uint( field_tree, hf_octvc1_msg_header_ul_Type_R_CmdId_Type, tvb, + packet_offset, 1, message_type << 29 ); + + proto_tree_add_uint( field_tree, hf_octvc1_msg_header_ul_Type_R_CmdId_Resynch, tvb, + packet_offset, 1, message_resynch<<28 ); + + proto_tree_add_uint( field_tree, hf_octvc1_msg_header_ul_Type_R_CmdId_Base, tvb, + packet_offset+1, 1, command_id_type_base ); + + proto_tree_add_uint( field_tree, hf_octvc1_msg_header_ul_Type_R_CmdId_ModuleId, tvb, + packet_offset+1, 1, command_id_uid ); + + // Count nb of flag + for( i=0; i<4; i++) + { + if( command_id_flag & iFlag ) + cFlag++; + iFlag = iFlag << 1; + } + + if( cFlag < 2 ) + proto_tree_add_uint( field_tree, hf_octvc1_msg_header_ul_Type_R_CmdId_Flag, tvb, + packet_offset+2, 1, command_id_flag ); + else + { + int i; + proto_tree* sub_tree = proto_item_add_subtree(field_tree, ett_octvc1_msg_type); + + proto_tree_add_uint_format_value( field_tree, hf_octvc1_msg_header_ul_Type_R_CmdId_Flag, tvb, + packet_offset+2, 1, command_id_flag, + "(0x%X)", (command_id_flag >>cOCTVC1_MSG_FLAGS_BIT_OFFSET) ); + + + for( i=0; i< mWS_COUNTOF(octvc1_cid_flag_vals); i++ ) + { + if( ( octvc1_cid_flag_vals[i].value && + ( octvc1_cid_flag_vals[i].value & ( command_id_flag >> cOCTVC1_MSG_FLAGS_BIT_OFFSET )) == + octvc1_cid_flag_vals[i].value)) + proto_tree_add_text(sub_tree, tvb, packet_offset+2,1,"%s", + decode_enumerated_bitfield(octvc1_cid_flag_vals[i].value, 0xFFFFFFFF, (4*1), + VALS(octvc1_cid_flag_vals),"%s")); + } + } + + if( message_type != cOCTVC1_MSG_TYPE_SUPERVISORY ) + proto_tree_add_uint_format_value(field_tree, hf_octvc1_msg_header_ul_Type_R_CmdId_MsgId, tvb, + packet_offset+2, 2, command_id_code, + "%s%s (0x%03X)", + fOldMainCid ? "*" : "", + pszValueStringCID, command_id_code ); + else + proto_tree_add_uint_format_value(field_tree, hf_octvc1_msg_header_ul_Type_R_CmdId_MsgId, tvb, + packet_offset+2, 2, command_id_code, + "%s (0x%03X)", + val_to_str( command_id_code, aOCTVC1ModuleColInfo[module_index].apSupIdValueString, + "Unknown (%x)" ), command_id_code ); + + } + + packet_offset += sizeof(command_id_code); + proto_tree_add_uint( msg_tree, hf_octvc1_msg_header_ulSessionId, tvb, + packet_offset, 4, session_id ); + packet_offset += sizeof(session_id); + + + ti = proto_tree_add_uint_format_value(msg_tree, hf_octvc1_msg_header_ulReturnCode, tvb, + packet_offset, 4, return_code, + "%s (0x%08X)", + mOCTVC1_RC2STRING(return_code), return_code ); + + if( return_code ) + { + if( return_code & cOCTDEV_RC_FATAL_FLAG ) + expert_add_info_format(pinfo, ti, PI_RESPONSE_CODE, PI_ERROR, "API:FATAL" ); + else + expert_add_info_format(pinfo, ti, PI_RESPONSE_CODE, PI_WARN, "API:ERROR" ); + } + + packet_offset += sizeof(return_code); + proto_tree_add_uint( msg_tree, hf_octvc1_msg_header_ulUserInfo, tvb, + packet_offset, 4, user_info ); + packet_offset += sizeof(user_info); + + if( ( message_type == cOCTVC1_MSG_TYPE_SUPERVISORY ) && + ( ( cOCTVC1_SUPERVISORY_MSG_MODULE_REJECT_CID == message_command_id ) || + ( cOCTVC1_CTRL_MSG_MODULE_REJECT_SID == message_command_id ) ) ) + { + gint32 rej_module_index = -1; + gint32 rej_command_id_code = mWD_OCTVC1_CID_CODE(rejected_command_id); + + /* Find Tbl Module Index */ + OCT_MATCH_STRVAL_IDX( mWD_OCTVC1_CID_2_UID(rejected_command_id), vals_OCTVC1_module_UID, &rej_module_index ); + + if( ( rej_module_index != -1 ) && + ( cOCTVC1_MAIN_UID == mWD_OCTVC1_CID_2_UID(rej_command_id_code) ) ) + { + int cmd_index; + + OCT_MATCH_STRVAL_IDX( rejected_command_id, + aOCTVC1ModuleColInfo[rej_module_index].apCodeIdValueString, &cmd_index ); + // did we found the cid + if( cmd_index == -1 ) + { + OCT_MATCH_STRVAL_IDX( rej_command_id_code & 0x000000FF, + aOCTVC1ModuleColInfo[rej_module_index].apCodeIdValueString, &cmd_index ); + + if( cmd_index != -1 ) + { + // This is an old trace ... + rej_command_id_code &= 0xFFFFFEFF; + fOldMainCid = TRUE; + } + } + } + + proto_tree_add_uint( msg_tree, hf_octvc1_msg_header_reject_expected_transaction_id, tvb, + packet_offset, 4, expected_transaction_id ); + packet_offset += sizeof(expected_transaction_id); + + if( rej_module_index == -1 ) + proto_tree_add_uint_format(msg_tree, hf_octvc1_msg_header_reject_rejected_command_id, tvb, + packet_offset, 4, rejected_command_id, + "Reject CID: %s, CID=0x%08X", + val_to_str( mWD_OCTVC1_CID_2_UID(rejected_command_id), vals_OCTVC1_module_UID, "Unknown (%x)" ), + rej_command_id_code ); + else + { + pszValueStringCID = val_to_str( rej_command_id_code, aOCTVC1ModuleColInfo[rej_module_index].apCodeIdValueString, cOCTVC1_UNKNOWN_STRING ); + + // look for private + if( strcmp( pszValueStringCID, cOCTVC1_PRIVATE_ID_STRING ) == 0 ) + { + iRegistered = 0; + // look if somebody register + if( g_fIsRegistered ) + { + pszValueStringCID = octvc1_chck_private( rej_command_id_code, aOCTVC1ModuleColInfo[rej_module_index].apPrivateCodeIdValueString, &iRegistered ); + } + else + pszValueStringCID = cOCTVC1_UNKNOWN_STRING; + } + + + proto_tree_add_uint_format(msg_tree, hf_octvc1_msg_header_reject_rejected_command_id, tvb, + packet_offset, 4, rejected_command_id, + "Rejected CID: %scOCTVC1_%s_MSG_%s_CID (0x%08X)", + fOldMainCid ? "*" : "", + aOCTVC1ModuleColInfo[rej_module_index].pszModuleName, + pszValueStringCID, + rejected_command_id ); + } + + packet_offset += sizeof(rejected_command_id); + } + } + + { + int fDoData = 1; + int reported_length = message_length ? ( message_length - sizeof(tOCTVC1_MSG_HEADER)) : 0; + int available_length = tvb_length_remaining(tvb, packet_offset); + tvbuff_t *tvbData; + + tvbData = tvb_new_subset(tvb, packet_offset, available_length, reported_length); + + if( ( module_index >= 0 ) && iRegistered ) + { + /* Call the module dissector */ + fDoData = aOCTVC1ModuleColInfo[module_index].Dissector_fnc( message_type, + message_command_id & ~(cOCTVC1_MSG_RETRANSMIT_FLAG), + tvbData, pinfo, msg_tree ); + } + + if( fDoData ) + { + /* Dump the rest in raw format */ + call_dissector(data_handle, tvbData, pinfo, msg_tree); + } + } +// return tvb_length(tvb); + +} + + + + +/************************************************************************* +* +* Code to register the protocol with Wireshark +* +**************************************************************************/ +void proto_register_octvc1_ctrl(void) +{ + + static hf_register_info hf_octvc1_msg_header[] = + { + { &hf_octvc1_msg_header_ulLength, + { "API Message Length (in bytes)", "octvc1.msg_header.ullength", + FT_UINT32, BASE_DEC, NULL, 0x0, + "API Message Length (in bytes)", HFILL } + }, + { &hf_octvc1_msg_header_ulTransactionId, + { "Transaction Id", "octvc1.msg_header.ultransaction_id", + FT_UINT32, BASE_HEX, 0, 0x0, + "Transcation identifier", HFILL } + }, + + { &hf_octvc1_msg_header_ul_Type_R_CmdId, + { "Msg type/Id", "octvc1.msg_header.ul_Type_R_CmdId", FT_UINT32, BASE_HEX, NULL, 0x0, + "", HFILL }}, + + { &hf_octvc1_msg_header_ulSessionId, + { "Session Id", "octvc1.msg_header.ulsessionid", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Session Id", HFILL } + }, + { &hf_octvc1_msg_header_ulReturnCode, + { "Return Code", "octvc1.msg_header.ulReturnCode", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Return Code", HFILL } + }, + { &hf_octvc1_msg_header_ulUserInfo, + { "User Info", "octvc1.msg_header.ulUserInfo", + FT_UINT32, BASE_HEX, NULL, 0x0, + "User Info", HFILL } + }, + + { &hf_octvc1_msg_header_reject_expected_transaction_id, + { "Expected transaction Id", "octvc1.msg_header.reject.expected_transaction_id", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Expected transaction Id", HFILL } + }, + { &hf_octvc1_msg_header_reject_rejected_command_id, + { "Rejected command ID", "octvc1.msg_header.reject.rejected_command_id", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Rejected command ID", HFILL } + }, + + + { &hf_octvc1_msg_header_ul_Type_R_CmdId_Type, + { "Message Type", "octvc1.msg_header.message_type", + FT_UINT32, BASE_HEX, VALS(octvc1_message_type_vals), 0xe0000000, + "Message type", HFILL } + }, + { &hf_octvc1_msg_header_ul_Type_R_CmdId_Resynch, + { "Control Resynch", "octvc1.msg_header.resynch", + FT_UINT32, BASE_HEX, NULL, 0x10000000, + "Control resynch", HFILL } + }, + + { &hf_octvc1_msg_header_ul_Type_R_CmdId_Base, + { "Message Type Base", "octvc1.msg_header.type_base", + FT_UINT32, BASE_HEX, VALS(octvc1_message_type_base_vals), 0x00f00000, + "Message identifier", HFILL } + }, + + { &hf_octvc1_msg_header_ul_Type_R_CmdId_ModuleId, + { "Module ID", "octvc1.msg_header.module_id", + FT_UINT32, BASE_HEX, VALS(vals_OCTVC1_module_UID), 0x000f0000, + "Module identifier", HFILL } + }, + { &hf_octvc1_msg_header_ul_Type_R_CmdId_Flag, + { "Msg Flag", "octvc1.msg_header.msg_flag", + FT_UINT32, BASE_HEX, VALS(octvc1_cid_flag_vals), 0x0000f000, + "Message flag", HFILL } + }, + + { &hf_octvc1_msg_header_ul_Type_R_CmdId_MsgId, + { "Msg ID", "octvc1.msg_header.msg_id", + FT_UINT32, BASE_HEX, NULL, 0x00000fff, + "Message identifier", HFILL } + }, + { &hf_octvc1_msg_cmd, + { "Cmd", "octvc1.msg_header.cmd", + FT_NONE, BASE_NONE, NULL, 0x0, + "Cmd", HFILL } + }, + { &hf_octvc1_msg_rsp, + { "Rsp", "octvc1.msg_header.rsp", + FT_NONE, BASE_NONE, NULL, 0x0, + "Rsp", HFILL } + }, + { &hf_octvc1_msg_evt, + { "Evt", "octvc1.msg_header.evt", + FT_NONE, BASE_NONE, NULL, 0x0, + "Evt", HFILL } + }, + + }; + + /* Setup protocol subtree array */ + static gint* ett[] = + { + &ett_octvc1_msg_header, + &ett_octvc1_type_r_cmd, + &ett_octvc1_msg_type, + + }; + + + proto_octvc1_ctrl = proto_register_protocol( "OCTVC1 Control Packets", + "Octasic OCTVC1 Control", "octvc1_ctrl"); + + /* Required function calls to register the header fields and subtrees used */ + proto_register_field_array( proto_octvc1_ctrl, hf_octvc1_msg_header, array_length(hf_octvc1_msg_header) ); + proto_register_subtree_array(ett, array_length(ett)); + + register_dissector("Octvc1_Ctrl", dissect_octvc1_ctrl, proto_octvc1_ctrl); + + +} + + + 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 new file mode 100644 index 0000000..2208cd7 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_msg_event.c @@ -0,0 +1,315 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 +#include +#include +#include + +#include "../include/module.h" +#include "../include/octvc1_common.h" +#include "../include/plugin_info.h" +#include "../../../include/oct_ws_macro.h" + +#include + +#include +#include +#include +#include + +#include +#include + +#include
+#include + + + +/* Define version if we are not building Wireshark statically */ +/* Initialize the protocol and registered fields */ +int proto_octvc1_event = -1; + +extern int g_fIsRegistered; + +/* Event packet data fields */ +static int hf_octvc1_event_header_ulLength = -1; +static int hf_octvc1_event_header_ulEventId = -1; +static int hf_octvc1_event_header_ulUserEventId = -1; +static int hf_octvc1_event_header_ulEventId_Base = -1; +static int hf_octvc1_event_header_ulEventId_Type = -1; +static int hf_octvc1_event_header_ulEventId_Code = -1; + +#define mWD_OCTVC1_EID_BASE(uint32) ((uint32) & 0x00ff0000) +#define mWD_OCTVC1_EID_2_UID(uint32) (((uint32)& 0x000f0000)>>16) +#define mWD_OCTVC1_EID_CODE(uint32) ((uint32) & 0x0000ffff) + + +/* fields defining a subtree */ +static gint ett_octvc1_event_header = -1; +static gint ett_octvc1_event_id = -1; + +/************************************************************************* +* +* Code to actually dissect the Vocallo event packet header +* +**************************************************************************/ +void dissect_octvc1_event(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +{ + unsigned int packet_offset = 0; + guint32 evt_length; + guint32 event_id; + guint32 event_id_base; + guint32 event_id_code; + guint32 user_event_id; + proto_tree* evt_tree = NULL; + gint32 module_index = -1; + const gchar* pszValueStringEID=NULL; + gint32 iRegistered = 1; + + if (check_col(pinfo->cinfo, COL_PROTOCOL)) + col_set_str(pinfo->cinfo, COL_PROTOCOL, "OCTVC1_EVT"); + + /* parse the event header */ + evt_length = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(evt_length); + event_id = tvb_get_ntohl( tvb, packet_offset ); + event_id_base = mWD_OCTVC1_EID_BASE(event_id); + event_id_code = mWD_OCTVC1_EID_CODE(event_id); + packet_offset += sizeof(event_id_code); + user_event_id = tvb_get_ntohl( tvb, packet_offset ); + packet_offset += sizeof(user_event_id); + + /* Find Tbl Module Index */ + OCT_MATCH_STRVAL_IDX( mWD_OCTVC1_EID_2_UID(event_id_base), vals_OCTVC1_module_UID, &module_index ); + + if ( check_col( pinfo->cinfo, COL_INFO) ) + { + col_clear(pinfo->cinfo, COL_INFO); + + if( module_index < 0 ) + { + col_add_fstr( pinfo->cinfo, COL_INFO, + "%s, CID=0x%04X", + val_to_str( mWD_OCTVC1_EID_2_UID(event_id_base), vals_OCTVC1_module_UID, "Unknown (%x)" ), + event_id_code ); + } + else + { + pszValueStringEID = val_to_str( event_id_code, aOCTVC1ModuleColInfo[module_index].apEvtIdValueString, cOCTVC1_UNKNOWN_STRING ); + + // look for private + if( strcmp( pszValueStringEID, cOCTVC1_PRIVATE_ID_STRING ) == 0 ) + { + iRegistered = 0; + // look if somebody register + if( g_fIsRegistered ) + { + pszValueStringEID = octvc1_chck_private( event_id_code, aOCTVC1ModuleColInfo[module_index].apPrivateEvtIdValueString, &iRegistered ); + } + else + pszValueStringEID = cOCTVC1_UNKNOWN_STRING; + } + + col_add_fstr( pinfo->cinfo, COL_INFO, + "%s_MSG_%s(0x%04X)", + aOCTVC1ModuleColInfo[module_index].pszModuleName, + pszValueStringEID, + event_id_code ); + + } + } + + if (tree) + { + proto_item *ti; + proto_item *tf = NULL; + + + packet_offset = 0; + + /* Add the subtree for struct octvc1 evt */ + ti = proto_tree_add_item( tree, proto_octvc1_event, tvb, 0, -1, FALSE ); + evt_tree = proto_item_add_subtree( ti, ett_octvc1_event_header ); + + proto_tree_add_uint( evt_tree, hf_octvc1_event_header_ulLength, tvb, + packet_offset, 4, evt_length ); + packet_offset += sizeof(evt_length); + + + /* Validate the cmd */ + if( module_index < 0 ) + { + proto_tree_add_uint(evt_tree, hf_octvc1_event_header_ulEventId, tvb, packet_offset, 4, event_id ); + } + else + { + if( pszValueStringEID == NULL ) + { + pszValueStringEID = val_to_str( event_id_code, aOCTVC1ModuleColInfo[module_index].apEvtIdValueString, cOCTVC1_UNKNOWN_STRING ); + + // look for private + if( strcmp( pszValueStringEID, cOCTVC1_PRIVATE_ID_STRING ) == 0 ) + { + iRegistered = 0; + + // look if somebody register + if( g_fIsRegistered ) + { + pszValueStringEID = octvc1_chck_private( event_id_code, aOCTVC1ModuleColInfo[module_index].apPrivateEvtIdValueString, &iRegistered ); + } + else + pszValueStringEID = cOCTVC1_UNKNOWN_STRING; + } + } + + tf = proto_tree_add_uint_format(evt_tree, hf_octvc1_event_header_ulEventId, tvb, + packet_offset, 4, event_id, + "Event Id(0x%08X): cOCTVC1_%s_MSG_%s_EID", + event_id, + aOCTVC1ModuleColInfo[module_index].pszModuleName, + pszValueStringEID ); + } + + if( tf ) + { + proto_tree *field_tree; + + field_tree = proto_item_add_subtree(tf, ett_octvc1_event_id); + + proto_tree_add_uint( field_tree, hf_octvc1_event_header_ulEventId_Type, tvb, + packet_offset+1, 1, event_id_base ); + + proto_tree_add_uint( field_tree, hf_octvc1_event_header_ulEventId_Base, tvb, + packet_offset+1, 1, event_id_base ); + + proto_tree_add_uint_format_value(field_tree, hf_octvc1_event_header_ulEventId_Code, tvb, + packet_offset+2, 2, event_id_code, + "%s(0x%04X)", + pszValueStringEID, event_id_code ); + } + + packet_offset += sizeof(event_id_code); + + proto_tree_add_uint( evt_tree, hf_octvc1_event_header_ulUserEventId, tvb, + packet_offset, 4, user_event_id ); + packet_offset += sizeof(user_event_id); + } + + { + int fDoData = 1; + int reported_length = evt_length ? (evt_length - sizeof(tOCTVC1_EVENT_HEADER)) : 0; + int available_length = tvb_length_remaining(tvb, packet_offset); + tvbuff_t *tvbData; + + tvbData = tvb_new_subset(tvb, packet_offset, available_length, reported_length); + + if( ( module_index >= 0 ) && iRegistered ) + { + /* Call the module dissector */ + fDoData = aOCTVC1ModuleColInfo[module_index].Dissector_fnc( cOCTVC1_MSG_TYPE_NOTIFICATION, + event_id_base | event_id_code, + tvbData, pinfo, evt_tree ); + } + + if( fDoData ) + { + /* Dump the rest in raw format */ + call_dissector(data_handle, tvbData, pinfo, evt_tree); + } + } + +// return tvb_length(tvb); + +} + + + + + + + +/************************************************************************* +* +* Code to register the protocol with Wireshark +* +**************************************************************************/ +void proto_register_octvc1_event(void) +{ + static hf_register_info hf_octvc1_event[] = + { + /* Packet format F event fields */ + { &hf_octvc1_event_header_ulLength, + { "Event Length", "octvc1.event_header.ulLength", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Event Length", HFILL } + }, + + { &hf_octvc1_event_header_ulEventId, + { "Event ID", "octvc1.event_header.ulEventId", FT_UINT32, BASE_HEX, NULL, 0x0, + "", HFILL }}, + + { &hf_octvc1_event_header_ulUserEventId, + { "User Event ID", "octvc1.event_header.ulUserEventId", + FT_UINT32, BASE_HEX, NULL, 0x0, + "User Event ID", HFILL } + }, + + { &hf_octvc1_event_header_ulEventId_Type, + { "Message Type Base", "octvc1.event_header.type_base", + FT_UINT32, BASE_HEX, NULL, 0x00f00000, + "Message identifier", HFILL } + }, + + { &hf_octvc1_event_header_ulEventId_Base, + { "Module ID", "octvc1.event_header.module_id", + FT_UINT32, BASE_HEX, VALS(vals_OCTVC1_module_UID), 0x000f0000, + "Module identifier", HFILL } + }, + { &hf_octvc1_event_header_ulEventId_Code, + { "Event Code Id", "octvc1.event_header.code_id", + FT_UINT32, BASE_HEX, NULL, 0x0000ffff, + "Event code", HFILL } + }, + }; + + /* Setup protocol subtree array */ + static gint* ett[] = + { + &ett_octvc1_event_header, + &ett_octvc1_event_id + }; + + proto_octvc1_event = proto_register_protocol( "OCTVC1 Event Packets", + "Octasic OCTVC1 Event", "octvc1_event"); + + /* Required function calls to register the header fields and subtrees used */ + proto_register_field_array( proto_octvc1_event, hf_octvc1_event, array_length(hf_octvc1_event) ); + proto_register_subtree_array(ett, array_length(ett)); + register_dissector("Octvc1_Event", dissect_octvc1_event, proto_octvc1_event); + +} + 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 new file mode 100644 index 0000000..5284f54 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvc1_plugin.c @@ -0,0 +1,404 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#include + +#include +#include +#include +#include + +#include "../include/plugin_info.h" +#include "../include/module.h" +#define OCT_DECLARE_COMMON +#include "../include/octvc1_common.h" +#include + +static int proto_octvc1 = -1; +static int fUserRegistered = 0; + +char * pszOctvc1_user_name=NULL; +char * pszOctvc1_user_id=NULL; +int g_fIsRegistered = 0; +static char l_szRegisteredUser[128]={0}; +static int l_iRegisteredUserLen = 0; +static int l_id_code_Registered = 0; +static gchar l_szAPIStr[256]; +static int l_fIsGod = 0; + +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; +} + +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 +* +**************************************************************************/ +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); + prefs_register_string_preference(octvc1_module, "user_name", "User name", "OCTVC1 user name", &pszOctvc1_user_name); + prefs_register_string_preference(octvc1_module, "user_id", "User id", "OCTVC1 user id", &pszOctvc1_user_id); + + /* register ctrl dissector */ + proto_register_octvc1_ctrl(); + + /* register event dissector */ + proto_register_octvc1_event(); + + /* 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. +* 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_octvc1(void) +{ + extern int proto_octvc1_event; + extern int proto_octvc1_ctrl; + + extern int dissect_octvc1_ctrl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); + extern int dissect_octvc1_event(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); + + dissector_handle_t octvc1_ctrl_handle; + dissector_handle_t octvc1_event_handle; + + register_dissector_table( "vocallonet.api_type", "Vocallonet API", FT_UINT32, BASE_HEX); + + octvc1_ctrl_handle = new_create_dissector_handle(dissect_octvc1_ctrl, proto_octvc1_ctrl); + dissector_add_uint("vocallonet.api_type", 0, octvc1_ctrl_handle); + + octvc1_event_handle = new_create_dissector_handle(dissect_octvc1_event, proto_octvc1_event); + dissector_add_uint("vocallonet.api_type", 0, octvc1_event_handle); + + data_handle = find_dissector("data"); + +} + 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 new file mode 100644 index 0000000..26ee2af --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/octvocnet_common.c @@ -0,0 +1,101 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: octvocnet_common.c + +Copyright (c) 2014 Octasic Inc. All rights reserved. + +Description: Contain the wireshark module dissector related functions + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . + +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/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 } + }; + +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 new file mode 100644 index 0000000..f875024 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/plugin.c @@ -0,0 +1,61 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + + +#include + +#include "../include/plugin_info.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_octvc1(void); proto_register_octvc1();} +} + +WS_EXPORT void +plugin_reg_handoff(void) +{ + {extern void proto_reg_handoff_octvc1(void); proto_reg_handoff_octvc1();} +} +#endif 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 new file mode 100644 index 0000000..0c8cb77 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/octsdr/octvc1/source/ws_util.c @@ -0,0 +1,85 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 +#include +#include +#include "../../../include/oct_ws_macro.h" +/***************************** DEFINES **************************************/ + +void ws_dissector_not_registered(void) +{ + +} + +/************************************************************************* +* +* Return 0 on success +**************************************************************************/ +int ws_dissector_notimplemented( tvbuff_t * UNUSED(tvb), packet_info * UNUSED(pinfo), proto_tree * UNUSED(tree), unsigned int UNUSED(offset) ) +{ + return 1; +} + +/************************************************************************* +* +* Return 0 on success +**************************************************************************/ +int ws_dissector_module_notimplemented( guint8 UNUSED( message_type ), guint32 UNUSED(CID), tvbuff_t * UNUSED(tvb), packet_info * UNUSED(pinfo), + proto_tree * UNUSED(tree) ) +{ + return 1; +} + +unsigned int dissect_tOCTVC1_MAIN_FILE_HANDLE(tvbuff_t * UNUSED(tvb), packet_info * UNUSED(pinfo), proto_tree * UNUSED(tree), unsigned int UNUSED(offset)) +{ + return 0; +} + +const char * dissect_OCTVC1_Return_Code( guint32 ulRc ) +{ + return octvc1_rc2string( ulRc ); +} + +#if defined(VERSION_MAJOR) && (VERSION_MAJOR > 1 || (VERSION_MAJOR == 1 && VERSION_MINOR > 8)) +/************************************************************************* +* +* +**************************************************************************/ + +/* Generate a string describing an enumerated bitfield (an N-bit field with various specific values having particular names). */ +const char *decode_enumerated_bitfield(const guint32 val, const guint32 mask, const int width, const value_string *tab, const char *fmt) +{ + static char buf[1025]; + char *p; + + p = decode_bitfield_value(buf, val, mask, width); + g_snprintf(p, (gulong) (1024-(p-buf)), fmt, val_to_str(val & mask, tab, "Unknown")); + return buf; +} +#endif diff --git a/application/tool/wireshark/plugins/octasic/plugin.rc.in b/application/tool/wireshark/plugins/octasic/plugin.rc.in new file mode 100644 index 0000000..c4e9190 --- /dev/null +++ b/application/tool/wireshark/plugins/octasic/plugin.rc.in @@ -0,0 +1,34 @@ +#include "winver.h" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION @RC_MODULE_VERSION@ + PRODUCTVERSION @RC_VERSION@ + 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", "@PACKAGE@ dissector\0" + VALUE "FileVersion", "@MODULE_VERSION@\0" + VALUE "InternalName", "@INTERNAL_NAME@\0" + VALUE "LegalCopyright", "Copyright © 2013 Octasic\0" + VALUE "OriginalFilename", "@PLUGIN_NAME@.dll\0" + VALUE "ProductName", "Wireshark\0" + VALUE "ProductVersion", "@VERSION@\0" + VALUE "Comments", "Build with @MSVC_VARIANT@\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END diff --git a/application/tool/wireshark/ws_dev_root.nmake b/application/tool/wireshark/ws_dev_root.nmake new file mode 100644 index 0000000..9d9f9c5 --- /dev/null +++ b/application/tool/wireshark/ws_dev_root.nmake @@ -0,0 +1 @@ +WS_DEV_ROOT=Y:\work\3rdParty\wireshark diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..b4b686a --- /dev/null +++ b/readme.txt @@ -0,0 +1,7 @@ +GSM Wireshark Plugin Source Code + +This source code works with Wireshark version 1.6.5. + +Makefile for octvc1 plugin is located in application\tool\wireshark\plugins\octasic\octsdr + +Makefile for octpkt_ws plugin is located in application\tool\wireshark\plugins\octasic\octpkt_ws \ No newline at end of file diff --git a/software/include/octdev_devices.h b/software/include/octdev_devices.h new file mode 100644 index 0000000..e098d90 --- /dev/null +++ b/software/include/octdev_devices.h @@ -0,0 +1,63 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTDEV_DEVICES.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 __OCTDEV_DEVICES_H__ +#define __OCTDEV_DEVICES_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + tOCTDEV_DEVICES_TYPE_ENUM : Octasic Device type. +-------------------------------------------------------------------------------------*/ +#define tOCTDEV_DEVICES_TYPE_ENUM tOCT_UINT32 + +#define cOCTDEV_DEVICES_TYPE_ENUM_INVALID 0x0 +#define cOCTDEV_DEVICES_TYPE_ENUM_OCT1010 0x1 +#define cOCTDEV_DEVICES_TYPE_ENUM_OCT2200 0x2 + +/*------------------------------------------------------------------------------------- + tOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM : Octasic DSP Core type. +-------------------------------------------------------------------------------------*/ +#define tOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM tOCT_UINT32 + +#define cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_INVALID 0x0 +#define cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_OPUS1 0x1 +#define cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_OPUS2 0x2 + +/*------------------------------------------------------------------------------------- + OCT1010 specific definitions. +-------------------------------------------------------------------------------------*/ +#define cOCTDEV_DEVICES_OCT1010_MAX_CORE_NUMBER 15 /* Maximum number of core in the OCT1010. */ +#define cOCTDEV_DEVICES_OCT1010_MAX_VSPMGR_THREADS 12 /* Maximum number of VSP Mgr threads that can be started on the OCT1010. */ +#define cOCTDEV_DEVICES_OCT1010_CORE_TYPE cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_OPUS1 /* Type of DSP Core in the OCT1010. */ +#define cOCTDEV_DEVICES_OCT1010_MAX_ETH_PORT_NUMBER 2 /* Maximum number of Ethernet port in the OCT1010. */ + +/*------------------------------------------------------------------------------------- + OCT2200 specific definitions. +-------------------------------------------------------------------------------------*/ +#define cOCTDEV_DEVICES_OCT2200_MAX_CORE_NUMBER 24 /* Maximum number of core in the OCT2200. */ +#define cOCTDEV_DEVICES_OCT2200_MAX_VSPMGR_THREADS 21 /* Maximum number of VSP Mgr threads that can be started on the OCT2200. */ +#define cOCTDEV_DEVICES_OCT2200_CORE_TYPE cOCTDEV_DEVICES_DSP_CORE_TYPE_ENUM_OPUS2 /* Type of DSP Core in the OCT2200. */ +#define cOCTDEV_DEVICES_OCT2200_MAX_ETH_PORT_NUMBER 4 /* Maximum number of Ethernet port in the OCT2200. */ + + +#endif /* __OCTDEV_DEVICES_H__ */ + diff --git a/software/include/octdev_macro.h b/software/include/octdev_macro.h new file mode 100644 index 0000000..02bca3c --- /dev/null +++ b/software/include/octdev_macro.h @@ -0,0 +1,91 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTDEV_MACRO.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 __OCTDEV_MACRO_H__ +#define __OCTDEV_MACRO_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Generic swap macros +-------------------------------------------------------------------------------------*/ + + +/*-------------------------------------------------------------------------- + 32-bit Endian Swapping when target is Little Endian +----------------------------------------------------------------------------*/ +#if !defined( mOCT_SWAP32_IF_LE ) +#if defined( __linux__ ) +/* Linux (and probably other unices') htonl implementation is far more + * efficient than our own; Win32 implementation, howerever is similar to + * our own BUT with the added cost of a function call */ + +#include +#define mOCT_SWAP32_IF_LE htonl + +#else /* __linux__ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) + +#define mOCT_SWAP32_IF_LE( f_ulValue ) \ + ( (((f_ulValue) & 0xff000000 ) >> 24) | \ + (((f_ulValue) & 0x00ff0000 ) >> 8) | \ + (((f_ulValue) & 0x0000ff00 ) << 8) | \ + (((f_ulValue) & 0x000000ff ) << 24) ) +#else + +#define mOCT_SWAP32_IF_LE( f_ulValue ) (f_ulValue) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ +#endif /* __linux__ */ +#endif /* mOCT_SWAP32_IF_LE */ + +/*-------------------------------------------------------------------------- + 16-bit Endian Swapping when target is Little Endian +----------------------------------------------------------------------------*/ +#if !defined( mOCT_SWAP16_IF_LE ) +#if defined( __linux__ ) +/* Linux (and probably other unices') htons implementation is far more + * efficient than our own; Win32 implementation, howerever is similar to + * our own BUT with the added cost of a function call */ + +#include +#define mOCT_SWAP16_IF_LE htons + +#else /* __linux__ */ + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) + +#define mOCT_SWAP16_IF_LE( f_usValue ) \ + ( (((f_usValue) & 0x00ff ) << 8) | \ + (((f_usValue) & 0xff00 ) >> 8) ) +#else + +#define mOCT_SWAP16_IF_LE( f_usValue ) (f_usValue) + +#endif /* _OCT_ENDIAN_TYPE_LE_ */ +#endif /* __linux__ */ +#endif /* mOCT_SWAP16_IF_LE */ + + + +#endif /* __OCTDEV_MACRO_H__ */ + diff --git a/software/include/octdev_opus_rev.h b/software/include/octdev_opus_rev.h new file mode 100644 index 0000000..086adab --- /dev/null +++ b/software/include/octdev_opus_rev.h @@ -0,0 +1,105 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTDEV_OPUS_REV.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 __OCTDEV_OPUS_REV_H__ +#define __OCTDEV_OPUS_REV_H__ + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Revision history +-------------------------------------------------------------------------------------*/ + + +#ifdef _M_OPUS1 +#define OCT1010_REV_B +#endif /* _M_OPUS1 */ + +#ifdef OCT1010_REV_A + #define d1jnsrc d1jnsrp + #define d2jnsrc d2jnsrp + #define d4jnsrc d4jnsrp + #define d8jnsrc d8jnsrp + #define d16jnsrc d16jnsrp + #define d32jnsrc d32jnsrp + #define d64jnsrc d64jnsrp + #define d128jnsrc d128jnsrp + #define d1jnsc d1jnsrp + #define d2jnsc d2jnsrp + #define d4jnsc d4jnsrp + #define d8jnsc d8jnsrp + #define d16jnsc d16jnsrp + #define d32jnsc d32jnsrp + #define d64jnsc d64jnsrp + #define d128jnsc d128jnsrp + + /* need for the migration from Rev A to Rev B + */ + #define mOCTDEV_OPUS_RDTSC_CORRECTION( f_ulTimestamp ) \ + _asm and f_ulTimestamp, 0x7FFFFFFF + + #define mOCTDEV_OPUS_RDTSC_CORRECTION_C( f_ulTimestamp ) \ + f_ulTimestamp &= 0x7FFFFFFF; + + #define mOCTDEV_OPUS_UNSEIZABLE_FIX( f_ulRegister ) \ + _asm { halt ( ( f_ulRegister & 0 ) != 0 ) } + + #define mOCTDEV_OPUS_UNSEIZABLE_FIX_C( f_ulRegister ) \ + {_chalt(( f_ulRegister & 0 ) != 0 );} + +#endif /* OCT1010_REV_A */ + +#ifdef OCT1010_REV_B + #define mOCTDEV_OPUS_RDTSC_CORRECTION( f_ulTimestamp ) \ + _asm and f_ulTimestamp, 0x7FFFFFFF + + #define mOCTDEV_OPUS_RDTSC_CORRECTION_C( f_ulTimestamp ) \ + f_ulTimestamp &= 0x7FFFFFFF; + + #define mOCTDEV_OPUS_UNSEIZABLE_FIX( f_ulRegister ) \ + _asm { halt ( ( f_ulRegister & 0 ) != 0 ) } + + #define mOCTDEV_OPUS_UNSEIZABLE_FIX_C( f_ulRegister ) \ + {_chalt(( f_ulRegister & 0 ) != 0 );} + +#endif /* OCT1010_REV_B */ + +#ifdef _M_OPUS2 + #define OCT2200_REV_B +#endif /* _M_OPUS2 */ + +#ifdef OCT2200_REV_A + #define mOCTDEV_OPUS_RDTSC_CORRECTION( f_ulTimestamp ) + #define mOCTDEV_OPUS_RDTSC_CORRECTION_C( f_ulTimestamp ) + + #define mOCTDEV_OPUS_UNSEIZABLE_FIX( f_ulRegister ) + #define mOCTDEV_OPUS_UNSEIZABLE_FIX_C( f_ulRegister ) + +#endif /* OCT2200_REV_A */ + +#ifdef OCT2200_REV_B + #define mOCTDEV_OPUS_RDTSC_CORRECTION( f_ulTimestamp ) + #define mOCTDEV_OPUS_RDTSC_CORRECTION_C( f_ulTimestamp ) + + #define mOCTDEV_OPUS_UNSEIZABLE_FIX( f_ulRegister ) + #define mOCTDEV_OPUS_UNSEIZABLE_FIX_C( f_ulRegister ) + +#endif /* OCT2200_REV_B */ + + +#endif /* __OCTDEV_OPUS_REV_H__ */ + diff --git a/software/include/octdev_rc_base.h b/software/include/octdev_rc_base.h new file mode 100644 index 0000000..d894b93 --- /dev/null +++ b/software/include/octdev_rc_base.h @@ -0,0 +1,39 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTDEV_RC_BASE.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 __OCTDEV_RC_BASE_H__ +#define __OCTDEV_RC_BASE_H__ + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Gemeric Return Code bases +-------------------------------------------------------------------------------------*/ + +#define cOCTADF_TARGET_RC_BASE 0x01000000 +#define cOCTVC1_API_RC_BASE 0x0A000000 +#define cOCTCOMMON_API_RC_BASE 0x0E000000 +#define cOCTDEVICE_API_RC_BASE 0x0F000000 + +/*------------------------------------------------------------------------------------- + Return Code fatal flag +-------------------------------------------------------------------------------------*/ + +#define cOCTDEV_RC_FATAL_FLAG 0x80000000 + +#endif /* __OCTDEV_RC_BASE_H__ */ + diff --git a/software/include/octdev_types.h b/software/include/octdev_types.h new file mode 100644 index 0000000..64b1889 --- /dev/null +++ b/software/include/octdev_types.h @@ -0,0 +1,277 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTDEV_TYPES.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 __OCTDEV_TYPES_H__ +#define __OCTDEV_TYPES_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + API Data Types +-------------------------------------------------------------------------------------*/ + + +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void *)0) +#endif +#endif + +#if SHRT_MAX == 32767 + /* short is 16-bit */ + typedef unsigned short tOCT_UINT16; + typedef short tOCT_INT16; +#elif INT_MAX == 32767 + /* integer is 16-bit */ + typedef unsigned int tOCT_UINT16; + typedef int tOCT_INT16; +#else + /* unexpected 16-bit type */ + #error Cannot determine 16-bit type +#endif + +#if INT_MAX == 2147483647L + /* integer is 32-bit */ + typedef int tOCT_INT32; + typedef unsigned int tOCT_UINT32; +#elif LONG_MAX == 2147483647L + /* long is 32-bit */ + typedef long tOCT_INT32; + typedef unsigned long tOCT_UINT32; +#else + /* unexpected 32-bit type */ + #error Cannot determine 32-bit type +#endif + +typedef char tOCT_INT8; +typedef unsigned char tOCT_UINT8; + + +/*------------------------------------------------------------------------------------- + TRUE/FALSE +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCT_BOOL32 : +-------------------------------------------------------------------------------------*/ +#define tOCT_BOOL32 tOCT_UINT32 + +#define cOCT_TRUE 1 +#define cOCT_FALSE 0 + +/*------------------------------------------------------------------------------------- + Generic Timeout value +-------------------------------------------------------------------------------------*/ +#define cOCTDEV_TIMEOUT_FOREVER 0xFFFFFFFF + + +/*-------------------------------------------------------------------------- + ENDIAN Determination + + _OCT_ENDIAN_TYPE_BE_: Defined when target is Big Endian + _OCT_ENDIAN_TYPE_LE_: Defined when target is Little Endian + + These must be set by the user. If not set the system will try to + automatically determine them based on some common compiler #define + values. + +----------------------------------------------------------------------------*/ + +#if !defined( _OCT_ENDIAN_TYPE_BE_ ) && !defined( _OCT_ENDIAN_TYPE_LE_ ) + /* Not Set - try to determine automatically */ + + /* Look for Intel target */ + #if defined( __OCT_ENV_OPUS__ ) || defined( _M_OPUS1 ) || defined( _M_OPUS2 ) || defined( _M_OPUS3 ) + #define _OCT_ENDIAN_TYPE_BE_ + #elif defined( _M_IX86 ) || defined(__x86_64__) + #define _OCT_ENDIAN_TYPE_LE_ + #elif defined( __i386 ) + #define _OCT_ENDIAN_TYPE_LE_ + #elif defined( i386 ) + #define _OCT_ENDIAN_TYPE_LE_ + /* Look for Motorola PPC target */ + #elif defined( _M_MPPC ) || defined( _M_PPC ) || defined( __ppc__ ) || defined( __PPC ) + #define _OCT_ENDIAN_TYPE_BE_ + /* Look for Sparc target */ + #elif defined( __sparc ) + #define _OCT_ENDIAN_TYPE_BE_ + #elif defined( __sun__ ) + #define _OCT_ENDIAN_TYPE_BE_ + /* Look for ARM target */ + #elif defined( __ARMEL__ ) + #define _OCT_ENDIAN_TYPE_LE_ + /* Look for MIPS target */ + #elif defined( __mips__ ) || defined( __MIPSEB ) + #define _OCT_ENDIAN_TYPE_BE_ + /* others */ + #elif defined( CPU ) + #if CPU==PPC860 + #define _OCT_ENDIAN_TYPE_BE_ + #endif + #endif +#endif + +/* Now insure the endian format is set properly */ +#if !defined( _OCT_ENDIAN_TYPE_BE_ ) && !defined( _OCT_ENDIAN_TYPE_LE_ ) + #error Processor Endian not determined +#endif +#if defined( _OCT_ENDIAN_TYPE_BE_ ) && defined( _OCT_ENDIAN_TYPE_LE_ ) + #error Processor Endian Set to both Values +#endif + +/*-------------------------------------------------------------------------- + PLATFORM Determination + + OCT_WINDOWS_ENV : Defined when target running under windows + OCT_LINUX_ENV : Defined when target running under linux + OCT_OPUS_ENV : OPUS env + OCT_UNKNOWN_ENV : Unknown env + +----------------------------------------------------------------------------*/ +#define __OCTDEV_TYPE_STR2__(x) #x +#define __OCTDEV_TYPE_STR1__(x) __OCTDEV_TYPE_STR2__(x) +#define __OCTDEV_TYPE_WARNLOC__ __FILE__ "("__OCTDEV_TYPE_STR1__(__LINE__)") : Warning Msg: " + +#if defined( __OCT_ENV_OPUS__ ) || defined( _M_OPUS1 ) || defined( _M_OPUS2 ) || defined( _M_OPUS3 ) + #define OCT_ENV_TYPE_OPUS +#ifdef _DEBUG + #define OCT_ENV_MODE_DEBUG +#endif +#elif defined( _LINUX_ ) || defined( __linux__ ) + #define OCT_ENV_TYPE_LINUX +#ifndef NDEBUG + #define OCT_ENV_MODE_DEBUG +#endif +#elif defined( _WIN32 ) || defined( _WIN64 ) || defined( WIN32 ) || defined( WIN64 ) + #define OCT_ENV_TYPE_WINDOWS +#ifdef _DEBUG + #define OCT_ENV_MODE_DEBUG +#endif +#else + #define OCT_ENV_TYPE_UNKNOWN + #pragma message(__OCTDEV_TYPE_WARNLOC__"Environment platform not determined") +#endif + + +/*------------------------------------------------------------------------------------- + Generic IP Address +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + tOCTDEV_IP_VERSION_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTDEV_IP_VERSION_ENUM tOCT_UINT32 + +#define cOCTDEV_IP_VERSION_ENUM_4 0 /* IP address version 4 */ +#define cOCTDEV_IP_VERSION_ENUM_6 1 /* IP address version 6 */ +#define cOCTDEV_IP_VERSION_ENUM_INVALID 0xFFFFFFFF + +/*------------------------------------------------------------------------------------- + tOCTDEV_IP_ADDRESS + IP address structure + + Members: + ulIpVersion + Default: cOCTDEV_IP_VERSION_ENUM_4 + Version of the IP address + aulIpAddress + Ip address, Version 4 -> aulIpAddress[0] only. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTDEV_IP_VERSION_ENUM ulIpVersion; + tOCT_UINT32 aulIpAddress[4]; + +} tOCTDEV_IP_ADDRESS; + +/*------------------------------------------------------------------------------------- + Generic UDP Address +-------------------------------------------------------------------------------------*/ +#define cOCTDEV_UDP_PORT_INVALID 0xFFFFFFFF /* Invalid UDP port specification. */ + +/*------------------------------------------------------------------------------------- + tOCTDEV_UDP_ADDRESS + UDP address structure + + Members: + IpAddress + IP version and address. + ulUdpPort + Default: cOCTDEV_UDP_PORT_INVALID + UDP port used with IP address +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTDEV_IP_ADDRESS IpAddress; + tOCT_UINT32 ulUdpPort; + +} tOCTDEV_UDP_ADDRESS; + +/*------------------------------------------------------------------------------------- + Generic TCP Address +-------------------------------------------------------------------------------------*/ +#define cOCTDEV_TCP_PORT_INVALID 0xFFFFFFFF /* Invalid TCP port specification. */ + +/*------------------------------------------------------------------------------------- + tOCTDEV_TCP_ADDRESS + TCP address structure + + Members: + IpAddress + IP version and address. + ulTcpPort + Default: cOCTDEV_TCP_PORT_INVALID + TCP port used with IP address +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTDEV_IP_ADDRESS IpAddress; + tOCT_UINT32 ulTcpPort; + +} tOCTDEV_TCP_ADDRESS; + +/*------------------------------------------------------------------------------------- + Generic MAC Address +-------------------------------------------------------------------------------------*/ +#define cOCTDEV_MAC_ADDRESS_BYTE_COUNT 6 + +/*------------------------------------------------------------------------------------- + tOCTDEV_MAC_ADDRESS + MAC address structure + + Members: + abyReserved + Reserved fields inserted to ensure that the structure is an integer multiple of + DWORDS. + abyMacAddress + MAC address; abyMacAddress[0] = msb, abyMacAddress[5] = lsb. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT8 abyReserved[2]; + tOCT_UINT8 abyMacAddress[cOCTDEV_MAC_ADDRESS_BYTE_COUNT]; + +} tOCTDEV_MAC_ADDRESS; + + +#endif /* __OCTDEV_TYPES_H__ */ + diff --git a/software/include/octdev_types_swap.h b/software/include/octdev_types_swap.h new file mode 100644 index 0000000..2236dcb --- /dev/null +++ b/software/include/octdev_types_swap.h @@ -0,0 +1,67 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octdev_types_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 __OCTDEV_TYPES_SWAP_H__ +#define __OCTDEV_TYPES_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "vocallo/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); \ + { tOCT_UINT32 iOCTDEV_IP_ADDRESS; \ + for( iOCTDEV_IP_ADDRESS=0; \ + iOCTDEV_IP_ADDRESS<(4);iOCTDEV_IP_ADDRESS++ ) \ + ((tOCTDEV_IP_ADDRESS *)pOCTDEV_IP_ADDRESS)->aulIpAddress[iOCTDEV_IP_ADDRESS] = \ + mOCT_SWAP32_IF_LE(((tOCTDEV_IP_ADDRESS *)pOCTDEV_IP_ADDRESS)->aulIpAddress[iOCTDEV_IP_ADDRESS]);}\ +} +#else +#define mOCTDEV_IP_ADDRESS_SWAP( pOCTDEV_IP_ADDRESS ) +#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); \ + { 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); \ +} +#else +#define mOCTDEV_UDP_ADDRESS_SWAP( pOCTDEV_UDP_ADDRESS ) +#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); \ + { 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); \ +} +#else +#define mOCTDEV_TCP_ADDRESS_SWAP( pOCTDEV_TCP_ADDRESS ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTDEV_TYPES_SWAP_H__ */ diff --git a/software/include/octpkt/octpkt_hdr.h b/software/include/octpkt/octpkt_hdr.h new file mode 100644 index 0000000..b2c3c2a --- /dev/null +++ b/software/include/octpkt/octpkt_hdr.h @@ -0,0 +1,91 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTPKT_HDR.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 __OCTPKT_HDR_H__ +#define __OCTPKT_HDR_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +#define cOCTPKT_HDR_ETHERTYPE 0x5200 +#define cOCTPKT_HDR_WCDMA 0xCDAB +#define cOCTPKT_HDR_GSM 0xF00D + +/*------------------------------------------------------------------------------------- + OctPkt-Packet Format Values +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + tOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK : +-------------------------------------------------------------------------------------*/ +#define tOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK tOCT_UINT32 + +#define cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK 0x000000FF +#define cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET 24 +#define cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT ((tOCT_UINT32)(cOCTPKT_HDR_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK<. + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTPKT_HDR_SWAP_H__ +#define __OCTPKT_HDR_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../vocallo/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); \ +} +#else +#define mOCTPKT_HDR_SWAP( pOCTPKT_HDR ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTPKT_HDR_SWAP_H__ */ diff --git a/software/include/octpkt/octpkt_hdrxl.h b/software/include/octpkt/octpkt_hdrxl.h new file mode 100644 index 0000000..1d1c22f --- /dev/null +++ b/software/include/octpkt/octpkt_hdrxl.h @@ -0,0 +1,85 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTPKT_HDRXL.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 __OCTPKT_HDRXL_H__ +#define __OCTPKT_HDRXL_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "octpkt_hdr.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +#define cOCTPKT_HDRXL_ETHERTYPE 0x5201 + +/*------------------------------------------------------------------------------------- + OctPkt-Packet Format Values +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + tOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK : +-------------------------------------------------------------------------------------*/ +#define tOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK tOCT_UINT32 + +#define cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK 0x000000FF +#define cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_OFFSET 16 +#define cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT ((tOCT_UINT32)(cOCTPKT_HDRXL_FORMAT_PROTO_TYPE_LEN_MASK_FORMAT_BIT_MASK<. + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTPKT_HDRXL_SWAP_H__ +#define __OCTPKT_HDRXL_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../vocallo/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); \ +} +#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); \ + ((tOCTPKT_HDRXL_ETH *)pOCTPKT_HDRXL_ETH)->usReserved = \ + mOCT_SWAP16_IF_LE(((tOCTPKT_HDRXL_ETH *)pOCTPKT_HDRXL_ETH)->usReserved); \ +} +#else +#define mOCTPKT_HDRXL_ETH_SWAP( pOCTPKT_HDRXL_ETH ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTPKT_HDRXL_SWAP_H__ */ diff --git a/software/include/vocallo/cpp/octvc1_cpp_api.h b/software/include/vocallo/cpp/octvc1_cpp_api.h new file mode 100644 index 0000000..2f837b6 --- /dev/null +++ b/software/include/vocallo/cpp/octvc1_cpp_api.h @@ -0,0 +1,930 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_CPP_API.h + +$Octasic_Copyright: $ + +Description: Contains the definition of the CPP API. + +$Octasic_Confidentiality: $ + +$Octasic_Release: $ + +$Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_CPP_API_H__ +#define __OCTVC1_CPP_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_eth.h" +#include "../octvc1_fifo.h" +#include "../octvocnet_pkt.h" + +#include "octvc1_cpp_id.h" +#include "octvc1_cpp_rc.h" + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM : RX UDP connection types. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_NONE 0x0 +#define cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP 0x1 +#define cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SSRC 0x2 +#define cOCTVC1_CPP_UDP_SEARCH_TYPE_ENUM_SRCIPUDP_SSRC 0x3 + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM : RX TCP connection types. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_NONE 0x0 +#define cOCTVC1_CPP_TCP_SEARCH_TYPE_ENUM_SRCIPTCP 0x1 + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_TYPE_ENUM : Tx Header Types. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_CPP_TX_HDR_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETHERNET 0x0 +#define cOCTVC1_CPP_TX_HDR_TYPE_ENUM_ETH_PQ 0x1 +#define cOCTVC1_CPP_TX_HDR_TYPE_ENUM_LLC 0x2 +#define cOCTVC1_CPP_TX_HDR_TYPE_ENUM_NLPID 0x3 +#define cOCTVC1_CPP_TX_HDR_TYPE_ENUM_SNAP 0x4 +#define cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV4 0x5 +#define cOCTVC1_CPP_TX_HDR_TYPE_ENUM_UDP 0x6 +#define cOCTVC1_CPP_TX_HDR_TYPE_ENUM_RTP 0x7 +#define cOCTVC1_CPP_TX_HDR_TYPE_ENUM_IPV6 0x8 + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_ETHERTYPE_ENUM : Ethernet Encoding Types. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_CPP_ETHERTYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_CPP_ETHERTYPE_ENUM_ETH_II 0x0 +#define cOCTVC1_CPP_ETHERTYPE_ENUM_IEEE_802_3 0x1 + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_DEST_REMOVE_MODE_ENUM : Remove destination modes. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_CPP_DEST_REMOVE_MODE_ENUM tOCT_UINT32 + +#define cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC 0x0 +#define cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_ALL 0x1 +#define cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_PORT 0x2 +#define cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC_DEST_OBJ 0x3 + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_DEST_INFO_ENUM : Destination info modes. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_CPP_DEST_INFO_ENUM tOCT_UINT32 + +#define cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_FIRST 0x0 +#define cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT 0x1 + +/*------------------------------------------------------------------------------------- + Maximum number of Destination Entry returned in a Destination Info + response. +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_CPP_MAX_DEST_ENTRY 4 + +/*------------------------------------------------------------------------------------- + Maximum number of Ethernet Route Entries allocated in a ETH_ROUTE_INFO_RSP. +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_CPP_MAX_ETH_ROUTE_ENTRY 10 + +/*------------------------------------------------------------------------------------- + CPP API configuration default values +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_CPP_DEFAULT_ADDITIONAL_OBJECT_DEST_POOL 0 +#define cOCTVC1_CPP_DEFAULT_MAX_FORWARD 256 +#define cOCTVC1_CPP_DEFAULT_IP_FRAGMENT_ID_MASK 0x0 +#define cOCTVC1_CPP_DEFAULT_IP_FRAGMENT_ID_MATCH 0x0 +#define cOCTVC1_CPP_DEFAULT_MAX_NON_ETHERNET_BANDWIDTH 0 +#define cOCTVC1_CPP_DEFAULT_MAX_NON_UDP_BANDWIDTH 0 +#define cOCTVC1_CPP_DEFAULT_MAX_RTP_CONNECTION 800 +#define cOCTVC1_CPP_DEFAULT_MAX_TCP_CONNECTION 8 +#define cOCTVC1_CPP_DEFAULT_MAX_UDP_CONNECTION 8 + +/*------------------------------------------------------------------------------------- + CPP API Object Type. +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_CPP_OBJ_TYPE_FORWARD (0x0001|cOCTVC1_HANDLE_BASE_OBJ_TYPE_CPP) +#define cOCTVC1_CPP_OBJ_TYPE_RX_UDP_PORT (0x0002|cOCTVC1_HANDLE_BASE_OBJ_TYPE_CPP) +#define cOCTVC1_CPP_OBJ_TYPE_TX_UDP_CNCT (0x0003|cOCTVC1_HANDLE_BASE_OBJ_TYPE_CPP) +#define cOCTVC1_CPP_OBJ_TYPE_RX_IP_PORT (0x0004|cOCTVC1_HANDLE_BASE_OBJ_TYPE_CPP) +#define cOCTVC1_CPP_OBJ_TYPE_RX_TCP_PORT (0x0005|cOCTVC1_HANDLE_BASE_OBJ_TYPE_CPP) +#define cOCTVC1_CPP_OBJ_TYPE_INTERNAL_FORWARD (0x0006|cOCTVC1_HANDLE_BASE_OBJ_TYPE_CPP) + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_CONFIG_STATIC + + Members: + ulMaxDestination + ulMaxRxUdpPort + ulMaxRxUdpCnct + ulMaxTxUdpCnct + ulMaxRxRtpPort + ulMaxRxRtpCnct + ulMaxTxRtpCnct + ulMaxRxTcpPort + ulMaxRxTcpCnct + ulMaxRxIpPort + ulMaxForwardObj + ulIpFragmentIdMask + ulIpFragmentIdMatch + ulMaxNonEthernetBandwidth + ulMaxNonUdpBandwidth +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulMaxDestination; + tOCT_UINT32 ulMaxRxUdpPort; + tOCT_UINT32 ulMaxRxUdpCnct; + tOCT_UINT32 ulMaxTxUdpCnct; + tOCT_UINT32 ulMaxRxRtpPort; + tOCT_UINT32 ulMaxRxRtpCnct; + tOCT_UINT32 ulMaxTxRtpCnct; + tOCT_UINT32 ulMaxRxTcpPort; + tOCT_UINT32 ulMaxRxTcpCnct; + tOCT_UINT32 ulMaxRxIpPort; + tOCT_UINT32 ulMaxForwardObj; + tOCT_UINT32 ulIpFragmentIdMask; + tOCT_UINT32 ulIpFragmentIdMatch; + tOCT_UINT32 ulMaxNonEthernetBandwidth; + tOCT_UINT32 ulMaxNonUdpBandwidth; + +} tOCTVC1_CPP_CONFIG_STATIC; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY + + Members: + ulPacketEncodeType + Packet encoding type + ulRtpPayloadType + RTP payload type + ulPktPortIndex + Index of the associated packet port +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVOCNET_PKT_D_TYPE_ENUM ulPacketEncodeType; + tOCT_UINT32 ulRtpPayloadType; + tOCT_UINT32 ulPktPortIndex; + +} tOCTVC1_CPP_RX_RTP_PROFILE_ENTRY; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY + + Members: + ulPacketEncodeType + Packet encoding type + ulRtpPayloadType + RTP payload type +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVOCNET_PKT_D_TYPE_ENUM ulPacketEncodeType; + tOCT_UINT32 ulRtpPayloadType; + +} tOCTVC1_CPP_TX_RTP_PROFILE_ENTRY; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_DEST_ENTRY + + Members: + hCppObj + CPP SVP Source Object handle + ulCppObjPort + CPP SVP Source packet port to bind. + hDestObj + Destination Object handle + ulDestObjPort + Destination packet port to bind. + ulDestObjFifoId + Destination object FIFO ID. + DestMacAddress + Mac Address of the Vocallo port of the destination object + BridgeMacAddress + Mac Address that must be used to create the Packet Bridging Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE hCppObj; + tOCT_UINT32 ulCppObjPort; + tOCTVC1_HANDLE hDestObj; + tOCT_UINT32 ulDestObjPort; + tOCT_UINT32 ulDestObjFifoId; + tOCTVC1_MAC_ADDRESS DestMacAddress; + tOCTVC1_MAC_ADDRESS BridgeMacAddress; + +} tOCTVC1_CPP_DEST_ENTRY; + +/*------------------------------------------------------------------------------------- + Header structures +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_COMMON + + Members: + ulHeaderType + ulHeaderLength +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_TYPE_ENUM ulHeaderType; + tOCT_UINT32 ulHeaderLength; + +} tOCTVC1_CPP_TX_HDR_COMMON; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_ETHERNET + + Members: + CommonHeader + ulEthertypeEncoding + ulEthertype + SourceMacAddr + DestinationMacAddr +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_COMMON CommonHeader; + tOCTVC1_CPP_ETHERTYPE_ENUM ulEthertypeEncoding; + tOCT_UINT32 ulEthertype; + tOCTVC1_MAC_ADDRESS SourceMacAddr; + tOCTVC1_MAC_ADDRESS DestinationMacAddr; + +} tOCTVC1_CPP_TX_HDR_ETHERNET; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_ETH_PQ + + Members: + CommonHeader + ulEthertypeEncoding + ulEthertype + ulTci + SourceMacAddr + DestinationMacAddr +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_COMMON CommonHeader; + tOCTVC1_CPP_ETHERTYPE_ENUM ulEthertypeEncoding; + tOCT_UINT32 ulEthertype; + tOCT_UINT32 ulTci; + tOCTVC1_MAC_ADDRESS SourceMacAddr; + tOCTVC1_MAC_ADDRESS DestinationMacAddr; + +} tOCTVC1_CPP_TX_HDR_ETH_PQ; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_LLC + + Members: + CommonHeader + ulLlcValue +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_COMMON CommonHeader; + tOCT_UINT32 ulLlcValue; + +} tOCTVC1_CPP_TX_HDR_LLC; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_NLPID + + Members: + CommonHeader + ulNlpidValue +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_COMMON CommonHeader; + tOCT_UINT32 ulNlpidValue; + +} tOCTVC1_CPP_TX_HDR_NLPID; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_SNAP + + Members: + CommonHeader + ulOuiValue + ulPidValue +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_COMMON CommonHeader; + tOCT_UINT32 ulOuiValue; + tOCT_UINT32 ulPidValue; + +} tOCTVC1_CPP_TX_HDR_SNAP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_IPV4 + + Members: + CommonHeader + ulTypeOfService + ulTimeToLive + ulProtocol + ulFlags + ulSourceAddr + ulDestinationAddr + ulUdpChecksumAddr + ulOptionsLength + aulOptions +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_COMMON CommonHeader; + tOCT_UINT32 ulTypeOfService; + tOCT_UINT32 ulTimeToLive; + tOCT_UINT32 ulProtocol; + tOCT_UINT32 ulFlags; + tOCT_UINT32 ulSourceAddr; + tOCT_UINT32 ulDestinationAddr; + tOCT_UINT32 ulUdpChecksumAddr; + tOCT_UINT32 ulOptionsLength; + tOCT_UINT32 aulOptions[1];/* NOSWAPMAC */ + +} tOCTVC1_CPP_TX_HDR_IPV4; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_IPV6 + + Members: + CommonHeader + ulTrafficClass + ulFlowLabel + ulHopLimit + aulSourceAddr + aulDestinationAddr + aulUdpChecksumAddr + ulNextHeader +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_COMMON CommonHeader; + tOCT_UINT32 ulTrafficClass; + tOCT_UINT32 ulFlowLabel; + tOCT_UINT32 ulHopLimit; + tOCT_UINT32 aulSourceAddr[4]; + tOCT_UINT32 aulDestinationAddr[4]; + tOCT_UINT32 aulUdpChecksumAddr[4]; + tOCT_UINT32 ulNextHeader; + +} tOCTVC1_CPP_TX_HDR_IPV6; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_UDP + + Members: + CommonHeader + ulSourcePort + ulDestinationPort +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_COMMON CommonHeader; + tOCT_UINT32 ulSourcePort; + tOCT_UINT32 ulDestinationPort; + +} tOCTVC1_CPP_TX_HDR_UDP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_TX_HDR_RTP + + Members: + CommonHeader + ulNumContributingSources + ulSynchronizationSource + ulExtensionFlag + ulExtensionType + ulExtensionLength + aulCsrcs + aulExtensions +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_CPP_TX_HDR_COMMON CommonHeader; + tOCT_UINT32 ulNumContributingSources; + tOCT_UINT32 ulSynchronizationSource; + tOCT_BOOL32 ulExtensionFlag; + tOCT_UINT32 ulExtensionType; + tOCT_UINT32 ulExtensionLength; + tOCT_UINT32 aulCsrcs[15]; + tOCT_UINT32 aulExtensions[1];/* NOSWAPMAC */ + +} tOCTVC1_CPP_TX_HDR_RTP; + +/***************************** METHODS *************************************/ +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD + + Members: + Header + OCTVC1 Message Header + ulResetStatsFlag + Reset the statistics +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP + + Members: + Header + OCTVC1 Message Header + ulControlRxPktCnt + ulDataRxPktCnt + ulControlBadHdrLenCnt + ulDataBadHdrLenCnt + ulInvalidPktFormatCnt + ulNoFwdPktCnt + ulCppCmdOverflowCnt + ulTxPktQueueOverflowFlag + ulTxPktQueueOverflowFifoPoolId + ulTxPktQueueOverflowFifoIndex + ulRxFifoResynchFlag + ulRxFifoResynchFifoPoolId + ulRxFifoResynchFifoIndex +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulControlRxPktCnt; + tOCT_UINT32 ulDataRxPktCnt; + tOCT_UINT32 ulControlBadHdrLenCnt; + tOCT_UINT32 ulDataBadHdrLenCnt; + tOCT_UINT32 ulInvalidPktFormatCnt; + tOCT_UINT32 ulNoFwdPktCnt; + tOCT_UINT32 ulCppCmdOverflowCnt; + tOCT_BOOL32 ulTxPktQueueOverflowFlag; + tOCT_UINT32 ulTxPktQueueOverflowFifoPoolId; + tOCT_UINT32 ulTxPktQueueOverflowFifoIndex; + tOCT_BOOL32 ulRxFifoResynchFlag; + tOCT_UINT32 ulRxFifoResynchFifoPoolId; + tOCT_UINT32 ulRxFifoResynchFifoIndex; + +} tOCTVC1_CPP_MSG_MODULE_STATS_GLOBAL_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD + + Members: + Header + OCTVC1 Message Header + ulEthPort +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_ETH_PORT_ID_ENUM ulEthPort; + +} tOCTVC1_CPP_MSG_MODULE_STATS_ETH_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP + + Members: + Header + OCTVC1 Message Header + ulEthPort + ulEthRxPktCnt + ulEthTxPktCnt + ulEthRxByteCnt + ulEthTxByteCnt + ulEthBadHdrCnt + ulEthBadHdrLenCnt + ulEth8023BadLlcOuiCnt + ulRxFifoReSyncCnt + ulTxPktQueueOverflowCnt +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_ETH_PORT_ID_ENUM ulEthPort; + tOCT_UINT32 ulEthRxPktCnt; + tOCT_UINT32 ulEthTxPktCnt; + tOCT_UINT32 ulEthRxByteCnt; + tOCT_UINT32 ulEthTxByteCnt; + tOCT_UINT32 ulEthBadHdrCnt; + tOCT_UINT32 ulEthBadHdrLenCnt; + tOCT_UINT32 ulEth8023BadLlcOuiCnt; + tOCT_UINT32 ulRxFifoReSyncCnt; + tOCT_UINT32 ulTxPktQueueOverflowCnt; + +} tOCTVC1_CPP_MSG_MODULE_STATS_ETH_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CMD + + Members: + Header + OCTVC1 Message Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + +} tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP + + Members: + Header + OCTVC1 Message Header + Static +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CPP_CONFIG_STATIC Static; + +} tOCTVC1_CPP_MSG_MODULE_GET_CONFIG_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_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_CPP_MSG_FORWARD_OPEN_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP + + Members: + Header + OCTVC1 Message Header + hForward + Forward Object Handle + ulFifoId + Fifo ID used to reach the Forward object. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE hForward; + tOCT_UINT32 ulFifoId; + +} tOCTVC1_CPP_MSG_FORWARD_OPEN_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD + + Members: + Header + OCTVC1 Message Header + hForward + Forward Object Handle +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE hForward; + +} tOCTVC1_CPP_MSG_FORWARD_CLOSE_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP + + Members: + Header + OCTVC1 Message Header + hForward + Forward Object Handle +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE hForward; + +} tOCTVC1_CPP_MSG_FORWARD_CLOSE_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_FORWARD_STATS_CMD + + Members: + Header + OCTVC1 Message Header + ObjectGet + Generic object get structure. + ulResetStatsFlag + Reset the statistics +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_GET ObjectGet; + tOCT_BOOL32 ulResetStatsFlag; + +} tOCTVC1_CPP_MSG_FORWARD_STATS_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_FORWARD_STATS_RSP + + Members: + Header + OCTVC1 Message Header + ObjectGet + Generic object get structure. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_GET ObjectGet; + +} tOCTVC1_CPP_MSG_FORWARD_STATS_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_FORWARD_INFO_CMD + + Members: + Header + OCTVC1 Message Header + ObjectGet + Generic object get structure. + ulGetType + Default: cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_FIRST + hDestObj + Destination Object handle of the entry to search from. Must be specified only + when ulGetType is set to cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT. + ulDestObjPort + Destination packet port of the entry to search from. Must be specified only + when ulGetType is set to cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT. + ulDestObjFifoId + Default: cOCTVC1_FIFO_ID_INVALID + Destination object FIFO ID of the entry to search from. Must be specified only + when ulGetType is set to cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT. + DestMacAddress + Mac Address of the Vocallo port of the entry's destination object to search + from. Must be specified only when ulGetType is set to + cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_GET ObjectGet; + tOCTVC1_CPP_DEST_INFO_ENUM ulGetType; + tOCTVC1_HANDLE hDestObj; + tOCT_UINT32 ulDestObjPort; + tOCT_UINT32 ulDestObjFifoId; + tOCTVC1_MAC_ADDRESS DestMacAddress; + +} tOCTVC1_CPP_MSG_FORWARD_INFO_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_FORWARD_INFO_RSP + + Members: + Header + OCTVC1 Message Header + ObjectGet + Generic object get structure. + ulFifoId + FifoId ID used to send packet to this object. + ulMoreFlag + If TRUE, there are more destination entries matching the queried info. To + retrieve them, the command can be used with ulGetType parameter set to + cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_NEXT and with valid destination information. + ulNumDestEntry + Number of valid destination entries stored in the array aDestEntry. + aDestEntry + Array of destination entries. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CURSOR_HANDLE_GET ObjectGet; + tOCT_UINT32 ulFifoId; + tOCT_BOOL32 ulMoreFlag; + tOCT_UINT32 ulNumDestEntry; + tOCTVC1_CPP_DEST_ENTRY aDestEntry[cOCTVC1_CPP_MAX_DEST_ENTRY]; + +} tOCTVC1_CPP_MSG_FORWARD_INFO_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD + + Members: + Header + OCTVC1 Message Header + hCppObj + CPP SVP Source Object handle + ulCppObjPort + CPP SVP Source packet port to bind. + 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 + BridgeMacAddress + Mac Address that must be used to create the Packet Bridging Header +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE hCppObj; + tOCT_UINT32 ulCppObjPort; + tOCTVC1_HANDLE hDestObj; + tOCT_UINT32 ulDestObjPort; + tOCT_UINT32 ulDestObjFifoId; + tOCTVC1_MAC_ADDRESS DestMacAddress; + tOCTVC1_MAC_ADDRESS SrcMacAddress; + tOCTVC1_MAC_ADDRESS BridgeMacAddress; + +} tOCTVC1_CPP_MSG_MODULE_ADD_DEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP + + Members: + Header + OCTVC1 Message Header + hCppObj + CPP SVP Source Object handle +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_HANDLE hCppObj; + +} tOCTVC1_CPP_MSG_MODULE_ADD_DEST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD + + Members: + Header + OCTVC1 Message Header + ulRemoveMode + Default: cOCTVC1_CPP_DEST_REMOVE_MODE_ENUM_SPECIFIC + Remove method that is requested. + hCppObj + CPP SVP Source Object handle + ulCppObjPort + CPP SVP Source packet port to bind. + 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 +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CPP_DEST_REMOVE_MODE_ENUM ulRemoveMode; + tOCTVC1_HANDLE hCppObj; + tOCT_UINT32 ulCppObjPort; + tOCTVC1_HANDLE hDestObj; + tOCT_UINT32 ulDestObjPort; + tOCT_UINT32 ulDestObjFifoId; + tOCTVC1_MAC_ADDRESS DestMacAddress; + +} tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP + + Members: + Header + OCTVC1 Message Header + ulNumDestRemoved + Number of destination removed. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulNumDestRemoved; + +} tOCTVC1_CPP_MSG_MODULE_REMOVE_DEST_RSP; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD + + Members: + Header + OCTVC1 Message Header + ulGetType + Default: cOCTVC1_CPP_DEST_INFO_ENUM_OBJ_FIRST + hCppObj + CPP SVP Source Object handle + ulCppObjPort + CPP SVP Source packet port to bind. + 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 +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCTVC1_CPP_DEST_INFO_ENUM ulGetType; + tOCTVC1_HANDLE hCppObj; + tOCT_UINT32 ulCppObjPort; + tOCTVC1_HANDLE hDestObj; + tOCT_UINT32 ulDestObjPort; + tOCT_UINT32 ulDestObjFifoId; + tOCTVC1_MAC_ADDRESS DestMacAddress; + +} tOCTVC1_CPP_MSG_MODULE_INFO_DEST_CMD; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP + + Members: + Header + OCTVC1 Message Header + ulMoreFlag + If TRUE, there are more binding matching the queried info + ulNumDestEntry + Number of valid bindings stored in the binding array aBindings. + aDestEntry + Array of destination bind entries. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_BOOL32 ulMoreFlag; + tOCT_UINT32 ulNumDestEntry; + tOCTVC1_CPP_DEST_ENTRY aDestEntry[cOCTVC1_CPP_MAX_DEST_ENTRY]; + +} tOCTVC1_CPP_MSG_MODULE_INFO_DEST_RSP; + + +/*************** 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_CPP_API_H__ */ + diff --git a/software/include/vocallo/cpp/octvc1_cpp_api_swap.h b/software/include/vocallo/cpp/octvc1_cpp_api_swap.h new file mode 100644 index 0000000..b2cbfb9 --- /dev/null +++ b/software/include/vocallo/cpp/octvc1_cpp_api_swap.h @@ -0,0 +1,551 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_cpp_api_swap.h + +$Octasic_Copyright: $ + +Description: + +$Octasic_Confidentiality: $ + +$Octasic_Release: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_CPP_API_SWAP_H__ +#define __OCTVC1_CPP_API_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_swap_hdrs.h" +#include "octvc1_cpp_api.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_CPP_CONFIG_STATIC_SWAP( _f_pParms ){ tOCTVC1_CPP_CONFIG_STATIC * pOCTVC1_CPP_CONFIG_STATIC = (_f_pParms); \ + ((tOCTVC1_CPP_CONFIG_STATIC *)pOCTVC1_CPP_CONFIG_STATIC)->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 new file mode 100644 index 0000000..c0e5635 --- /dev/null +++ b/software/include/vocallo/cpp/octvc1_cpp_default.h @@ -0,0 +1,541 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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_CTRL_API_H__ +#define __OCTVC1_CTRL_API_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../../octdev_types.h" +#include "../octvc1_msg.h" +#include "../octvc1_handle.h" + +#include "octvc1_ctrl_id.h" + +/************************ COMMON DEFINITIONS *******************************/ + +/***************************** SUPERVISORY *************************************/ +/*------------------------------------------------------------------------------------- + tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV + OCTVC1 Reject Supervisory Command + + Members: + Header + VocalloNet and API header. + ulExpectedTransactionId + Transaction ID expected for this session. + ulRejectedCmdId + Command ID of the command rejected. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_MSG_HEADER Header; + tOCT_UINT32 ulExpectedTransactionId; + tOCT_UINT32 ulRejectedCmdId; + +} tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV; + + +/*************** 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/vocallo/ctrl/octvc1_ctrl_api_swap.h b/software/include/vocallo/ctrl/octvc1_ctrl_api_swap.h new file mode 100644 index 0000000..ff6cd5b --- /dev/null +++ b/software/include/vocallo/ctrl/octvc1_ctrl_api_swap.h @@ -0,0 +1,45 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_ctrl_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_CTRL_API_SWAP_H__ +#define __OCTVC1_CTRL_API_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_swap_hdrs.h" +#include "octvc1_ctrl_api.h" + +/********************************* MACROS **********************************/ + + +#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); \ + { 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); \ + ((tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV *)pOCTVC1_CTRL_MSG_MODULE_REJECT_SPV)->ulRejectedCmdId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_CTRL_MSG_MODULE_REJECT_SPV *)pOCTVC1_CTRL_MSG_MODULE_REJECT_SPV)->ulRejectedCmdId); \ +} +#else +#define mOCTVC1_CTRL_MSG_MODULE_REJECT_SPV_SWAP( pOCTVC1_CTRL_MSG_MODULE_REJECT_SPV ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_CTRL_API_SWAP_H__ */ diff --git a/software/include/vocallo/ctrl/octvc1_ctrl_id.h b/software/include/vocallo/ctrl/octvc1_ctrl_id.h new file mode 100644 index 0000000..05a635b --- /dev/null +++ b/software/include/vocallo/ctrl/octvc1_ctrl_id.h @@ -0,0 +1,34 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_CTRL_ID.h + +Copyright (c) 2014 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 . + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_CTRL_ID_H__ +#define __OCTVC1_CTRL_ID_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_base.h" +#include "../octvc1_generic_rc.h" + +/**************************************************************************** + Supervisory IDs + ****************************************************************************/ +#define cOCTVC1_CTRL_MSG_MODULE_REJECT_SID ( 0x0001 + cOCTVC1_CTRL_SID_BASE ) + +#define cOCTVC1_CTRL_SID_MAX (( 0x0001 + 1 ) & 0xFFFF) + + +#endif /* __OCTVC1_CTRL_ID_H__ */ + diff --git a/software/include/vocallo/ctrl/octvc1_ctrl_version.h b/software/include/vocallo/ctrl/octvc1_ctrl_version.h new file mode 100644 index 0000000..b014ca5 --- /dev/null +++ b/software/include/vocallo/ctrl/octvc1_ctrl_version.h @@ -0,0 +1,39 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_CTRL_VERSION.h + +Copyright (c) 2014 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 . + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_CTRL_VERSION_H__ +#define __OCTVC1_CTRL_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_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_ID ( (cOCTVC1_CTRL_VERSION_MAJOR << 25) + \ + (cOCTVC1_CTRL_VERSION_MINOR << 18) + \ + (cOCTVC1_CTRL_VERSION_MAINTENANCE << 11) + \ + cOCTVC1_CTRL_VERSION_BUILD ) + +#endif /* __OCTVC1_CTRL_VERSION_H__ */ + diff --git a/software/include/vocallo/gsm/octvc1_gsm_api.h b/software/include/vocallo/gsm/octvc1_gsm_api.h new file mode 100644 index 0000000..fb38c8a --- /dev/null +++ b/software/include/vocallo/gsm/octvc1_gsm_api.h @@ -0,0 +1,1327 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GSM_API.h + +Copyright (c) 2014 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 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_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 new file mode 100644 index 0000000..f1f82eb --- /dev/null +++ b/software/include/vocallo/gsm/octvc1_gsm_api_swap.h @@ -0,0 +1,604 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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 new file mode 100644 index 0000000..0f5b031 --- /dev/null +++ b/software/include/vocallo/gsm/octvc1_gsm_default.h @@ -0,0 +1,5186 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..040032e --- /dev/null +++ b/software/include/vocallo/gsm/octvc1_gsm_evt_swap.h @@ -0,0 +1,249 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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 new file mode 100644 index 0000000..c61418b --- /dev/null +++ b/software/include/vocallo/gsm/octvc1_gsm_id.h @@ -0,0 +1,78 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..231059a --- /dev/null +++ b/software/include/vocallo/gsm/octvc1_gsm_rc.h @@ -0,0 +1,120 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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/gsm/octvc1_gsm_version.h b/software/include/vocallo/gsm/octvc1_gsm_version.h new file mode 100644 index 0000000..60f25f9 --- /dev/null +++ b/software/include/vocallo/gsm/octvc1_gsm_version.h @@ -0,0 +1,39 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_GSM_VERSION.h + +Copyright (c) 2014 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 . + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_GSM_VERSION_H__ +#define __OCTVC1_GSM_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_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_ID ( (cOCTVC1_GSM_VERSION_MAJOR << 25) + \ + (cOCTVC1_GSM_VERSION_MINOR << 18) + \ + (cOCTVC1_GSM_VERSION_MAINTENANCE << 11) + \ + cOCTVC1_GSM_VERSION_BUILD ) + +#endif /* __OCTVC1_GSM_VERSION_H__ */ + diff --git a/software/include/vocallo/main/octvc1_main_api.h b/software/include/vocallo/main/octvc1_main_api.h new file mode 100644 index 0000000..ffb74f3 --- /dev/null +++ b/software/include/vocallo/main/octvc1_main_api.h @@ -0,0 +1,3264 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..81e79c7 --- /dev/null +++ b/software/include/vocallo/main/octvc1_main_api_swap.h @@ -0,0 +1,1628 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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 new file mode 100644 index 0000000..c0ca214 --- /dev/null +++ b/software/include/vocallo/main/octvc1_main_default.h @@ -0,0 +1,2144 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..7f87e48 --- /dev/null +++ b/software/include/vocallo/main/octvc1_main_evt_swap.h @@ -0,0 +1,119 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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 new file mode 100644 index 0000000..ad27f62 --- /dev/null +++ b/software/include/vocallo/main/octvc1_main_id.h @@ -0,0 +1,107 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..834c330 --- /dev/null +++ b/software/include/vocallo/main/octvc1_main_rc.h @@ -0,0 +1,178 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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/main/octvc1_main_version.h b/software/include/vocallo/main/octvc1_main_version.h new file mode 100644 index 0000000..c7fbff1 --- /dev/null +++ b/software/include/vocallo/main/octvc1_main_version.h @@ -0,0 +1,39 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAIN_VERSION.h + +Copyright (c) 2014 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 . + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_MAIN_VERSION_H__ +#define __OCTVC1_MAIN_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_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_ID ( (cOCTVC1_MAIN_VERSION_MAJOR << 25) + \ + (cOCTVC1_MAIN_VERSION_MINOR << 18) + \ + (cOCTVC1_MAIN_VERSION_MAINTENANCE << 11) + \ + cOCTVC1_MAIN_VERSION_BUILD ) + +#endif /* __OCTVC1_MAIN_VERSION_H__ */ + diff --git a/software/include/vocallo/net/octvc1_net_api.h b/software/include/vocallo/net/octvc1_net_api.h new file mode 100644 index 0000000..5495026 --- /dev/null +++ b/software/include/vocallo/net/octvc1_net_api.h @@ -0,0 +1,3233 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..527cf5f --- /dev/null +++ b/software/include/vocallo/net/octvc1_net_api_swap.h @@ -0,0 +1,1628 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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 new file mode 100644 index 0000000..b265928 --- /dev/null +++ b/software/include/vocallo/net/octvc1_net_default.h @@ -0,0 +1,2774 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..f063962 --- /dev/null +++ b/software/include/vocallo/net/octvc1_net_id.h @@ -0,0 +1,90 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..6042a4f --- /dev/null +++ b/software/include/vocallo/net/octvc1_net_rc.h @@ -0,0 +1,354 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..f43c559 --- /dev/null +++ b/software/include/vocallo/net/octvc1_net_version.h @@ -0,0 +1,39 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..c2710bb --- /dev/null +++ b/software/include/vocallo/octvc1_app.h @@ -0,0 +1,33 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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_base.h b/software/include/vocallo/octvc1_base.h new file mode 100644 index 0000000..6eef47e --- /dev/null +++ b/software/include/vocallo/octvc1_base.h @@ -0,0 +1,92 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_BASE.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_BASE_H__ +#define __OCTVC1_BASE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_rc_base.h" + +/**************************************************************************** + Command identifier base + ****************************************************************************/ +#define cOCTVC1_CID_BASE ( 0x00100000 ) + +/**************************************************************************** + Event identifier base + ****************************************************************************/ +#define cOCTVC1_EID_BASE ( 0x00200000 ) + +/**************************************************************************** + Supervisory identifier base + ****************************************************************************/ +#define cOCTVC1_SID_BASE ( 0x00300000 ) + +/**************************************************************************** + return code identifier base + ****************************************************************************/ +#define cOCTVC1_RC_BASE ( cOCTVC1_API_RC_BASE ) + +/**************************************************************************** + 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 + ****************************************************************************/ + +/* 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/vocallo/octvc1_buffer.h new file mode 100644 index 0000000..5051745 --- /dev/null +++ b/software/include/vocallo/octvc1_buffer.h @@ -0,0 +1,49 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_BUFFER.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_BUFFER_H__ +#define __OCTVC1_BUFFER_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "octvc1_base.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + tOCTVC1_BUFFER_FORMAT_ENUM : Buffer format + Bits[31:16] Reserved + Bits[15:12] Specify the API type of a buffer. + Bits[11: 0] Specify the content type of a buffer. +-------------------------------------------------------------------------------------*/ +#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) ) + +/*------------------------------------------------------------------------------------- + tOCTVC1_BUFFER_FORMAT_MAIN_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_BUFFER_FORMAT_MAIN_ENUM tOCTVC1_BUFFER_FORMAT_ENUM + +#define cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_PCAP_TRACE ((tOCTVC1_BUFFER_FORMAT_ENUM)(0x0001|cOCTVC1_BUFFER_FORMAT_ENUM_MAIN) ) +#define cOCTVC1_BUFFER_FORMAT_MAIN_ENUM_FILE_SYS ((tOCTVC1_BUFFER_FORMAT_ENUM)(0x0002|cOCTVC1_BUFFER_FORMAT_ENUM_MAIN) ) + + +#endif /* __OCTVC1_BUFFER_H__ */ + diff --git a/software/include/vocallo/octvc1_cursor.h b/software/include/vocallo/octvc1_cursor.h new file mode 100644 index 0000000..1b23d9d --- /dev/null +++ b/software/include/vocallo/octvc1_cursor.h @@ -0,0 +1,238 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_CURSOR.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_CURSOR_H__ +#define __OCTVC1_CURSOR_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "octvc1_base.h" +#include "octvc1_handle.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Object Get Mode +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_OBJECT_CURSOR_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_OBJECT_CURSOR_ENUM tOCT_UINT32 + +#define cOCTVC1_OBJECT_CURSOR_ENUM_DONE 0 +#define cOCTVC1_OBJECT_CURSOR_ENUM_SPECIFIC 1 +#define cOCTVC1_OBJECT_CURSOR_ENUM_FIRST 2 +#define cOCTVC1_OBJECT_CURSOR_ENUM_NEXT 3 +#define cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_FIRST 4 +#define cOCTVC1_OBJECT_CURSOR_ENUM_SUB_OBJECT_NEXT 5 + +/*------------------------------------------------------------------------------------- + tOCTVC1_CURSOR_HANDLE_GET + Generic Object Get structure, + Use when the object is identified by a tOCTVC1_HANDLE. + + Members: + hObject + Object handle + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST + Get mode +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE hObject; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + +} tOCTVC1_CURSOR_HANDLE_GET; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CURSOR_HANDLE_GET_HANDLE + Handle get structure when the parent is identified by a tOCTVC1_HANDLE + + Members: + hObject + Object handle + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST + Get mode + hSubObject + Sub Object handle +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE hObject; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + tOCTVC1_HANDLE hSubObject; + +} tOCTVC1_CURSOR_HANDLE_GET_HANDLE; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT + Handle Object get structure when the parent is identified by a tOCTVC1_HANDLE + + Members: + hObject + Object handle + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST + Get mode + hHandleObject + Handle Object to get +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE hObject; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + tOCTVC1_HANDLE_OBJECT hHandleObject; + +} tOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID + Sub-object ID get structure when the parent is identified by a tOCTVC1_HANDLE + + Members: + hObject + Object handle + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST + Get mode + ulSubObjectId + Sub Object handle +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE hObject; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + tOCTVC1_SUB_OBJECT_ID ulSubObjectId; + +} tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CURSOR_HANDLE_OBJECT_GET + Generic Handle Object Get structure, + Use when the object is identified by a tOCTVC1_HANDLE_OBJECT. + + Members: + hObject + Object handle + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST + Get mode +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE_OBJECT hObject; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + +} tOCTVC1_CURSOR_HANDLE_OBJECT_GET; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT + Handle object get structure when the parent is identified by a + tOCTVC1_HANDLE_OBJECT + + Members: + hObject + Object handle of the parent + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST + Get mode + hHandleObjectGet + Handle object to get +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE_OBJECT hObject; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + tOCTVC1_HANDLE_OBJECT hHandleObjectGet; + +} tOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID + Sub-object get structure when the parent is identified by a + tOCTVC1_HANDLE_OBJECT + + Members: + hObject + Object handle + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST + Get mode + ulSubObjectId + Sub Object Id +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE_OBJECT hObject; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + tOCTVC1_SUB_OBJECT_ID ulSubObjectId; + +} tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID; + +/*------------------------------------------------------------------------------------- + tOCTVC1_CURSOR_INDEX_GET + Generic Index Object Get structure, + Use when the object is identified by a tOCTVC1_INDEX. + + Members: + ulIndex + Object index + ulGetMode + Default: cOCTVC1_OBJECT_CURSOR_ENUM_FIRST + Get mode +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_INDEX ulIndex; + tOCTVC1_OBJECT_CURSOR_ENUM ulGetMode; + +} tOCTVC1_CURSOR_INDEX_GET; + +/*------------------------------------------------------------------------------------- + Legacy types. Please use the new cursors. +-------------------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------------------- + tOCTVC1_OBJECT_CURSOR : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_OBJECT_CURSOR tOCTVC1_CURSOR_HANDLE_GET + + +/*------------------------------------------------------------------------------------- + tOCTVC1_SUB_OBJECT_CURSOR : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_SUB_OBJECT_CURSOR tOCTVC1_CURSOR_HANDLE_GET_HANDLE + + +/*------------------------------------------------------------------------------------- + tOCTVC1_SUB_OBJECT_ID_CURSOR : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_SUB_OBJECT_ID_CURSOR tOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID + + +/*------------------------------------------------------------------------------------- + tOCTVC1_INDEX_CURSOR : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_INDEX_CURSOR tOCTVC1_CURSOR_INDEX_GET + + + +#endif /* __OCTVC1_CURSOR_H__ */ + diff --git a/software/include/vocallo/octvc1_cursor_swap.h b/software/include/vocallo/octvc1_cursor_swap.h new file mode 100644 index 0000000..6dbf621 --- /dev/null +++ b/software/include/vocallo/octvc1_cursor_swap.h @@ -0,0 +1,132 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_cursor_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_CURSOR_SWAP_H__ +#define __OCTVC1_CURSOR_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_cursor.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_CURSOR_HANDLE_GET_SWAP( _f_pParms ){ tOCTVC1_CURSOR_HANDLE_GET * pOCTVC1_CURSOR_HANDLE_GET = (_f_pParms); \ + { 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); \ +} +#else +#define mOCTVC1_CURSOR_HANDLE_GET_SWAP( pOCTVC1_CURSOR_HANDLE_GET ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#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); \ + { 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_HANDLE_SWAP( &((tOCTVC1_CURSOR_HANDLE_GET_HANDLE *)pOCTVC1_CURSOR_HANDLE_GET_HANDLE)->hSubObject ); } \ +} +#else +#define mOCTVC1_CURSOR_HANDLE_GET_HANDLE_SWAP( pOCTVC1_CURSOR_HANDLE_GET_HANDLE ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#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); \ + { 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); \ + ((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); \ +} +#else +#define mOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT_SWAP( pOCTVC1_CURSOR_HANDLE_GET_HANDLE_OBJECT ) +#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); \ + { 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); \ + ((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); \ +} +#else +#define mOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID_SWAP( pOCTVC1_CURSOR_HANDLE_GET_SUB_OBJECT_ID ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#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); \ + ((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); \ +} +#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); \ + ((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); \ + ((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); \ +} +#else +#define mOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT_SWAP( pOCTVC1_CURSOR_HANDLE_OBJECT_GET_HANDLE_OBJECT ) +#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); \ + ((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); \ + ((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); \ +} +#else +#define mOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( pOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID ) +#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); \ + ((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); \ +} +#else +#define mOCTVC1_CURSOR_INDEX_GET_SWAP( pOCTVC1_CURSOR_INDEX_GET ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_CURSOR_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_eth.h b/software/include/vocallo/octvc1_eth.h new file mode 100644 index 0000000..5eeac4e --- /dev/null +++ b/software/include/vocallo/octvc1_eth.h @@ -0,0 +1,46 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_ETH.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_ETH_H__ +#define __OCTVC1_ETH_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "octvc1_base.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Ethernet port identifiers +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_ETH_PORT_ID_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_ETH_PORT_ID_ENUM tOCT_UINT32 + +#define cOCTVC1_ETH_PORT_ID_ENUM_0 0 +#define cOCTVC1_ETH_PORT_ID_ENUM_1 1 +#define cOCTVC1_ETH_PORT_ID_ENUM_2 2 +#define cOCTVC1_ETH_PORT_ID_ENUM_3 3 +#define cOCTVC1_ETH_PORT_ID_ENUM_INVALID 0xFFFFFFFF + +#define cOCTVC1_ETH_802_1_PQ_TCI_INVALID 0xFFFFFFFF /* Ethernet 802.1 pq definition */ + + +#endif /* __OCTVC1_ETH_H__ */ + diff --git a/software/include/vocallo/octvc1_fifo.h b/software/include/vocallo/octvc1_fifo.h new file mode 100644 index 0000000..f881ecb --- /dev/null +++ b/software/include/vocallo/octvc1_fifo.h @@ -0,0 +1,36 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_FIFO.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_FIFO_H__ +#define __OCTVC1_FIFO_H__ + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Control process _FIFO-ID definition +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_FIFO_ID_MGW_CONTROL 0x00000000 + +/*------------------------------------------------------------------------------------- + Invalid _FIFO-ID +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_FIFO_ID_INVALID 0xFFFFFFFF + +#endif /* __OCTVC1_FIFO_H__ */ + diff --git a/software/include/vocallo/octvc1_file.h b/software/include/vocallo/octvc1_file.h new file mode 100644 index 0000000..8798c4b --- /dev/null +++ b/software/include/vocallo/octvc1_file.h @@ -0,0 +1,107 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_FILE.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_FILE_H__ +#define __OCTVC1_FILE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + File Header endian magic + "\x7F""OCT". + 0x54434F7F on little endian machine. + 0x7F4F4354 on big endian machine +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_FILE_MAGIC_BIG_ENDIAN 0x7F4F4354 +#define cOCTVC1_FILE_MAGIC_LITTLE_ENDIAN 0x54434F7F +/*------------------------------------------------------------------------------------- + tOCTVC1_FILE_TYPE_ENUM : File Type description +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_FILE_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_FILE_TYPE_ENUM_NONE 0 +#define cOCTVC1_FILE_TYPE_ENUM_TEXT 1 +#define cOCTVC1_FILE_TYPE_ENUM_BIN 1 + +/*------------------------------------------------------------------------------------- + tOCTVC1_FILE_FORMAT_ENUM : File Type description +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_FILE_FORMAT_ENUM tOCT_UINT32 + +#define cOCTVC1_FILE_FORMAT_ENUM_NONE 0 +#define cOCTVC1_FILE_FORMAT_ENUM_LOG 1 + +/*------------------------------------------------------------------------------------- + File Header Type +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_FILE_TYPE_BIT_OFFSET 24 +#define cOCTVC1_FILE_TYPE_BIT_MASK 0xFF000000 + +/*------------------------------------------------------------------------------------- + File Header Format Version +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_FILE_FORMAT_VERSION_BIT_OFFSET 16 +#define cOCTVC1_FILE_FORMAT_VERSION_BIT_MASK 0x00FF0000 + +/*------------------------------------------------------------------------------------- + File Header Format +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_FILE_FORMAT_BIT_OFFSET 0 +#define cOCTVC1_FILE_FORMAT_BIT_MASK 0x0000FFFF + +/*------------------------------------------------------------------------------------- + File Header Size +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_FILE_HEADER_SIZE_BIT_OFFSET 0 +#define cOCTVC1_FILE_HEADER_SIZE_BIT_MASK 0x0000FFFF +/*------------------------------------------------------------------------------------- + tOCTVC1_FILE_HEADER + Generic file header + + Members: + ulMagic + Default: cOCTVC1_FILE_MAGIC_BIG_ENDIAN + Magic file number. + "\x7F""OCT". + 0x54434F7F on little endian machine. + 0x7F4F4354 on big endian machine + ul_Type_Ver + bits[31:24] = File Type. + bits[23:16] = File Format Version. + bits[15:0] = File Format. + ulReserved + ulHeaderSize + Header size with padding. This indicate where the file payload start (in byte). + bits[31:16] = Reserved. + bits[15:0] = Header Size with padding. +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulMagic; + tOCT_UINT32 ul_Type_Ver; + tOCT_UINT32 ulReserved; + tOCT_UINT32 ulHeaderSize; + +} tOCTVC1_FILE_HEADER; + + +#endif /* __OCTVC1_FILE_H__ */ + diff --git a/software/include/vocallo/octvc1_file_swap.h b/software/include/vocallo/octvc1_file_swap.h new file mode 100644 index 0000000..1a919ea --- /dev/null +++ b/software/include/vocallo/octvc1_file_swap.h @@ -0,0 +1,48 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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 new file mode 100644 index 0000000..3638be4 --- /dev/null +++ b/software/include/vocallo/octvc1_generic_rc.h @@ -0,0 +1,79 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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.h b/software/include/vocallo/octvc1_handle.h new file mode 100644 index 0000000..b92fa2c --- /dev/null +++ b/software/include/vocallo/octvc1_handle.h @@ -0,0 +1,118 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_HANDLE.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_HANDLE_H__ +#define __OCTVC1_HANDLE_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Handle Type Definitions +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_HANDLE_TYPE_OBJECT 0x00000000 +#define cOCTVC1_HANDLE_TYPE_SPECIAL 0xC0000000 + +/*------------------------------------------------------------------------------------- + Special Object Handle. + These handle are used by setting + tOCTVC1_HANDLE.aulHandle[0] to the selected value. +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_HANDLE_INVALID 0xFFFFFFFF +#define cOCTVC1_HANDLE_TX_ETHERNET 0xFFFFFFFE +#define cOCTVC1_HANDLE_RX_ETHERNET 0xFFFFFFFD + +/*------------------------------------------------------------------------------------- + Generic Definitions +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_DO_NOT_MODIFY 0xEEEEEEEE +#define cOCTVC1_INDEX_INVALID 0xFFFFFFFF +#define cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY 100 + +/*------------------------------------------------------------------------------------- + Base Object Type, for MAIN API +-------------------------------------------------------------------------------------*/ + +#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_MAIN_MASK 0xFF00 +#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_INVALID 0x0000 +#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_MAIN (cOCTVC1_MAIN_UID<<8) + +/*------------------------------------------------------------------------------------- + Generic Vocallo Object Handle +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_HANDLE + + Members: + aulHandle + aulHandle[0] = bits[31:30] = Handle Type (cOCTVC1_HANDLE_TYPE_*) + bits[29:16] = Handle Object Type (tOCTVC1_HANDLE_OBJ_TYPE_*) + bits[15:0] = Handle Object Instance bits[79:64] + aulHandle[1] = bits[31:0] = Handle Object Instance bits[63:32] + aulHandle[2] = bits[31:0] = Handle Object Instance bits[31:0] +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 aulHandle[3]; + +} tOCTVC1_HANDLE; + +/*------------------------------------------------------------------------------------- + tOCTVC1_HANDLE_OBJECT : Handle Object Definitions + bits[31:20] = Object Type + bits[19:0] = Object Instance bits +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_HANDLE_OBJECT tOCT_UINT32 + + +/*------------------------------------------------------------------------------------- + tOCTVC1_SUB_OBJECT_ID : Identifier specific to a child. + Implementation is specific for every parent. +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_SUB_OBJECT_ID tOCT_UINT32 + + +/*------------------------------------------------------------------------------------- + tOCTVC1_INDEX : Index specific to an object. + Implementation is specific for every object. +-------------------------------------------------------------------------------------*/ +#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/vocallo/octvc1_handle_swap.h b/software/include/vocallo/octvc1_handle_swap.h new file mode 100644 index 0000000..0aef618 --- /dev/null +++ b/software/include/vocallo/octvc1_handle_swap.h @@ -0,0 +1,45 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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 new file mode 100644 index 0000000..6137af0 --- /dev/null +++ b/software/include/vocallo/octvc1_id2string.h @@ -0,0 +1,276 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..0f6b7bd --- /dev/null +++ b/software/include/vocallo/octvc1_id2string_priv.h @@ -0,0 +1,183 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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_ip.h b/software/include/vocallo/octvc1_ip.h new file mode 100644 index 0000000..7aee2c3 --- /dev/null +++ b/software/include/vocallo/octvc1_ip.h @@ -0,0 +1,51 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_IP.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_IP_H__ +#define __OCTVC1_IP_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + tOCTVC1_IP_VERSION_ENUM : IP versions +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_IP_VERSION_ENUM tOCTDEV_IP_VERSION_ENUM + +#define cOCTVC1_IP_VERSION_ENUM_4 cOCTDEV_IP_VERSION_ENUM_4 +#define cOCTVC1_IP_VERSION_ENUM_6 cOCTDEV_IP_VERSION_ENUM_6 +#define cOCTVC1_IP_VERSION_ENUM_INVALID cOCTDEV_IP_VERSION_ENUM_INVALID + +/*------------------------------------------------------------------------------------- + tOCTVC1_IP_ADDRESS : IP address structure +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_IP_ADDRESS tOCTDEV_IP_ADDRESS + + + +/*-------------------------------------------------------------------------- + SWAP directive (for compatibility reason) +----------------------------------------------------------------------------*/ +#define mOCTVC1_IP_ADDRESS_SWAP mOCTDEV_IP_ADDRESS_SWAP + + + +#endif /* __OCTVC1_IP_H__ */ + diff --git a/software/include/vocallo/octvc1_licensing_rc.h b/software/include/vocallo/octvc1_licensing_rc.h new file mode 100644 index 0000000..b37c67c --- /dev/null +++ b/software/include/vocallo/octvc1_licensing_rc.h @@ -0,0 +1,31 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_LICENSING_RC.h + +Copyright (c) 2014 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 . + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_LICENSING_RC_H__ +#define OCTVC1_LICENSING_RC_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_base.h" + +/**************************************************************************** + LICENSING return codes + ****************************************************************************/ +#define cOCTVC1_LICENSING_RC_DENIED ( 0x0001 + cOCTVC1_LICENSING_RC_BASE ) +#define cOCTVC1_LICENSING_RC_INVALID_LICENSE ( 0x0002 + cOCTVC1_LICENSING_RC_BASE ) + +#endif /* OCTVC1_LICENSING_RC_H__ */ + diff --git a/software/include/vocallo/octvc1_list.h b/software/include/vocallo/octvc1_list.h new file mode 100644 index 0000000..72011db --- /dev/null +++ b/software/include/vocallo/octvc1_list.h @@ -0,0 +1,127 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_LIST.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_LIST_H__ +#define __OCTVC1_LIST_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "octvc1_base.h" +#include "octvc1_cursor.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + tOCTVC1_LIST_HANDLE_GET + Handle list List structure, + Used when the objects to list are identified by a tOCTVC1_HANDLE. + + Members: + ulNumHandle + Number of valid handles in aHandle + aHandle + Array containing the listed handles +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulNumHandle; + tOCTVC1_HANDLE aHandle[cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY]; + +} tOCTVC1_LIST_HANDLE_GET; + +/*------------------------------------------------------------------------------------- + tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID + Handle list List structure, + Used when the objects to list are identified by a tOCTVC1_SUB_OBJECT_ID. + + Members: + hParent + Handle of the parent of the sub-object IDs + ulNumSubObjectId + Number of valid entries in aSubObjectId + aSubObjectId + Array containing the listed sub object IDs +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE hParent; + tOCT_UINT32 ulNumSubObjectId; + tOCTVC1_SUB_OBJECT_ID aSubObjectId[cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY]; + +} tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID; + +/*------------------------------------------------------------------------------------- + tOCTVC1_LIST_HANDLE_OBJECT_GET + Handle Object list List structure, + Used when the objects to list are identified by a tOCTVC1_HANDLE_OBJECT. + + Members: + ulNumHandleObject + Number of valid handle objects in aHandleObject + aHandleObject + Array containing the listed handles +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulNumHandleObject; + tOCTVC1_HANDLE_OBJECT aHandleObject[cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY]; + +} tOCTVC1_LIST_HANDLE_OBJECT_GET; + +/*------------------------------------------------------------------------------------- + tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID + 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 + ulNumSubObjectId + Number of valid sub object IDs in aSubObjectId + aSubObjectId + Array containing the listed handles +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_HANDLE_OBJECT hParent; + tOCT_UINT32 ulNumSubObjectId; + tOCTVC1_SUB_OBJECT_ID aSubObjectId[cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY]; + +} tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID; + +/*------------------------------------------------------------------------------------- + tOCTVC1_LIST_INDEX_GET + Object Index List structure, + Used when the objects to list are identified by a tOCTVC1_INDEX. + + Members: + ulNumIndex + Number of valid index in aIndex + aIndex + Array containing the listed of indexes +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulNumIndex; + tOCTVC1_INDEX aIndex[cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY]; + +} tOCTVC1_LIST_INDEX_GET; + + +#endif /* __OCTVC1_LIST_H__ */ + diff --git a/software/include/vocallo/octvc1_list_swap.h b/software/include/vocallo/octvc1_list_swap.h new file mode 100644 index 0000000..add670f --- /dev/null +++ b/software/include/vocallo/octvc1_list_swap.h @@ -0,0 +1,105 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_list_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_LIST_SWAP_H__ +#define __OCTVC1_LIST_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_list.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_LIST_HANDLE_GET_SWAP( _f_pParms ){ tOCTVC1_LIST_HANDLE_GET * pOCTVC1_LIST_HANDLE_GET = (_f_pParms); \ + ((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; \ + for( jOCTVC1_LIST_HANDLE_GET=0; \ + jOCTVC1_LIST_HANDLE_GET<(cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY);jOCTVC1_LIST_HANDLE_GET++ ) \ + { mOCTVC1_HANDLE_SWAP( &((tOCTVC1_LIST_HANDLE_GET *)pOCTVC1_LIST_HANDLE_GET)->aHandle[jOCTVC1_LIST_HANDLE_GET] ); }} \ +} +#else +#define mOCTVC1_LIST_HANDLE_GET_SWAP( pOCTVC1_LIST_HANDLE_GET ) +#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); \ + { 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); \ + { tOCT_UINT32 iOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID; \ + for( iOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID=0; \ + iOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID<(cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY);iOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID++ ) \ + ((tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID)->aSubObjectId[iOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID] = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID)->aSubObjectId[iOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID]);}\ +} +#else +#define mOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID_SWAP( pOCTVC1_LIST_HANDLE_GET_SUB_OBJECT_ID ) +#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); \ + ((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; \ + for( iOCTVC1_LIST_HANDLE_OBJECT_GET=0; \ + iOCTVC1_LIST_HANDLE_OBJECT_GET<(cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY);iOCTVC1_LIST_HANDLE_OBJECT_GET++ ) \ + ((tOCTVC1_LIST_HANDLE_OBJECT_GET *)pOCTVC1_LIST_HANDLE_OBJECT_GET)->aHandleObject[iOCTVC1_LIST_HANDLE_OBJECT_GET] = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_OBJECT_GET *)pOCTVC1_LIST_HANDLE_OBJECT_GET)->aHandleObject[iOCTVC1_LIST_HANDLE_OBJECT_GET]);}\ +} +#else +#define mOCTVC1_LIST_HANDLE_OBJECT_GET_SWAP( pOCTVC1_LIST_HANDLE_OBJECT_GET ) +#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); \ + ((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 = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->ulNumSubObjectId); \ + { tOCT_UINT32 iOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID; \ + for( iOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID=0; \ + iOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID<(cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY);iOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID++ ) \ + ((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->aSubObjectId[iOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID] = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID *)pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID)->aSubObjectId[iOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID]);}\ +} +#else +#define mOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_SWAP( pOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID ) +#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); \ + ((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; \ + for( iOCTVC1_LIST_INDEX_GET=0; \ + iOCTVC1_LIST_INDEX_GET<(cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY);iOCTVC1_LIST_INDEX_GET++ ) \ + ((tOCTVC1_LIST_INDEX_GET *)pOCTVC1_LIST_INDEX_GET)->aIndex[iOCTVC1_LIST_INDEX_GET] = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_LIST_INDEX_GET *)pOCTVC1_LIST_INDEX_GET)->aIndex[iOCTVC1_LIST_INDEX_GET]);}\ +} +#else +#define mOCTVC1_LIST_INDEX_GET_SWAP( pOCTVC1_LIST_INDEX_GET ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_LIST_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_log.h b/software/include/vocallo/octvc1_log.h new file mode 100644 index 0000000..bff3275 --- /dev/null +++ b/software/include/vocallo/octvc1_log.h @@ -0,0 +1,134 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_LOG.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_LOG_H__ +#define __OCTVC1_LOG_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Log and trace +-------------------------------------------------------------------------------------*/ +/*------------------------------------------------------------------------------------- + tOCTVC1_LOG_TYPE_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_LOG_TYPE_ENUM tOCT_UINT32 + +#define cOCTVC1_LOG_TYPE_ENUM_LOG 0 +#define cOCTVC1_LOG_TYPE_ENUM_TRACE 1 + +/*------------------------------------------------------------------------------------- + tOCTVC1_LOG_LEVEL_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_LOG_LEVEL_ENUM tOCT_UINT32 + +#define cOCTVC1_LOG_LEVEL_ENUM_EMERGENCY 0 +#define cOCTVC1_LOG_LEVEL_ENUM_ALERT 1 +#define cOCTVC1_LOG_LEVEL_ENUM_CRITICAL 2 +#define cOCTVC1_LOG_LEVEL_ENUM_ERROR 3 +#define cOCTVC1_LOG_LEVEL_ENUM_WARNING 4 +#define cOCTVC1_LOG_LEVEL_ENUM_NOTICE 5 + +/*------------------------------------------------------------------------------------- + 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_NONE 0x00 +#define cOCTVC1_LOG_TRACE_MASK_ALL 0xFFFFFFFF + +/*------------------------------------------------------------------------------------- + tOCTVC1_LOG_ID : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_LOG_ID tOCT_UINT32 + + +/*------------------------------------------------------------------------------------- + Log Header Type +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_LOG_TYPE_BIT_OFFSET 28 +#define cOCTVC1_LOG_TYPE_BIT_MASK 0xF0000000 + +/*------------------------------------------------------------------------------------- + Log Header Fragment Extra Entry. +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_LOG_FRAGMENT_BIT_OFFSET 27 +#define cOCTVC1_LOG_FRAGMENT_BIT_MASK 0x08000000 + +/*------------------------------------------------------------------------------------- + Log Header string data +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_LOG_PAYLOAD_STR_BIT_OFFSET 26 +#define cOCTVC1_LOG_PAYLOAD_STR_BIT_MASK 0x04000000 + +/*------------------------------------------------------------------------------------- + Log Header info + If TYPE_LOG info value map to tOCTVC1_LOG_LEVEL_ENUM + 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 + +/*------------------------------------------------------------------------------------- + Log Header payload length +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_LOG_PAYLOAD_LENGTH_BIT_OFFSET 0 +#define cOCTVC1_LOG_PAYLOAD_LENGTH_BIT_MASK 0x0000FFFF +/*------------------------------------------------------------------------------------- + tOCTVC1_LOG_HEADER + Log and trace Header + + Members: + ulId + ulTime + Time of log, base on system time + hProcess + Process handle + 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[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 + bits[15:0] = Log or Trace payload length (in bytes). +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCTVC1_LOG_ID ulId; + tOCT_UINT32 ulTime; + tOCT_UINT32 hProcess; + tOCT_UINT32 ul_Type_Info_Length; + +} tOCTVC1_LOG_HEADER; + + +#endif /* __OCTVC1_LOG_H__ */ + diff --git a/software/include/vocallo/octvc1_log_swap.h b/software/include/vocallo/octvc1_log_swap.h new file mode 100644 index 0000000..b7cf362 --- /dev/null +++ b/software/include/vocallo/octvc1_log_swap.h @@ -0,0 +1,47 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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_mac.h b/software/include/vocallo/octvc1_mac.h new file mode 100644 index 0000000..1d5a83b --- /dev/null +++ b/software/include/vocallo/octvc1_mac.h @@ -0,0 +1,42 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MAC.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_MAC_H__ +#define __OCTVC1_MAC_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + tOCTVC1_MAC_ADDRESS : MAC address structure +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_MAC_ADDRESS tOCTDEV_MAC_ADDRESS + + + +/*-------------------------------------------------------------------------- + SWAP directive (for compatibility reason) +----------------------------------------------------------------------------*/ +#define mOCTVC1_MAC_ADDRESS_SWAP mOCTDEV_MAC_ADDRESS_SWAP + + + +#endif /* __OCTVC1_MAC_H__ */ + diff --git a/software/include/vocallo/octvc1_macro.h b/software/include/vocallo/octvc1_macro.h new file mode 100644 index 0000000..52b079d --- /dev/null +++ b/software/include/vocallo/octvc1_macro.h @@ -0,0 +1,70 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MACRO.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_MACRO_H__ +#define __OCTVC1_MACRO_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "../octdev_macro.h" +#include "octvc1_handle.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Generic swap macros +-------------------------------------------------------------------------------------*/ + + +/*-------------------------------------------------------------------------- + 32-bit Endian Swapping when target is Little Endian +----------------------------------------------------------------------------*/ +#if !defined( mOCTVC1_SWAP32_IF_LE ) +#define mOCTVC1_SWAP32_IF_LE( f_ulValue ) mOCT_SWAP32_IF_LE( f_ulValue ) +#endif /* mOCTVC1_SWAP32_IF_LE */ + +/*-------------------------------------------------------------------------- + 16-bit Endian Swapping when target is Little Endian +----------------------------------------------------------------------------*/ +#if !defined( mOCTVC1_SWAP16_IF_LE ) +#define mOCTVC1_SWAP16_IF_LE( f_usValue ) mOCT_SWAP16_IF_LE( f_usValue ) +#endif /* mOCTVC1_SWAP16_IF_LE */ + +/*-------------------------------------------------------------------------- + Create a TSST Identifier +----------------------------------------------------------------------------*/ + +#define mOCTVC1_MAKE_TSST_ID( f_ulStream, f_ulTimeslot ) \ + ( ( ((f_ulStream) & 0x1f) << 10 ) + \ + ((f_ulTimeslot) & 0x3ff) ) + +/*-------------------------------------------------------------------------- + Get Vocoder Mask from a Vocoder Type Value +----------------------------------------------------------------------------*/ +/* what 32-bit DWORD index the bit mask corresponds to */ +#define mOCTVC1_GET_VOCMASK_INDEX( f_ulEncoderType ) \ + ( (((f_ulEncoderType) >> 5) & 0x3) ) + +/* The actual bit mask for the 32-bit index */ +#define mOCTVC1_GET_VOCMASK_BIT( f_ulEncoderType ) \ + ( (1 << ((f_ulEncoderType) & 0x1F)) ) + + + +#endif /* __OCTVC1_MACRO_H__ */ + diff --git a/software/include/vocallo/octvc1_msg.h b/software/include/vocallo/octvc1_msg.h new file mode 100644 index 0000000..ed6dad7 --- /dev/null +++ b/software/include/vocallo/octvc1_msg.h @@ -0,0 +1,148 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_MSG.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_MSG_H__ +#define __OCTVC1_MSG_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" +#include "octvocnet_pkt.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +/*------------------------------------------------------------------------------------- + Message Types +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MSG_TYPE_COMMAND 0 +#define cOCTVC1_MSG_TYPE_RESPONSE 1 +#define cOCTVC1_MSG_TYPE_NOTIFICATION 2 +#define cOCTVC1_MSG_TYPE_SUPERVISORY 7 +#define cOCTVC1_MSG_TYPE_BIT_OFFSET 29 +#define cOCTVC1_MSG_TYPE_BIT_MASK 0x7 + +/*------------------------------------------------------------------------------------- + Message Resynch +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MSG_RESYNCH_BIT_OFFSET 28 +#define cOCTVC1_MSG_RESYNCH_BIT_MASK 0x1 + +/*------------------------------------------------------------------------------------- + Message identifier +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MSG_ID_BIT_OFFSET 0 +#define cOCTVC1_MSG_ID_BIT_MASK 0x0FFFFFFF + +/*------------------------------------------------------------------------------------- + Message identifier - Method ID +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MSG_METHOD_ID_BIT_OFFSET 0 +#define cOCTVC1_MSG_METHOD_BIT_MASK 0x00000FFF + +/*------------------------------------------------------------------------------------- + Message identifier - Module ID +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MSG_MODULE_ID_BIT_OFFSET 16 +#define cOCTVC1_MSG_MODULE_BIT_MASK 0x000000FF + +/*------------------------------------------------------------------------------------- + Message identifier - Module and MethodID +-------------------------------------------------------------------------------------*/ +#define cOCTVC1_MSG_MODULE_AND_METHOD_BIT_MASK ((cOCTVC1_MSG_MODULE_BIT_MASK<. + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#ifndef __OCTVC1_MSG_SWAP_H__ +#define __OCTVC1_MSG_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_msg.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_MSG_HEADER_SWAP( _f_pParms ){ tOCTVC1_MSG_HEADER * pOCTVC1_MSG_HEADER = (_f_pParms); \ + ((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 = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ulTransactionId); \ + ((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ul_Type_R_CmdId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ul_Type_R_CmdId); \ + ((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ulSessionId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ulSessionId); \ + ((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ulReturnCode = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_MSG_HEADER *)pOCTVC1_MSG_HEADER)->ulReturnCode); \ +} +#else +#define mOCTVC1_MSG_HEADER_SWAP( pOCTVC1_MSG_HEADER ) +#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); \ + ((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 = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_EVENT_HEADER *)pOCTVC1_EVENT_HEADER)->ulEventId); \ + ((tOCTVC1_EVENT_HEADER *)pOCTVC1_EVENT_HEADER)->ulUserEventId = \ + mOCT_SWAP32_IF_LE(((tOCTVC1_EVENT_HEADER *)pOCTVC1_EVENT_HEADER)->ulUserEventId); \ +} +#else +#define mOCTVC1_EVENT_HEADER_SWAP( pOCTVC1_EVENT_HEADER ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_MSG_SWAP_H__ */ diff --git a/software/include/vocallo/octvc1_privacy.h b/software/include/vocallo/octvc1_privacy.h new file mode 100644 index 0000000..abf35c1 --- /dev/null +++ b/software/include/vocallo/octvc1_privacy.h @@ -0,0 +1,24 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..1e34643 --- /dev/null +++ b/software/include/vocallo/octvc1_rc2string.h @@ -0,0 +1,336 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..8def032 --- /dev/null +++ b/software/include/vocallo/octvc1_swap_hdrs.h @@ -0,0 +1,51 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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/octvc1_udp.h b/software/include/vocallo/octvc1_udp.h new file mode 100644 index 0000000..c1fd9ab --- /dev/null +++ b/software/include/vocallo/octvc1_udp.h @@ -0,0 +1,44 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_UDP.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_UDP_H__ +#define __OCTVC1_UDP_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +#define cOCTVC1_UDP_PORT_INVALID cOCTDEV_UDP_PORT_INVALID /* Invalid UDP port specification. */ + +/*------------------------------------------------------------------------------------- + tOCTVC1_UDP_ADDRESS : UDP address structure +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_UDP_ADDRESS tOCTDEV_UDP_ADDRESS + + + +/*-------------------------------------------------------------------------- + SWAP directive (for compatibility reason) +----------------------------------------------------------------------------*/ +#define mOCTVC1_UDP_ADDRESS_SWAP mOCTDEV_UDP_ADDRESS_SWAP + + + +#endif /* __OCTVC1_UDP_H__ */ + diff --git a/software/include/vocallo/octvc1_vlan.h b/software/include/vocallo/octvc1_vlan.h new file mode 100644 index 0000000..bef3fae --- /dev/null +++ b/software/include/vocallo/octvc1_vlan.h @@ -0,0 +1,82 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_VLAN.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_VLAN_H__ +#define __OCTVC1_VLAN_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octdev_types.h" + + +/************************ COMMON DEFINITIONS *******************************/ + +#define cOCTVC1_VLAN_MAX_TAG 4 + +/*------------------------------------------------------------------------------------- + tOCTVC1_VLAN_PROTOCOL_ID_ENUM : +-------------------------------------------------------------------------------------*/ +#define tOCTVC1_VLAN_PROTOCOL_ID_ENUM tOCT_UINT32 + +#define cOCTVC1_VLAN_PROTOCOL_ID_ENUM_8100 0 +#define cOCTVC1_VLAN_PROTOCOL_ID_ENUM_88A8 1 +#define cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9100 2 +#define cOCTVC1_VLAN_PROTOCOL_ID_ENUM_9200 3 + +/*------------------------------------------------------------------------------------- + tOCTVC1_VLAN_TAG + + Members: + ulPriority + Range: [0..7] + Default: 5 + ulVlanId + Range: [0..4095] + Default: 0 + ulProtocolId + Default: cOCTVC1_VLAN_PROTOCOL_ID_ENUM_8100 +-------------------------------------------------------------------------------------*/ +typedef struct +{ + tOCT_UINT32 ulPriority; + tOCT_UINT32 ulVlanId; + tOCTVC1_VLAN_PROTOCOL_ID_ENUM ulProtocolId; + +} tOCTVC1_VLAN_TAG; + +/*------------------------------------------------------------------------------------- + tOCTVC1_VLAN_HEADER_INFO + + Members: + ulNumVlanTag + Range: [0..cOCTVC1_VLAN_MAX_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_VLAN_TAG aVlanTag[cOCTVC1_VLAN_MAX_TAG]; + +} tOCTVC1_VLAN_HEADER_INFO; + + +#endif /* __OCTVC1_VLAN_H__ */ + diff --git a/software/include/vocallo/octvc1_vlan_swap.h b/software/include/vocallo/octvc1_vlan_swap.h new file mode 100644 index 0000000..8c47e93 --- /dev/null +++ b/software/include/vocallo/octvc1_vlan_swap.h @@ -0,0 +1,59 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +File: octvc1_vlan_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_VLAN_SWAP_H__ +#define __OCTVC1_VLAN_SWAP_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_swap_hdrs.h" +#include "octvc1_vlan.h" + +/********************************* MACROS **********************************/ + + +#if defined( _OCT_ENDIAN_TYPE_LE_ ) +#define mOCTVC1_VLAN_TAG_SWAP( _f_pParms ){ tOCTVC1_VLAN_TAG * pOCTVC1_VLAN_TAG = (_f_pParms); \ + ((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); \ +} +#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); \ + ((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; \ + for( jOCTVC1_VLAN_HEADER_INFO=0; \ + jOCTVC1_VLAN_HEADER_INFO<(cOCTVC1_VLAN_MAX_TAG);jOCTVC1_VLAN_HEADER_INFO++ ) \ + { mOCTVC1_VLAN_TAG_SWAP( &((tOCTVC1_VLAN_HEADER_INFO *)pOCTVC1_VLAN_HEADER_INFO)->aVlanTag[jOCTVC1_VLAN_HEADER_INFO] ); }} \ +} +#else +#define mOCTVC1_VLAN_HEADER_INFO_SWAP( pOCTVC1_VLAN_HEADER_INFO ) +#endif /* _OCT_ENDIAN_TYPE_LE_ */ + +#ifdef __cplusplus +} + +#endif + +#endif /* __OCTVC1_VLAN_SWAP_H__ */ diff --git a/software/include/vocallo/octvocnet_pkt.h b/software/include/vocallo/octvocnet_pkt.h new file mode 100644 index 0000000..0c81cda --- /dev/null +++ b/software/include/vocallo/octvocnet_pkt.h @@ -0,0 +1,464 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +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 new file mode 100644 index 0000000..3becd22 --- /dev/null +++ b/software/include/vocallo/octvocnet_pkt_swap.h @@ -0,0 +1,144 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* + +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__ */ diff --git a/software/include/vocallo/pkt_api/octvc1_pkt_api.h b/software/include/vocallo/pkt_api/octvc1_pkt_api.h new file mode 100644 index 0000000..040d296 --- /dev/null +++ b/software/include/vocallo/pkt_api/octvc1_pkt_api.h @@ -0,0 +1,982 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_PKT_API.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: 25549 $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_PKT_API_H__ +#define __OCTVC1_PKT_API_H__ + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_pkt_api_rc.h" +#include "../../octdev_types.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" + +/*-------------------------------------------------------------------------- + C language +----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +extern "C" { +#endif + + +/***************************** DEFINES **************************************/ + +/*-------------------------------------------------------------------------- + API Packet Types +----------------------------------------------------------------------------*/ +#define tOCTVC1_PKT_API_PKT_TYPE_ENUM tOCT_UINT32 +#define cOCTVC1_PKT_API_PKT_TYPE_ENUM_INVALID 0xFFFFFFFF +#define cOCTVC1_PKT_API_PKT_TYPE_ENUM_RSP 0 +#define cOCTVC1_PKT_API_PKT_TYPE_ENUM_EVENT 1 +#define cOCTVC1_PKT_API_PKT_TYPE_ENUM_DATA 2 +#define cOCTVC1_PKT_API_PKT_TYPE_ENUM_DISCOVER 3 +#define cOCTVC1_PKT_API_PKT_TYPE_ENUM_CMD 4 + +#define cOCTVC1_PKT_API_PKT_TYPE_ENUM_MAX (cOCTVC1_PKT_API_PKT_TYPE_ENUM_CMD) +#define cOCTVC1_PKT_API_PKT_TYPE_ENUM_CNT (cOCTVC1_PKT_API_PKT_TYPE_ENUM_MAX + 1) + +#define tOCTVC1_PKT_API_RCV_MASK tOCT_UINT32 +#define cOCTVC1_PKT_API_RCV_MASK_RSP (1<. + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +$Revision: 21846 $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_PKT_API_DEF_H__ +#define __OCTVC1_PKT_API_DEF_H__ + +/***************************** INCLUDE FILES *******************************/ +#include "octvc1_pkt_api.h" + +/*-------------------------------------------------------------------------- + C language +----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +extern "C" { +#endif + + +/***************************** DEFINES **************************************/ + +/*-------------------------------------------------------------------------- + INSTANCE Default structure macros +----------------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_INST_GET_SIZE_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_INST_GET_SIZE_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_INST_GET_SIZE_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->pInitParms = 0x0; \ + _pParms->ulRequiredSize = 0; \ + } + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_INST_INIT_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_INST_INIT_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_INST_INIT_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->ulCmdTimeoutMs = 2000; \ + _pParms->ulMaxRetry = 1; \ + _pParms->ulMaxConnection = 2; \ + _pParms->ulMaxSession = 1; \ + _pParms->ulMaxSyncCmd = 8; \ + _pParms->ulMaxPendingRsp = 8; \ + _pParms->ulMaxPendingEvt = 8; \ + _pParms->ulMaxPendingData = 8; \ + _pParms->usSessionInstanceStart = 0; \ + _pParms->pOsContext = 0x0; \ + _pParms->pTransportContext = 0x0; \ + _pParms->pTransportLocalContext = 0x0; \ + _pParms->AdaptorSelection = 0; \ + _pParms->abyLocalMac[0] = 0x0; \ + _pParms->abyLocalMac[1] = 0x0; \ + _pParms->abyLocalMac[2] = 0x0; \ + _pParms->abyLocalMac[3] = 0x0; \ + _pParms->abyLocalMac[4] = 0x0; \ + _pParms->abyLocalMac[5] = 0x0; \ + _pParms->pszInterfaceName = NULL; \ + _pParms->ulOptionMask = cOCTVC1_PKT_API_INSTANCE_OPTION_MASK_NONE; \ + _pParms->TransportFunc.pfnTransportApiOpen = 0x0; \ + _pParms->TransportFunc.pfnTransportApiClose = 0x0; \ + _pParms->TransportFunc.pfnTransportApiSend = 0x0; \ + _pParms->TransportFunc.pfnTransportApiRecv = 0x0; \ + _pParms->TransportFunc.pfnTransportApiSelect = 0x0; \ + _pParms->TransportFunc.pfnTransportApiOpenLoopBack = 0x0;\ + } + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_INST_TERM_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_INST_TERM_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_INST_TERM_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->fForce = cOCT_FALSE; \ + } + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_INST_STATS_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_INST_STATS_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_INST_STATS_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->fClear = cOCT_FALSE; \ + _pParms->ulOpenConnectionCnt = 0; \ + _pParms->ulOpenSessionCnt = 0; \ + _pParms->ulTotalPktSentCnt = 0; \ + _pParms->ulTotalPktRecvCnt = 0; \ + _pParms->ulTotalPktRejectCnt = 0; \ + _pParms->ulTotalPktTimeoutCnt = 0; \ + _pParms->ulTotalPktInvalidCnt = 0; \ + _pParms->ulTotalPktDropCnt = 0; \ + _pParms->ulTotalPktLateRspCnt = 0; \ + } + + + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_INST_INFO_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_INST_INFO_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_INST_INFO_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->pTransportContext = 0x0; \ + _pParms->pTransportLocalContext = 0x0; \ + _pParms->abyLocalMac[0] = 0x0; \ + _pParms->abyLocalMac[1] = 0x0; \ + _pParms->abyLocalMac[2] = 0x0; \ + _pParms->abyLocalMac[3] = 0x0; \ + _pParms->abyLocalMac[4] = 0x0; \ + _pParms->abyLocalMac[5] = 0x0; \ + _pParms->ulOptionMask = cOCTVC1_PKT_API_INSTANCE_OPTION_MASK_NONE; \ + } + + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_INST_DISCOVER_DEV_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_INST_DISCOVER_DEV_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_INST_DISCOVER_DEV_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->ulTimeoutMs = 500; \ + _pParms->pTransportDiscoverContext = NULL; \ + _pParms->ulDeviceCnt = 0; \ + } + + + + +/*-------------------------------------------------------------------------- + CONNECTION Default structure macros +----------------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_CNCT_OPEN_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_CNCT_OPEN_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_CNCT_OPEN_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->abyRemoteMac[0] = 0x0; \ + _pParms->abyRemoteMac[1] = 0x0; \ + _pParms->abyRemoteMac[2] = 0x0; \ + _pParms->abyRemoteMac[3] = 0x0; \ + _pParms->abyRemoteMac[4] = 0x0; \ + _pParms->abyRemoteMac[5] = 0x0; \ + _pParms->pTransportRemoteContext = NULL; \ + _pParms->pUserConnectionContext = NULL; \ + _pParms->pConnection = NULL; \ + } + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_CNCT_CLOSE_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_CNCT_CLOSE_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_CNCT_CLOSE_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->fForce = cOCT_FALSE; \ + } + + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_CNCT_STATS_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_CNCT_STATS_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_CNCT_STATS_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->fClear = cOCT_FALSE; \ + _pParms->ulOpenSessionCnt = 0; \ + _pParms->ulTotalPktSentCnt = 0; \ + _pParms->ulTotalPktRecvCnt = 0; \ + _pParms->ulTotalPktRejectCnt = 0; \ + _pParms->ulTotalPktTimeoutCnt = 0; \ + _pParms->ulTotalPktDropCnt = 0; \ + _pParms->ulTotalPktLateRspCnt = 0; \ + } + + + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_CNCT_INFO_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_CNCT_INFO_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_CNCT_INFO_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->abyRemoteMac[0] = 0x0; \ + _pParms->abyRemoteMac[1] = 0x0; \ + _pParms->abyRemoteMac[2] = 0x0; \ + _pParms->abyRemoteMac[3] = 0x0; \ + _pParms->abyRemoteMac[4] = 0x0; \ + _pParms->abyRemoteMac[5] = 0x0; \ + _pParms->pTransportRemoteContext = NULL; \ + _pParms->pUserConnectionContext = NULL; \ + } + + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_CNCT_MODIFY_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_CNCT_MODIFY_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_CNCT_MODIFY_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->abyRemoteMac[0] = 0x0; \ + _pParms->abyRemoteMac[1] = 0x0; \ + _pParms->abyRemoteMac[2] = 0x0; \ + _pParms->abyRemoteMac[3] = 0x0; \ + _pParms->abyRemoteMac[4] = 0x0; \ + _pParms->abyRemoteMac[5] = 0x0; \ + _pParms->pTransportRemoteContext = NULL; \ + _pParms->pUserConnectionContext = NULL; \ + } + + + +/*-------------------------------------------------------------------------- + SESSION Default structure macros +----------------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_SESS_OPEN_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_SESS_OPEN_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_SESS_OPEN_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->ulControlProcessFifoId = cOCTVC1_FIFO_ID_MGW_CONTROL; \ + _pParms->pUserSessionContext = NULL; \ + _pParms->pSession = NULL; \ + } + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_SESS_CLOSE_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_SESS_CLOSE_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_SESS_CLOSE_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->fForce = cOCT_FALSE; \ + } + + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_SESS_STATS_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_SESS_STATS_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_SESS_STATS_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->fClear = cOCT_FALSE; \ + _pParms->ulPktSentCnt = 0; \ + _pParms->ulPktRecvCnt = 0; \ + _pParms->ulPktRejectCnt = 0; \ + _pParms->ulPktTimeoutCnt = 0; \ + _pParms->ulPktLateRspCnt = 0; \ + } + + +/*-------------------------------------------------------------------------- + Common Default structure macros +----------------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_INST_RECV_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_INST_RECV_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_INST_RECV_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->PktRcvMask = cOCTVC1_PKT_API_RCV_MASK_ALL; \ + _pParms->ulTimeoutMs = cOCTVC1_PKT_API_FOREVER; \ + _pParms->pPayload = NULL; \ + _pParms->ulMaxPayloadLength = 0; \ + _pParms->RcvPktType = cOCTVC1_PKT_API_PKT_TYPE_ENUM_INVALID; \ + _pParms->ulRcvPayloadLength = 0; \ + _pParms->Info.Rsp.ulCmdId = 0; \ + _pParms->Info.Rsp.ulReturnCode = 0; \ + _pParms->Info.Rsp.pUserCmdContext = NULL; \ + _pParms->pConnection = NULL; \ + _pParms->pUserConnectionContext = NULL; \ + _pParms->pSession = NULL; \ + _pParms->pUserSessionContext = NULL; \ + } + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_DATA_SEND_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_DATA_SEND_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_DATA_SEND_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->ulFormat = cOCTVOCNET_PKT_FORMAT_Q; \ + _pParms->ulLength = 0; \ + _pParms->pData = NULL; \ + } + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_CMD_SEND_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_CMD_SEND_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_CMD_SEND_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->ulCmdTimeoutMs = 0; \ + _pParms->pUserCmdContext = NULL; \ + _pParms->pCmd = NULL; \ + } + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_CMD_EXECUTE_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_CMD_EXECUTE_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_CMD_EXECUTE_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->ulCmdTimeoutMs = 0; \ + _pParms->pCmd = NULL; \ + _pParms->ulMaxRspLength = 0; \ + _pParms->ulRcvRspLength = 0; \ + _pParms->pRsp = NULL; \ + } + +/*---------------------------------------------------------------------------- + Default macro for tOCTVC1_PKT_API_SYSTEM_GET_MAC_ADDR_PARMS structure +----------------------------------------------------------------------------*/ +#define mOCTVC1_PKT_API_SYSTEM_GET_MAC_ADDR_PARMS_DEF( _f_pParms ) \ + { \ + tOCTVC1_PKT_API_SYSTEM_GET_MAC_ADDR_PARMS * _pParms; \ + _pParms = (_f_pParms); \ + _pParms->pTransportContext = NULL; \ + _pParms->AdaptorSelection = 0; \ + _pParms->pszInterfaceName = NULL; \ + _pParms->ulAdaptorIndex = 0; \ + _pParms->abyLocalMac[0] = 0; \ + _pParms->abyLocalMac[1] = 0; \ + _pParms->abyLocalMac[2] = 0; \ + _pParms->abyLocalMac[3] = 0; \ + _pParms->abyLocalMac[4] = 0; \ + _pParms->abyLocalMac[5] = 0; \ + } + +/*************************** STRUCTURES *************************************/ + + + +/***************************** FUNCTIONS ************************************/ + +/*-------------------------------------------------------------------------- + C language +----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +} +#endif + +#endif /* __OCTVC1_PKT_API_DEF_H__*/ diff --git a/software/include/vocallo/pkt_api/octvc1_pkt_api_rc.h b/software/include/vocallo/pkt_api/octvc1_pkt_api_rc.h new file mode 100644 index 0000000..3dfcdcd --- /dev/null +++ b/software/include/vocallo/pkt_api/octvc1_pkt_api_rc.h @@ -0,0 +1,51 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_PKT_API_RC.h + +Copyright (c) 2014 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 . + +Octasic_Release: OCTSDR-2G-01.08.05-B29-ALPHA (2014/08/14) + +$Octasic_Revision: $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef OCTVC1_PKT_API_RC_H__ +#define OCTVC1_PKT_API_RC_H__ + + +/***************************** INCLUDE FILES *******************************/ +#include "../octvc1_generic_rc.h" + +/**************************************************************************** + PKT_API return codes + ****************************************************************************/ +#define cOCTVC1_PKT_API_RC_OK ( 0x0000 ) +#define cOCTVC1_PKT_API_RC_OS_ERROR ( 0x0001 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_TRANSPORT_ERROR ( 0x0002 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_TIMEOUT ( 0x0003 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_LOCAL_MAC_INDEX_NOT_FOUND ( 0x0004 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_BAD_PARAM ( 0x0005 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_INST_CNCT_NOMORE ( 0x0100 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_INST_PKT_NOMORE ( 0x0101 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_INST_SYNC_TOOMANY ( 0x0102 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_INST_CNCT_DEP ( 0x0103 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_INST_DISCOVER_INPROGRESS ( 0x0104 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_INST_RSP_TRUNCATE ( 0x0105 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_INST_TERMINATED ( 0x0106 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_CNCT_SESS_NOMORE ( 0x0200 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_CNCT_SESS_DEP ( 0x0201 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_CNCT_BRIDGE_DEP ( 0x0202 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_CNCT_ALREADY_OPEN ( 0x0203 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_INTERFACE_NAME_NOT_FOUND ( 0x0204 + cOCTVC1_PKT_API_RC_BASE ) +#define cOCTVC1_PKT_API_RC_DEPENDENCIES ( 0x0205 + cOCTVC1_PKT_API_RC_BASE ) +#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 ) + +#endif /* OCTVC1_PKT_API_RC_H__ */ + diff --git a/software/include/vocallo/pkt_api/octvc1_pkt_api_version.h b/software/include/vocallo/pkt_api/octvc1_pkt_api_version.h new file mode 100644 index 0000000..2c77a22 --- /dev/null +++ b/software/include/vocallo/pkt_api/octvc1_pkt_api_version.h @@ -0,0 +1,58 @@ +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +File: OCTVC1_PKT_API_VERSION.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: 25841 $ + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#ifndef __OCTVC1_PKT_API_VERSION_H__ +#define __OCTVC1_PKT_API_VERSION_H__ + +/***************************** INCLUDE FILES *******************************/ +#include "../../octdev_types.h" + +/*-------------------------------------------------------------------------- + C language +----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +extern "C" { +#endif + + +/***************************** DEFINES **************************************/ +/* 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_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_ID ( (cOCTVC1_PKT_API_VERSION_MAJOR << 25) + \ + (cOCTVC1_PKT_API_VERSION_MINOR << 18) + \ + (cOCTVC1_PKT_API_VERSION_MAINTENANCE << 11) + \ + cOCTVC1_PKT_API_VERSION_BUILD ) + +/*-------------------------------------------------------------------------- + C language +----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +} +#endif + +#endif /* __OCTVC1_PKT_API_VERSION_H__*/