| /****************************************************************************** |
| * |
| * Copyright (C) 2010-2014 Broadcom Corporation |
| * |
| * 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. |
| * |
| ******************************************************************************/ |
| |
| /****************************************************************************** |
| * |
| * NFA interface to NFCEE |
| * |
| ******************************************************************************/ |
| #ifndef NFA_EE_API_H |
| #define NFA_EE_API_H |
| |
| #include "nfa_api.h" |
| #include "nfc_api.h" |
| #include "nfc_target.h" |
| |
| /***************************************************************************** |
| ** Constants and data types |
| *****************************************************************************/ |
| /* 16 per ISO 7816 specification */ |
| #define NFA_MAX_AID_LEN NFC_MAX_AID_LEN |
| |
| /* NFA EE callback events */ |
| enum { |
| NFA_EE_DISCOVER_EVT, /* The status for NFA_EeDiscover () */ |
| NFA_EE_REGISTER_EVT, /* The status for NFA_EeRegister () */ |
| NFA_EE_DEREGISTER_EVT, /* The status for NFA_EeDeregister () */ |
| NFA_EE_MODE_SET_EVT, /* The status for activating or deactivating an NFCEE */ |
| NFA_EE_ADD_AID_EVT, /* The status for adding an AID to a routing table entry |
| */ |
| NFA_EE_REMOVE_AID_EVT, /* The status for removing an AID from a routing table |
| */ |
| NFA_EE_ADD_SYSCODE_EVT, /* The status for adding an System Code to a routing |
| table entry */ |
| NFA_EE_REMOVE_SYSCODE_EVT, /* The status for removing an System Code from |
| routing table */ |
| NFA_EE_REMAINING_SIZE_EVT, /* The remaining size of the Listen Mode Routing |
| Table */ |
| NFA_EE_SET_TECH_CFG_EVT, /* The status for setting the routing based on RF |
| tech. */ |
| NFA_EE_CLEAR_TECH_CFG_EVT, /* The status for clearing the routing based on RF |
| tech. */ |
| |
| NFA_EE_SET_PROTO_CFG_EVT, /* The status for setting the routing based on |
| protocols */ |
| NFA_EE_CLEAR_PROTO_CFG_EVT, /* The status for clearing the routing based on |
| protocols */ |
| |
| NFA_EE_UPDATED_EVT, /* The status for NFA_EeUpdateNow */ |
| NFA_EE_CONNECT_EVT, /* Result of NFA_EeConnect */ |
| NFA_EE_DATA_EVT, /* Received data from NFCEE. */ |
| NFA_EE_DISCONNECT_EVT, /* NFCEE connection closed. */ |
| NFA_EE_NEW_EE_EVT, /* A new NFCEE is discovered */ |
| NFA_EE_ACTION_EVT, /* An action happened in NFCEE */ |
| NFA_EE_DISCOVER_REQ_EVT, /* NFCEE Discover Request Notification */ |
| NFA_EE_PWR_AND_LINK_CTRL_EVT, /* NFCEE power and link ctrl */ |
| NFA_EE_NO_MEM_ERR_EVT, /* Error - out of GKI buffers */ |
| NFA_EE_NO_CB_ERR_EVT /* Error - Can not find control block or wrong state */ |
| }; |
| typedef uint8_t tNFA_EE_EVT; |
| |
| /* tNFA_NFCEE_INTERFACE values */ |
| /* HCI Access Interface*/ |
| #define NFA_EE_INTERFACE_HCI_ACCESS NFC_NFCEE_INTERFACE_HCI_ACCESS |
| typedef uint8_t tNFA_EE_INTERFACE; |
| |
| typedef uint8_t tNFA_EE_TAG; |
| |
| /* for NFA_EeModeSet () */ |
| #define NFA_EE_MD_ACTIVATE NFC_MODE_ACTIVATE |
| #define NFA_EE_MD_DEACTIVATE NFC_MODE_DEACTIVATE |
| typedef uint8_t tNFA_EE_MD; |
| |
| /* The device is on */ |
| #define NFA_EE_PWR_STATE_ON 0x01 |
| /* The device is switched off */ |
| #define NFA_EE_PWR_STATE_SWITCH_OFF 0x02 |
| /* The device's battery is removed */ |
| #define NFA_EE_PWR_STATE_BATT_OFF 0x04 |
| typedef uint8_t tNFA_EE_PWR_STATE; |
| |
| /* NFCEE connected and inactive */ |
| #define NFA_EE_STATUS_INACTIVE NFC_NFCEE_STATUS_INACTIVE |
| /* NFCEE connected and active */ |
| #define NFA_EE_STATUS_ACTIVE NFC_NFCEE_STATUS_ACTIVE |
| /* NFCEE removed */ |
| #define NFA_EE_STATUS_REMOVED NFC_NFCEE_STATUS_REMOVED |
| /* waiting for response from NFCC */ |
| #define NFA_EE_STATUS_PENDING 0x10 |
| typedef uint8_t tNFA_EE_STATUS; |
| |
| /* additional NFCEE Info */ |
| typedef struct { |
| tNFA_EE_TAG tag; |
| uint8_t len; |
| uint8_t info[NFC_MAX_EE_INFO]; |
| } tNFA_EE_TLV; |
| |
| typedef struct { |
| tNFA_HANDLE ee_handle; /* handle for NFCEE oe DH */ |
| tNFA_EE_STATUS ee_status; /* The NFCEE status */ |
| uint8_t num_interface; /* number of NFCEE interface*/ |
| tNFA_EE_INTERFACE |
| ee_interface[NFC_MAX_EE_INTERFACE]; /* NFCEE supported interface */ |
| uint8_t num_tlvs; /* number of TLVs */ |
| tNFA_EE_TLV ee_tlv[NFC_MAX_EE_TLVS]; /* the TLV */ |
| uint8_t ee_power_supply_status; /* The NFCEE Power supply */ |
| tNFA_NFC_PROTOCOL la_protocol; /* Listen A protocol */ |
| tNFA_NFC_PROTOCOL lb_protocol; /* Listen B protocol */ |
| tNFA_NFC_PROTOCOL lf_protocol; /* Listen F protocol */ |
| } tNFA_EE_INFO; |
| |
| typedef struct { |
| tNFA_STATUS status; /* NFA_STATUS_OK is successful */ |
| uint8_t num_ee; /* number of NFCEEs found */ |
| tNFA_EE_INFO ee_info[NFA_EE_MAX_EE_SUPPORTED]; /*NFCEE information */ |
| } tNFA_EE_DISCOVER; |
| |
| typedef struct { |
| tNFA_HANDLE ee_handle; /* Handle of NFCEE */ |
| tNFA_STATUS status; /* NFA_STATUS_OK is successful */ |
| tNFA_EE_INTERFACE |
| ee_interface; /* NFCEE interface associated with this connection */ |
| } tNFA_EE_CONNECT; |
| |
| typedef tNFC_EE_TRIGGER tNFA_EE_TRIGGER; |
| |
| /* Union of NFCEE action parameter depending on the associated trigger */ |
| typedef union { |
| tNFA_NFC_PROTOCOL protocol; /* NFA_EE_TRGR_RF_PROTOCOL: the protocol that |
| triggers this event */ |
| tNFC_RF_TECH technology; /* NFA_EE_TRGR_RF_TECHNOLOGY:the technology that |
| triggers this event */ |
| tNFC_AID aid; /* NFA_EE_TRGR_SELECT : the AID in the received SELECT AID |
| command */ |
| tNFC_APP_INIT app_init; /* NFA_EE_TRGR_APP_INIT: The information for the |
| application initiated trigger */ |
| } tNFA_EE_ACTION_PARAM; |
| |
| typedef struct { |
| tNFA_HANDLE ee_handle; /* Handle of NFCEE */ |
| tNFA_EE_TRIGGER trigger; /* the trigger of this event */ |
| tNFA_EE_ACTION_PARAM param; |
| } tNFA_EE_ACTION; |
| |
| typedef struct { |
| tNFA_HANDLE ee_handle; /* Handle of NFCEE */ |
| tNFA_STATUS status; /* NFA_STATUS_OK is successful */ |
| tNFA_EE_STATUS ee_status; /* The NFCEE status */ |
| } tNFA_EE_MODE_SET; |
| |
| typedef struct { |
| tNFA_HANDLE ee_handle; /* Handle of MFCEE */ |
| tNFA_NFC_PROTOCOL la_protocol; /* Listen A protocol */ |
| tNFA_NFC_PROTOCOL lb_protocol; /* Listen B protocol */ |
| tNFA_NFC_PROTOCOL lf_protocol; /* Listen F protocol */ |
| tNFA_NFC_PROTOCOL lbp_protocol; /* Listen B' protocol */ |
| } tNFA_EE_DISCOVER_INFO; |
| |
| /* Data for NFA_EE_DISCOVER_REQ_EVT */ |
| typedef struct { |
| uint8_t status; /* NFA_STATUS_OK if successful */ |
| uint8_t num_ee; /* number of MFCEE information */ |
| tNFA_EE_DISCOVER_INFO ee_disc_info[NFA_EE_MAX_EE_SUPPORTED - |
| 1]; /* NFCEE DISCOVER Request info */ |
| } tNFA_EE_DISCOVER_REQ; |
| |
| /* Data for NFA_EE_DATA_EVT */ |
| typedef struct { |
| tNFA_HANDLE handle; /* Connection handle */ |
| uint16_t len; /* Length of data */ |
| uint8_t* p_buf; /* Data buffer */ |
| } tNFA_EE_DATA; |
| |
| /* Union of all EE callback structures */ |
| typedef union { |
| tNFA_STATUS |
| status; /* NFA_STATUS_OK is successful; otherwise NFA_STATUS_FAILED */ |
| tNFA_EE_DATA data; |
| tNFA_HANDLE handle; |
| tNFA_EE_DISCOVER ee_discover; |
| tNFA_STATUS ee_register; |
| tNFA_STATUS deregister; |
| tNFA_STATUS add_aid; |
| tNFA_STATUS remove_aid; |
| tNFA_STATUS add_sc; |
| tNFA_STATUS remove_sc; |
| tNFA_STATUS set_tech; |
| tNFA_STATUS clear_tech; |
| tNFA_STATUS set_proto; |
| tNFA_STATUS clear_proto; |
| uint16_t size; |
| tNFA_EE_CONNECT connect; |
| tNFA_EE_ACTION action; |
| tNFA_EE_MODE_SET mode_set; |
| tNFA_EE_INFO new_ee; |
| tNFA_EE_DISCOVER_REQ discover_req; |
| } tNFA_EE_CBACK_DATA; |
| |
| /* EE callback */ |
| typedef void(tNFA_EE_CBACK)(tNFA_EE_EVT event, tNFA_EE_CBACK_DATA* p_data); |
| |
| /***************************************************************************** |
| ** External Function Declarations |
| *****************************************************************************/ |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeDiscover |
| ** |
| ** Description This function retrieves the NFCEE information from NFCC. |
| ** The NFCEE information is reported in NFA_EE_DISCOVER_EVT. |
| ** |
| ** This function may be called when a system supports removable |
| ** NFCEEs, |
| ** |
| ** Returns NFA_STATUS_OK if information is retrieved successfully |
| ** NFA_STATUS_FAILED If wrong state (retry later) |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeDiscover(tNFA_EE_CBACK* p_cback); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeGetInfo |
| ** |
| ** Description This function retrieves the NFCEE information from NFA. |
| ** The actual number of NFCEE is returned in p_num_nfcee |
| ** and NFCEE information is returned in p_info |
| ** |
| ** Returns NFA_STATUS_OK if information is retrieved successfully |
| ** NFA_STATUS_FAILED If wrong state (retry later) |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeGetInfo(uint8_t* p_num_nfcee, tNFA_EE_INFO* p_info); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeRegister |
| ** |
| ** Description This function registers a callback function to receive the |
| ** events from NFA-EE module. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeRegister(tNFA_EE_CBACK* p_cback); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeDeregister |
| ** |
| ** Description This function de-registers the callback function |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeDeregister(tNFA_EE_CBACK* p_cback); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeModeSet |
| ** |
| ** Description This function is called to activate |
| ** (mode = NFA_EE_MD_ACTIVATE) or deactivate |
| ** (mode = NFA_EE_MD_DEACTIVATE) the NFCEE identified by the |
| ** given ee_handle. The result of this operation is reported |
| ** with the NFA_EE_MODE_SET_EVT. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeModeSet(tNFA_HANDLE ee_handle, tNFA_EE_MD mode); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeSetDefaultTechRouting |
| ** |
| ** Description This function is called to add, change or remove the |
| ** default routing based on RF technology in the listen mode |
| ** routing table for the given ee_handle. The status of this |
| ** operation is reported as the NFA_EE_SET_TECH_CFG_EVT. |
| ** |
| ** Note: If RF discovery is started, |
| ** NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT should |
| ** happen before calling this function |
| ** |
| ** Note: NFA_EeUpdateNow() should be called after last NFA-EE |
| ** function to change the listen mode routing is called. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeSetDefaultTechRouting( |
| tNFA_HANDLE ee_handle, tNFA_TECHNOLOGY_MASK technologies_switch_on, |
| tNFA_TECHNOLOGY_MASK technologies_switch_off, |
| tNFA_TECHNOLOGY_MASK technologies_battery_off, |
| tNFA_TECHNOLOGY_MASK technologies_screen_lock, |
| tNFA_TECHNOLOGY_MASK technologies_screen_off, |
| tNFA_TECHNOLOGY_MASK technologies_screen_off_lock); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeClearDefaultTechRouting |
| ** |
| ** Description This function is called to remove the |
| ** default routing based on RF technology in the listen mode |
| ** routing table for the given ee_handle. The status of this |
| ** operation is reported as the NFA_EE_CLEAR_TECH_CFG_EVT. |
| ** |
| ** Note: If RF discovery is started, |
| ** NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT should |
| ** happen before calling this function |
| ** |
| ** Note: NFA_EeUpdateNow() should be called after last NFA-EE |
| ** function to change the listen mode routing is called. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeClearDefaultTechRouting( |
| tNFA_HANDLE ee_handle, tNFA_TECHNOLOGY_MASK clear_technology); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeSetDefaultProtoRouting |
| ** |
| ** Description This function is called to add, change or remove the |
| ** default routing based on Protocol in the listen mode routing |
| ** table for the given ee_handle. The status of this |
| ** operation is reported as the NFA_EE_SET_PROTO_CFG_EVT. |
| ** |
| ** Note: If RF discovery is started, |
| ** NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT should |
| ** happen before calling this function |
| ** |
| ** Note: NFA_EeUpdateNow() should be called after last NFA-EE |
| ** function to change the listen mode routing is called. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeSetDefaultProtoRouting( |
| tNFA_HANDLE ee_handle, tNFA_PROTOCOL_MASK protocols_switch_on, |
| tNFA_PROTOCOL_MASK protocols_switch_off, |
| tNFA_PROTOCOL_MASK protocols_battery_off, |
| tNFA_PROTOCOL_MASK technologies_screen_lock, |
| tNFA_PROTOCOL_MASK technologies_screen_off, |
| tNFA_PROTOCOL_MASK technologies_screen_off_lock); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeClearDefaultProtoRouting |
| ** |
| ** Description This function is called remove the |
| ** default routing based on Protocol in the listen mode routing |
| ** table for the given ee_handle. The status of this |
| ** operation is reported as the NFA_EE_CLEAR_PROTO_CFG_EVT. |
| ** |
| ** Note: If RF discovery is started, |
| ** NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT should |
| ** happen before calling this function |
| ** |
| ** Note: NFA_EeUpdateNow() should be called after last NFA-EE |
| ** function to change the listen mode routing is called. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeClearDefaultProtoRouting( |
| tNFA_HANDLE ee_handle, tNFA_PROTOCOL_MASK clear_protocol); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeAddAidRouting |
| ** |
| ** Description This function is called to add an AID entry in the |
| ** listen mode routing table in NFCC. The status of this |
| ** operation is reported as the NFA_EE_ADD_AID_EVT. |
| ** |
| ** Note: If RF discovery is started, |
| ** NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT should |
| ** happen before calling this function |
| ** |
| ** Note: NFA_EeUpdateNow() should be called after last NFA-EE |
| ** function to change the listen mode routing is called. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeAddAidRouting(tNFA_HANDLE ee_handle, uint8_t aid_len, |
| uint8_t* p_aid, |
| tNFA_EE_PWR_STATE power_state, |
| uint8_t aidInfo); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeRemoveAidRouting |
| ** |
| ** Description This function is called to remove the given AID entry from |
| ** the listen mode routing table. If the entry configures VS, |
| ** it is also removed. The status of this operation is reported |
| ** as the NFA_EE_REMOVE_AID_EVT. |
| ** |
| ** Note: If RF discovery is started, |
| ** NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT should |
| ** happen before calling this function |
| ** |
| ** Note: NFA_EeUpdateNow() should be called after last NFA-EE |
| ** function to change the listen mode routing is called. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeRemoveAidRouting(uint8_t aid_len, uint8_t* p_aid); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeAddSystemCodeRouting |
| ** |
| ** Description This function is called to add an system code entry in the |
| ** listen mode routing table in NFCC. The status of this |
| ** operation is reported as the NFA_EE_ADD_SYSCODE_EVT. |
| ** |
| ** Note: If RF discovery is started, |
| ** NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT should |
| ** happen before calling this function |
| ** |
| ** Note: NFA_EeUpdateNow() should be called after last NFA-EE |
| ** function to change the listen mode routing is called. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeAddSystemCodeRouting(uint16_t systemcode, |
| tNFA_HANDLE ee_handle, |
| tNFA_EE_PWR_STATE power_state); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeRemoveSystemCodeRouting |
| ** |
| ** Description This function is called to remove the given System Code |
| *based entry from |
| ** the listen mode routing table. The status of this operation |
| *is reported |
| ** as the NFA_EE_REMOVE_SYSCODE_EVT. |
| ** |
| ** Note: If RF discovery is started, |
| ** NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT should |
| ** happen before calling this function |
| ** |
| ** Note: NFA_EeUpdateNow() should be called after last NFA-EE |
| ** function to change the listen mode routing is called. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeRemoveSystemCodeRouting(uint16_t systemcode); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_GetAidTableSize |
| ** |
| ** Description This function is called to get the AID routing table size. |
| ** |
| ** Returns Maximum AID routing table size. |
| ** |
| *******************************************************************************/ |
| extern uint16_t NFA_GetAidTableSize(); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeGetLmrtRemainingSize |
| ** |
| ** Description This function is called to get remaining size of the |
| ** Listen Mode Routing Table. |
| ** The remaining size is reported in NFA_EE_REMAINING_SIZE_EVT |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeGetLmrtRemainingSize(void); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeUpdateNow |
| ** |
| ** Description This function is called to send the current listen mode |
| ** routing table and VS configuration to the NFCC (without |
| ** waiting for NFA_EE_ROUT_TIMEOUT_VAL). |
| ** |
| ** The status of this operation is |
| ** reported with the NFA_EE_UPDATED_EVT. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_SEMANTIC_ERROR is update is currently in progress |
| ** NFA_STATUS_FAILED otherwise |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeUpdateNow(void); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeConnect |
| ** |
| ** Description Open connection to an NFCEE attached to the NFCC |
| ** |
| ** The status of this operation is |
| ** reported with the NFA_EE_CONNECT_EVT. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeConnect(tNFA_HANDLE ee_handle, uint8_t ee_interface, |
| tNFA_EE_CBACK* p_cback); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeSendData |
| ** |
| ** Description Send data to the given NFCEE. |
| ** This function shall be called after NFA_EE_CONNECT_EVT is |
| ** reported and before NFA_EeDisconnect is called on the given |
| ** ee_handle. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeSendData(tNFA_HANDLE ee_handle, uint16_t data_len, |
| uint8_t* p_data); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EeDisconnect |
| ** |
| ** Description Disconnect (if a connection is currently open) from an |
| ** NFCEE interface. The result of this operation is reported |
| ** with the NFA_EE_DISCONNECT_EVT. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EeDisconnect(tNFA_HANDLE ee_handle); |
| |
| /******************************************************************************* |
| ** |
| ** Function NFA_EePowerAndLinkCtrl |
| ** |
| ** Description This Control Message is used by the DH to constrain the way |
| ** the NFCC manages the power supply and communication links |
| ** between the NFCC and its connected NFCEEs. |
| ** |
| ** Returns NFA_STATUS_OK if successfully initiated |
| ** NFA_STATUS_FAILED otherwise |
| ** NFA_STATUS_INVALID_PARAM If bad parameter |
| ** |
| *******************************************************************************/ |
| extern tNFA_STATUS NFA_EePowerAndLinkCtrl(tNFA_HANDLE ee_handle, |
| uint8_t config); |
| |
| #endif /* NFA_EE_API_H */ |