For an outgoing connection, the Bluetooth stack will not by default enforce any particular Bluetooth security. If the remote device requires authentication/encryption to connect, then this will be handled by the stack transparently to the application.
It may occasionally be necessary for the local application to insist on authenticating or encrypting the link. In this case, there are control operations (ioctls) that can be issued on a connected RSocket
that will authenticate (ioctl KHCIAuthRequestIoctl
) or encrypt (KHCIEncryptIoctl
) the link.
The following example shows the authentication request ioctl being issued.
// Assume have an opened L2CAP RSocket object, socket
socket.Ioctl(KHCIAuthRequestIoctl, status, NULL, KSolBtHCI);
User::WaitForRequest(status);
if (status==KErrNone)
{
\\ Success...