nfc_se_session_open_logical_channel()

Create and obtain access to the logical channel.

Synopsis:

#include <nfc/nfc_se_access.h>
 
NFC_API nfc_result_t nfc_se_session_open_logical_channel(uint32_t hSESession, const uint8_t *pAID, size_t nLengthOfAIDInBytes, fcp_type_t fcpResponseType, uint32_t *phSEChannel, int32_t *pLengthOfResponseInBytes)

Since:

BlackBerry 10.0.0

Arguments:

hSESession

The handle to the session.

pAID

The Application ID that the caller wants to open a channel with.

nLengthOfAIDInBytes

The length of the pAID argument.

fcpResponseType

The format of the FCP information requested from the Secure Element. The value of this argument must be one of the constants defined by fcp_type_t. Use OPEN_NO_FCP_INFO if you are not interested in the results.

phSEChannel

The channel created to the secure element.

pLengthOfResponseInBytes

The length of the response data returned as a result of the open call. This argument is set to 0 if there is no data and -1 if the provided fctResponseType argument is unsupported by the reader which the session has been opened on. It may be NULL if OPEN_NO_FCP_INFO is supplied to the fcpResponseType argument. Use the nfc_se_channel_get_transmit_data() function to read the data received prior to any APDU exchanges.

Library:

libnfc (For the qcc command, use the -l nfc option to link against this library)

Description:

After access is obtained, a logical connection is created to an applet on the secure element. Logical channels are defined in the ISO 7816-4 specification.

Returns:

NFC_RESULT_SUCCESS if the session is retrieved successfully; or one of the following: