Update README.wmem, release notes for emem removal
[metze/wireshark/wip.git] / doc / idl2wrs.pod
1
2 =head1 NAME
3
4 idl2wrs - CORBA IDL to Wireshark Plugin Generator
5
6 =head1 SYNOPSIS
7
8 B<idl2wrs> E<lt>filenameE<gt>
9
10 =head1 DESCRIPTION
11
12 B<idl2wrs> is a program that takes a user specified B<CORBA IDL>
13 file and generates B<"C"> source code for a B<Wireshark> "plugin".
14
15 This resulting file can be compiled as a B<Wireshark> plugin, and
16 used to monitor B<GIOP/IIOP> traffic that is using this IDL.
17
18 B<idl2wrs> is actually a shell script wrapper for two B<Python> programs.
19 These programs are:
20
21 =over 4
22
23 =item * B<wireshark_be.py>
24
25 Contains the main IDL Visitor Class
26
27 =item * B<wireshark_gen.py>
28
29 Contains the Source Code Generator Class
30
31 =back
32
33 B<idl2wrs> supports heuristic dissection of GIOP/IIOP traffic,
34 and some experimental code for explicit dissection, based on
35 Object Key <-> Repository Id mapping.
36 However, code for heuristic based plugins is
37 generated by default, and users should consider this the preferred
38 method unless you have some namespace collisions.
39
40
41 =head1 OPTIONS
42
43 Currently there are no options. B<idl2wrs> can be invoked as follows.
44
45 1.  To write the C code to stdout.
46
47     idl2wrs  <your_file.idl>
48
49     eg: idl2wrs echo.idl
50
51
52 2. To write to a file, just redirect the output.
53
54     idl2wrs echo.idl > packet-test.c
55
56
57
58
59 =head1 ENVIRONMENT
60
61 B<idl2wrs> will look for B<wireshark_be.py> and B<wireshark_gen.py> in
62 B<$PYTHONPATH/site-packages/> and if not found, will try the current
63 directory B<./>
64
65 The B<-p> option passed to omniidl (inside B<idl2wrs>) indicates where
66 B<wireshark_be.py> and B<wireshark_gen.py> will be searched.  This may
67 need tweaking if you place these files somewhere else.
68
69 If it complains about being unable to find some modules (eg tempfile.py),
70 you may want to check if PYTHONPATH is set correctly.
71
72 eg:  PYTHONPATH=/usr/lib/python1.5/
73
74
75 =head1 SEE ALSO
76
77 wireshark(1), tshark(1)
78
79
80 =head1 NOTES
81
82 B<idl2wrs> (including B<wireshark_be.py> and B<wireshark_gen.py>) are part of
83 the B<Wireshark> distribution.  The latest version of B<Wireshark> can
84 be found at L<https://www.wireshark.org>.
85
86 B<idl2wrs> uses B<omniidl>, an IDL parser, and can be found at
87 L<http://omniorb.sourceforge.net/>
88
89 =head1 TODO
90
91 Some of the more important things to do are:
92
93 =over 4
94
95 =item *
96 Improve Explicit dissection code.
97
98 =item *
99 Improve command line options.
100
101 =item *
102 Improve decode algorithm when we have operation name collision.
103
104 =back
105
106 =head1 AUTHORS
107
108   Original Author
109   -------- ------
110   Frank Singleton             <frank.singleton[AT]ericsson.com>
111
112
113   Contributors
114   ------------
115