RDevUsbcClient Class Reference

class RDevUsbcClient : public RBusLogicalChannel

The user side handle to the USB client driver.

Inherits from

Public Member Functions
TInt AllocateEndpointResource ( TInt , TUsbcEndpointResource )
void AlternateDeviceStatusNotify ( TRequestStatus &, TUint &)
void AlternateDeviceStatusNotifyCancel ()
TInt ClearHaltEndpoint ( TEndpointNumber )
TBool CurrentlyUsingHighSpeed ()
TInt DeAllocateEndpointResource ( TInt , TUsbcEndpointResource )
TInt DeviceCaps ( TUsbDeviceCaps &)
TInt DeviceConnectToHost ()
TInt DeviceDisconnectFromHost ()
TInt DeviceStatus ( TUsbcDeviceState &)
TInt EndpointCaps ( TDes8 &)
TInt EndpointStatus ( TEndpointNumber , TEndpointState &)
void EndpointStatusNotify ( TRequestStatus &, TUint &)
void EndpointStatusNotifyCancel ()
void EndpointTransferCancel ( TUint )
TUint EndpointZeroMaxPacketSizes ()
TInt EndpointZeroRequestError ()
TInt GetAlternateSetting ( TInt &)
TInt GetCSEndpointDescriptorBlock ( TInt , TInt , TDes8 &)
TInt GetCSEndpointDescriptorBlockSize ( TInt , TInt , TInt &)
TInt GetCSInterfaceDescriptorBlock ( TInt , TDes8 &)
TInt GetCSInterfaceDescriptorBlockSize ( TInt , TInt &)
TInt GetConfigurationDescriptor ( TDes8 &)
TInt GetConfigurationDescriptorSize ( TInt &)
TInt GetConfigurationStringDescriptor ( TDes16 &)
TInt GetDeviceDescriptor ( TDes8 &)
TInt GetDeviceDescriptorSize ( TInt &)
TInt GetDeviceQualifierDescriptor ( TDes8 &)
TInt GetEndpointDescriptor ( TInt , TInt , TDes8 &)
TInt GetEndpointDescriptorSize ( TInt , TInt , TInt &)
TInt GetEndpointZeroMaxPacketSize ()
TInt GetInterfaceDescriptor ( TInt , TDes8 &)
TInt GetInterfaceDescriptorSize ( TInt , TInt &)
TInt GetManufacturerStringDescriptor ( TDes16 &)
TInt GetOtgDescriptor ( TDes8 &)
void GetOtgDescriptorSize ( TInt &)
TInt GetOtgFeatures ( TUint8 &)
TInt GetOtherSpeedConfigurationDescriptor ( TDes8 &)
TInt GetProductStringDescriptor ( TDes16 &)
TInt GetSerialNumberStringDescriptor ( TDes16 &)
TInt GetStringDescriptor ( TUint8 , TDes16 &)
TInt GetStringDescriptorLangId ( TUint16 &)
TInt HaltEndpoint ( TEndpointNumber )
TInt Open ( TInt )
void OtgFeaturesNotify ( TRequestStatus &, TUint8 &)
void OtgFeaturesNotifyCancel ()
TInt PowerUpUdc ()
TBool QueryEndpointResourceUse ( TInt , TUsbcEndpointResource )
TInt QueryReceiveBuffer ( TEndpointNumber , TInt &)
void ReEnumerate ( TRequestStatus &)
void ReEnumerateCancel ()
void Read ( TRequestStatus &, TEndpointNumber , TDes8 &)
void Read ( TRequestStatus &, TEndpointNumber , TDes8 &, TInt )
void ReadCancel ( TEndpointNumber )
void ReadOneOrMore ( TRequestStatus &, TEndpointNumber , TDes8 &)
void ReadOneOrMore ( TRequestStatus &, TEndpointNumber , TDes8 &, TInt )
void ReadPacket ( TRequestStatus &, TEndpointNumber , TDes8 &, TInt )
void ReadUntilShort ( TRequestStatus &, TEndpointNumber , TDes8 &)
void ReadUntilShort ( TRequestStatus &, TEndpointNumber , TDes8 &, TInt )
TInt ReleaseDeviceControl ()
TInt ReleaseInterface ( TInt )
TInt RemoveConfigurationStringDescriptor ()
TInt RemoveManufacturerStringDescriptor ()
TInt RemoveProductStringDescriptor ()
TInt RemoveSerialNumberStringDescriptor ()
TInt RemoveStringDescriptor ( TUint8 )
TInt SendEp0StatusPacket ()
TInt SetCSEndpointDescriptorBlock ( TInt , TInt , const TDesC8 &)
TInt SetCSInterfaceDescriptorBlock ( TInt , const TDesC8 &)
TInt SetConfigurationDescriptor (const TDesC8 &)
TInt SetConfigurationStringDescriptor (const TDesC16 &)
TInt SetDeviceControl ()
TInt SetDeviceDescriptor (const TDesC8 &)
TInt SetDeviceQualifierDescriptor (const TDesC8 &)
TInt SetEndpointDescriptor ( TInt , TInt , const TDesC8 &)
TInt SetEndpointZeroMaxPacketSize ( TInt )
TInt SetInterface ( TInt , TUsbcInterfaceInfoBuf &, TUint32 )
TInt SetInterfaceDescriptor ( TInt , const TDesC8 &)
TInt SetManufacturerStringDescriptor (const TDesC16 &)
TInt SetOtgDescriptor (const TDesC8 &)
TInt SetOtherSpeedConfigurationDescriptor (const TDesC8 &)
TInt SetProductStringDescriptor (const TDesC16 &)
TInt SetSerialNumberStringDescriptor (const TDesC16 &)
TInt SetStringDescriptor ( TUint8 , const TDesC16 &)
TInt SetStringDescriptorLangId ( TUint16 )
TInt SignalRemoteWakeup ()
TVersion VersionRequired ()
void Write ( TRequestStatus &, TEndpointNumber , const TDesC8 &, TInt , TBool )
void WriteCancel ( TEndpointNumber )
Inherited Functions
RBusLogicalChannel::DoCancel(TUint)
RBusLogicalChannel::DoControl(TInt)
RBusLogicalChannel::DoControl(TInt,TAny *)
RBusLogicalChannel::DoControl(TInt,TAny *,TAny *)
RBusLogicalChannel::DoCreate(const TDesC &,const TVersion &,TInt,const TDesC *,const TDesC8 *,TOwnerType,TBool)
RBusLogicalChannel::DoRequest(TInt,TRequestStatus &)
RBusLogicalChannel::DoRequest(TInt,TRequestStatus &,TAny *)
RBusLogicalChannel::DoRequest(TInt,TRequestStatus &,TAny *,TAny *)
RBusLogicalChannel::DoSvControl(TInt)
RBusLogicalChannel::DoSvControl(TInt,TAny *)
RBusLogicalChannel::DoSvControl(TInt,TAny *,TAny *)
RBusLogicalChannel::Open(RMessagePtr2,TInt,TOwnerType)
RBusLogicalChannel::Open(TInt,TOwnerType)
RHandleBase::Attributes()const
RHandleBase::BTraceId()const
RHandleBase::Close()
RHandleBase::DoExtendedClose()
RHandleBase::Duplicate(const RThread &,TOwnerType)
RHandleBase::FullName()const
RHandleBase::FullName(TDes &)const
RHandleBase::Handle()const
RHandleBase::HandleInfo(THandleInfo *)
RHandleBase::Name()const
RHandleBase::NotifyDestruction(TRequestStatus &)
RHandleBase::Open(const TFindHandleBase &,TOwnerType)
RHandleBase::OpenByName(const TDesC &,TOwnerType,TInt)
RHandleBase::RHandleBase()
RHandleBase::RHandleBase(TInt)
RHandleBase::SetHandle(TInt)
RHandleBase::SetHandleNC(TInt)
RHandleBase::SetReturnedHandle(TInt)
RHandleBase::SetReturnedHandle(TInt,RHandleBase &)
Public Member Enumerations
enum TControl {
EControlEndpointZeroRequestError , EControlEndpointCaps , EControlDeviceCaps , EControlGetAlternateSetting , EControlDeviceStatus , EControlEndpointStatus , EControlSetInterface , EControlReleaseInterface , EControlQueryReceiveBuffer , EControlSendEp0StatusPacket , EControlHaltEndpoint , EControlClearHaltEndpoint , EControlSetDeviceControl , EControlReleaseDeviceControl , EControlEndpointZeroMaxPacketSizes , EControlSetEndpointZeroMaxPacketSize , EControlGetDeviceDescriptor , EControlSetDeviceDescriptor , EControlGetDeviceDescriptorSize , EControlGetConfigurationDescriptor , EControlSetConfigurationDescriptor , EControlGetConfigurationDescriptorSize , EControlGetInterfaceDescriptor , EControlSetInterfaceDescriptor , EControlGetInterfaceDescriptorSize , EControlGetEndpointDescriptor , EControlSetEndpointDescriptor , EControlGetEndpointDescriptorSize , EControlGetCSInterfaceDescriptor , EControlSetCSInterfaceDescriptor , EControlGetCSInterfaceDescriptorSize , EControlGetCSEndpointDescriptor , EControlSetCSEndpointDescriptor , EControlGetCSEndpointDescriptorSize , EControlSignalRemoteWakeup , EControlGetStringDescriptorLangId , EControlSetStringDescriptorLangId , EControlGetManufacturerStringDescriptor , EControlSetManufacturerStringDescriptor , EControlRemoveManufacturerStringDescriptor , EControlGetProductStringDescriptor , EControlSetProductStringDescriptor , EControlRemoveProductStringDescriptor , EControlGetSerialNumberStringDescriptor , EControlSetSerialNumberStringDescriptor , EControlRemoveSerialNumberStringDescriptor , EControlGetConfigurationStringDescriptor , EControlSetConfigurationStringDescriptor , EControlRemoveConfigurationStringDescriptor , EControlDeviceDisconnectFromHost , EControlDeviceConnectToHost , EControlDevicePowerUpUdc , EControlDumpRegisters , EControlSetInterface1 , EControlAllocateEndpointResource , EControlDeAllocateEndpointResource , EControlQueryEndpointResourceUse , EControlGetEndpointZeroMaxPacketSize , EControlGetDeviceQualifierDescriptor , EControlSetDeviceQualifierDescriptor , EControlGetOtherSpeedConfigurationDescriptor , EControlSetOtherSpeedConfigurationDescriptor , EControlCurrentlyUsingHighSpeed , EControlSetStringDescriptor , EControlGetStringDescriptor , EControlRemoveStringDescriptor , EControlSetOtgDescriptor , EControlGetOtgDescriptor , EControlGetOtgFeatures
}
enum TRequest {
ERequestEp0  = 0x0, ERequestEp1  = EEndpoint1, ERequestEp2  = EEndpoint2, ERequestEp3  = EEndpoint3, ERequestEp4  = EEndpoint4, ERequestEp5  = EEndpoint5, ERequestUnused  = 6, ERequestAlternateDeviceStatusNotify  = 7, ERequestReEnumerate  = 8, ERequestEndpointStatusNotify  = 9, ERequestEp0Cancel  = 1<<ERequestEp0, ERequestEp1Cancel  = 1<<ERequestEp1, ERequestEp2Cancel  = 1<<ERequestEp2, ERequestEp3Cancel  = 1<<ERequestEp3, ERequestEp4Cancel  = 1<<ERequestEp4, ERequestEp5Cancel  = 1<<ERequestEp5, ERequestUnusedCancel  = 1<<ERequestUnused, ERequestAllCancel  = (ERequestEp0Cancel | ERequestEp1Cancel | ERequestEp2Cancel | ERequestEp3Cancel | ERequestEp4Cancel | ERequestEp5Cancel | ERequestUnusedCancel), ERequestAlternateDeviceStatusNotifyCancel  = 1<<ERequestAlternateDeviceStatusNotify, ERequestReEnumerateCancel  = 1<<ERequestReEnumerate, ERequestEndpointStatusNotifyCancel  = 1<<ERequestEndpointStatusNotify, ERequestOtgFeaturesNotify  = 10, ERequestOtgFeaturesNotifyCancel  = 1<<ERequestOtgFeaturesNotify
}
enum TVer { EMajorVersionNumber  = 0, EMinorVersionNumber  = 1, EBuildVersionNumber  = KE32BuildVersionNumber }
Inherited Enumerations
RHandleBase:TAttributes
Inherited Attributes
RHandleBase::iHandle

