diff options
author | Jaap Keuter <jaap.keuter@xs4all.nl> | 2009-02-22 09:09:27 +0000 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2009-02-22 09:09:27 +0000 |
commit | 56a1139bc0b5c8b8d19088a1d6f590792a17a931 (patch) | |
tree | f98a9e20d4498f525a389550d333d30e179b9d79 /plugins | |
parent | 663f835c1e25d5a868a7b51c255484dc409bd643 (diff) |
Incorporate plugin dissector into build in collection.
svn path=/trunk/; revision=27497
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/Makefile.am | 1 | ||||
-rw-r--r-- | plugins/Makefile.nmake | 4 | ||||
-rw-r--r-- | plugins/rtnet/AUTHORS | 3 | ||||
-rw-r--r-- | plugins/rtnet/COPYING | 340 | ||||
-rw-r--r-- | plugins/rtnet/Makefile.am | 127 | ||||
-rw-r--r-- | plugins/rtnet/Makefile.common | 31 | ||||
-rw-r--r-- | plugins/rtnet/Makefile.nmake | 106 | ||||
-rw-r--r-- | plugins/rtnet/moduleinfo.h | 17 | ||||
-rw-r--r-- | plugins/rtnet/moduleinfo.nmake | 28 | ||||
-rw-r--r-- | plugins/rtnet/packet-rtnet.c | 1371 | ||||
-rw-r--r-- | plugins/rtnet/plugin.rc.in | 34 |
11 files changed, 0 insertions, 2062 deletions
diff --git a/plugins/Makefile.am b/plugins/Makefile.am index 5812a377d9..6ceb4a36cc 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -42,7 +42,6 @@ SUBDIRS = $(_CUSTOM_SUBDIRS_) \ pcli \ profinet \ rlm \ - rtnet \ sercosiii \ stats_tree \ unistim \ diff --git a/plugins/Makefile.nmake b/plugins/Makefile.nmake index 8fe510eaa2..3348d56f3e 100644 --- a/plugins/Makefile.nmake +++ b/plugins/Makefile.nmake @@ -87,9 +87,6 @@ process-plugins: cd rlm $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake $(PLUGIN_TARGET) cd .. - cd rtnet - $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake $(PLUGIN_TARGET) - cd .. cd sercosiii $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake $(PLUGIN_TARGET) cd .. @@ -134,7 +131,6 @@ install-plugins: xcopy plugins\pcli\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\profinet\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\rlm\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d - xcopy plugins\rtnet\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\sercosiii\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\stats_tree\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d xcopy plugins\unistim\*.dll $(INSTALL_DIR)\plugins\$(VERSION) /d diff --git a/plugins/rtnet/AUTHORS b/plugins/rtnet/AUTHORS deleted file mode 100644 index 2f7c1251c4..0000000000 --- a/plugins/rtnet/AUTHORS +++ /dev/null @@ -1,3 +0,0 @@ -Author : -Erwin Rol <erwin@erwinrol.com> - diff --git a/plugins/rtnet/COPYING b/plugins/rtnet/COPYING deleted file mode 100644 index d60c31a97a..0000000000 --- a/plugins/rtnet/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 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. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - 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 - - -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. - - <signature of Ty Coon>, 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/plugins/rtnet/Makefile.am b/plugins/rtnet/Makefile.am deleted file mode 100644 index f3320fb8a5..0000000000 --- a/plugins/rtnet/Makefile.am +++ /dev/null @@ -1,127 +0,0 @@ -# Makefile.am -# Automake file for RTNET plugin -# -# $Id$ -# -# Wireshark - Network traffic analyzer -# By Gerald Combs <gerald@wireshark.org> -# 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. -# - -INCLUDES = -I$(top_srcdir) -I$(includedir) - -include Makefile.common - -if HAVE_WARNINGS_AS_ERRORS -AM_CFLAGS = -Werror -endif - -plugindir = @plugindir@ - -plugin_LTLIBRARIES = rtnet.la -rtnet_la_SOURCES = \ - plugin.c \ - moduleinfo.h \ - $(DISSECTOR_SRC) \ - $(DISSECTOR_INCLUDES) -rtnet_la_LDFLAGS = -module -avoid-version -rtnet_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 = \ - rtnet \ - *~ - -MAINTAINERCLEANFILES = \ - Makefile.in \ - plugin.c - -EXTRA_DIST = \ - Makefile.common \ - Makefile.nmake \ - moduleinfo.nmake \ - plugin.rc.in - -checkapi: - $(PERL) $(top_srcdir)/tools/checkAPIs.pl -g abort -g termoutput $(DISSECTOR_SRC) diff --git a/plugins/rtnet/Makefile.common b/plugins/rtnet/Makefile.common deleted file mode 100644 index 7dad68d582..0000000000 --- a/plugins/rtnet/Makefile.common +++ /dev/null @@ -1,31 +0,0 @@ -# Makefile.common for RTNET plugin -# Contains the stuff from Makefile.am and Makefile.nmake that is -# a) common to both files and -# b) portable between both files -# -# $Id$ -# -# Wireshark - Network traffic analyzer -# By Gerald Combs <gerald@wireshark.org> -# 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 = rtnet - -# the dissector sources (without any helpers) -DISSECTOR_SRC = \ - packet-rtnet.c diff --git a/plugins/rtnet/Makefile.nmake b/plugins/rtnet/Makefile.nmake deleted file mode 100644 index acc863edc3..0000000000 --- a/plugins/rtnet/Makefile.nmake +++ /dev/null @@ -1,106 +0,0 @@ -# Makefile.nmake -# nmake file for Wireshark plugin -# -# $Id$ -# - -include ..\..\config.nmake -include moduleinfo.nmake - -include Makefile.common - -CFLAGS=/WX /DHAVE_CONFIG_H /I../.. $(GLIB_CFLAGS) \ - /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS) - -.c.obj:: - $(CC) $(CFLAGS) -Fd.\ -c $< - -LDFLAGS = $(PLUGIN_LDFLAGS) - -!IFDEF ENABLE_LIBWIRESHARK -LINK_PLUGIN_WITH=..\..\epan\libwireshark.lib -CFLAGS=/DHAVE_WIN32_LIBWIRESHARK_LIB /D_NEED_VAR_IMPORT_ $(CFLAGS) - -DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj) - -DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj) - -OBJECTS = $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) plugin.obj - -RESOURCE=$(PLUGIN_NAME).res - -all: $(PLUGIN_NAME).dll - -$(PLUGIN_NAME).rc : moduleinfo.nmake - 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/@MSVC_VARIANT@/$(MSVC_VARIANT)/ \ - < plugin.rc.in > $@ - -$(PLUGIN_NAME).dll $(PLUGIN_NAME).exp $(PLUGIN_NAME).lib : $(OBJECTS) $(LINK_PLUGIN_WITH) $(RESOURCE) - link -dll /out:$(PLUGIN_NAME).dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH) \ - $(GLIB_LIBS) $(RESOURCE) -!IF $(MSC_VER_REQUIRED) >= 1400 - mt.exe -nologo -manifest "$(PLUGIN_NAME).dll.manifest" -outputresource:$(PLUGIN_NAME).dll;2 -!ENDIF - -# -# 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 - -!ENDIF - -clean: - rm -f $(OBJECTS) $(RESOURCE) plugin.c *.pdb \ - $(PLUGIN_NAME).dll $(PLUGIN_NAME).dll.manifest $(PLUGIN_NAME).lib \ - $(PLUGIN_NAME).exp $(PLUGIN_NAME).rc - -distclean: clean - -maintainer-clean: distclean - -checkapi: - $(PERL) ../../tools/checkAPIs.pl -g abort -g termoutput $(DISSECTOR_SRC) diff --git a/plugins/rtnet/moduleinfo.h b/plugins/rtnet/moduleinfo.h deleted file mode 100644 index 299399df17..0000000000 --- a/plugins/rtnet/moduleinfo.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Included *after* config.h, in order to re-define these macros */ - -#ifdef PACKAGE -#undef PACKAGE -#endif - -/* Name of package */ -#define PACKAGE "rtnet" - - -#ifdef VERSION -#undef VERSION -#endif - -/* Version number of package */ -#define VERSION "0.0.4" - diff --git a/plugins/rtnet/moduleinfo.nmake b/plugins/rtnet/moduleinfo.nmake deleted file mode 100644 index bbfd419729..0000000000 --- a/plugins/rtnet/moduleinfo.nmake +++ /dev/null @@ -1,28 +0,0 @@ -# -# $Id$ -# - -# The name -PACKAGE=rtnet - -# The version -MODULE_VERSION_MAJOR=0 -MODULE_VERSION_MINOR=0 -MODULE_VERSION_MICRO=4 -MODULE_VERSION_EXTRA=0 - -# -# 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) - diff --git a/plugins/rtnet/packet-rtnet.c b/plugins/rtnet/packet-rtnet.c deleted file mode 100644 index a485229287..0000000000 --- a/plugins/rtnet/packet-rtnet.c +++ /dev/null @@ -1,1371 +0,0 @@ -/* packet-rtnet.c - * Routines for RTnet packet disassembly - * - * $Id$ - * - * Copyright (c) 2003 by Erwin Rol <erwin@erwinrol.com> - * Copyright (c) 2004 by Jan Kiszka <jan.kiszka@web.de> - * - * Wireshark - Network traffic analyzer - * By Gerald Combs <gerald@wireshark.org> - * Copyright 1999 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 files */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "moduleinfo.h" - -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> -#include <time.h> -#include <string.h> - -#include <glib.h> -#include <epan/packet.h> -#include <epan/addr_resolv.h> -#include <epan/etypes.h> -#include <epan/strutil.h> - -/* - * See - * - * http://www.rts.uni-hannover.de/rtnet/ - */ - -#define RTMAC_TYPE_TDMA 0x0001 /* since version 2 */ -#define RTMAC_TYPE_TDMA_V1 0x9031 /* first TDMA version */ - -static const value_string rtmac_type_vals[] = { - { RTMAC_TYPE_TDMA, "TDMA" }, - { RTMAC_TYPE_TDMA_V1, "TDMA-V1" }, - { 0, NULL } -}; - -#define RTMAC_FLAG_TUNNEL 0x01 -#define RTMAC_FLAGS_RES 0xFE - -#define RTCFG_MSG_S1_CONFIG 0x0 -#define RTCFG_MSG_ANN_NEW 0x1 -#define RTCFG_MSG_ANN_REPLY 0x2 -#define RTCFG_MSG_S2_CONFIG 0x3 -#define RTCFG_MSG_S2_FRAG 0x4 -#define RTCFG_MSG_ACK 0x5 -#define RTCFG_MSG_READY 0x6 -#define RTCFG_MSG_HBEAT 0x7 -#define RTCFG_MSG_DEAD_STN 0x8 - -static const value_string rtcfg_msg_vals[] = { - { RTCFG_MSG_S1_CONFIG, "Stage 1 Config" }, - { RTCFG_MSG_ANN_NEW, "New Announce" }, - { RTCFG_MSG_ANN_REPLY, "Reply Announce" }, - { RTCFG_MSG_S2_CONFIG, "Stage 2 Config" }, - { RTCFG_MSG_S2_FRAG, "Stage 2 Fragment" }, - { RTCFG_MSG_ACK, "Acknowledge" }, - { RTCFG_MSG_READY, "Ready" }, - { RTCFG_MSG_HBEAT, "Heartbeat" }, - { RTCFG_MSG_DEAD_STN, "Dead Station" }, - { 0, NULL } -}; - -#define RTCFG_ADDRESS_TYPE_MAC 0x00 -#define RTCFG_ADDRESS_TYPE_IP 0x01 - -static const value_string rtcfg_address_type_vals[] = { - { RTCFG_ADDRESS_TYPE_MAC, "MAC" }, - { RTCFG_ADDRESS_TYPE_IP, "IP" }, - { 0, NULL } -}; - -#define TDMA_V1_MSG_NOTIFY_MASTER 0x10 -#define TDMA_V1_MSG_REQUEST_TEST 0x11 -#define TDMA_V1_MSG_ACK_TEST 0x12 -#define TDMA_V1_MSG_REQUEST_CONF 0x13 -#define TDMA_V1_MSG_ACK_CONF 0x14 -#define TDMA_V1_MSG_ACK_ACK_CONF 0x15 -#define TDMA_V1_MSG_STATION_LIST 0x16 -#define TDMA_V1_MSG_REQUEST_CHANGE_OFFSET 0x17 -#define TDMA_V1_MSG_START_OF_FRAME 0x18 - -static const value_string tdma_v1_msg_vals[] = { - { TDMA_V1_MSG_NOTIFY_MASTER, "Notify Master" }, - { TDMA_V1_MSG_REQUEST_TEST, "Request Test" }, - { TDMA_V1_MSG_ACK_TEST, "Acknowledge Test" }, - { TDMA_V1_MSG_REQUEST_CONF, "Request Config" }, - { TDMA_V1_MSG_ACK_CONF, "Acknowledge Config" }, - { TDMA_V1_MSG_ACK_ACK_CONF, "Ack Ack Config" }, - { TDMA_V1_MSG_STATION_LIST, "Station List" }, - { TDMA_V1_MSG_REQUEST_CHANGE_OFFSET, "Request Change Offset" }, - { TDMA_V1_MSG_START_OF_FRAME, "Start of Frame" }, - { 0, NULL } -}; - -#define TDMA_MSG_SYNC 0x0000 -#define TDMA_MSG_CAL_REQUEST 0x0010 -#define TDMA_MSG_CAL_REPLY 0x0011 - -static const value_string tdma_msg_vals[] = { - { TDMA_MSG_SYNC, "Synchronisation" }, - { TDMA_MSG_CAL_REQUEST, "Request Calibration" }, - { TDMA_MSG_CAL_REPLY, "Reply Calibration" }, - { 0, NULL } -}; - -static dissector_table_t ethertype_table; -static dissector_handle_t data_handle; - -/* Define the rtnet proto */ -static int proto_rtmac = -1; -static int proto_tdma = -1; -static int proto_rtcfg = -1; - -/* RTmac Header */ -static int hf_rtmac_header_type = -1; -static int hf_rtmac_header_ver = -1; -static int hf_rtmac_header_flags = -1; -static int hf_rtmac_header_flags_tunnel = -1; -static int hf_rtmac_header_flags_res = -1; -static int hf_rtmac_header_res_v1 = -1; - - -/* RTcfg */ -static int hf_rtcfg_vers_id = -1; -static int hf_rtcfg_vers = -1; -static int hf_rtcfg_id = -1; -static int hf_rtcfg_address_type = -1; -static int hf_rtcfg_client_ip_address = -1; -static int hf_rtcfg_server_ip_address = -1; -static int hf_rtcfg_burst_rate = -1; -static int hf_rtcfg_padding = -1; -static int hf_rtcfg_s1_config_length = -1; -static int hf_rtcfg_config_data = -1; -static int hf_rtcfg_client_flags = -1; -static int hf_rtcfg_client_flags_available = -1; -static int hf_rtcfg_client_flags_ready = -1; -static int hf_rtcfg_client_flags_res = -1; -static int hf_rtcfg_server_flags = -1; -static int hf_rtcfg_server_flags_res0 = -1; -static int hf_rtcfg_server_flags_ready = -1; -static int hf_rtcfg_server_flags_res2 = -1; -static int hf_rtcfg_active_stations = -1; -static int hf_rtcfg_heartbeat_period = -1; -static int hf_rtcfg_s2_config_length = -1; -static int hf_rtcfg_config_offset = -1; -static int hf_rtcfg_ack_length = -1; -static int hf_rtcfg_client_hw_address = -1; - - -/* TDMA-V1 */ -static int hf_tdma_v1_msg = -1; - -/* TDMA REQUEST_CONF */ -static int hf_tdma_v1_msg_request_conf_station = -1; -static int hf_tdma_v1_msg_request_conf_padding = -1; -static int hf_tdma_v1_msg_request_conf_mtu = -1; -static int hf_tdma_v1_msg_request_conf_cycle = -1; - -/* TDMA ACK_CONF */ -static int hf_tdma_v1_msg_ack_conf_station = -1; -static int hf_tdma_v1_msg_ack_conf_padding = -1; -static int hf_tdma_v1_msg_ack_conf_mtu = -1; -static int hf_tdma_v1_msg_ack_conf_cycle = -1; - -/* TDMA ACK_ACK_CONF */ -static int hf_tdma_v1_msg_ack_ack_conf_station = -1; -static int hf_tdma_v1_msg_ack_ack_conf_padding = -1; - -/* TDMA REQUEST_TEST */ -static int hf_tdma_v1_msg_request_test_counter = -1; -static int hf_tdma_v1_msg_request_test_tx = -1; - -/* TDMA ACK_TEST */ -static int hf_tdma_v1_msg_ack_test_counter = -1; -static int hf_tdma_v1_msg_ack_test_tx = -1; - -/* TDMA STATION_LIST */ -static int hf_tdma_v1_msg_station_list_nr_stations = -1; -static int hf_tdma_v1_msg_station_list_padding = -1; - -static int hf_tdma_v1_msg_station_list_ip = -1; -static int hf_tdma_v1_msg_station_list_nr = -1; - -/* TDMA CHANGE_OFFSET */ -static int hf_tdma_v1_msg_request_change_offset_offset = -1; - -/* TDMA START_OF_FRAME */ -static int hf_tdma_v1_msg_start_of_frame_timestamp = -1; - - -/* TDMA since version 2 */ -static int hf_tdma_ver = -1; -static int hf_tdma_id = -1; - -/* TDMA Sync */ -static int hf_tdma_sync_cycle = -1; -static int hf_tdma_sync_xmit_stamp = -1; -static int hf_tdma_sync_sched_xmit = -1; - -/* TDMA Request Calibration */ -static int hf_tdma_req_cal_xmit_stamp = -1; -static int hf_tdma_req_cal_rpl_cycle = -1; -static int hf_tdma_req_cal_rpl_slot = -1; - -/* TDMA Reply Calibration */ -static int hf_tdma_rpl_cal_req_stamp = -1; -static int hf_tdma_rpl_cal_rcv_stamp = -1; -static int hf_tdma_rpl_cal_xmit_stamp = -1; - - -/* Define the tree for rtnet */ -static int ett_rtmac = -1; -static int ett_rtmac_flags = -1; -static int ett_tdma = -1; -static int ett_rtcfg = -1; - -static guint -dissect_rtnet_tdma_notify_master(tvbuff_t *tvb _U_, guint offset, proto_tree *tree _U_) -{ - return offset; -} - -static guint -dissect_rtnet_tdma_request_test(tvbuff_t *tvb, guint offset, proto_tree *tree) -{ - proto_tree_add_item(tree, hf_tdma_v1_msg_request_test_counter, tvb, - offset, 4, TRUE ); - offset += 4; - - proto_tree_add_item(tree, hf_tdma_v1_msg_request_test_tx, tvb, - offset, 8, TRUE ); - offset += 8; - - return offset; -} - -static guint -dissect_rtnet_tdma_ack_test(tvbuff_t *tvb, guint offset, proto_tree *tree) -{ - proto_tree_add_item(tree, hf_tdma_v1_msg_ack_test_counter, tvb, - offset, 4, TRUE ); - offset += 4; - - proto_tree_add_item(tree, hf_tdma_v1_msg_ack_test_tx, tvb, - offset, 8, TRUE ); - offset += 8; - - return offset; -} - -static guint -dissect_rtnet_tdma_request_conf(tvbuff_t *tvb, guint offset, proto_tree *tree) -{ - proto_tree_add_item(tree, hf_tdma_v1_msg_request_conf_station, tvb, - offset, 1, FALSE ); - offset += 1; - - proto_tree_add_item(tree, hf_tdma_v1_msg_request_conf_padding, tvb, - offset, 1, FALSE ); - offset += 1; - - proto_tree_add_item(tree, hf_tdma_v1_msg_request_conf_mtu, tvb, - offset, 2, FALSE ); - offset += 2; - - proto_tree_add_item(tree, hf_tdma_v1_msg_request_conf_cycle, tvb, - offset, 4, FALSE ); - offset += 4; - - return offset; -} - - -static guint -dissect_rtnet_tdma_ack_conf(tvbuff_t *tvb, guint offset, proto_tree *tree) -{ - proto_tree_add_item(tree, hf_tdma_v1_msg_ack_conf_station, tvb, - offset, 1, FALSE ); - offset += 1; - - proto_tree_add_item(tree, hf_tdma_v1_msg_ack_conf_padding, tvb, - offset, 1, FALSE ); - offset += 1; - - proto_tree_add_item(tree, hf_tdma_v1_msg_ack_conf_mtu, tvb, - offset, 2, FALSE ); - offset += 2; - - proto_tree_add_item(tree, hf_tdma_v1_msg_ack_conf_cycle, tvb, - offset, 4, FALSE ); - offset += 4; - - return offset; -} - -static guint -dissect_rtnet_tdma_ack_ack_conf(tvbuff_t *tvb, guint offset, proto_tree *tree) { - - proto_tree_add_item(tree, hf_tdma_v1_msg_ack_ack_conf_station, tvb, - offset, 1, FALSE ); - - offset += 1; - - proto_tree_add_item(tree, hf_tdma_v1_msg_ack_ack_conf_padding, tvb, - offset, 3, FALSE ); - offset += 3; - - return offset; -} - -static guint -dissect_rtnet_tdma_station_list(tvbuff_t *tvb, guint offset, proto_tree *tree) -{ - guint8 nr_stations; - guint8 i; - - nr_stations = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_tdma_v1_msg_station_list_nr_stations, tvb, - offset, 1, nr_stations); - - offset += 1; - - proto_tree_add_item(tree, hf_tdma_v1_msg_station_list_padding, tvb, - offset, 3, FALSE ); - offset += 3; - - - for( i = 0; i < nr_stations; i++ ) - { - proto_tree_add_item(tree, hf_tdma_v1_msg_station_list_ip, tvb, - offset, 4, FALSE ); - - offset += 4; - - proto_tree_add_item(tree, hf_tdma_v1_msg_station_list_nr, tvb, - offset, 1, FALSE ); - - offset += 1; - - proto_tree_add_item(tree, hf_tdma_v1_msg_station_list_padding, tvb, - offset, 3, FALSE ); - offset += 3; - } - - return offset; -} - -static guint -dissect_rtnet_tdma_request_change_offset(tvbuff_t *tvb, guint offset, proto_tree *tree) -{ - proto_tree_add_item(tree, hf_tdma_v1_msg_request_change_offset_offset, tvb, - offset, 4, FALSE ); - - offset += 4; - - return offset; -} - -static guint -dissect_rtnet_tdma_start_of_frame(tvbuff_t *tvb, guint offset, proto_tree *tree) -{ - proto_tree_add_item(tree, hf_tdma_v1_msg_start_of_frame_timestamp, tvb, - offset, 8, FALSE ); - offset += 8; - - return offset; -} - -static void -dissect_rtnet_tdma_v1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *root) { - guint offset = 0; - guint32 msg; - proto_tree *tree; - proto_item *ti; - - msg = tvb_get_ntohl(tvb, offset); - - /* Set the protocol column */ - if (check_col(pinfo->cinfo,COL_PROTOCOL)){ - col_set_str(pinfo->cinfo,COL_PROTOCOL,"TDMA-V1"); - } - - /* set the info column */ - if (check_col(pinfo->cinfo, COL_INFO)) { - col_add_fstr(pinfo->cinfo, COL_INFO, "%s", - val_to_str(msg, tdma_v1_msg_vals, "Unknown (0x%04x)")); - } - - if (root) { - ti = proto_tree_add_item(root, proto_tdma, tvb, 0, -1, FALSE); - tree = proto_item_add_subtree(ti, ett_tdma); - - proto_item_append_text(ti, ", Version 1, %s", - val_to_str(msg, tdma_v1_msg_vals, "Unknown (0x%04x)")); - - proto_tree_add_item(tree, hf_tdma_v1_msg, tvb, - offset, 4, FALSE); - offset += 4; - - switch( msg ) { - case TDMA_V1_MSG_NOTIFY_MASTER: - dissect_rtnet_tdma_notify_master(tvb, offset, tree); - break; - - case TDMA_V1_MSG_REQUEST_TEST: - dissect_rtnet_tdma_request_test(tvb, offset, tree); - break; - - case TDMA_V1_MSG_ACK_TEST: - dissect_rtnet_tdma_ack_test(tvb, offset, tree); - break; - - case TDMA_V1_MSG_REQUEST_CONF: - dissect_rtnet_tdma_request_conf(tvb, offset, tree); - break; - - case TDMA_V1_MSG_ACK_CONF: - dissect_rtnet_tdma_ack_conf(tvb, offset, tree); - break; - - case TDMA_V1_MSG_ACK_ACK_CONF: - dissect_rtnet_tdma_ack_ack_conf(tvb, offset, tree); - break; - - case TDMA_V1_MSG_STATION_LIST: - dissect_rtnet_tdma_station_list (tvb, offset, tree); - break; - - case TDMA_V1_MSG_REQUEST_CHANGE_OFFSET: - dissect_rtnet_tdma_request_change_offset(tvb, offset, tree); - break; - - case TDMA_V1_MSG_START_OF_FRAME: - dissect_rtnet_tdma_start_of_frame(tvb, offset, tree); - break; - - default: - break; - } - } -} - -static void -dissect_tdma_sync(tvbuff_t *tvb, guint offset, proto_tree *tree) { - gint64 time; - proto_item *ti; - - proto_tree_add_item(tree, hf_tdma_sync_cycle, tvb, offset, 4, FALSE); - offset += 4; - - ti = proto_tree_add_item(tree, hf_tdma_sync_xmit_stamp, tvb, offset, 8, FALSE); - time = tvb_get_ntoh64(tvb, offset) - tvb_get_ntoh64(tvb, offset+8); - proto_item_append_text(ti, " (%s%" G_GINT64_MODIFIER "d)", (time > 0) ? "+" : "", time); - offset += 8; - - proto_tree_add_item(tree, hf_tdma_sync_sched_xmit, tvb, offset, 8, FALSE); -} - -static void -dissect_tdma_request_cal(tvbuff_t *tvb, guint offset, proto_tree *tree) { - - proto_tree_add_item(tree, hf_tdma_req_cal_xmit_stamp, tvb, offset, 8, FALSE); - offset += 8; - - proto_tree_add_item(tree, hf_tdma_req_cal_rpl_cycle, tvb, offset, 4, FALSE); - offset += 4; - - proto_tree_add_item(tree, hf_tdma_req_cal_rpl_slot, tvb, offset, 8, FALSE); -} - -static void -dissect_tdma_reply_cal(tvbuff_t *tvb, guint offset, proto_tree *tree) { - gint64 time; - proto_item *ti; - - proto_tree_add_item(tree, hf_tdma_rpl_cal_req_stamp, tvb, offset, 8, FALSE); - offset += 8; - - proto_tree_add_item(tree, hf_tdma_rpl_cal_rcv_stamp, tvb, offset, 8, FALSE); - - time = tvb_get_ntoh64(tvb, offset+8) - tvb_get_ntoh64(tvb, offset); - offset += 8; - - ti = proto_tree_add_item(tree, hf_tdma_rpl_cal_xmit_stamp, tvb, offset, 8, FALSE); - proto_item_append_text(ti, " (%s%" G_GINT64_MODIFIER "d)", (time > 0) ? "+" : "", time); -} - -static void -dissect_rtnet_tdma(tvbuff_t *tvb, packet_info *pinfo, proto_tree *root) { - guint offset = 0; - guint16 msg; - proto_item *ti; - proto_tree *tree; - - msg = tvb_get_ntohs(tvb, 2); - - /* Set the protocol column */ - if (check_col(pinfo->cinfo,COL_PROTOCOL)){ - col_set_str(pinfo->cinfo,COL_PROTOCOL,"TDMA"); - } - - /* Set the info column */ - if (check_col(pinfo->cinfo, COL_INFO)) { - col_add_fstr(pinfo->cinfo, COL_INFO, "%s", - val_to_str(msg, tdma_msg_vals, "Unknown (0x%04x)")); - } - - if (root) { - ti = proto_tree_add_item(root, proto_tdma, tvb, 0, -1, FALSE); - tree = proto_item_add_subtree(ti, ett_tdma); - - proto_item_append_text(ti, ", %s", val_to_str(msg, tdma_msg_vals, "Unknown (0x%04x)")); - - proto_tree_add_item(tree, hf_tdma_ver, tvb, offset, 2, FALSE); - offset += 2; - - proto_tree_add_item(tree, hf_tdma_id, tvb, offset, 2, FALSE); - offset += 2; - - switch (msg) { - case TDMA_MSG_SYNC: - dissect_tdma_sync(tvb, offset, tree); - break; - - case TDMA_MSG_CAL_REQUEST: - dissect_tdma_request_cal(tvb, offset, tree); - break; - - case TDMA_MSG_CAL_REPLY: - dissect_tdma_reply_cal(tvb, offset, tree); - break; - - default: - break; - } - } -} - -static void -dissect_rtmac(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - gint offset = 0; - guint8 ver,flags; - guint16 type; - tvbuff_t *next_tvb; - proto_tree *ti=NULL, *rtmac_tree=NULL; - proto_item *item; - dissector_handle_t dissector=NULL; - const gchar *type_str=NULL; - - /* Read the header */ - type = tvb_get_ntohs(tvb, offset); - ver = tvb_get_guint8(tvb, offset+2); - flags = tvb_get_guint8(tvb, offset+3); - - if (ver == 1) { - type_str = match_strval(type, rtmac_type_vals); - if (!type_str) { - dissector = dissector_get_port_handle(ethertype_table, type); - } - } else { - if (flags & RTMAC_FLAG_TUNNEL) { - dissector = dissector_get_port_handle(ethertype_table, type); - } - } - if (!dissector) - dissector = data_handle; - - if (tree) { - ti = proto_tree_add_item(tree, proto_rtmac, tvb, offset, 4, FALSE); - rtmac_tree = proto_item_add_subtree(ti, ett_rtmac); - proto_item_append_text(ti, ", Version %d", ver); - } - - /* Set the protocol column */ - if (check_col(pinfo->cinfo, COL_PROTOCOL)) { - col_set_str(pinfo->cinfo, COL_PROTOCOL, "RTmac"); - } - - /* set the info column */ - if (check_col(pinfo->cinfo, COL_INFO)) { - col_clear(pinfo->cinfo,COL_INFO); - col_add_fstr(pinfo->cinfo, COL_INFO, "Unknown (0x%04x)",type); - } - - if (rtmac_tree) { - if (ver == 1) { - if (!type_str) { - if (dissector != data_handle) - type_str = dissector_handle_get_short_name(dissector); - else - type_str = "Unknown"; - } - } else { - if (!(flags & RTMAC_FLAG_TUNNEL)) - type_str = val_to_str(type, rtmac_type_vals, "Unknown"); - else { - if (dissector != data_handle) - type_str = dissector_handle_get_short_name(dissector); - else - type_str = "Unknown"; - } - } - proto_tree_add_string_format(rtmac_tree, hf_rtmac_header_type, tvb, offset, 2, - type_str, "Type: %s (0x%04x)", type_str, type); - offset += 2; - - proto_tree_add_item(rtmac_tree, hf_rtmac_header_ver, tvb, offset, 1, FALSE); - offset += 1; - - if (ver == 1) - proto_tree_add_item(rtmac_tree, hf_rtmac_header_res_v1, tvb, offset, 1, FALSE); - else { - item = proto_tree_add_item(rtmac_tree, hf_rtmac_header_flags, tvb, offset, 1, FALSE); - ti = proto_item_add_subtree(item, ett_rtmac_flags); - proto_tree_add_item(ti, hf_rtmac_header_flags_res, tvb, offset, 1, FALSE); - proto_tree_add_item(ti, hf_rtmac_header_flags_tunnel, tvb, offset, 1, FALSE); - } - offset += 1; - } - else - offset += 4; - - next_tvb = tvb_new_subset(tvb, offset, -1, -1); - - if (ver == 1) - switch (type) { - case RTMAC_TYPE_TDMA_V1: - dissect_rtnet_tdma_v1(next_tvb, pinfo, tree); - break; - - default: - call_dissector(dissector, next_tvb, pinfo, tree); - break; - } - else - if (flags & RTMAC_FLAG_TUNNEL) - call_dissector(dissector, next_tvb, pinfo, tree); - else - switch (type) { - case RTMAC_TYPE_TDMA: - dissect_rtnet_tdma(next_tvb, pinfo, tree); - break; - - default: - call_dissector(data_handle, next_tvb, pinfo, tree); - break; - } -} - -static void -dissect_rtcfg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - gint offset = 0; - proto_tree *vers_id_tree, *vers_id_item, *flags_tree, *flags_item; - guint8 vers_id; - guint8 address_type; - guint32 config_length,len; - proto_tree *ti=NULL,*rtcfg_tree=NULL; - const guint8 *haddr; - - /* Set the protocol column */ - if(check_col(pinfo->cinfo,COL_PROTOCOL)){ - col_set_str(pinfo->cinfo,COL_PROTOCOL,"RTcfg"); - } - - /* Clear out stuff in the info column */ - if(check_col(pinfo->cinfo,COL_INFO)){ - col_clear(pinfo->cinfo,COL_INFO); - } - - if (tree) { - ti = proto_tree_add_item(tree, proto_rtcfg, tvb, offset, -1, FALSE); - rtcfg_tree = proto_item_add_subtree(ti, ett_rtcfg); - } - - vers_id = tvb_get_guint8(tvb, offset); - - if (check_col(pinfo->cinfo, COL_INFO)) { - col_add_fstr(pinfo->cinfo, COL_INFO, "%s", - val_to_str(vers_id, rtcfg_msg_vals, "Unknown (0x%04x)")); - } - - if( rtcfg_tree ) - { - vers_id_item = proto_tree_add_uint(rtcfg_tree, hf_rtcfg_vers_id, tvb, - offset, 1, vers_id); - - vers_id_tree=proto_item_add_subtree(vers_id_item, ett_rtcfg); - proto_tree_add_item(vers_id_tree, hf_rtcfg_vers, tvb, offset, 1, FALSE); - proto_tree_add_item(vers_id_tree, hf_rtcfg_id, tvb, offset, 1, FALSE); - offset += 1; - - proto_item_append_text(ti, ", Version %d, %s", - (vers_id >> 5), - val_to_str(vers_id, rtcfg_msg_vals, "Unknown (0x%04x)")); - - switch( vers_id & 0x1f ) - { - case RTCFG_MSG_S1_CONFIG: - address_type = tvb_get_guint8(tvb, offset); - proto_tree_add_item( rtcfg_tree, hf_rtcfg_address_type, tvb, offset, 1, FALSE ); - offset += 1; - - switch( address_type ) - { - case RTCFG_ADDRESS_TYPE_MAC: - /* nothing */ - break; - - case RTCFG_ADDRESS_TYPE_IP: - proto_tree_add_item( rtcfg_tree, hf_rtcfg_client_ip_address, tvb, offset, 4, FALSE ); - offset += 4; - - proto_tree_add_item( rtcfg_tree, hf_rtcfg_server_ip_address, tvb, offset, 4, FALSE ); - offset += 4; - - break; - } - - proto_tree_add_item( rtcfg_tree, hf_rtcfg_burst_rate, tvb, offset, 1, FALSE ); - offset += 1; - - config_length = tvb_get_ntohs( tvb, offset ); - proto_tree_add_item( rtcfg_tree, hf_rtcfg_s1_config_length, tvb, offset, 2, FALSE ); - offset += 2; - - if( config_length > 0 ) { - proto_tree_add_item( rtcfg_tree, hf_rtcfg_config_data, tvb, offset, config_length, FALSE ); - offset += config_length; - } - - break; - - case RTCFG_MSG_ANN_NEW: - address_type = tvb_get_guint8(tvb, offset); - proto_tree_add_item( rtcfg_tree, hf_rtcfg_address_type, tvb, offset, 1, FALSE ); - offset += 1; - - switch( address_type ) - { - case RTCFG_ADDRESS_TYPE_MAC: - /* nothing */ - break; - - case RTCFG_ADDRESS_TYPE_IP: - proto_tree_add_item( rtcfg_tree, hf_rtcfg_client_ip_address, tvb, offset, 4, FALSE ); - offset += 4; - break; - } - - flags_item = proto_tree_add_item(rtcfg_tree, hf_rtcfg_client_flags, tvb, - offset, 1, FALSE); - - flags_tree=proto_item_add_subtree(flags_item, ett_rtcfg); - proto_tree_add_item(flags_tree, hf_rtcfg_client_flags_available, tvb, offset, 1, FALSE); - proto_tree_add_item(flags_tree, hf_rtcfg_client_flags_ready, tvb, offset, 1, FALSE); - proto_tree_add_item(flags_tree, hf_rtcfg_client_flags_res, tvb, offset, 1, FALSE); - offset += 1; - - proto_tree_add_item( rtcfg_tree, hf_rtcfg_burst_rate, tvb, offset, 1, FALSE ); - offset += 1; - - break; - - case RTCFG_MSG_ANN_REPLY: - address_type = tvb_get_guint8(tvb, offset); - proto_tree_add_item( rtcfg_tree, hf_rtcfg_address_type, tvb, offset, 1, FALSE ); - offset += 1; - - switch( address_type ) - { - case RTCFG_ADDRESS_TYPE_MAC: - /* nothing */ - break; - - case RTCFG_ADDRESS_TYPE_IP: - proto_tree_add_item( rtcfg_tree, hf_rtcfg_client_ip_address, tvb, offset, 4, FALSE ); - offset += 4; - break; - } - - flags_item = proto_tree_add_item(rtcfg_tree, hf_rtcfg_client_flags, tvb, - offset, 1, FALSE); - - flags_tree=proto_item_add_subtree(flags_item, ett_rtcfg); - proto_tree_add_item(flags_tree, hf_rtcfg_client_flags_available, tvb, offset, 1, FALSE); - proto_tree_add_item(flags_tree, hf_rtcfg_client_flags_ready, tvb, offset, 1, FALSE); - proto_tree_add_item(flags_tree, hf_rtcfg_client_flags_res, tvb, offset, 1, FALSE); - offset += 1; - - proto_tree_add_item( rtcfg_tree, hf_rtcfg_padding, tvb, offset, 1, FALSE ); - offset += 1; - - break; - - case RTCFG_MSG_S2_CONFIG: - flags_item = proto_tree_add_item(rtcfg_tree, hf_rtcfg_server_flags, tvb, - offset, 1, FALSE); - - flags_tree=proto_item_add_subtree(flags_item, ett_rtcfg); - proto_tree_add_item(flags_tree, hf_rtcfg_server_flags_res0, tvb, offset, 1, FALSE); - proto_tree_add_item(flags_tree, hf_rtcfg_server_flags_ready, tvb, offset, 1, FALSE); - proto_tree_add_item(flags_tree, hf_rtcfg_server_flags_res2, tvb, offset, 1, FALSE); - offset += 1; - - proto_tree_add_item( rtcfg_tree, hf_rtcfg_active_stations, tvb, offset, 4, FALSE ); - offset += 4; - - proto_tree_add_item( rtcfg_tree, hf_rtcfg_heartbeat_period, tvb, offset, 2, FALSE ); - offset += 2; - - config_length = tvb_get_ntohl( tvb, offset ); - proto_tree_add_item( rtcfg_tree, hf_rtcfg_s2_config_length, tvb, offset, 4, FALSE ); - offset += 4; - - if( config_length > 0 ) { - len = tvb_reported_length_remaining(tvb, offset); - proto_tree_add_item( rtcfg_tree, hf_rtcfg_config_data, tvb, offset, len, FALSE ); - offset += len; - } - - break; - - case RTCFG_MSG_S2_FRAG: - proto_tree_add_item( rtcfg_tree, hf_rtcfg_config_offset, tvb, offset, 4, FALSE ); - offset += 4; - - len = tvb_reported_length_remaining(tvb, offset); - proto_tree_add_item( rtcfg_tree, hf_rtcfg_config_data, tvb, offset, len, FALSE ); - offset += len; - break; - - case RTCFG_MSG_ACK: - proto_tree_add_item( rtcfg_tree, hf_rtcfg_ack_length, tvb, offset, 4, FALSE ); - offset += 4; - - break; - - case RTCFG_MSG_READY: - break; - - case RTCFG_MSG_HBEAT: - break; - - case RTCFG_MSG_DEAD_STN: - address_type = tvb_get_guint8(tvb, offset); - proto_tree_add_item( rtcfg_tree, hf_rtcfg_address_type, tvb, offset, 1, FALSE ); - offset += 1; - - switch( address_type ) - { - case RTCFG_ADDRESS_TYPE_MAC: - /* nothing */ - break; - - case RTCFG_ADDRESS_TYPE_IP: - proto_tree_add_item( rtcfg_tree, hf_rtcfg_client_ip_address, tvb, offset, 4, FALSE ); - offset += 4; - break; - } - - switch (pinfo->fd->lnk_t) { - case WTAP_ENCAP_ETHERNET: - haddr = tvb_get_ptr(tvb, offset, 6); - proto_tree_add_bytes_format( rtcfg_tree, hf_rtcfg_client_hw_address, tvb, offset, 32, - haddr, "Client Hardware Address: %02X:%02X:%02X:%02X:%02X:%02X", - *haddr, *(haddr+1), *(haddr+2), - *(haddr+3), *(haddr+4), *(haddr+5) ); - break; - - default: - proto_tree_add_item( rtcfg_tree, hf_rtcfg_client_hw_address, tvb, offset, 32, FALSE ); - break; - } - offset += 32; - - break; - - } - } -} - -void -proto_register_rtmac(void) { - static const true_false_string rtnet_flags_set_truth = { - "Set", - "Not set" - }; - - static hf_register_info hf_array_rtmac[] = { - - /* RTmac header */ - { &hf_rtmac_header_type, - { "Type", - "rtmac.header.type", - FT_STRING, BASE_NONE, NULL, 0x0, - "RTmac Type", HFILL }}, - - { &hf_rtmac_header_ver, - { "Version", - "rtmac.header.ver", - FT_UINT16, BASE_DEC, NULL, 0x0, - "RTmac Version", HFILL }}, - - { &hf_rtmac_header_flags, - { "Flags", - "rtmac.header.flags", - FT_UINT8, BASE_HEX, NULL, 0x0, - "RTmac Flags", HFILL }}, - - { &hf_rtmac_header_flags_tunnel, - { "Tunnelling Flag", - "rtmac.header.flags.tunnel", - FT_BOOLEAN, 8, TFS(&rtnet_flags_set_truth), RTMAC_FLAG_TUNNEL, - "RTmac Tunnelling Flag", HFILL }}, - - { &hf_rtmac_header_flags_res, - { "Reserved Flags", - "rtmac.header.flags.res", - FT_UINT8, BASE_HEX, NULL, RTMAC_FLAGS_RES, - "RTmac Reserved Flags", HFILL }}, - - { &hf_rtmac_header_res_v1, - { "Reserved", - "rtmac.header.res", - FT_UINT8, BASE_HEX, NULL, 0x0, - "RTmac Reserved", HFILL }}, - }; - - static hf_register_info hf_array_tdma[] = { - - /* TDMA msg */ - { &hf_tdma_v1_msg, - { "Message", - "tdma-v1.msg", - FT_UINT32, BASE_HEX, VALS(tdma_v1_msg_vals), 0x0, - "TDMA-V1 Message", HFILL }}, - - /* TDMA request conf */ - - { &hf_tdma_v1_msg_request_conf_station, - { "Station", - "tdma-v1.msg.request_conf.station", - FT_UINT8, BASE_DEC, NULL, 0x0, - "TDMA Station", HFILL }}, - - { &hf_tdma_v1_msg_request_conf_padding, - { "Padding", - "tdma-v1.msg.request_conf.padding", - FT_UINT8, BASE_HEX, NULL, 0x0, - "TDMA Padding", HFILL }}, - - { &hf_tdma_v1_msg_request_conf_mtu, - { "MTU", - "tdma-v1.msg.request_conf.mtu", - FT_UINT8, BASE_DEC, NULL, 0x0, - "TDMA MTU", HFILL }}, - - { &hf_tdma_v1_msg_request_conf_cycle, - { "Cycle", - "tdma-v1.msg.request_conf.cycle", - FT_UINT8, BASE_DEC, NULL, 0x0, - "TDMA Cycle", HFILL }}, - - /* TDMA ack conf */ - - { &hf_tdma_v1_msg_ack_conf_station, - { "Station", - "tdma-v1.msg.ack_conf.station", - FT_UINT8, BASE_DEC, NULL, 0x0, - "TDMA Station", HFILL }}, - - { &hf_tdma_v1_msg_ack_conf_padding, - { "Padding", - "tdma-v1.msg.ack_conf.padding", - FT_UINT8, BASE_HEX, NULL, 0x0, - "TDMA PAdding", HFILL }}, - - { &hf_tdma_v1_msg_ack_conf_mtu, - { "MTU", - "tdma-v1.msg.ack_conf.mtu", - FT_UINT8, BASE_DEC, NULL, 0x0, - "TDMA MTU", HFILL }}, - - { &hf_tdma_v1_msg_ack_conf_cycle, - { "Cycle", - "tdma-v1.msg.ack_conf.cycle", - FT_UINT8, BASE_DEC, NULL, 0x0, - "TDMA Cycle", HFILL }}, - - /* TDMA ack ack conf */ - - { &hf_tdma_v1_msg_ack_ack_conf_station, - { "Station", - "tdma-v1.msg.ack_ack_conf.station", - FT_UINT8, BASE_DEC, NULL, 0x0, - "TDMA Station", HFILL }}, - - { &hf_tdma_v1_msg_ack_ack_conf_padding, - { "Padding", - "tdma-v1.msg.ack_ack_conf.padding", - FT_BYTES, BASE_HEX, NULL, 0x0, - "TDMA Padding", HFILL }}, - - /* TDMA request test */ - - { &hf_tdma_v1_msg_request_test_counter, - { "Counter", - "tdma-v1.msg.request_test.counter", - FT_UINT32, BASE_DEC, NULL, 0x0, - "TDMA Counter", HFILL }}, - - { &hf_tdma_v1_msg_request_test_tx, - { "TX", - "tdma-v1.msg.request_test.tx", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA TX", HFILL }}, - - /* TDMA ack test */ - - { &hf_tdma_v1_msg_ack_test_counter, - { "Counter", - "tdma-v1.msg.ack_test.counter", - FT_UINT32, BASE_DEC, NULL, 0x0, - "TDMA Counter", HFILL }}, - - { &hf_tdma_v1_msg_ack_test_tx, - { "TX", - "tdma-v1.msg.ack_test.tx", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA TX", HFILL }}, - - /* TDMA ack test */ - - { &hf_tdma_v1_msg_request_change_offset_offset, - { "Offset", - "tdma-v1.msg.request_change_offset.offset", - FT_UINT32, BASE_DEC, NULL, 0x0, - "TDMA Offset", HFILL }}, - - /* TDMA start of frame */ - - - { &hf_tdma_v1_msg_start_of_frame_timestamp, - { "Timestamp", - "tdma-v1.msg.start_of_frame.timestamp", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA Timestamp", HFILL }}, - - /* TDMA station list */ - - { &hf_tdma_v1_msg_station_list_nr_stations, - { "Nr. Stations", - "tdma-v1.msg.station_list.nr_stations", - FT_UINT8, BASE_DEC, NULL, 0x0, - "TDMA Nr. Stations", HFILL }}, - - { &hf_tdma_v1_msg_station_list_nr, - { "Nr.", - "tdma-v1.msg.station_list.nr", - FT_UINT8, BASE_DEC, NULL, 0x0, - "TDMA Station Number", HFILL }}, - - { &hf_tdma_v1_msg_station_list_ip, - { "IP", - "tdma-v1.msg.station_list.ip", - FT_IPv4, BASE_DEC, NULL, 0x0, - "TDMA Station IP", HFILL }}, - - { &hf_tdma_v1_msg_station_list_padding, - { "Padding", - "tdma-v1.msg.station_list.padding", - FT_BYTES, BASE_HEX, NULL, 0x0, - "TDMA Padding", HFILL }}, - - - /* TDMA since version 2 */ - - { &hf_tdma_ver, - { "Version", - "tdma.ver", - FT_UINT16, BASE_HEX, NULL, 0x0, - "TDMA Version", HFILL }}, - - { &hf_tdma_id, - { "Message ID", - "tdma.id", - FT_UINT16, BASE_HEX, VALS(tdma_msg_vals), 0x0, - "TDMA Message ID", HFILL }}, - - /* TDMA sync */ - - { &hf_tdma_sync_cycle, - { "Cycle Number", - "tdma.sync.cycle", - FT_UINT32, BASE_DEC, NULL, 0x0, - "TDMA Sync Cycle Number", HFILL }}, - - { &hf_tdma_sync_xmit_stamp, - { "Transmission Time Stamp", - "tdma.sync.xmit_stamp", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA Sync Transmission Time Stamp", HFILL }}, - - { &hf_tdma_sync_sched_xmit, - { "Scheduled Transmission Time", - "tdma.sync.sched_xmit", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA Sync Scheduled Transmission Time", HFILL }}, - - /* TDMA request calibration */ - - { &hf_tdma_req_cal_xmit_stamp, - { "Transmission Time Stamp", - "tdma.req_cal.xmit_stamp", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA Request Calibration Transmission Time Stamp", HFILL }}, - - { &hf_tdma_req_cal_rpl_cycle, - { "Reply Cycle Number", - "tdma.req_cal.rpl_cycle", - FT_UINT32, BASE_DEC, NULL, 0x0, - "TDMA Request Calibration Reply Cycle Number", HFILL }}, - - { &hf_tdma_req_cal_rpl_slot, - { "Reply Slot Offset", - "tdma.req_cal.rpl_slot", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA Request Calibration Reply Slot Offset", HFILL }}, - - /* TDMA reply calibration */ - - { &hf_tdma_rpl_cal_req_stamp, - { "Request Transmission Time", - "tdma.rpl_cal.req_stamp", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA Reply Calibration Request Transmission Time", HFILL }}, - - { &hf_tdma_rpl_cal_rcv_stamp, - { "Reception Time Stamp", - "tdma.rpl_cal.rcv_stamp", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA Reply Calibration Reception Time Stamp", HFILL }}, - - { &hf_tdma_rpl_cal_xmit_stamp, - { "Transmission Time Stamp", - "tdma.rpl_cal.xmit_stamp", - FT_UINT64, BASE_DEC, NULL, 0x0, - "TDMA Reply Calibration Transmission Time Stamp", HFILL }}, - }; - - static gint *ett_array_rtmac[] = { - &ett_rtmac, - &ett_rtmac_flags, - }; - - static gint *ett_array_tdma[] = { - &ett_tdma, - }; - - proto_rtmac = proto_register_protocol("Real-Time Media Access Control", "RTmac", "rtmac"); - proto_register_field_array(proto_rtmac, hf_array_rtmac, array_length(hf_array_rtmac)); - proto_register_subtree_array(ett_array_rtmac, array_length(ett_array_rtmac)); - - proto_tdma = proto_register_protocol("TDMA RTmac Discipline", "TDMA", "tdma"); - proto_register_field_array(proto_rtmac, hf_array_tdma, array_length(hf_array_tdma)); - proto_register_subtree_array(ett_array_tdma, array_length(ett_array_tdma)); -} - - -void -proto_register_rtcfg(void) { - static hf_register_info hf[] = { - { &hf_rtcfg_vers_id, - { "Version and ID", - "rtcfg.vers_id", - FT_UINT8, BASE_HEX, NULL, 0x0, - "RTcfg Version and ID", HFILL }}, - - { &hf_rtcfg_vers, - { "Version", - "rtcfg.vers", - FT_UINT8, BASE_DEC, NULL, 0xe0, - "RTcfg Version", HFILL }}, - - { &hf_rtcfg_id, - { "ID", - "rtcfg.id", - FT_UINT8, BASE_HEX, VALS(rtcfg_msg_vals), 0x1f, - "RTcfg ID", HFILL }}, - - { &hf_rtcfg_address_type, - { "Address Type", - "rtcfg.address_type", - FT_UINT8, BASE_DEC, VALS(rtcfg_address_type_vals), 0x00, - "RTcfg Address Type", HFILL }}, - - { &hf_rtcfg_client_ip_address, - { "Client IP Address", - "rtcfg.client_ip_address", - FT_IPv4, BASE_DEC, NULL, 0x0, - "RTcfg Client IP Address", HFILL }}, - - { &hf_rtcfg_server_ip_address, - { "Server IP Address", - "rtcfg.server_ip_address", - FT_IPv4, BASE_DEC, NULL, 0x0, - "RTcfg Server IP Address", HFILL }}, - - { &hf_rtcfg_burst_rate, - { "Stage 2 Burst Rate", - "rtcfg.burst_rate", - FT_UINT8, BASE_DEC, NULL, 0x00, - "RTcfg Stage 2 Burst Rate", HFILL }}, - - { &hf_rtcfg_s1_config_length, - { "Stage 1 Config Length", - "rtcfg.s1_config_length", - FT_UINT16, BASE_DEC, NULL, 0x00, - "RTcfg Stage 1 Config Length", HFILL }}, - - { &hf_rtcfg_config_data, - { "Config Data", - "rtcfg.config_data", - FT_BYTES, BASE_DEC, NULL, 0x00, - "RTcfg Config Data", HFILL }}, - - { &hf_rtcfg_padding, - { "Padding", - "rtcfg.padding", - FT_UINT8, BASE_DEC, NULL, 0x00, - "RTcfg Padding", HFILL }}, - - { &hf_rtcfg_client_flags, - { "Flags", - "rtcfg.client_flags", - FT_UINT8, BASE_HEX, NULL, 0x00, - "RTcfg Client Flags", HFILL }}, - - { &hf_rtcfg_client_flags_available, - { "Req. Available", - "rtcfg.client_flags.available", - FT_UINT8, BASE_DEC, NULL, 0x01, - "Request Available", HFILL }}, - - { &hf_rtcfg_client_flags_ready, - { "Client Ready", - "rtcfg.client_flags.ready", - FT_UINT8, BASE_DEC, NULL, 0x02, - "Client Ready", HFILL }}, - - { &hf_rtcfg_client_flags_res, - { "Reserved", - "rtcfg.client_flags.res", - FT_UINT8, BASE_HEX, NULL, 0xfc, - "Reserved", HFILL }}, - - { &hf_rtcfg_server_flags, - { "Flags", - "rtcfg.server_flags", - FT_UINT8, BASE_HEX, NULL, 0x00, - "RTcfg Server Flags", HFILL }}, - - { &hf_rtcfg_server_flags_res0, - { "Reserved", - "rtcfg.server_flags.res0", - FT_UINT8, BASE_HEX, NULL, 0x01, - "Reserved", HFILL }}, - - { &hf_rtcfg_server_flags_ready, - { "Server Ready", - "rtcfg.server_flags.ready", - FT_UINT8, BASE_DEC, NULL, 0x02, - "Server Ready", HFILL }}, - - { &hf_rtcfg_server_flags_res2, - { "Reserved", - "rtcfg.server_flags.res2", - FT_UINT8, BASE_HEX, NULL, 0xfc, - "Reserved", HFILL }}, - - { &hf_rtcfg_active_stations, - { "Active Stations", - "rtcfg.active_stations", - FT_UINT32, BASE_DEC, NULL, 0x00, - "RTcfg Active Stations", HFILL }}, - - { &hf_rtcfg_heartbeat_period, - { "Heartbeat Period", - "rtcfg.hearbeat_period", - FT_UINT16, BASE_DEC, NULL, 0x00, - "RTcfg Heartbeat Period", HFILL }}, - - { &hf_rtcfg_s2_config_length, - { "Stage 2 Config Length", - "rtcfg.s2_config_length", - FT_UINT32, BASE_DEC, NULL, 0x00, - "RTcfg Stage 2 Config Length", HFILL }}, - - { &hf_rtcfg_config_offset, - { "Config Offset", - "rtcfg.config_offset", - FT_UINT32, BASE_DEC, NULL, 0x00, - "RTcfg Config Offset", HFILL }}, - - { &hf_rtcfg_ack_length, - { "Ack Length", - "rtcfg.ack_length", - FT_UINT32, BASE_DEC, NULL, 0x00, - "RTcfg Ack Length", HFILL }}, - - { &hf_rtcfg_client_hw_address, - { "Client Hardware Address", - "rtcfg.client_ip_address", - FT_BYTES, BASE_NONE, NULL, 0x00, - "RTcfg Client Hardware Address", HFILL }} - }; - - static gint *ett[] = { - &ett_rtcfg, - }; - - proto_rtcfg = proto_register_protocol("RTcfg","RTcfg","rtcfg"); - proto_register_field_array(proto_rtcfg,hf,array_length(hf)); - proto_register_subtree_array(ett,array_length(ett)); -} - -/* The registration hand-off routing */ - -void -proto_reg_handoff_rtmac(void) { - dissector_handle_t rtmac_handle; - - rtmac_handle = create_dissector_handle(dissect_rtmac, proto_rtmac); - dissector_add("ethertype", ETHERTYPE_RTMAC, rtmac_handle); - ethertype_table = find_dissector_table("ethertype"); -} - -void -proto_reg_handoff_rtcfg(void) { - dissector_handle_t rtcfg_handle; - - data_handle = find_dissector("data"); - rtcfg_handle = create_dissector_handle(dissect_rtcfg, proto_rtcfg); - dissector_add("ethertype", ETHERTYPE_RTCFG, rtcfg_handle); -} diff --git a/plugins/rtnet/plugin.rc.in b/plugins/rtnet/plugin.rc.in deleted file mode 100644 index 568dc07b49..0000000000 --- a/plugins/rtnet/plugin.rc.in +++ /dev/null @@ -1,34 +0,0 @@ -#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", "The Wireshark developer community, http://www.wireshark.org/\0" - VALUE "FileDescription", "@PACKAGE@ dissector\0" - VALUE "FileVersion", "@MODULE_VERSION@\0" - VALUE "InternalName", "@PACKAGE@ @MODULE_VERSION@\0" - VALUE "LegalCopyright", "Copyright © 1998 Gerald Combs <gerald@wireshark.org>, Gilbert Ramirez <gram@alumni.rice.edu> and others\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 |