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