from Julian Onions: add a devel section about start writing a dissector
[obnox/wireshark/wip.git] / docbook / edg_src / EDG_chapter_build_intro.xml
1 <!-- EDG Chapter Build Introduction -->\r
2 <!-- $Id: EDG_chapter_libraries.xml 11816 2004-08-23 19:46:18Z ulfl $ -->\r
3 \r
4 <chapter id="ChapterBuildIntro">\r
5   <title>Introduction</title>\r
6   \r
7   <section id="ChCodeOverview">\r
8         <title>Source overview</title>\r
9         <para>\r
10         Ethereal consists of the following major parts:\r
11         <itemizedlist>\r
12         <listitem><para>\r
13         Packet dissection - in the / and /epan directory\r
14         </para></listitem>\r
15         <listitem><para>\r
16         File I/O - using Ethereal's own wiretap library\r
17         </para></listitem>\r
18         <listitem><para>\r
19         Capture - using the libpcap/winpcap library\r
20         </para></listitem>\r
21         <listitem><para>\r
22         User interface - using the GTK (and corresponding) libraries\r
23         </para></listitem>\r
24         <listitem><para>\r
25         Help - using an external webbrowser and GTK text output\r
26         </para></listitem>\r
27         </itemizedlist>\r
28         Beside this, some other minor parts and additional helpers exist.\r
29         </para>\r
30         <para>\r
31         Currently there's no clean seperation of the modules in the code. \r
32         However, as the development team switched from CVS to SVN some time ago, \r
33         directory cleanup are much easier now. So there's a chance that\r
34         the directory structure will become clean in the future.\r
35         </para>\r
36   </section>\r
37 \r
38   <section id="ChCodeStyle">\r
39         <title>Coding styleguides</title>\r
40         <para>\r
41         The coding styleguides for Ethereal can be found in the "Code style" \r
42         section of the file <filename>doc/README.developer</filename>.\r
43         </para>\r
44   </section>\r
45 \r
46   <section id="ChCodeGLib">\r
47         <title>The GLib library</title>\r
48         <para>\r
49         Glib is used as a basic platform abstraction library, it's not related to\r
50         GUI things. \r
51         </para>\r
52         <para>\r
53         To quote the Glib documentation: <quote>GLib is a general-purpose utility \r
54         library, which provides many useful \r
55         data types, macros, type conversions, string utilities, file utilities, \r
56         a main loop abstraction, and so on. It works on many UNIX-like platforms, \r
57         Windows, OS/2 and BeOS. GLib is released under the GNU Library General \r
58         Public License (GNU LGPL).</quote>\r
59         </para>\r
60         <para>\r
61         GLib contains lot's of useful things for platform independant development.\r
62         See XXX for details about GLib.\r
63         </para>\r
64   </section>\r
65 \r
66 </chapter>\r
67 <!-- End of EUG Chapter Build Introduction -->\r