aboutsummaryrefslogtreecommitdiffstats
path: root/doc/idl2wrs.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/idl2wrs.adoc')
-rw-r--r--doc/idl2wrs.adoc120
1 files changed, 120 insertions, 0 deletions
diff --git a/doc/idl2wrs.adoc b/doc/idl2wrs.adoc
new file mode 100644
index 0000000000..a321137baa
--- /dev/null
+++ b/doc/idl2wrs.adoc
@@ -0,0 +1,120 @@
+=begin man
+
+=encoding utf8
+
+=end man
+
+=head1 NAME
+
+idl2wrs - CORBA IDL to Wireshark Plugin Generator
+
+=head1 SYNOPSIS
+
+B<idl2wrs> E<lt>filenameE<gt>
+
+=head1 DESCRIPTION
+
+B<idl2wrs> is a program that takes a user specified B<CORBA IDL>
+file and generates B<"C"> source code for a B<Wireshark> "plugin".
+
+This resulting file can be compiled as a B<Wireshark> plugin, and
+used to monitor B<GIOP/IIOP> traffic that is using this IDL.
+
+B<idl2wrs> is actually a shell script wrapper for two B<Python> programs.
+These programs are:
+
+=over 4
+
+=item * B<wireshark_be.py>
+
+Contains the main IDL Visitor Class
+
+=item * B<wireshark_gen.py>
+
+Contains the Source Code Generator Class
+
+=back
+
+B<idl2wrs> supports heuristic dissection of GIOP/IIOP traffic,
+and some experimental code for explicit dissection, based on
+Object Key <-> Repository Id mapping.
+However, code for heuristic based plugins is
+generated by default, and users should consider this the preferred
+method unless you have some namespace collisions.
+
+
+=head1 OPTIONS
+
+Currently there are no options. B<idl2wrs> can be invoked as follows.
+
+1. To write the C code to stdout.
+
+ idl2wrs <your_file.idl>
+
+ eg: idl2wrs echo.idl
+
+
+2. To write to a file, just redirect the output.
+
+ idl2wrs echo.idl > packet-test.c
+
+
+
+
+=head1 ENVIRONMENT
+
+B<idl2wrs> will look for B<wireshark_be.py> and B<wireshark_gen.py> in
+B<$PYTHONPATH/site-packages/> and if not found, will try the current
+directory B<./>
+
+The B<-p> option passed to omniidl (inside B<idl2wrs>) indicates where
+B<wireshark_be.py> and B<wireshark_gen.py> will be searched. This may
+need tweaking if you place these files somewhere else.
+
+If it complains about being unable to find some modules (eg tempfile.py),
+you may want to check if PYTHONPATH is set correctly.
+
+eg: PYTHONPATH=/usr/lib/python1.5/
+
+
+=head1 SEE ALSO
+
+wireshark(1), tshark(1)
+
+
+=head1 NOTES
+
+B<idl2wrs> (including B<wireshark_be.py> and B<wireshark_gen.py>) are part of
+the B<Wireshark> distribution. The latest version of B<Wireshark> can
+be found at L<https://www.wireshark.org>.
+
+B<idl2wrs> uses B<omniidl>, an IDL parser, and can be found at
+L<http://omniorb.sourceforge.net/>
+
+=head1 TODO
+
+Some of the more important things to do are:
+
+=over 4
+
+=item *
+Improve Explicit dissection code.
+
+=item *
+Improve command line options.
+
+=item *
+Improve decode algorithm when we have operation name collision.
+
+=back
+
+=head1 AUTHORS
+
+ Original Author
+ -------- ------
+ Frank Singleton <frank.singleton[AT]ericsson.com>
+
+
+ Contributors
+ ------------
+