| /* |
| * Copyright (C) 2010 NXP Semiconductors |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /*! |
| * =========================================================================== * |
| * * |
| * * |
| * \file phHciNfc_NfcIPMgmt.h * |
| * \brief HCI NFCIP-1 Management Routines. * |
| * * |
| * * |
| * Project: NFC-FRI-1.1 * |
| * * |
| * $Date: Thu Jun 11 18:45:00 2009 $ * |
| * $Author: ing02260 $ * |
| * $Revision: 1.14 $ * |
| * $Aliases: NFC_FRI1.1_WK924_R27_1,NFC_FRI1.1_WK926_R28_1,NFC_FRI1.1_WK926_R28_2,NFC_FRI1.1_WK926_R28_3,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $ * |
| * * |
| * =========================================================================== * |
| */ |
| |
| #ifndef PHHCINFC_NFCIPMGMT_H |
| #define PHHCINFC_NFCIPMGMT_H |
| |
| /*@}*/ |
| |
| |
| /** |
| * \name HCI |
| * |
| * File: \ref phHciNfc_NfcIPMgmt.h |
| * |
| */ |
| /*@{*/ |
| #define PHHCINFC_NFCIP1MGMT_FILEREVISION "$Revision: 1.14 $" /**< \ingroup grp_file_attributes */ |
| #define PHHCINFC_NFCIP1MGMT_FILEALIASES "$Aliases: NFC_FRI1.1_WK924_R27_1,NFC_FRI1.1_WK926_R28_1,NFC_FRI1.1_WK926_R28_2,NFC_FRI1.1_WK926_R28_3,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $" /**< \ingroup grp_file_attributes */ |
| /*@}*/ |
| |
| /* |
| ***************************** Header File Inclusion **************************** |
| */ |
| |
| #include <phHciNfc_Generic.h> |
| |
| /* |
| ****************************** Macro Definitions ******************************* |
| */ |
| |
| /* Commands exposed to the upper layer */ |
| |
| |
| /* |
| ******************** Enumeration and Structure Definition ********************** |
| */ |
| /* LENGTH definition */ |
| #define NFCIP_ATR_MAX_LENGTH PHHAL_MAX_ATR_LENGTH |
| #define NFCIP_NFCID_LENGTH PHHAL_MAX_UID_LENGTH |
| #define NFCIP_MAX_DEP_REQ_HDR_LEN 0x05 |
| |
| typedef enum phHciNfc_eNfcIPType{ |
| NFCIP_INVALID = 0x00U, |
| NFCIP_INITIATOR, |
| NFCIP_TARGET |
| }phHciNfc_eNfcIPType_t; |
| |
| typedef enum phHciNfc_NfcIP_Seq{ |
| NFCIP_INVALID_SEQUENCE = 0x00U, |
| NFCIP_ATR_INFO, |
| NFCIP_STATUS, |
| NFCIP_NFCID3I, |
| NFCIP_NFCID3T, |
| NFCIP_PARAM, |
| NFCIP_END_SEQUENCE |
| } phHciNfc_NfcIP_Seq_t; |
| |
| typedef enum phHciNfc_eP2PSpeed{ |
| NFCIP_SPEED_106 = 0x00U, |
| NFCIP_SPEED_212, |
| NFCIP_SPEED_424, |
| NFCIP_SPEED_848, |
| NFCIP_SPEED_1696, |
| NFCIP_SPEED_3392, |
| NFCIP_SPEED_6784, |
| NFCIP_SPEED_RFU |
| }phHciNfc_eP2PSpeed_t; |
| |
| typedef enum phHciNfc_eNfcIPMode{ |
| NFCIP_MODE_PAS_106 = 0x01U, |
| NFCIP_MODE_PAS_212 = 0x02U, |
| NFCIP_MODE_PAS_424 = 0x04U, |
| NFCIP_MODE_ACT_106 = 0x08U, |
| NFCIP_MODE_ACT_212 = 0x10U, |
| NFCIP_MODE_ACT_424 = 0x20U, |
| NFCIP_MODE_ALL = 0x3FU |
| }phHciNfc_eNfcIPMode_t; |
| |
| typedef struct phHciNfc_NfcIP_Info |
| { |
| phHciNfc_NfcIP_Seq_t current_seq; |
| phHciNfc_NfcIP_Seq_t next_seq; |
| phHciNfc_eNfcIPType_t nfcip_type; |
| phHciNfc_Pipe_Info_t *p_init_pipe_info; |
| phHciNfc_Pipe_Info_t *p_tgt_pipe_info; |
| phHal_sRemoteDevInformation_t rem_nfcip_tgt_info; |
| /* ATR_RES = General bytes length, Max length = 48 bytes for |
| host = target */ |
| uint8_t atr_res_info[NFCIP_ATR_MAX_LENGTH]; |
| uint8_t atr_res_length; |
| /* ATR_REQ = General bytes length, Max length = 48 bytes for |
| host = initiator */ |
| uint8_t atr_req_info[NFCIP_ATR_MAX_LENGTH]; |
| uint8_t atr_req_length; |
| /* Contains the current status of the NFCIP-1 link |
| when communication has been set. |
| 0x00 -> data is expected from the host |
| 0x01 -> data is expected from the RF side */ |
| uint8_t linkstatus; |
| /* Contains the random NFCID3I conveyed with the ATR_REQ. |
| always 10 bytes length */ |
| uint8_t nfcid3i_length; |
| uint8_t nfcid3i[NFCIP_NFCID_LENGTH]; |
| /* Contains the random NFCID3T conveyed with the ATR_RES. |
| always 10 bytes length */ |
| uint8_t nfcid3t_length; |
| uint8_t nfcid3t[NFCIP_NFCID_LENGTH]; |
| /* Contains the current parameters of the NFCIP-1 link when |
| communication has been set. |
| - bits 0 to 2: data rate target to initiator |
| - bits 3 to 5: data rate initiator to target |
| 0 -> Divisor equal to 1 |
| 1 -> Divisor equal to 2 |
| 2 -> Divisor equal to 4 |
| 3 -> Divisor equal to 8 |
| 4 -> Divisor equal to 16 |
| 5 -> Divisor equal to 32 |
| 6 -> Divisor equal to 64 |
| 7 -> RFU |
| - bits 6 to 7: maximum frame length |
| 0 -> 64 bytes |
| 1 -> 128 bytes |
| 2 -> 192 bytes |
| 3 -> 256 bytes */ |
| phHciNfc_eP2PSpeed_t initiator_speed; |
| phHciNfc_eP2PSpeed_t target_speed; |
| uint16_t max_frame_len; |
| /* Supported modes */ |
| uint8_t nfcip_mode; |
| uint8_t psl1; |
| uint8_t psl2; |
| uint8_t nad; |
| uint8_t did; |
| uint8_t options; |
| uint8_t activation_mode; |
| }phHciNfc_NfcIP_Info_t; |
| |
| |
| /* |
| *********************** Function Prototype Declaration ************************* |
| */ |
| /*! |
| * \brief Allocates the resources of NFCIP-1 initiator management gate. |
| * |
| * This function Allocates the resources of the NFCIP-1 initiator management |
| * gate Information Structure. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_Initiator_Init_Resources( |
| phHciNfc_sContext_t *psHciContext |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_Initiator_Get_PipeID function gives the pipe id of the NFCIP-1 |
| * initiator gate |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_Initiator_Get_PipeID( |
| phHciNfc_sContext_t *psHciContext, |
| uint8_t *ppipe_id |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_Initiator_Update_PipeInfo function updates the pipe_id of the NFCIP-1 |
| * initiator gate management Structure. |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pipeID pipeID of the NFCIP-1 initiator gate |
| * \param[in] pPipeInfo Update the pipe Information of the NFCIP-1 |
| * initiator gate |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| |
| extern |
| NFCSTATUS |
| phHciNfc_Initiator_Update_PipeInfo( |
| phHciNfc_sContext_t *psHciContext, |
| uint8_t pipeID, |
| phHciNfc_Pipe_Info_t *pPipeInfo |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_Send_Initiator_Command function executes the command sent by the |
| * upper layer, depending on the commands defined. |
| * |
| * \param[in] psContext psContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_Presence_Check( |
| phHciNfc_sContext_t *psContext, |
| void *pHwRef |
| ); |
| |
| /*! |
| * \brief Allocates the resources of NFCIP-1 target management gate. |
| * |
| * This function Allocates the resources of the NFCIP-1 target management |
| * gate Information Structure. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_Target_Init_Resources( |
| phHciNfc_sContext_t *psHciContext |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_Target_Get_PipeID function gives the pipe id of the NFCIP-1 |
| * target gate |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_Target_Get_PipeID( |
| phHciNfc_sContext_t *psHciContext, |
| uint8_t *ppipe_id |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_Target_Update_PipeInfo function updates the pipe_id of the NFCIP-1 |
| * target gate management Structure. |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pipeID pipeID of the NFCIP-1 target gate |
| * \param[in] pPipeInfo Update the pipe Information of the NFCIP-1 |
| * target gate |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| |
| extern |
| NFCSTATUS |
| phHciNfc_Target_Update_PipeInfo( |
| phHciNfc_sContext_t *psHciContext, |
| uint8_t pipeID, |
| phHciNfc_Pipe_Info_t *pPipeInfo |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_Info_Sequence function executes the sequence of operations, to |
| * get ATR_RES, NFCID3I, NFCID3T, PARAMS etc. |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] notify_reqd if TRUE continue till END_SEQUENCE, else |
| * stop the sequence |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_Info_Sequence ( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef |
| #ifdef NOTIFY_REQD |
| , |
| uint8_t notify_reqd |
| #endif /* #ifdef NOTIFY_REQD */ |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_SetMode function sets the value for NFCIP-1 modes |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] nfciptype Specifies initiator or target |
| * \param[in] nfcip_mode nfcip_mode is the supported mode |
| * information |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_SetMode( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| phHciNfc_eNfcIPType_t nfciptype, |
| uint8_t nfcip_mode |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_SetNAD function sets the NAD value |
| * |
| * \param[in] psHciContext pContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] nfciptype Specifies initiator or target |
| * \param[in] nad Node address, this will be used as |
| * logical address of the initiator (b4 to b7) |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_SetNAD( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| phHciNfc_eNfcIPType_t nfciptype, |
| uint8_t nad |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_SetDID function sets the DID value for the initiator |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] did Device ID |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_SetDID( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| uint8_t did |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_SetOptions function sets the different options depending on |
| * the host type (initiator or target) like PSL, NAD and DID |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] nfciptype Specifies initiator or target |
| * \param[in] nfcip_options specifies enabled options PSL, NAD and DID |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_SetOptions( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| phHciNfc_eNfcIPType_t nfciptype, |
| uint8_t nfcip_options |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_SetATRInfo function sets the general byte information |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] nfciptype Specifies initiator or target |
| * \param[in] atr_info contains the general bytes of the ATR_REQ |
| * (initiator) or ATR_RES (target) (max size = |
| * 48 bytes) |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_SetATRInfo( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| phHciNfc_eNfcIPType_t nfciptype, |
| phHal_sNfcIPCfg_t *atr_info |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_SetPSL1 function sets the BRS byte of PSL_REQ |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] psl1 specifies the BRS byte of PSL_REQ |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_SetPSL1( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| uint8_t psl1 |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_SetPSL2 function sets the BRS byte of PSL_REQ |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] psl2 specifies the FSL byte of PSL_REQ |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_SetPSL2( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| uint8_t psl2 |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_GetStatus function receives the present status of the |
| * NFCIP-1 link, when communication has been set. |
| * If 0x00 is the status, then it means data is expected from the host |
| * If 0x01 is the status, then it means data is expected from the RF side |
| * Other status values are error |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] nfciptype Specifies initiator or target |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_GetStatus( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| phHciNfc_eNfcIPType_t nfciptype |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_GetStatus function receives the current parameters of the |
| * NFCIP-1 link, when communication has been set. |
| * - bits 0 to 2: data rate target to initiator |
| * - bits 3 to 5: data rate initiator to target |
| * 0 -> Divisor equal to 1 |
| * 1 -> Divisor equal to 2 |
| * 2 -> Divisor equal to 4 |
| * 3 -> Divisor equal to 8 |
| * 4 -> Divisor equal to 16 |
| * 5 -> Divisor equal to 32 |
| * 6 -> Divisor equal to 64 |
| * 7 -> RFU |
| * - bits 6 to 7: maximum frame length |
| * 0 -> 64 bytes |
| * 1 -> 128 bytes |
| * 2 -> 192 bytes |
| * 3 -> 256 bytes |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] nfciptype Specifies initiator or target |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_GetParam( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| phHciNfc_eNfcIPType_t nfciptype |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_Send_Data function sends data using the SEND_DATA event |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] sData Data to be sent to the lower layer |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_Send_Data ( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| phHciNfc_XchgInfo_t *sData |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_Initiator_Cont_Activate function to activate the NFCIP initiator |
| * |
| * \param[in] pContext pContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_Initiator_Cont_Activate ( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_GetATRInfo function is to get ATR information |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] nfciptype Specifies initiator or target |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_GetATRInfo ( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| phHciNfc_eNfcIPType_t nfciptype |
| ); |
| |
| /** |
| * \ingroup grp_hci_nfc |
| * |
| * The phHciNfc_NfcIP_SetMergeSak function is to indicate, if the NFCIP-1 |
| * target feature must be merged with Type A RF card feature in order to |
| * present only one type A target (set of the related bit in SAK to |
| * reflect the ISO18092 compliancy). |
| * 0x00 -> disabled |
| * 0x01 -> enabled |
| * Others values are RFU : error code returned as NFCSTATUS_INVALID_PARAMETER |
| * |
| * \param[in] psHciContext psHciContext is the pointer to HCI Layer |
| * context Structure. |
| * \param[in] pHwRef pHwRef is the Information of |
| * the Device Interface Link |
| * \param[in] sak_value Specifies initiator or target |
| * |
| * \retval NFCSTATUS_SUCCESS Function execution is successful. |
| * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters |
| * could not be interpreted properly. |
| * |
| */ |
| extern |
| NFCSTATUS |
| phHciNfc_NfcIP_SetMergeSak( |
| phHciNfc_sContext_t *psHciContext, |
| void *pHwRef, |
| uint8_t sak_value |
| ); |
| #endif /* #ifndef PHHCINFC_NFCIPMGMT_H */ |
| |
| |