Member Functions Documentation

AllocateEndpointResource(TInt, TUsbcEndpointResource)

TInt AllocateEndpointResource ( TInt aEndpoint,
TUsbcEndpointResource aResource
) [inline]

Allocates the use of aResource to aEndpoint. it will be used from when the current bus transfer has been completed.

TUsbcEndpointInfo

Parameters

TInt aEndpoint The endpoint number to which the resource is to be allocated.
TUsbcEndpointResource aResource is typically some rationed hardware resource or possibly specifies a type of endpoint behaviour. aResource is not a bitmap and TEndpointResource values should not be combined.

AlternateDeviceStatusNotify(TRequestStatus &, TUint &)

void AlternateDeviceStatusNotify ( TRequestStatus & aStatus,
TUint & aValue
) [inline]

Register for notification when a change of the Interface alternate setting or the USB Controller's current state occurs. When the alternate setting or the Controller state changes, then the asynchronous function completes and the current alternate setting number or Controller state is written back to aValue. If the KUsbAlternateSetting bit is set then the remaining bits are the alternate setting number. Otherwise aValue is interpreted as a TUsbcDeviceState.

TUsbcDeviceState

Parameters

TRequestStatus & aStatus The request status.
TUint & aValue Receives the alternate setting number or Controller state.

AlternateDeviceStatusNotifyCancel()

