Linux Kernel
3.7.1
|
#include <wusbhc.h>
Public Member Functions | |
struct { | |
struct usb_key_descriptor descr | |
u8 data [16] | |
} | __attribute__ ((packed)) gtk |
WUSB Host Controller specifics
All fields that are common to all Wireless USB controller types (HWA and WHCI) are grouped here. Host Controller functions/operations that only deal with general Wireless USB HC issues use this data type to refer to the host.
Instantiation of a USB host controller (initialized by upper layer [HWA=HC or WHCI].
Device that implements this; initialized by the upper layer (HWA-HC, WHCI...); this device should have a refcount.
After this time without hearing for device activity, we consider the device gone and we have to re-authenticate.
Can be accessed w/o locking–however, read to a local variable then use.
WUSB Cluster Host ID: this is supposed to be a unique value that doesn't change across reboots (so that your devices do not require re-association).
Read/Write protected by
This array has ports_max elements. It is used to give the HC information about the WUSB devices (see 'struct wusb_dev_info').
For HWA we need to allocate it in heap; for WHCI it needs to be permanently mapped, so we keep it for both and make it easy. Call wusbhc->dev_info_set() to update an entry.
Number of simultaneous device connections (fake ports) this HC will take. Read-only.
Array of port status for each fake root port. Guaranteed to always be the same length during device existence [this allows for some unlocked but referenced reading].
Max number of Information Elements this HC can send in its MMC. Read-only.
Start the WUSB channel.
Stop the WUSB channel after the specified number of milliseconds. Channel Stop IEs should be transmitted as required by [WUSB] 4.16.2.1.
HC specific operation (WHCI or HWA) for adding an MMCIE.
HC specific operation (WHCI or HWA) for removing an MMCIE.
: Set the PTK and enable encryption for a device. Or, if the supplied key is NULL, disable encryption for that device.
: Set the GTK to be used for all future broadcast packets (i.e., MMCs). With some hardware, setting the GTK may start MMC transmission.
NOTE:
If wusb_dev->usb_dev is not NULL, then usb_dev is valid (wusb_dev has a refcount on it). Likewise, if usb_dev->wusb_dev is not NULL, usb_dev->wusb_dev is valid (usb_dev keeps a refcount on it).
Most of the times when you need to use it, it will be non-NULL, so there is no real need to check for it (wusb_dev will disappear before usb_dev).
struct wusbhc::@6592 __attribute__ | ( | (packed) | ) |
struct wuie_connect_ack cack_ie |
struct usb_encryption_descriptor* ccm1_etd |
struct wusb_ckhdid chid |
struct usb_key_descriptor descr |
struct work_struct gtk_rekey_done_work |
struct wuie_keep_alive keep_alive_ie |
struct delayed_work keep_alive_timer |