mainpage.doxygen 2.7 KB

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