++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++ [[ChapterBuildIntro]] == Introduction [[ChCodeOverview]] === Source overview Wireshark consists of the following major parts: * Packet dissection - in the '/epan/dissector' and '/plugin/*' directories * File I/O - using Wireshark's own wiretap library * Capture - using the libpcap/winpcap library, in '/wiretap' * User interface - using the Qt or $$GTK+$$ and associated libraries * Utilities - miscellaneous helper code * Help - using an external web browser and GTK text output [[ChCodeStyle]] === Coding Style The coding style guides for Wireshark can be found in the "Code style" section of the file 'doc/README.developer'. [[ChCodeGLib]] === The GLib library Glib is used as a basic platform abstraction library. It doesn't provide any direct GUI functionality. To quote the Glib Reference Manual: ____ GLib provides the core application building blocks for libraries and applications written in C. It provides the core object system used in GNOME, the main loop implementation, and a large set of utility functions for strings and common data structures. ____ GLib contains lots of useful things for platform independent development. See https://developer.gnome.org/glib/[] for details about GLib. ++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++