RHCIDirectAccess Class Reference

class RHCIDirectAccess

API used for licensee-specific direct HCI access

This class allows vendor-specific messages to be passed through to the HCI for customised (licensee-specific) HCI functionality.

Note: No use of this class should be required by default. It is provided to assist with hardware workarounds, or link policy not implemented by the Bluetooth stack.

Do not use unless entirely familar with this API and the specific HCI in use!!!!

Public Member Functions
RHCIDirectAccess ()
IMPORT_C void AsyncMessage ( TUint , TRequestStatus &, TDes8 *)
IMPORT_C void CancelAsyncMessage ()
IMPORT_C void CancelIoctl ()
IMPORT_C void Close ()
IMPORT_C void Ioctl ( TUint , TRequestStatus &, TDes8 *, TUint )
IMPORT_C TInt Open ()
IMPORT_C TInt Open ( RSocketServ &)
IMPORT_C TInt SubSessionHandle ()
Private Attributes
RHCIServerSession * iHCIServerSession
TUint32 iReserved
RSocketBasedHciDirectAccess * iSocketAccess

Constructor & Destructor Documentation

RHCIDirectAccess()

IMPORT_C RHCIDirectAccess ( )

Constructor

Member Functions Documentation

AsyncMessage(TUint, TRequestStatus &, TDes8 *)

IMPORT_C void AsyncMessage ( TUint aCommand,
TRequestStatus & aStatus,
TDes8 * aDesc
)

Applies an asynchronous control operation on the HCI.

Data may be passed and received if a descriptor address is provided as an argument. Only one AsyncMessage operation may be outstanding for each RHCIDirectAccess .

Parameters

TUint aCommand Message identifier.
TRequestStatus & aStatus Status parameter for asynchronous request
TDes8 * aDesc Pointer to a descriptor in which data may be sent and received on completion.

CancelAsyncMessage()

IMPORT_C void CancelAsyncMessage ( )

Cancels the Ioctl() asynchronous control operation. RSocket::CancelIoctl()

CancelIoctl()

IMPORT_C void CancelIoctl ( )

Cancels the Ioctl() asynchronous control operation. RSocket::CancelIoctl()

Close()

IMPORT_C void Close ( )

Close the HCIDirectAccess.

Ioctl(TUint, TRequestStatus &, TDes8 *, TUint)

IMPORT_C void Ioctl ( TUint aCommand,
TRequestStatus & aStatus,
TDes8 * aDesc = NULL,
TUint aLevel =  KSolBtHCI
)

Applies an asynchronous control operation on the HCI.

Data may be passed and received if a descriptor address is provided as an argument. Only one Ioctl() operation may be outstanding for each RHCIDirectAccess .

RSocket::Ioctl(TUint aCommand,TRequestStatus &aStatus,TDes8* aDesc,TUint aLevel)

Parameters

TUint aCommand Ioctl command.
TRequestStatus & aStatus Status parameter for asynchronous request
TDes8 * aDesc = NULL Pointer to a descriptor in which data may be sent and received on completion.
TUint aLevel =  KSolBtHCI Control operation level. Should be KSolBtHCI for this API

Open()

IMPORT_C TInt Open ( )
Open a direct interface between the application layer and the HCI for custom messages.
capability
LocalServices

Open(RSocketServ &)

IMPORT_C TInt Open ( RSocketServ & aSocketServ )
Open a direct interface between the application layer and the HCI for custom messages. This method exists for backwards compatability. The ESock session is not used.
capability
LocalServices

Parameters

RSocketServ & aSocketServ ESock session

SubSessionHandle()

IMPORT_C TInt SubSessionHandle ( )

Originally a getter for the sub-session handle. This facility has now been removed.

Member Data Documentation

RHCIServerSession * iHCIServerSession

RHCIServerSession * iHCIServerSession [private]

TUint32 iReserved

TUint32 iReserved [private]

RSocketBasedHciDirectAccess * iSocketAccess

RSocketBasedHciDirectAccess * iSocketAccess [private]