TUsbDeviceDescriptor Class Reference

class TUsbDeviceDescriptor : public TUsbGenericDescriptor

Device descriptor.

See section 9.6.1 of the USB 2.0 specification.

Intended to be available to 3rd parties later

Inherits from

Public Member Functions
TUsbDeviceDescriptor()
IMPORT_C TUsbDeviceDescriptor *Cast(TUsbGenericDescriptor *)
IMPORT_C TUint16DeviceBcd()
IMPORT_C TUint8DeviceClass()
IMPORT_C TUint8DeviceProtocol()
IMPORT_C TUint8DeviceSubClass()
TBool IsParent(TUsbGenericDescriptor &)
TBool IsPeer(TUsbGenericDescriptor &)
IMPORT_C TUint8ManufacturerIndex()
IMPORT_C TUint8MaxPacketSize0()
IMPORT_C TUint8NumConfigurations()
TUsbDeviceDescriptor *ParseL(TPtrC8 &, TUsbGenericDescriptor *)
IMPORT_C TUint16ProductId()
IMPORT_C TUint8ProductIndex()
IMPORT_C TUint8SerialNumberIndex()
IMPORT_C TUint16USBBcd()
IMPORT_C TUint16VendorId()
Inherited Functions
TUsbGenericDescriptor::DestroyTree()
TUsbGenericDescriptor::IsChild(TUsbGenericDescriptor &)
TUsbGenericDescriptor::TUint16At(TInt)const
TUsbGenericDescriptor::TUint32At(TInt)const
TUsbGenericDescriptor::TUint8At(TInt)const
TUsbGenericDescriptor::TUsbGenericDescriptor()
TUsbGenericDescriptor::operator TCleanupItem()
TUsbGenericDescriptor::operator=(const TUsbGenericDescriptor &)
Public Member Enumerations
enumTFieldOffsets {
EbcdUSB = 2, EbDeviceClass = 4, EbDeviceSubClass = 5, EbDeviceProtocol = 6, EbMaxPacketSize0 = 7, EidVendor = 8, EidProduct = 10, EbcdDevice = 12, EiManufacturer = 14, EiProduct = 15, EiSerialNumber = 16, EbNumConfigurations = 17
}
Inherited Enumerations
TUsbGenericDescriptor:TUsbGenericDescriptorFlags
Public Attributes
const TIntKSizeInOctets
Inherited Attributes
TUsbGenericDescriptor::KbDescriptorTypeOffset
TUsbGenericDescriptor::KbLengthOffset
TUsbGenericDescriptor::iBlob
TUsbGenericDescriptor::iFirstChild
TUsbGenericDescriptor::iNextPeer
TUsbGenericDescriptor::iParent
TUsbGenericDescriptor::iRecognisedAndParsed
TUsbGenericDescriptor::ibDescriptorType
TUsbGenericDescriptor::ibLength

Constructor & Destructor Documentation

TUsbDeviceDescriptor()

IMPORT_CTUsbDeviceDescriptor()

Member Functions Documentation

Cast(TUsbGenericDescriptor *)

IMPORT_C TUsbDeviceDescriptor *Cast(TUsbGenericDescriptor *aOriginal)[static]

Parameters

TUsbGenericDescriptor * aOriginal

DeviceBcd()

IMPORT_C TUint16DeviceBcd()const

DeviceClass()

IMPORT_C TUint8DeviceClass()const

DeviceProtocol()

IMPORT_C TUint8DeviceProtocol()const

DeviceSubClass()

IMPORT_C TUint8DeviceSubClass()const

IsParent(TUsbGenericDescriptor &)

TBool IsParent(TUsbGenericDescriptor &aPotentialParent)[virtual]

Parameters

TUsbGenericDescriptor & aPotentialParent

IsPeer(TUsbGenericDescriptor &)

TBool IsPeer(TUsbGenericDescriptor &aPotentialPeer)[virtual]

Parameters

TUsbGenericDescriptor & aPotentialPeer

ManufacturerIndex()

IMPORT_C TUint8ManufacturerIndex()const

MaxPacketSize0()

IMPORT_C TUint8MaxPacketSize0()const

NumConfigurations()

IMPORT_C TUint8NumConfigurations()const

ParseL(TPtrC8 &, TUsbGenericDescriptor *)

TUsbDeviceDescriptor *ParseL(TPtrC8 &aUsbDes,
TUsbGenericDescriptor *aPreviousDesc
)[static]

The parsing routine for device descriptors. Here the previous descriptor parameter is ignored - because logically a device descriptor can be neither a peer nor a child.

Parameters

TPtrC8 & aUsbDes
TUsbGenericDescriptor * aPreviousDesc

ProductId()

IMPORT_C TUint16ProductId()const

ProductIndex()

IMPORT_C TUint8ProductIndex()const

SerialNumberIndex()

IMPORT_C TUint8SerialNumberIndex()const

USBBcd()

IMPORT_C TUint16USBBcd()const

VendorId()

IMPORT_C TUint16VendorId()const

Member Enumerations Documentation

Enum TFieldOffsets

Enumerators

EbcdUSB = 2
EbDeviceClass = 4
EbDeviceSubClass = 5
EbDeviceProtocol = 6
EbMaxPacketSize0 = 7
EidVendor = 8
EidProduct = 10
EbcdDevice = 12
EiManufacturer = 14
EiProduct = 15
EiSerialNumber = 16
EbNumConfigurations = 17

Member Data Documentation

const TInt KSizeInOctets

const TIntKSizeInOctets[static]