]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - contrib/wpa/wpa_supplicant/doc/mainpage.doxygen
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / contrib / wpa / wpa_supplicant / doc / mainpage.doxygen
1 /**
2 \mainpage Developers' documentation for wpa_supplicant
3
4 %wpa_supplicant is a WPA Supplicant for Linux, BSD and Windows with
5 support for WPA and WPA2 (IEEE 802.11i / RSN). Supplicant is the IEEE
6 802.1X/WPA component that is used in the client stations. It
7 implements key negotiation with a WPA Authenticator and it can optionally
8 control roaming and IEEE 802.11 authentication/association of the wlan
9 driver.
10
11 The goal of this documentation and comments in the source code is to
12 give enough information for other developers to understand how
13 %wpa_supplicant has been implemented, how it can be modified, how new
14 drivers can be supported, and how %wpa_supplicant can be ported to
15 other operating systems. If any information is missing, feel free to
16 contact Jouni Malinen <j@w1.fi> for more
17 information. Contributions as patch files are also very welcome at the
18 same address. Please note that %wpa_supplicant is licensed under dual
19 license, GPLv2 or BSD at user's choice. All contributions to
20 %wpa_supplicant are expected to use compatible licensing terms.
21
22 The source code and read-only access to %wpa_supplicant Git repository
23 is available from the project home page at
24 http://w1.fi/wpa_supplicant/. This developers' documentation
25 is also available as a PDF file from
26 http://w1.fi/wpa_supplicant/wpa_supplicant-devel.pdf .
27
28 The design goal for %wpa_supplicant was to use hardware, driver, and
29 OS independent, portable C code for all WPA functionality. The source
30 code is divided into separate C files as shown on the \ref
31 code_structure "code structure page". All hardware/driver specific
32 functionality is in separate files that implement a \ref
33 driver_wrapper "well-defined driver API". Information about porting
34 to different target boards and operating systems is available on
35 the \ref porting "porting page".
36
37 EAPOL (IEEE 802.1X) state machines are implemented as a separate
38 module that interacts with \ref eap_module "EAP peer implementation".
39 In addition to programs aimed at normal production use,
40 %wpa_supplicant source tree includes number of \ref testing_tools
41 "testing and development tools" that make it easier to test the
42 programs without having to setup a full test setup with wireless
43 cards. These tools can also be used to implement automatic test
44 suites.
45
46 %wpa_supplicant implements a
47 \ref ctrl_iface_page "control interface" that can be used by
48 external programs to control the operations of the %wpa_supplicant
49 daemon and to get status information and event notifications. There is
50 a small C library that provides helper functions to facilitate the use of the
51 control interface. This library can also be used with C++.
52
53 \image html wpa_supplicant.png "wpa_supplicant modules"
54 \image latex wpa_supplicant.eps "wpa_supplicant modules" width=15cm
55
56 */