class RDevUsbcScClient : public RBusLogicalChannel |
The user side handle to the USB client driver.
Private Member Functions | |
---|---|
TInt | Drain(TUint) |
TInt | FindNextAlternateSetting() |
TInt | Peek(TUint) |
Inherited Enumerations | |
---|---|
RHandleBase:TAttributes |
Public Attributes | |
---|---|
const TUint | KFieldBuffMask |
const TUint | KFieldBuffPos |
const TUint | KFieldFlagsMask |
const TUint | KFieldFlagsPos |
const TUint | KFieldIdMask |
Private Attributes | |
---|---|
TInt | iAltSettingSeq |
TInt | iAlternateSetting |
TUint8 | iEndpointStatus |
TInt | iInAltSetting |
TInt | iNewAltSetting |
RChunk | iSharedChunk |
Inherited Attributes | |
---|---|
RHandleBase::iHandle |
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.
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. |
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.
TRequestStatus & aStatus | The request status. |
TUint & aValue | Receives the alternate setting number or Controller state. |
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.
TInt | ClearHaltEndpoint | ( | TInt | aEndpoint | ) | [inline] |
Clears the stall condition on endpoint aEndpoint. This is inluded for symmetry and test purposes.
TInt aEndpoint |
TBool | CurrentlyUsingHighSpeed | ( | ) | [inline] |
Enquires about the current operating speed of the UDC.
TInt | DeAllocateEndpointResource | ( | TInt | aEndpoint, |
TUsbcEndpointResource | aResource | |||
) | [inline] |
Deallocates the use of aResource aEndpoint or ends a specified endpoint behaviour.
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. |
TInt | DeviceCaps | ( | TUsbDeviceCaps & | aDevCapsBuf | ) | [inline] |
Retrieves the capabilities of the USB device.
TUsbDeviceCaps & aDevCapsBuf | A TUsbDeviceCaps object. |
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.
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.
TInt | DeviceStatus | ( | TUsbcDeviceState & | aDeviceStatus | ) | [inline] |
Copies the current device status into aDeviceStatus.
TUsbcDeviceState & aDeviceStatus | Current device status is copied into this. |
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);
TDes8 & aEpCapsBuf | A descriptor encapsulating an array of TUsbcEndpointData. |
TInt | EndpointStatus | ( | TInt | aEndpoint, |
TEndpointState & | aEndpointStatus | |||
) | [inline] |
Copies the current endpoint status into aEndpointStatus.
TInt aEndpoint | Endpoint number valid for the current alternate setting. |
TEndpointState & aEndpointStatus | The current endpoint status, might be stalled, not stalled or unknown. |
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.
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. |
void | EndpointStatusNotifyCancel | ( | ) | [inline] |
Completes an endpoint status notify request.
void | EndpointTransferCancel | ( | TUint | aBufferMask | ) | [inline] |
Cancels any transfer on any endpoint buffer specified in aBufferMask.
// Cancel transfer requests on buffers 1, 2, 3 & 4 usbPort.EndpointTransferCancel(1 | 2 | 4 | 8);
TUint aBufferMask | bitmap of the endpoint buffer numbers. |
TUint | EndpointZeroMaxPacketSizes | ( | ) | [inline] |
Returns a bitmap of available ep0 maximum packet sizes.
TInt | EndpointZeroRequestError | ( | ) | [inline] |
Stalls ep0 to signal command fault to the host.
IMPORT_C TInt | FinalizeInterface | ( | ) |
Finalize the interface, creating a chunk for use with reading/writing to endpoints. FinalizeInterface should be called after all alternate interfaces have been set up with SetInteface. Any attempt to call SetInterface after this stage will fail.
IMPORT_C TInt | FinalizeInterface | ( | RChunk *& | aChunk | ) |
Finalize the interface, creating a chunk for use with reading/writing to endpoints. This version of the method provides a handle to the chunk, which is needed if the buffer is to be passed and used by other processes. FinalizeInterface should be called after all alternate interfaces have been set up with SetInteface. Any attempt to call SetInterface after this stage will fail.
RChunk *& aChunk | On success aChunk points to the created chunk. |
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).
TInt & aInterfaceNumber | Current alternate setting for this interface is copied into this. |
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.
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.
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.
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.
TInt | GetConfigurationDescriptor | ( | TDes8 & | aConfigurationDescriptor | ) | [inline] |
Copies the current configuration descriptor into aConfigurationDescriptor.
TDes8 & aConfigurationDescriptor | Receives the current configuration descriptor. |
TInt | GetConfigurationDescriptorSize | ( | TInt & | aSize | ) | [inline] |
Gets the size of the current configuration descriptor.
TInt & aSize | Receives the size of the current configuration descriptor. |
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.
TDes16 & aString | Receives configuration string. |
IMPORT_C TInt | GetDataTransferChunk | ( | RChunk *& | aChunk | ) |
Sets aChunk to RChunk currently in use by BIL.
RChunk *& aChunk | aChunk will point to RChunk currently in use by BIL |
TInt | GetDeviceDescriptor | ( | TDes8 & | aDeviceDescriptor | ) | [inline] |
Copies the current device descriptor into aDeviceDescriptor.
TDes8 & aDeviceDescriptor | Receives the current device descriptor. |
TInt | GetDeviceDescriptorSize | ( | TInt & | aSize | ) | [inline] |
Gets the size of the current device descriptor. This is unlikely to be anything other than 9.
TInt & aSize | Receives the size of the current device descriptor. |
TInt | GetDeviceQualifierDescriptor | ( | TDes8 & | aDescriptor | ) | [inline] |
Copies the current device_qualifier descriptor into aDescriptor.
TDes8 & aDescriptor | Receives the current device_qualifier descriptor. |
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.
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.
TInt | GetEndpointZeroMaxPacketSize | ( | ) | [inline] |
Queries the current maximum packet size on ep0.
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.
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.
TInt | GetManufacturerStringDescriptor | ( | TDes16 & | aString | ) | [inline] |
Copies the string descriptor identified by the iManufacturer index field of the Standard Device Descriptor into the aString argument.
TDes16 & aString | Receives manufacturer string. |
TInt | GetOtgDescriptor | ( | TDes8 & | aOtgDesc | ) | [inline] |
Get OTG descriptor of USB on-the-go feature.
TDes8 & aOtgDesc | User-side buffer to store copy of descriptor. |
void | GetOtgDescriptorSize | ( | TInt & | aSize | ) | [inline] |
Get OTG descriptor size
TInt & aSize | TInt Reference which contains OTG descriptor size on return. |
TInt | GetOtgFeatures | ( | TUint8 & | aFeatures | ) | [inline] |
Get current on-the-go features relating to the ability of device/host pair to perform OTG role swap.
TUint8 & aFeatures | On return it contains 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) |
TInt | GetOtherSpeedConfigurationDescriptor | ( | TDes8 & | aDescriptor | ) | [inline] |
Copies the current other_speed_configuration descriptor into aDescriptor.
TDes8 & aDescriptor | Receives the current other_speed_configuration descriptor. |
TInt | GetProductStringDescriptor | ( | TDes16 & | aString | ) | [inline] |
Retrieves the string descriptor identified by the iProduct index field of the Standard Device Descriptor into the aString argument.
TDes16 & aString | Receives product string. |
TInt | GetSerialNumberStringDescriptor | ( | TDes16 & | aString | ) | [inline] |
Retrieves the string descriptor identified by the iSerialNumber index field of the Standard Device Descriptor into the aString argument.
TDes16 & aString | Receives product string. |
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
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.
TUint16 & aLangId | Receives the LANGID code. |
TInt | HaltEndpoint | ( | TInt | 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.
TInt aEndpoint |
TInt | Open | ( | TInt | aUnit | ) | [inline] |
Opens a channel.
TInt aUnit | This should be 0 (zero). |
IMPORT_C TInt | OpenEndpoint | ( | TEndpointBuffer & | aEpB, |
TInt | aEpI | |||
) |
Opens an endpoint, an endpoint should be opened before any operations are attempted on it.
TEndpointBuffer & aEpB | On success aEpB will be filled with the relevant details for that endpoint |
TInt aEpI | endpoint number to be opened |
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.
TRequestStatus & aStatus | Request status object. |
TUint8 & aValue | On request completion, contains current OTG feature value. |
TInt | PowerUpUdc | ( | ) | [inline] |
Powers up the UDC and connects it to the bus if one or more interfaces exist.
TBool | QueryEndpointResourceUse | ( | TInt | aEndpoint, |
TUsbcEndpointResource | aResource | |||
) | [inline] |
Queries endpoint resource use.
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. |
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.
TRequestStatus & aStatus | The request status. |
void | ReadCancel | ( | TInt | aBufferNumber | ) | [inline] |
Cancels an outstanding read request on endpoint buffer aBufferNumber.
TInt aBufferNumber | The endpoint buffer number whose read is to be cancelled. |
TInt | ReadDataNotify | ( | TInt | aBufferNumber, |
TRequestStatus & | aStatus, | |||
TInt | aLength = 0 | |||
) | [inline] |
Requests notification for when there is data available on the buffer indicated. If the buffer already has data in it, it will return immediately, otherwise it will block until there is.
If the BIL methods are being used (recommended), then this method should not be called directly, using TEndpointBuffer::GetBuffer instead.
TInt aBufferNumber | Indicates the buffer for which the caller wishes to know about data additions. The buffer needed of any given endpoint can be found by inspecting the alternative setting table, in the chunk header. The location of the buffer can be found by looking at the buffer offset table, also in the chunk header. |
TRequestStatus & aStatus | The request status where notification of completion is directed. KErrCancel is returned if the asynchronous operation was cancelled. |
TInt aLength = 0 | A preference for the quantity of data to be read. This value is only a suggestion and my be ignored. The default value of 0 indicates no preference. |
TInt | RealizeInterface | ( | RChunk & | aChunk | ) | [inline] |
This method should be called after SetInterface has been called for all possible alternative settings. Calling this invalidates further calls to SetInterface. On success, a chunk handle is created and passed back though aChunk. This is needed for the user side to access the shared chunk where the data is stored. Note that if you are using the BIL (described later), then FinalizeInterface (...) should be used instead, which will call this method.
RChunk & aChunk |
TInt | ReleaseDeviceControl | ( | ) | [inline] |
Relinquishes device control previously allocated to this channel.
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.
TInt aInterfaceNumber | Specifies the alternate setting number 'aInterfaceNum' of the interface to be released. |
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.
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.
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.
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.
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
TUint8 aIndex | The position of the string descriptor in the string descriptor array. |
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.
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.
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 one. 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.
TInt | SetConfigurationDescriptor | ( | const TDesC8 & | aConfigurationDescriptor | ) | [inline] |
Sets the contents of aConfigurationDescriptor to be the current configuration descriptor.
const TDesC8 & aConfigurationDescriptor | Contains the configuration descriptor. |
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.
const TDesC16 & aString | Contains the new serial number string descriptor. |
TInt | SetDeviceControl | ( | ) | [inline] |
Requests that device control be allocated to this channel.
TInt | SetDeviceDescriptor | ( | const TDesC8 & | aDeviceDescriptor | ) | [inline] |
Sets the contents of aDeviceDescriptor to be the current device descriptor.
const TDesC8 & aDeviceDescriptor | Contains the device descriptor. |
TInt | SetDeviceQualifierDescriptor | ( | const TDesC8 & | aDescriptor | ) | [inline] |
Sets the device_qualifier descriptor to the contents of aDescriptor.
const TDesC8 & aDescriptor | Contains the new device_qualifier descriptor. |
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.
TInt | SetEndpointZeroMaxPacketSize | ( | TInt | aMaxPacketSize | ) | [inline] |
Requests that a maximum packet size of aMaxPacketSize be set on ep0.
TInt aMaxPacketSize | The maximum packet size. |
TInt | SetInterface | ( | TInt | aInterfaceNumber, |
TUsbcScInterfaceInfoBuf & | aInterfaceData | |||
) | [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.
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. |
TUsbcScInterfaceInfoBuf & aInterfaceData | A package buffer which describes the interface and all the endpoints being requested by the driver for this interface. |
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.
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.
const TDesC16 & aString | Contains the new manufacturer string descriptor. |
TInt | SetOtgDescriptor | ( | const TDesC8 & | aOtgDesc | ) | [inline] |
Set OTG descriptor by user to enable/disable USB on-the-go feature.
const TDesC8 & aOtgDesc | Descriptor buffer containing OTG features. |
TInt | SetOtherSpeedConfigurationDescriptor | ( | const TDesC8 & | aDescriptor | ) | [inline] |
Sets the other_speed_configuration descriptor to the contents of aDescriptor.
const TDesC8 & aDescriptor | Contains the new other_speed_configuration descriptor. |
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.
const TDesC16 & aString | Contains the new product string descriptor. |
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.
const TDesC16 & aString | Contains the new serial number string descriptor. |
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
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.
TUint16 aLangId | The LANGID code to be set. |
TInt | SignalRemoteWakeup | ( | ) | [inline] |
Generates a Remote Wakeup bus condition. The capability of the device to generate Remote Wakeup signalling is enquired in RDevUsbcClient::DeviceCaps.
TInt | StartNextInAlternateSetting | ( | ) | [inline] |
This function retrieves the alternate setting that the WriteData function can write to. After a host sets the alternate setting, writes to the IN endpoint are not permitted by the LDD until this method has been called. This function is not asynchronous nor blocking, and should not be used to detect that an alternate setting has happened.
If the BIL methods are being used (recommended), then this method should not be called directly.
IMPORT_C TInt | StartNextOutAlternateSetting | ( | TBool | aFlush | ) |
Switches to processing from one Alternate setting to the next. All open endpoints (except EP0) must be close before this can be called.
TBool aFlush | If ETrue, the method will purge the buffers of any data unread for the old setting. If each endpoint was not read up until KErrEof was reached, then this should be set. |
void | WriteCancel | ( | TInt | aBufferNumber | ) | [inline] |
Cancels an outstanding write request on endpoint buffer aBufferNumber.
TInt aBufferNumber | The endpoint buffer number whose write is to be cancelled. |
void | WriteData | ( | TInt | aBufferNumber, |
TUint | aStart, | |||
TUint | aLength, | |||
TUint | aFlags, | |||
TRequestStatus & | aStatus | |||
) | [inline] |
Requests the LDD to write the contents of the given buffer to the USB hardware. Notification is given when this is complete. More then one write request can be queued on any one endpoint, to allow for less Hardware idling between buffers.
If the BIL methods are being used (recommended), then this method should not be called directly, using TEndpointBuffer::WriteBuffer instead.
TInt aBufferNumber | represents the buffer number of the buffer of which the caller has placed the data. As described with ReadDataNotify(...), details of the buffers can be found in the chunk header. |
TUint aStart | Represents the start offset of the data within the chunk. This start location must be aligned to a multiple of the maximum packet size for the endpoint, so that the data can be DMAed straight out of the buffer. |
TUint aLength | Represents the amount of data to be sent to the host in bytes. |
TUint aFlags | Is a bitfield, where bit 0 should be set if a ZLP is to be sent to the host after the current transaction. All other bits are reserved for future use. |
TRequestStatus & aStatus |
EControlEndpointZeroRequestError | |
EControlEndpointCaps | |
EControlDeviceCaps | |
EControlGetAlternateSetting | |
EControlDeviceStatus | |
EControlEndpointStatus | |
EControlSetInterface | |
EControlReleaseInterface | |
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 | |
EControlAllocateEndpointResource | |
EControlDeAllocateEndpointResource | |
EControlQueryEndpointResourceUse | |
EControlGetEndpointZeroMaxPacketSize | |
EControlGetDeviceQualifierDescriptor | |
EControlSetDeviceQualifierDescriptor | |
EControlGetOtherSpeedConfigurationDescriptor | |
EControlSetOtherSpeedConfigurationDescriptor | |
EControlCurrentlyUsingHighSpeed | |
EControlSetStringDescriptor | |
EControlGetStringDescriptor | |
EControlRemoveStringDescriptor | |
EControlSetOtgDescriptor | |
EControlGetOtgDescriptor | |
EControlGetOtgFeatures | |
EControlRealizeInterface | |
EControlStartNextInAlternateSetting |
ERequestWriteData = 1 | |
ERequestReadDataNotify = 2 | |
ERequestAlternateDeviceStatusNotify = 3 | |
ERequestReEnumerate = 4 | |
ERequestEndpointStatusNotify = 5 | |
ERequestOtgFeaturesNotify = 6 | |
ERequestMaxRequests | |
ERequestCancel = 0x40000000 | |
ERequestWriteDataCancel = ERequestWriteData | ERequestCancel | |
ERequestReadDataNotifyCancel = ERequestReadDataNotify | ERequestCancel | |
ERequestAlternateDeviceStatusNotifyCancel = ERequestAlternateDeviceStatusNotify | ERequestCancel | |
ERequestReEnumerateCancel = ERequestReEnumerate | ERequestCancel | |
ERequestEndpointStatusNotifyCancel = ERequestEndpointStatusNotify | ERequestCancel | |
ERequestOtgFeaturesNotifyCancel = ERequestOtgFeaturesNotify | ERequestCancel |
EMajorVersionNumber = 0 | |
EMinorVersionNumber = 1 | |
EBuildVersionNumber = KE32BuildVersionNumber |
TInt | iInAltSetting | [private] |
Used to track the next alternate setting change on OUT endpoints, during transition from one to the next.
TInt | iNewAltSetting | [private] |
The alternate setting used by OUT endpoints, which may lag that of IN endpoints.
RChunk | iSharedChunk | [private] |
Each bit corresponds to each endpoint's open/close status.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.