aboutsummaryrefslogtreecommitdiffstats
path: root/driver_source.txt
blob: de6db7b2e08278016b1e6c95e5c2f253b6ec6c71 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Host AP (software wireless LAN access point) driver for Intersil Prism2/2.5/3

Driver source code is divided into following files:

hostap_compat.h
  Compatibility code for Linux 2.4/2.6 differences

hostap_wext.h
  Compatibility code for Linux Wireless Extensions differences


hostap.o module:

hostap.[ch]

hostap_ap.[ch]
  Hardware independent IEEE 802.11 AP management functions

hostap_crypt.[ch]
  Registration/unregistration code for modularized encryption
  implementation

hostap_info.c
  Prism2/2.5/3 info frame handling (communications tallies, scan results,
  host roaming)

hostap_ioctl.c
  ioctl() routines (mostly for Linux wireless extensions support)

hostap_proc.c
  Generic procfs (/proc/net/hostap/wlan#) related routines
  (apart from AP specific proc files in hostap_ap.c)

hostap_config.h
  Common compile time configuration for C preprocessor

hostap_common.h
  HFA384x, IEEE 802.11, and driver structures and definitions
  (shared with user space programs)

hostap_wlan.h
  HFA384x, IEEE 802.11, and driver structures and definitions
  (only kernel)

hostap_80211.h
hostap_80211_tx.c
hostap_80211_rx.c
  Hardware independent IEEE 802.11 functionality for data frame
  receiving and transmitting (IEEE 802.11 <-> Ethernet header,
  hard_start_xmit functions, RX handler)


hostap_{cs,pci,plx}.o modules:

hostap_hw.c
  Common hardware dependent code. Low-level access routines for HFA384x
  and wrappers for frequently used code.

hostap_download.c
  Firmware downloading

hostap_cs.c
  Hardware specific routines for PC Card (PCMCIA) version

hostap_pci.c
  Hardware specific routines for Prism2.5-based native PCI version

hostap_plx.c
  Hardware specific routines for PLX-based PC Card adapter version


crypto modules:

hostap_crypt_wep.c
  Host-based WEP (Wired Equivalent Privacy) implementation



Goal:

hostap_{ap,80211*}.[ch] should be completely hardware independent and thus,
could eventually be used with non-Prism2/2.5/3 drivers, too.

hostap_{,ioctl,proc,config,wlan}.[ch] should have no Prism2/2.5/3 hardware
version (cs,pci,plx) specific code. In addition, they should have as little as
possible low-level hardware related code.

hostap_hw.c should include all common code shared by different supported
Prism2/2.5/3 hardware versions. There should be as little as possible hardware
version dependent code (i.e., #ifdefs for PRISM2_{PCCARD,PCI,PLX})

hostap_{pccard,pci,plx}.c should have all Prism2/2.5/3 hardware version
specific code and as little as possible code that is shared with different
hardware versions.

Eventually, hostap.o should be divided into two parts: completely
hardware independent IEEE 802.11 module and shared module for
different Prism2/2.5/3 models.