This uses similar, but not identical, interface to madwifi. It is easier to keep this separate to avoid conflicts with potential changes in the driver interfaces.