void AlternateDeviceStatusNotifyCancel ( ) [inline]

Completes an AlternateDeviceStatusNotify request. If a request has previously been made then the status variable is updated with the current device state.

ClearHaltEndpoint(TEndpointNumber)

TInt ClearHaltEndpoint ( TEndpointNumber aEndpoint ) [inline]

Clears the stall condition on endpoint aEndpoint. This is inluded for symmetry and test purposes.

Parameters

TEndpointNumber aEndpoint

CurrentlyUsingHighSpeed()

TBool CurrentlyUsingHighSpeed ( ) [inline]

Enquires about the current operating speed of the UDC.

DeAllocateEndpointResource(TInt, TUsbcEndpointResource)

TInt DeAllocateEndpointResource ( TInt aEndpoint,
TUsbcEndpointResource aResource
) [inline]

Deallocates the use of aResource aEndpoint or ends a specified endpoint behaviour.

TUsbcEndpointInfo

Parameters

TInt aEndpoint The endpoint number from which the resource is to be removed.
TUsbcEndpointResource aResource is typically some rationed hardware resource or possibly specifies a type of endpoint behaviour. aResource is not a bitmap and TEndpointResource values should not be combined.

DeviceCaps(TUsbDeviceCaps &)

TInt DeviceCaps ( TUsbDeviceCaps & aDevCapsBuf ) [inline]

Retrieves the capabilities of the USB device.

TUsbDeviceCaps

Parameters

TUsbDeviceCaps & aDevCapsBuf a TUsbDeviceCaps object.

DeviceConnectToHost()

TInt DeviceConnectToHost ( ) [inline]

Simulates a physical insertion of the USB cable by enabling the D+/- pull-ups.The iConnect member of TUsbDeviceCapsV01 , returned by RDevUsbcClient::DeviceCaps() , indicates whether this functionality is supported.

DeviceDisconnectFromHost()

TInt DeviceDisconnectFromHost ( ) [inline]

Simulates a physical removal of the USB cable by disabling the D+/- pull-ups.The iConnect member of TUsbDeviceCapsV01 , returned by RDevUsbcClient::DeviceCaps() , indicates whether this functionality is supported.

DeviceStatus(TUsbcDeviceState &)

TInt DeviceStatus ( TUsbcDeviceState & aDeviceStatus ) [inline]

Copies the current device status into aDeviceStatus.

Parameters

TUsbcDeviceState & aDeviceStatus current device status is copied into this.

EndpointCaps(TDes8 &)

TInt EndpointCaps ( TDes8 & aEpCapsBuf ) [inline]

Retrieves the capabilities of all the endpoints on the device.

Suggested use is as follows:

         TUsbcEndpointData data[KUsbcMaxEndpoints];
		TPtr8 dataPtr(reinterpret_cast<TUint8*>(data), sizeof(data), sizeof(data));
		ret = usbPort.EndpointCaps(dataPtr);
        

Parameters

TDes8 & aEpCapsBuf a descriptor encapsulating an array of TUsbcEndpointData.

EndpointStatus(TEndpointNumber, TEndpointState &)

TInt EndpointStatus ( TEndpointNumber aEndpoint,
TEndpointState & aEndpointStatus
) [inline]

Copies the current endpoint status into aEndpointStatus.

Parameters

TEndpointNumber aEndpoint endpoint number valid for the current alternate setting.
TEndpointState & aEndpointStatus the current endpoint status, might be stalled, not stalled or unknown.

EndpointStatusNotify(TRequestStatus &, TUint &)

void EndpointStatusNotify ( TRequestStatus & aStatus,
TUint & aEndpointMask
) [inline]

Register for notification when a change in stall status of any of the interface's endpoints occurs, but not ep0. When a change in stall status occurs, then the asynchronous function completes and the current stall state is written back to 'aEndpointStatus' as a bit map: Only stall state changes caused by SET_FEATURE and CLEAR_FEATURE standard commands on ep0 will be notified when this function completes. After this request completes the request should be re-issued to obtain future notifications.

Parameters

TRequestStatus & aStatus The request status.
TUint & aEndpointMask a bitmap of the endpoints stall status. This is filled in when the call completes bit 1 represents the interface's virtual endpoint 1, (KUsbcEndpoint1Bit) bit 2 represents the interface's virtual endpoint 2, (KUsbcEndpoint2Bit) etc. bit value 0 - not stalled, bit value 1 - stalled.

EndpointStatusNotifyCancel()

void EndpointStatusNotifyCancel ( ) [inline]

Completes an endpoint status notify request.

EndpointTransferCancel(TUint)

void EndpointTransferCancel ( TUint aEndpointMask ) [inline]

Cancels any transfer on any endpoint specified in aEndpointMask.

         // Cancel transfer requests on endpoints 1, 2 & 3
		usbPort.EndpointTransferCancel(KUsbcEndpoint1Bit | KUsbcEndpoint2Bit | KUsbcEndpoint3Bit);
        

Parameters

TUint aEndpointMask bitmap of the endpoints.

EndpointZeroMaxPacketSizes()

TUint EndpointZeroMaxPacketSizes ( ) [inline]

Returns a bitmap of available ep0 maximum packet sizes.

EndpointZeroRequestError()

TInt EndpointZeroRequestError ( ) [inline]

Stalls ep0 to signal command fault to the host.

GetAlternateSetting(TInt &)

TInt GetAlternateSetting ( TInt & aInterfaceNumber ) [inline]

Copies the current alternate setting for this interface into aInterfaceNumber For USB Interfaces whose main interface is active, this will be 0 (zero).

Parameters

TInt & aInterfaceNumber current alternate setting for this interface is copied into this.

GetCSEndpointDescriptorBlock(TInt, TInt, TDes8 &)

TInt GetCSEndpointDescriptorBlock ( TInt aSettingNumber,
TInt aEndpointNumber,
TDes8 & aEndpointDescriptor
) [inline]

