53 lines
2.4 KiB
Text
53 lines
2.4 KiB
Text
![]() |
/**
|
||
|
\mainpage Developers' documentation for hostapd
|
||
|
|
||
|
hostapd includes IEEE 802.11 access point management (authentication /
|
||
|
association), IEEE 802.1X/WPA/WPA2 Authenticator, EAP server, and
|
||
|
RADIUS authentication server functionality. It can be build with
|
||
|
various configuration option, e.g., a standalone AP management
|
||
|
solution or a RADIUS authentication server with support for number of
|
||
|
EAP methods.
|
||
|
|
||
|
The goal of this documentation and comments in the source code is to
|
||
|
give enough information for other developers to understand how hostapd
|
||
|
has been implemented, how it can be modified, how new drivers can be
|
||
|
supported, and how hostapd can be ported to other operating
|
||
|
systems. If any information is missing, feel free to contact Jouni
|
||
|
Malinen <j@w1.fi> for more information. Contributions as
|
||
|
patch files are also very welcome at the same address. Please note
|
||
|
that hostapd is licensed under dual license, GPLv2 or BSD at user's
|
||
|
choice. All contributions to hostapd are expected to use compatible
|
||
|
licensing terms.
|
||
|
|
||
|
The source code and read-only access to hostapd CVS repository
|
||
|
is available from the project home page at
|
||
|
http://hostap.epitest.fi/hostapd/. This developers' documentation
|
||
|
is also available as a PDF file from
|
||
|
http://hostap.epitest.fi/hostapd/hostapd-devel.pdf .
|
||
|
|
||
|
The design goal for hostapd was to use hardware, driver, and
|
||
|
OS independent, portable C code for all WPA functionality. The source
|
||
|
code is divided into separate C files as shown on the \ref
|
||
|
code_structure "code structure page". All hardware/driver specific
|
||
|
functionality is in separate files that implement a \ref
|
||
|
driver_wrapper "well-defined driver API". Information about porting
|
||
|
to different target boards and operating systems is available on
|
||
|
the \ref porting "porting page".
|
||
|
|
||
|
EAPOL (IEEE 802.1X) state machines are implemented as a separate
|
||
|
module that interacts with \ref eap_module "EAP server implementation".
|
||
|
Similarly, RADIUS authentication server is in its own separate module.
|
||
|
Both IEEE 802.1X and RADIUS authentication server can use EAP server
|
||
|
functionality.
|
||
|
|
||
|
hostapd implements a \ref ctrl_iface_page "control interface" that can
|
||
|
be used by external programs to control the operations of the hostapdt
|
||
|
daemon and to get status information and event notifications. There is
|
||
|
a small C library that provides helper functions to facilitate the use
|
||
|
of the control interface. This library can also be used with C++.
|
||
|
|
||
|
\image html hostapd.png "hostapd modules"
|
||
|
\image latex hostapd.eps "hostapd modules" width=15cm
|
||
|
|
||
|
*/
|