Logo Search packages:      
Sourcecode: linux-2.6 version File versions

uwb_est_entry Struct Reference

#include <uwb.h>

List of all members.

Detailed Description

UWB radio controller Event Size Entry (for creating entry tables)

WUSB and WHCI define events and notifications, and they might have fixed or variable size.

Each event/notification has a size which is not necessarily known in advance based on the event code. As well, vendor specific events/notifications will have a size impossible to determine unless we know about the device's specific details.

It was way too smart of the spec writers not to think that it would be impossible for a generic driver to skip over vendor specific events/notifications if there are no LENGTH fields in the HEADER of each message...the transaction size cannot be counted on as the spec does not forbid to pack more than one event in a single transaction.

Thus, we guess sizes with tables (or for events, when you know the size ahead of time you can use uwb_rc_neh_extra_size*()). We register tables with the known events and their sizes, and then we traverse those tables. For those with variable length, we provide a way to lookup the size inside the event/notification's payload. This allows device-specific event size tables to be registered.

: Size of the payload

: if != 0, at offset -1 starts a field with a length that has to be added to . The format of the field is given by .

: Type and length of the offset field. Most common is LE 16 bits (that's why that is zero); others are there mostly to cover for bugs and weirdos.

Definition at line 595 of file uwb.h.

Public Types

enum  { UWB_EST_16 = 0, UWB_EST_8 = 1 }

Public Attributes

unsigned offset
size_t size
enum uwb_est_entry:: { ... }  type

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

Generated by  Doxygen 1.6.0   Back to index