Copies the class specific endpoint descriptor for logical endpoint number aEndpointNumber into aEndpointDescriptor for the interface with alternate setting aSettingNumber, 0 for the main interface.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
TInt aEndpointNumber Valid endpoint number on this interface.
TDes8 & aEndpointDescriptor Receives the endpoint descriptor.

GetCSEndpointDescriptorBlockSize(TInt, TInt, TInt &)

TInt GetCSEndpointDescriptorBlockSize ( TInt aSettingNumber,
TInt aEndpointNumber,
TInt & aSize
) [inline]

Copies the size of the class specific endpoint descriptor block for logical endpoint number aEndpointNumber for the interface with alternate setting aSettingNumber, 0 for the main interface, into aSize.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
TInt aEndpointNumber Valid endpoint number on this interface.
TInt & aSize On return, contains the size of the class specific endpoint descriptor block.

GetCSInterfaceDescriptorBlock(TInt, TDes8 &)

TInt GetCSInterfaceDescriptorBlock ( TInt aSettingNumber,
TDes8 & aInterfaceDescriptor
) [inline]

Copies the class specific interface descriptor block into aInterfaceDescriptor for the interface with alternate setting aSettingNumber, 0 for the main interface.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
TDes8 & aInterfaceDescriptor Contains the interface descriptor to be set.

GetCSInterfaceDescriptorBlockSize(TInt, TInt &)

TInt GetCSInterfaceDescriptorBlockSize ( TInt aSettingNumber,
TInt & aSize
) [inline]

Copies the size of the class specific interface descriptor block for the interface with alternate setting aSettingNumber, 0 for the main interface, into aSize.

Parameters

TInt aSettingNumber The alternate setting number.
TInt & aSize receives the size of the interface descriptor.

GetConfigurationDescriptor(TDes8 &)

TInt GetConfigurationDescriptor ( TDes8 & aConfigurationDescriptor ) [inline]

Copies the current configuration descriptor into aConfigurationDescriptor.

Parameters

TDes8 & aConfigurationDescriptor Receives the current configuration descriptor.

GetConfigurationDescriptorSize(TInt &)

TInt GetConfigurationDescriptorSize ( TInt & aSize ) [inline]

Gets the size of the current configuration descriptor.

Parameters

TInt & aSize receives the size of the current configuration descriptor.

GetConfigurationStringDescriptor(TDes16 &)

TInt GetConfigurationStringDescriptor ( TDes16 & aString ) [inline]

Retrieves the string descriptor identified by the iConfiguration index field of the (first) Standard Configuration Descriptor into the aString argument.

Parameters

TDes16 & aString receives configuration string.

GetDeviceDescriptor(TDes8 &)

TInt GetDeviceDescriptor ( TDes8 & aDeviceDescriptor ) [inline]

Copies the current device descriptor into aDeviceDescriptor.

Parameters

TDes8 & aDeviceDescriptor Receives the current device descriptor.

GetDeviceDescriptorSize(TInt &)

TInt GetDeviceDescriptorSize ( TInt & aSize ) [inline]

Gets the size of the current device descriptor. This is unlikely to be anything other than 9.

Parameters

TInt & aSize receives the size of the current device descriptor.

GetDeviceQualifierDescriptor(TDes8 &)

TInt GetDeviceQualifierDescriptor ( TDes8 & aDescriptor ) [inline]

Copies the current device_qualifier descriptor into aDescriptor.

Parameters

TDes8 & aDescriptor Receives the current device_qualifier descriptor.

GetEndpointDescriptor(TInt, TInt, TDes8 &)

TInt GetEndpointDescriptor ( TInt aSettingNumber,
TInt aEndpointNumber,
TDes8 & aEndpointDescriptor
) [inline]

Copies the endpoint descriptor for logical endpoint number aEndpointNumber into aEndpointDescriptor for the interface with alternate setting aSettingNumber, 0 for the main interface.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
TInt aEndpointNumber
TDes8 & aEndpointDescriptor Receives the endpoint descriptor.

GetEndpointDescriptorSize(TInt, TInt, TInt &)

TInt GetEndpointDescriptorSize ( TInt aSettingNumber,
TInt aEndpointNumber,
TInt & aSize
) [inline]

Copies the size of the endpoint descriptor for logical endpoint number aEndpointNumber for the interface with alternate setting aSettingNumber, 0 for the main interface, into aSize.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
TInt aEndpointNumber Valid endpoint number on this interface.
TInt & aSize receives the size of the endpoint descriptor.

GetEndpointZeroMaxPacketSize()

TInt GetEndpointZeroMaxPacketSize ( ) [inline]

Queries the current maximum packet size on ep0.

GetInterfaceDescriptor(TInt, TDes8 &)

TInt GetInterfaceDescriptor ( TInt aSettingNumber,
TDes8 & aInterfaceDescriptor
) [inline]

Copies the interface descriptor into aInterfaceDescriptor for the interface with alternate setting aSettingNumber, 0 for the main interface.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
TDes8 & aInterfaceDescriptor Receives the interface descriptor.

GetInterfaceDescriptorSize(TInt, TInt &)

TInt GetInterfaceDescriptorSize ( TInt aSettingNumber,
TInt & aSize
) [inline]

Copies the size of the interface descriptor for the interface with alternate setting aSettingNumber, 0 for the main interface, into aSize.

Parameters

TInt aSettingNumber The alternate setting.
TInt & aSize receives the size of the interface descriptor.

GetManufacturerStringDescriptor(TDes16 &)

TInt GetManufacturerStringDescriptor ( TDes16 & aString ) [inline]

Copies the string descriptor identified by the iManufacturer index field of the Standard Device Descriptor into the aString argument.

Parameters

TDes16 & aString receives manufacturer string.

GetOtgDescriptor(TDes8 &)

TInt GetOtgDescriptor ( TDes8 & aOtgDesc ) [inline]

Get OTG descriptor of USB on-the-go feature

Parameters

TDes8 & aOtgDesc User-side buffer to store copy of descriptor

GetOtgDescriptorSize(TInt &)

void GetOtgDescriptorSize ( TInt & aSize ) [inline]

Get OTG descriptor size

Parameters

TInt & aSize TInt reference which contains OTG descriptor size on return

GetOtgFeatures(TUint8 &)

TInt GetOtgFeatures ( TUint8 & aFeatures ) [inline]

Get current on-the-go features relating to the ability of device/host pair to perform OTG role swap.

Parameters

TUint8 & aFeatures On return it contanis features the device currently has bit 2 represents b_hnp_enable, (KUsbOtgAttr_B_HnpEnable) bit 3 represents a_hnp_support, (KUsbOtgAttr_A_HnpSupport) bit 4 represents a_alt_hnp_support, (KUsbOtgAttr_A_AltHnpSupport)

GetOtherSpeedConfigurationDescriptor(TDes8 &)

