Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Data Fields
wusbhc Struct Reference

#include <wusbhc.h>

Public Member Functions

struct {
   struct usb_key_descriptor   descr
 
   u8   data [16]
 
__attribute__ ((packed)) gtk
 

Data Fields

struct usb_hcd usb_hcd
 
struct devicedev
 
struct uwb_rcuwb_rc
 
struct uwb_pal pal
 
unsigned trust_timeout
 
struct wusb_ckhdid chid
 
uint8_t phy_rate
 
struct wuie_host_infowuie_host_info
 
struct mutex mutex
 
u16 cluster_id
 
struct wusb_portport
 
struct wusb_dev_info * dev_info
 
u8 ports_max
 
unsigned active:1
 
struct wuie_keep_alive keep_alive_ie
 
struct delayed_work keep_alive_timer
 
struct list_head cack_list
 
size_t cack_count
 
struct wuie_connect_ack cack_ie
 
struct uwb_rsvrsv
 
struct mutex mmcie_mutex
 
struct wuie_hdr ** mmcie
 
u8 mmcies_max
 
int(* start )(struct wusbhc *wusbhc)
 
void(* stop )(struct wusbhc *wusbhc, int delay)
 
int(* mmcie_add )(struct wusbhc *wusbhc, u8 interval, u8 repeat_cnt, u8 handle, struct wuie_hdr *wuie)
 
int(* mmcie_rm )(struct wusbhc *wusbhc, u8 handle)
 
int(* dev_info_set )(struct wusbhc *, struct wusb_dev *wusb_dev)
 
int(* bwa_set )(struct wusbhc *wusbhc, s8 stream_index, const struct uwb_mas_bm *)
 
int(* set_ptk )(struct wusbhc *wusbhc, u8 port_idx, u32 tkid, const void *key, size_t key_size)
 
int(* set_gtk )(struct wusbhc *wusbhc, u32 tkid, const void *key, size_t key_size)
 
int(* set_num_dnts )(struct wusbhc *wusbhc, u8 interval, u8 slots)
 
u8 gtk_index
 
u32 gtk_tkid
 
struct work_struct gtk_rekey_done_work
 
int pending_set_gtks
 
struct usb_encryption_descriptorccm1_etd
 

Detailed Description

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:

Definition at line 246 of file wusbhc.h.

Member Function Documentation

struct wusbhc::@6592 __attribute__ ( (packed)  )

Field Documentation

unsigned active

Definition at line 262 of file wusbhc.h.

int(* bwa_set)(struct wusbhc *wusbhc, s8 stream_index, const struct uwb_mas_bm *)

Definition at line 280 of file wusbhc.h.

size_t cack_count

Definition at line 266 of file wusbhc.h.

Definition at line 267 of file wusbhc.h.

struct list_head cack_list

Definition at line 265 of file wusbhc.h.

Definition at line 297 of file wusbhc.h.

Definition at line 253 of file wusbhc.h.

u16 cluster_id

Definition at line 258 of file wusbhc.h.

u8 data[16]

Definition at line 290 of file wusbhc.h.

Definition at line 289 of file wusbhc.h.

struct device* dev

Definition at line 248 of file wusbhc.h.

struct wusb_dev_info* dev_info

Definition at line 260 of file wusbhc.h.

int(* dev_info_set)(struct wusbhc *, struct wusb_dev *wusb_dev)

Definition at line 279 of file wusbhc.h.

u8 gtk_index

Definition at line 292 of file wusbhc.h.

struct work_struct gtk_rekey_done_work

Definition at line 294 of file wusbhc.h.

u32 gtk_tkid

Definition at line 293 of file wusbhc.h.

struct wuie_keep_alive keep_alive_ie

Definition at line 263 of file wusbhc.h.

struct delayed_work keep_alive_timer

Definition at line 264 of file wusbhc.h.

struct wuie_hdr** mmcie

Definition at line 271 of file wusbhc.h.

int(* mmcie_add)(struct wusbhc *wusbhc, u8 interval, u8 repeat_cnt, u8 handle, struct wuie_hdr *wuie)

Definition at line 276 of file wusbhc.h.

struct mutex mmcie_mutex

Definition at line 270 of file wusbhc.h.

int(* mmcie_rm)(struct wusbhc *wusbhc, u8 handle)

Definition at line 278 of file wusbhc.h.

u8 mmcies_max

Definition at line 272 of file wusbhc.h.

Definition at line 257 of file wusbhc.h.

Definition at line 250 of file wusbhc.h.

int pending_set_gtks

Definition at line 295 of file wusbhc.h.

uint8_t phy_rate

Definition at line 254 of file wusbhc.h.

Definition at line 259 of file wusbhc.h.

u8 ports_max

Definition at line 261 of file wusbhc.h.

Definition at line 268 of file wusbhc.h.

Definition at line 284 of file wusbhc.h.

int(* set_num_dnts)(struct wusbhc *wusbhc, u8 interval, u8 slots)

Definition at line 286 of file wusbhc.h.

int(* set_ptk)(struct wusbhc *wusbhc, u8 port_idx, u32 tkid, const void *key, size_t key_size)

Definition at line 282 of file wusbhc.h.

int(* start)(struct wusbhc *wusbhc)

Definition at line 274 of file wusbhc.h.

Definition at line 275 of file wusbhc.h.

unsigned trust_timeout

Definition at line 252 of file wusbhc.h.

struct usb_hcd usb_hcd

Definition at line 247 of file wusbhc.h.

Definition at line 249 of file wusbhc.h.

Definition at line 255 of file wusbhc.h.


The documentation for this struct was generated from the following file: