summaryrefslogtreecommitdiffstats
path: root/docbook/wsdg_src/wsdg_build_intro.adoc
blob: d4ededb17131191b26e9ef049b7c87ffc4a40f12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// WSDG Chapter Build Introduction

[#ChapterBuildIntro]

== Introduction

[#ChCodeOverview]

=== Source overview

Wireshark consists of the following major parts:

* Packet dissection - in the _/epan/dissectors_ and
_/plugins/epan/{asterisk}_ directories

* Capture file I/O - using Wireshark’s own wiretap library

* Capture - using the libpcap and Npcap libraries, in _dumpcap.c_ and
the _/capture_ directory

* User interface - using Qt and associated libraries

* Utilities - miscellaneous helper code

* Help - using an external web browser and text output

[#ChCodeStyle]

=== Coding Style

The coding style guides for Wireshark can be found in the “Portability”
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/ and https://docs.gtk.org/glib/ for details about GLib.

// End of WSDG Chapter Build Introduction