TInt GetOtherSpeedConfigurationDescriptor ( TDes8 & aDescriptor ) [inline]

Copies the current other_speed_configuration descriptor into aDescriptor.

Parameters

TDes8 & aDescriptor Receives the current other_speed_configuration descriptor.

GetProductStringDescriptor(TDes16 &)

TInt GetProductStringDescriptor ( TDes16 & aString ) [inline]

Retrieves the string descriptor identified by the iProduct index field of the Standard Device Descriptor into the aString argument.

Parameters

TDes16 & aString receives product string.

GetSerialNumberStringDescriptor(TDes16 &)

TInt GetSerialNumberStringDescriptor ( TDes16 & aString ) [inline]

Retrieves the string descriptor identified by the iSerialNumber index field of the Standard Device Descriptor into the aString argument.

Parameters

TDes16 & aString receives product string.

GetStringDescriptor(TUint8, TDes16 &)

TInt GetStringDescriptor ( TUint8 aIndex,
TDes16 & aString
) [inline]

Copies the string of the USB string descriptor at the specified index in the string descriptor array into the aString argument.

Although this function can also be used for it, for querying most standard string descriptors there exists a set of dedicated access functions.

RDevUsbcClient::GetStringDescriptorLangId RDevUsbcClient::GetManufacturerStringDescriptor RDevUsbcClient::GetProductStringDescriptor RDevUsbcClient::GetSerialNumberStringDescriptor RDevUsbcClient::GetConfigurationStringDescriptor

Parameters

TUint8 aIndex The position of the string descriptor in the string descriptor array.
TDes16 & aString The target location for the string descriptor copy.

GetStringDescriptorLangId(TUint16 &)

TInt GetStringDescriptorLangId ( TUint16 & aLangId ) [inline]

Copies the current string descriptor language ID (LANGID) code into the aLangId argument. Even though the USB spec allows for the existence of a whole array of LANGID codes, we only support one.

Parameters

TUint16 & aLangId receives the LANGID code.

HaltEndpoint(TEndpointNumber)

TInt HaltEndpoint ( TEndpointNumber aEndpoint ) [inline]

Stalls endpoint aEndpoint, usually to indicate an error condition with a previous command. The host will normally send a SET_FEATURE command on ep0 to acknowledge and clear the stall.

Parameters

TEndpointNumber aEndpoint

Open(TInt)

TInt Open ( TInt aUnit ) [inline]

Opens a channel.

capability
CommDD

Parameters

TInt aUnit This should be 0 (zero).

OtgFeaturesNotify(TRequestStatus &, TUint8 &)

void OtgFeaturesNotify ( TRequestStatus & aStatus,
TUint8 & aValue
) [inline]

Register for notification on USB on-the-go features' change. If any OTG feature is changed, request completes and current feature value is filled in aValue.

Parameters

TRequestStatus & aStatus Request status object
TUint8 & aValue On request completion, it contains current OTG feature value

OtgFeaturesNotifyCancel()

void OtgFeaturesNotifyCancel ( ) [inline]

Cancel pending OTG feature request.

PowerUpUdc()

TInt PowerUpUdc ( ) [inline]

Powers up the UDC and connects it to the bus if one or more interfaces exist.

QueryEndpointResourceUse(TInt, TUsbcEndpointResource)

TBool QueryEndpointResourceUse ( TInt aEndpoint,
TUsbcEndpointResource aResource
) [inline]

Queries endpoint resource use.

Parameters

TInt aEndpoint The endpoint number at which the resource is to be queried.
TUsbcEndpointResource aResource is typically some rationed hardware resource or possibly specifies a type of endpoint behaviour. aResource is not a bitmap and TEndpointResource values should not be combined.

QueryReceiveBuffer(TEndpointNumber, TInt &)

TInt QueryReceiveBuffer ( TEndpointNumber aEndpoint,
TInt & aNumberOfBytes
) [inline]

Copies the number of bytes available in the aEndpoint read buffer into aNumberOfBytes.

Parameters

TEndpointNumber aEndpoint endpoint number valid for the current alternate setting.
TInt & aNumberOfBytes number of bytes available in the aEndpoint read buffer.

ReEnumerate(TRequestStatus &)

void ReEnumerate ( TRequestStatus & aStatus ) [inline]

If the channel has changed the grouping of endpoints between interfaces or changed the interface class type from the defaults then it is necessary to force a re-enumeration. This will typically involve the Symbian OS device initiating a disconnection and re-connection. This is an asynchronous operation which will complete when the Controller is successfully configured by the host, i.e. has achieved EUsbcDeviceStateConfigured. Since it is not known if the operation has failed, at the same time that a ReEnumerate request is made, a timer should be set up to complete after approximately 5 seconds. It can be assumed that if the operation has not completed after this time interval then it will not complete.

Parameters

TRequestStatus & aStatus The request status.

ReEnumerateCancel()

void ReEnumerateCancel ( ) [inline]

Cancels an outstanding ReEnumerate() request.

Read(TRequestStatus &, TEndpointNumber, TDes8 &)

void Read ( TRequestStatus & aStatus,
TEndpointNumber aEndpoint,
TDes8 & aDes
) [inline]

Asynchronously read data from endpoint 'aEndpoint' into the descriptor 'aDes'. Request completes when the specified number of bytes is received, length taken from max. length of descriptor.

Parameters

TRequestStatus & aStatus The request status.
TEndpointNumber aEndpoint The endpoint number to read from.
TDes8 & aDes Descriptor to receive the data.

Read(TRequestStatus &, TEndpointNumber, TDes8 &, TInt)

void Read ( TRequestStatus & aStatus,
TEndpointNumber aEndpoint,
TDes8 & aDes,
TInt aLen
) [inline]

Asynchronously read data from endpoint 'aEndpoint' into the descriptor 'aDes'. Request completes when the specified number of bytes is received.

Parameters

TRequestStatus & aStatus The request status.
TEndpointNumber aEndpoint The endpoint number to read from.
TDes8 & aDes Descriptor to receive the data.
TInt aLen The number of bytes to read.

ReadCancel(TEndpointNumber)

void ReadCancel ( TEndpointNumber aEndpoint ) [inline]

Cancels an outstanding read request. The request will complete with whatever data is available.

Parameters

TEndpointNumber aEndpoint

ReadOneOrMore(TRequestStatus &, TEndpointNumber, TDes8 &)

void ReadOneOrMore ( TRequestStatus & aStatus,
TEndpointNumber aEndpoint,
TDes8 & aDes
) [inline]

Asynchronously read data from endpoint 'aEndpoint' into the descriptor 'aDes'. The request completes when the specified number of bytes is received, length taken from max. length of descriptor or a packet whose size is smaller than the endpoint's maximum packet size is received.

