Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
uwb_rc Struct Reference

#include <uwb.h>

Data Fields

struct uwb_dev uwb_dev
 
int index
 
u16 version
 
struct moduleowner
 
voidpriv
 
int(* start )(struct uwb_rc *rc)
 
void(* stop )(struct uwb_rc *rc)
 
int(* cmd )(struct uwb_rc *, const struct uwb_rccb *, size_t)
 
int(* reset )(struct uwb_rc *rc)
 
int(* filter_cmd )(struct uwb_rc *, struct uwb_rccb **, size_t *)
 
int(* filter_event )(struct uwb_rc *, struct uwb_rceb **, const size_t, size_t *, size_t *)
 
spinlock_t neh_lock
 
struct list_head neh_list
 
unsigned long ctx_bm [UWB_RC_CTX_MAX/8/sizeof(unsigned long)]
 
u8 ctx_roll
 
int beaconing
 
int beaconing_forced
 
int scanning
 
unsigned ready:1
 
struct uwb_notifs_chain notifs_chain
 
struct uwb_beca uwb_beca
 
struct uwbd uwbd
 
struct uwb_drp_backoff_win bow
 
struct uwb_drp_avail drp_avail
 
struct list_head reservations
 
struct list_head cnflt_alien_list
 
struct uwb_mas_bm cnflt_alien_bitmap
 
struct mutex rsvs_mutex
 
spinlock_t rsvs_lock
 
struct workqueue_structrsv_workq
 
struct delayed_work rsv_update_work
 
struct delayed_work rsv_alien_bp_work
 
int set_drp_ie_pending
 
struct mutex ies_mutex
 
struct uwb_rc_cmd_set_ieies
 
size_t ies_capacity
 
struct list_head pals
 
int active_pals
 
struct uwb_dbgdbg
 

Detailed Description

Radio Control Interface instance

Life cycle rules: those of the UWB Device.

: an index number for this radio controller, as used in the device name.

Version
: version of protocol supported by this device : Backend implementation; rw with uwb_dev.dev.sem taken. : Backend implementation to execute commands; rw and call only with uwb_dev.dev.sem taken. : Hardware reset of radio controller and any PAL controllers. : Backend implementation to manipulate data to and from device to be compliant to specification assumed by driver (WHCI 0.95).

uwb_dev.dev.mutex is used to execute commands and update the corresponding structures; can't use a spinlock because rc->cmd() can sleep. : This is a dynamically allocated array cacheing the IEs (settable by the host) that the beacon of this radio controller is currently sending.

In reality, we store here the full command we set to the radio controller (which is basically a command prefix followed by all the IEs the beacon currently contains). This way we don't have to realloc and memcpy when setting it.

We set this up in uwb_rc_ie_setup(), where we alloc this struct, call get_ie() [so we know which IEs are currently being sent, if any].

:Amount of space (in bytes) allocated in . The amount used is given by sizeof(*ies) plus ies->wIELength (which is a little endian quantity all the time). : protect the IE cache : information for the debug interface

Definition at line 371 of file uwb.h.

Field Documentation

int active_pals

Definition at line 418 of file uwb.h.

int beaconing

Definition at line 391 of file uwb.h.

int beaconing_forced

Definition at line 392 of file uwb.h.

Definition at line 401 of file uwb.h.

Definition at line 380 of file uwb.h.

struct uwb_mas_bm cnflt_alien_bitmap

Definition at line 405 of file uwb.h.

struct list_head cnflt_alien_list

Definition at line 404 of file uwb.h.

unsigned long ctx_bm[UWB_RC_CTX_MAX/8/sizeof(unsigned long)]

Definition at line 388 of file uwb.h.

u8 ctx_roll

Definition at line 389 of file uwb.h.

Definition at line 420 of file uwb.h.

struct uwb_drp_avail drp_avail

Definition at line 402 of file uwb.h.

int(* filter_cmd)(struct uwb_rc *, struct uwb_rccb **, size_t *)

Definition at line 382 of file uwb.h.

int(* filter_event)(struct uwb_rc *, struct uwb_rceb **, const size_t, size_t *, size_t *)

Definition at line 383 of file uwb.h.

Definition at line 414 of file uwb.h.

size_t ies_capacity

Definition at line 415 of file uwb.h.

struct mutex ies_mutex

Definition at line 413 of file uwb.h.

int index

Definition at line 373 of file uwb.h.

struct list_head neh_list

Definition at line 387 of file uwb.h.

spinlock_t neh_lock

Definition at line 386 of file uwb.h.

struct uwb_notifs_chain notifs_chain

Definition at line 396 of file uwb.h.

struct module* owner

Definition at line 376 of file uwb.h.

Definition at line 417 of file uwb.h.

Definition at line 377 of file uwb.h.

unsigned ready

Definition at line 394 of file uwb.h.

struct list_head reservations

Definition at line 403 of file uwb.h.

int(* reset)(struct uwb_rc *rc)

Definition at line 381 of file uwb.h.

struct delayed_work rsv_alien_bp_work

Definition at line 411 of file uwb.h.

struct delayed_work rsv_update_work

Definition at line 410 of file uwb.h.

Definition at line 408 of file uwb.h.

spinlock_t rsvs_lock

Definition at line 407 of file uwb.h.

struct mutex rsvs_mutex

Definition at line 406 of file uwb.h.

int scanning

Definition at line 393 of file uwb.h.

int set_drp_ie_pending

Definition at line 412 of file uwb.h.

int(* start)(struct uwb_rc *rc)

Definition at line 378 of file uwb.h.

void(* stop)(struct uwb_rc *rc)

Definition at line 379 of file uwb.h.

Definition at line 397 of file uwb.h.

Definition at line 372 of file uwb.h.

Definition at line 399 of file uwb.h.

u16 version

Definition at line 374 of file uwb.h.


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