Parameters

TRequestStatus & aStatus The request status.
TEndpointNumber aEndpoint The endpoint number to read from.
TDes8 & aDes Descriptor to receive the data.

ReadOneOrMore(TRequestStatus &, TEndpointNumber, TDes8 &, TInt)

void ReadOneOrMore ( TRequestStatus & aStatus,
TEndpointNumber aEndpoint,
TDes8 & aDes,
TInt aLen
) [inline]

Asynchronously read data from endpoint 'aEndpoint' into the descriptor 'aDes'. The request completes when the specified number of bytes is received, or a packet whose size is smaller than the endpoint's maximum packet size is received.

Parameters

TRequestStatus & aStatus The request status.
TEndpointNumber aEndpoint The endpoint number to read from.
TDes8 & aDes Descriptor to receive the data.
TInt aLen The number of bytes to receive.

ReadPacket(TRequestStatus &, TEndpointNumber, TDes8 &, TInt)

void ReadPacket ( TRequestStatus & aStatus,
TEndpointNumber aEndpoint,
TDes8 & aDes,
TInt aMaxLen
) [inline]

Asynchronously read an entire packet of data from endpoint 'aEndpoint' into the descriptor 'aDes'. If a packet has previously been partly read. then only the remainder of the packet will be returned. The request should be for the maximum packet size of the endpoint. If less data is requested, then after this read completes the remainder of the data in the packet will be discarded and the next read will start from the next available packet. Request completes when either a complete packet is received or the length of the packet currently being received exceeds 'aMaxLen'.

Parameters

TRequestStatus & aStatus The request status.
TEndpointNumber aEndpoint The endpoint number to read from.
TDes8 & aDes Descriptor to receive the data.
TInt aMaxLen .

ReadUntilShort(TRequestStatus &, TEndpointNumber, TDes8 &)

void ReadUntilShort ( TRequestStatus & aStatus,
TEndpointNumber aEndpoint,
TDes8 & aDes
) [inline]

Asynchronously read data from endpoint 'aEndpoint' into the descriptor 'aDes'. Request completes when the specified number of bytes is received (in first version, length taken from max. length of descriptor).

Parameters

TRequestStatus & aStatus The request status.
TEndpointNumber aEndpoint The endpoint number to read from.
TDes8 & aDes Descriptor to receive the data.

ReadUntilShort(TRequestStatus &, TEndpointNumber, TDes8 &, TInt)

void ReadUntilShort ( TRequestStatus & aStatus,
TEndpointNumber aEndpoint,
TDes8 & aDes,
TInt aLen
) [inline]

Asynchronously read data from endpoint 'aEndpoint' into the descriptor 'aDes'. Request completes when the specified number of bytes is received (in first version, length taken from max. length of descriptor).

Parameters

TRequestStatus & aStatus The request status.
TEndpointNumber aEndpoint The endpoint number to read from.
TDes8 & aDes Descriptor to receive the data.
TInt aLen The number of bytes to receive.

ReleaseDeviceControl()

TInt ReleaseDeviceControl ( ) [inline]

Relinquishes device control previously allocated to this channel.

ReleaseInterface(TInt)

TInt ReleaseInterface ( TInt aInterfaceNumber ) [inline]

Release an interface previously claimed by this channel. Alternate interfaces need to be released in strict descending order, starting with the last (i.e. highest numbered) one. It is not necessary to release an interface that wasn't successfully requested.

Parameters

TInt aInterfaceNumber Specifies the alternate setting number 'aInterfaceNum' of the interface to be released.

RemoveConfigurationStringDescriptor()

TInt RemoveConfigurationStringDescriptor ( ) [inline]

Removes (deletes) the string descriptor identified by the iConfiguration index field of the Standard Configuration Descriptor and sets that field to zero.

RemoveManufacturerStringDescriptor()

TInt RemoveManufacturerStringDescriptor ( ) [inline]

Removes (deletes) the string descriptor identified by the iManufacturer index field of the Standard Device Descriptor and sets that field to zero.

RemoveProductStringDescriptor()

TInt RemoveProductStringDescriptor ( ) [inline]

Removes (deletes) the string descriptor identified by the iProduct index field of the Standard Device Descriptor and sets that field to zero.

RemoveSerialNumberStringDescriptor()

TInt RemoveSerialNumberStringDescriptor ( ) [inline]

Removes (deletes) the string descriptor identified by the iSerialNumber index field of the Standard Device Descriptor and sets that field to zero.

RemoveStringDescriptor(TUint8)

TInt RemoveStringDescriptor ( TUint8 aIndex ) [inline]

Removes (deletes) the USB string descriptor at the specified index in the string descriptor array. The position in the array of other string descriptors is not affected.

Care should be taken, when choosing aIndex, not to inadvertently delete a standard string descriptor (also because index references from non-string descriptors would be invalidated). For the deletion of most standard string descriptors there exists a set of dedicated functions.

RDevUsbcClient::RemoveManufacturerStringDescriptor RDevUsbcClient::RemoveProductStringDescriptor RDevUsbcClient::RemoveSerialNumberStringDescriptor RDevUsbcClient::RemoveConfigurationStringDescriptor

Parameters

TUint8 aIndex The position of the string descriptor in the string descriptor array.

SendEp0StatusPacket()

TInt SendEp0StatusPacket ( ) [inline]

Requests that a zero length status packet be sent to the host in response to a class or vendor specific ep0 SETUP packet.

SetCSEndpointDescriptorBlock(TInt, TInt, const TDesC8 &)

TInt SetCSEndpointDescriptorBlock ( TInt aSettingNumber,
TInt aEndpointNumber,
const TDesC8 & aEndpointDescriptor
) [inline]

Sets the class specific endpoint descriptor for logical endpoint number aEndpointNumber contained in aEndpointDescriptor for the interface with alternate setting aSettingNumber, 0 for the main interface, for transmission to the host during enumeration.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
TInt aEndpointNumber Valid endpoint number on this interface.
const TDesC8 & aEndpointDescriptor Contains the endpoint descriptor to be set.

SetCSInterfaceDescriptorBlock(TInt, const TDesC8 &)

TInt SetCSInterfaceDescriptorBlock ( TInt aSettingNumber,
const TDesC8 & aInterfaceDescriptor
) [inline]

aSettingNumber is the alternate interface setting, 0 for the main interface, that the descriptor block aDes should be attached to. aDes is a block of data containing at least one class specific descriptor for transmission during enumeration after the class interface descriptor (or alternate interface descriptor) has been sent, but before the endpoint descriptors belonging to this interface are sent. aDes may contain as many descriptors as are necessary or only 1. SetCSInterfaceDescriptorBlock() should be called at any time after SetInterface() has been called to establish a main interface or an alternate interface. More than one call may be made - the data blocks will be concatenated prior to sending. No checking or validation of the contents of aDes will be made and it is the caller's responsibility to ensure that the data supplied is correct and appropriate to the interface identified by aSettingNumber.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
const TDesC8 & aInterfaceDescriptor Contains the interface descriptor to be set.

SetConfigurationDescriptor(const TDesC8 &)

TInt SetConfigurationDescriptor ( const TDesC8 & aConfigurationDescriptor ) [inline]

Sets the contents of aConfigurationDescriptor to be the current configuration descriptor.

Parameters

const TDesC8 & aConfigurationDescriptor contains the configuration descriptor.

SetConfigurationStringDescriptor(const TDesC16 &)

TInt SetConfigurationStringDescriptor ( const TDesC16 & aString ) [inline]

Sets the string descriptor identified by the iConfiguration index field of the Standard Configuration Descriptor to the aString argument.

Parameters

const TDesC16 & aString Contains the new serial number string descriptor.

SetDeviceControl()

TInt SetDeviceControl ( ) [inline]

Requests that device control be allocated to this channel.

SetDeviceDescriptor(const TDesC8 &)

TInt SetDeviceDescriptor ( const TDesC8 & aDeviceDescriptor ) [inline]

Sets the contents of aDeviceDescriptor to be the current device descriptor.

Parameters

const TDesC8 & aDeviceDescriptor contains the device descriptor.

SetDeviceQualifierDescriptor(const TDesC8 &)

TInt SetDeviceQualifierDescriptor ( const TDesC8 & aDescriptor ) [inline]

Sets the device_qualifier descriptor to the contents of aDescriptor.

Parameters

const TDesC8 & aDescriptor contains the new device_qualifier descriptor.

SetEndpointDescriptor(TInt, TInt, const TDesC8 &)

TInt SetEndpointDescriptor ( TInt aSettingNumber,
TInt aEndpointNumber,
const TDesC8 & aEndpointDescriptor
) [inline]

Sets the endpoint descriptor for logical endpoint number aEndpointNumber contained in aEndpointDescriptor for the interface with alternate setting aSettingNumber, 0 for the main interface, for transmission to the host during enumeration.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
TInt aEndpointNumber Valid endpoint number on this interface.
const TDesC8 & aEndpointDescriptor Contains the endpoint descriptor to be set.

SetEndpointZeroMaxPacketSize(TInt)

TInt SetEndpointZeroMaxPacketSize ( TInt aMaxPacketSize ) [inline]

Requests that a maximum packet size of aMaxPacketSize be set on ep0.

Parameters

TInt aMaxPacketSize The maximum packet size.

SetInterface(TInt, TUsbcInterfaceInfoBuf &, TUint32)

TInt SetInterface ( TInt aInterfaceNumber,
TUsbcInterfaceInfoBuf & aInterfaceData,
TUint32 aBandwidthPriority = (EUsbcBandwidthOUTDefault|EUsbcBandwidthINDefault)
) [inline]

Request (i.e. claim for this channel) up to five endpoints and set the class type for this USB interface. 'aInterfaceData' is a package buffer which describes the interface and all the endpoints being requested by the driver for this interface.

Parameters

TInt aInterfaceNumber Distinguishes between alternate interfaces. If these are not be used then this should always be zero. If this parameter is used, then its value must be one more than that of the proceeding alternate interface.
TUsbcInterfaceInfoBuf & aInterfaceData a package buffer which describes the interface and all the endpoints being requested by the driver for this interface.
TUint32 aBandwidthPriority = (EUsbcBandwidthOUTDefault|EUsbcBandwidthINDefault) is a bitmap combining the required IN and OUT priorities. Values are in the range [0,3] from the lowest priority bandwidth, 0, to the highest 3 and are separately specified for IN and OUT endpoints. Interfaces requiring higher bandwidth are allocated significantly more buffering than low bandwidth interfaces. Interfaces should not be given a higher bandwidth priority than they require.

SetInterfaceDescriptor(TInt, const TDesC8 &)

TInt SetInterfaceDescriptor ( TInt aSettingNumber,
const TDesC8 & aInterfaceDescriptor
) [inline]

Sets the interface descriptor contained in aInterfaceDescriptor for the interface with alternate setting aSettingNumber, 0 for the main interface, for transmission to the host during enumeration.

Parameters

TInt aSettingNumber Alternate setting number on the interface, 0 for the main interface.
const TDesC8 & aInterfaceDescriptor Contains the interface descriptor to be set.

SetManufacturerStringDescriptor(const TDesC16 &)

TInt SetManufacturerStringDescriptor ( const TDesC16 & aString ) [inline]

Sets the string descriptor identified by the iManufacturer index field of the Standard Device Descriptor to the aString argument.

Parameters

const TDesC16 & aString Contains the new manufacturer string descriptor.

SetOtgDescriptor(const TDesC8 &)

TInt SetOtgDescriptor ( const TDesC8 & aOtgDesc ) [inline]

Set OTG descriptor by user to enable/disable USB on-the-go feature

Parameters

const TDesC8 & aOtgDesc Descriptor buffer containing OTG features

SetOtherSpeedConfigurationDescriptor(const TDesC8 &)

TInt SetOtherSpeedConfigurationDescriptor ( const TDesC8 & aDescriptor ) [inline]

Sets the other_speed_configuration descriptor to the contents of aDescriptor.

Parameters

const TDesC8 & aDescriptor contains the new other_speed_configuration descriptor.

SetProductStringDescriptor(const TDesC16 &)

TInt SetProductStringDescriptor ( const TDesC16 & aString ) [inline]

Sets the string descriptor identified by the iProduct index field of the Standard Device Descriptor to the aString argument.

Parameters

const TDesC16 & aString Contains the new product string descriptor.

SetSerialNumberStringDescriptor(const TDesC16 &)

TInt SetSerialNumberStringDescriptor ( const TDesC16 & aString ) [inline]

Sets the string descriptor identified by the iSerialNumber index field of the Standard Device Descriptor to the aString argument.

Parameters

const TDesC16 & aString Contains the new serial number string descriptor.

SetStringDescriptor(TUint8, const TDesC16 &)

TInt SetStringDescriptor ( TUint8 aIndex,
const TDesC16 & aString
) [inline]

Sets the aString argument to be the string of a USB string descriptor at the specified index in the string descriptor array. If a string descriptor already exists at that position then its string will be replaced.

Care should be taken, when choosing aIndex, not to inadvertently overwrite one of the standard string descriptors. For their manipulation there exists a set of dedicated access functions.

RDevUsbcClient::SetStringDescriptorLangId RDevUsbcClient::SetManufacturerStringDescriptor RDevUsbcClient::SetProductStringDescriptor RDevUsbcClient::SetSerialNumberStringDescriptor RDevUsbcClient::SetConfigurationStringDescriptor

Parameters

TUint8 aIndex The position of the string descriptor in the string descriptor array.
const TDesC16 & aString Contains the string descriptor to be set.

SetStringDescriptorLangId(TUint16)

TInt SetStringDescriptorLangId ( TUint16 aLangId ) [inline]

Sets the string descriptor language ID (LANGID). Even though the USB spec allows for the existence of a whole array of LANGID codes, we only support one.

Parameters

TUint16 aLangId the LANGID code to be set.

SignalRemoteWakeup()

TInt SignalRemoteWakeup ( ) [inline]

Generates a Remote Wakeup bus condition The capability of the device to generate Remote Wakeup signalling is enquired in RDevUsbcClient::DeviceCaps .

VersionRequired()

TVersion VersionRequired ( ) const [inline]

Write(TRequestStatus &, TEndpointNumber, const TDesC8 &, TInt, TBool)

void Write ( TRequestStatus & aStatus,
TEndpointNumber aEndpoint,
const TDesC8 & aDes,
TInt aLen,
TBool aZlpRequired = EFalse
) [inline]

Asynchronously write 'aLen' bytes of data to endpoint 'aEndpoint' from descriptor 'aDes'. 'aZlpRequired' (optional) signals that ZLP termination may be required.

Parameters

TRequestStatus & aStatus The request status.
TEndpointNumber aEndpoint The endpoint number to write to.
const TDesC8 & aDes Descriptor to provide the data.
TInt aLen The number of bytes of data to be written.
TBool aZlpRequired = EFalse True, if ZLP termination is required; false, otherwise.

WriteCancel(TEndpointNumber)

void WriteCancel ( TEndpointNumber aEndpoint ) [inline]

Cancels an outstanding write request on endpoint aEndpoint.

Parameters

TEndpointNumber aEndpoint The endpoint number whose write is to be cancelled.

Member Enumerations Documentation

Enum TControl

Enumerators

EControlEndpointZeroRequestError
EControlEndpointCaps
EControlDeviceCaps
EControlGetAlternateSetting
EControlDeviceStatus
EControlEndpointStatus
EControlSetInterface
EControlReleaseInterface
EControlQueryReceiveBuffer
EControlSendEp0StatusPacket
EControlHaltEndpoint
EControlClearHaltEndpoint
EControlSetDeviceControl
EControlReleaseDeviceControl
EControlEndpointZeroMaxPacketSizes
EControlSetEndpointZeroMaxPacketSize
EControlGetDeviceDescriptor
EControlSetDeviceDescriptor
EControlGetDeviceDescriptorSize
EControlGetConfigurationDescriptor
EControlSetConfigurationDescriptor
EControlGetConfigurationDescriptorSize
EControlGetInterfaceDescriptor
EControlSetInterfaceDescriptor
EControlGetInterfaceDescriptorSize
EControlGetEndpointDescriptor
EControlSetEndpointDescriptor
EControlGetEndpointDescriptorSize
EControlGetCSInterfaceDescriptor
EControlSetCSInterfaceDescriptor
EControlGetCSInterfaceDescriptorSize
EControlGetCSEndpointDescriptor
EControlSetCSEndpointDescriptor
EControlGetCSEndpointDescriptorSize
EControlSignalRemoteWakeup
EControlGetStringDescriptorLangId
EControlSetStringDescriptorLangId
EControlGetManufacturerStringDescriptor
EControlSetManufacturerStringDescriptor
EControlRemoveManufacturerStringDescriptor
EControlGetProductStringDescriptor
EControlSetProductStringDescriptor
EControlRemoveProductStringDescriptor
EControlGetSerialNumberStringDescriptor
EControlSetSerialNumberStringDescriptor
EControlRemoveSerialNumberStringDescriptor
EControlGetConfigurationStringDescriptor
EControlSetConfigurationStringDescriptor
EControlRemoveConfigurationStringDescriptor
EControlDeviceDisconnectFromHost
EControlDeviceConnectToHost
EControlDevicePowerUpUdc
EControlDumpRegisters
EControlSetInterface1
EControlAllocateEndpointResource
EControlDeAllocateEndpointResource
EControlQueryEndpointResourceUse
EControlGetEndpointZeroMaxPacketSize
EControlGetDeviceQualifierDescriptor
EControlSetDeviceQualifierDescriptor
EControlGetOtherSpeedConfigurationDescriptor
EControlSetOtherSpeedConfigurationDescriptor
EControlCurrentlyUsingHighSpeed
EControlSetStringDescriptor
EControlGetStringDescriptor
EControlRemoveStringDescriptor
EControlSetOtgDescriptor
EControlGetOtgDescriptor
EControlGetOtgFeatures

Enum TRequest

Enumerators

ERequestEp0 = 0x0
ERequestEp1 = EEndpoint1
ERequestEp2 = EEndpoint2
ERequestEp3 = EEndpoint3
ERequestEp4 = EEndpoint4
ERequestEp5 = EEndpoint5
ERequestUnused = 6
ERequestAlternateDeviceStatusNotify = 7
ERequestReEnumerate = 8
ERequestEndpointStatusNotify = 9
ERequestEp0Cancel = 1<<ERequestEp0
ERequestEp1Cancel = 1<<ERequestEp1
ERequestEp2Cancel = 1<<ERequestEp2
ERequestEp3Cancel = 1<<ERequestEp3
ERequestEp4Cancel = 1<<ERequestEp4
ERequestEp5Cancel = 1<<ERequestEp5
ERequestUnusedCancel = 1<<ERequestUnused
ERequestAllCancel = (ERequestEp0Cancel | ERequestEp1Cancel | ERequestEp2Cancel | ERequestEp3Cancel | ERequestEp4Cancel | ERequestEp5Cancel | ERequestUnusedCancel)
ERequestAlternateDeviceStatusNotifyCancel = 1<<ERequestAlternateDeviceStatusNotify
ERequestReEnumerateCancel = 1<<ERequestReEnumerate
ERequestEndpointStatusNotifyCancel = 1<<ERequestEndpointStatusNotify
ERequestOtgFeaturesNotify = 10
ERequestOtgFeaturesNotifyCancel = 1<<ERequestOtgFeaturesNotify

Enum TVer

Enumerators

EMajorVersionNumber = 0
EMinorVersionNumber = 1
EBuildVersionNumber = KE32BuildVersionNumber