summaryrefslogtreecommitdiffstats
path: root/nci/jni/extns/pn54x/inc/phNxpExtns_Custom.h
diff options
context:
space:
mode:
Diffstat (limited to 'nci/jni/extns/pn54x/inc/phNxpExtns_Custom.h')
-rwxr-xr-xnci/jni/extns/pn54x/inc/phNxpExtns_Custom.h264
1 files changed, 264 insertions, 0 deletions
diff --git a/nci/jni/extns/pn54x/inc/phNxpExtns_Custom.h b/nci/jni/extns/pn54x/inc/phNxpExtns_Custom.h
new file mode 100755
index 00000000..a9d10c8d
--- /dev/null
+++ b/nci/jni/extns/pn54x/inc/phNxpExtns_Custom.h
@@ -0,0 +1,264 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * 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.
+ */
+
+#ifndef _PHNXPEXTNS_CUSTOM_H_
+#define _PHNXPEXTNS_CUSTOM_H_
+
+#include <nfa_api.h>
+#include <sys/types.h>
+#include <errno.h>
+#include <phNfcStatus.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * TLV structure
+ * For simple TLV, type[0] == 0x00
+ * For extended TLV, type[0] == 0xA0
+ */
+typedef struct {
+ uint8_t type[2];
+ uint8_t len;
+ uint8_t *val;
+} tlv_t;
+
+typedef enum {
+ passive_106 = 0x01,
+ passive_212 = 0x02,
+ passive_424 = 0x04,
+ active_106 = 0x10,
+ active_212 = 0x20,
+ active_424 = 0x40,
+} p2p_speed_t;
+
+typedef enum {
+ NO_SE,
+ UICC,
+ eSE,
+} SE_t;
+
+typedef enum {
+ ReaderMode = 0x01,
+ P2PMode = 0x02,
+ CEMode = 0x04,
+} PollMode_t;
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_get_version
+ **
+ ** Description Function to get the HW, FW and SW versions.
+ **
+ ** Returns NFCSTATUS_SUCCESS if successful,otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE: Internally this function will use phNxpNciHal_get_version from HAL.
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_get_version (uint32_t *hw_ver, uint32_t *fw_ver, uint32_t *sw_ver);
+
+/*******************************************************************************
+ **
+ ** Function phNxpNciHal_read_tlv
+ **
+ ** Description Function to read simple TLV and extended TLV.
+ ** Memory for TLV and fields are allocated and freed by calling
+ ** function. Input is type and len. Response is provied in *val.
+ **
+ ** Returns NFCSTATUS_SUCCESS if successful,otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE: Internally this function will use NFA_GetConfig for simple TLV.
+ ** For extended TLV, it will use NFA_SendRawFrame.
+ *******************************************************************************/
+
+NFCSTATUS phNxpNciHal_read_tlv (tlv_t *tlv);
+
+/*******************************************************************************
+ **
+ ** Function phNxpNciHal_write_tlv
+ **
+ ** Description Function to write simple TLV and extended TLV.
+ ** Memory for TLV and fields are allocated and freed by calling
+ ** function. Input is type, len, *val.
+ **
+ ** Returns NFCSTATUS_SUCCESS if successful,otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE: Internally this function will use NFA_SetConfig for simple TLV.
+ ** For extended TLV, it will use NFA_SendRawFrame.
+ *******************************************************************************/
+
+NFCSTATUS phNxpNciHal_write_tlv (tlv_t *tlv);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_select_poll_tech
+ **
+ ** Description This function selects the polling technology for starting
+ ** polling loop. This function does not start polling loop.
+ ** It is just a setting for polling technology.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE: Internally this function is using NFA_EnablePolling function.
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_select_poll_tech (tNFA_TECHNOLOGY_MASK tech_mask);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_select_ce_listen_tech
+ **
+ ** Description This function set the listen tech for card emulation.
+ ** This function does not include routing.
+ ** This function does not start polling loop.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE: Internally this function is using NFA_CeConfigureUiccListenTech.
+ ** Not sure which handle to use, from UICC or eSE.
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_select_ce_listen_tech (tNFA_TECHNOLOGY_MASK tech_mask);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_select_p2p_poll_speed
+ **
+ ** Description This function will select the P2P polling speed.
+ ** phNxpExtns_select_poll_tech overwrite the settings of poll if
+ ** reader mode is enabled.
+ ** There is only one active poll phase but device can use one
+ ** active speed and can move to higher speed if target supports.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE: Internally this function will use NFA_EnablePolling and NFA_SetConfig
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_select_p2p_poll_speed (p2p_speed_t p2p_initiator_speed);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_select_p2p_listen_speed
+ **
+ ** Description This function will select the listen mode
+ ** This function does not include routing.
+ ** This function does not start polling loop.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE: Internally this function will use NFA_SetP2pListenTech and NFA_SetConfig
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_select_p2p_listen_speed (p2p_speed_t p2p_target_speed);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_select_se
+ **
+ ** Description This function will set the routing of the traffic to selected
+ ** SE. This function also does not start polling loop.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE:
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_select_se (SE_t se);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_set_poll_mode
+ **
+ ** Description This function selects which mode to enable for polling loop.
+ ** This function do not start polling loop.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE:
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_set_poll_mode (PollMode_t poll_mode);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_start_poll
+ **
+ ** Description This function starts polling loop based on the configuration
+ ** of the previous calls. If no configuration done through other
+ ** function call then it uses the default configuration from
+ ** configuration files.
+ ** This function internally stops the polling loop if it is
+ ** already running.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE: Internally this function uses NFA_StartRfDiscovery.
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_start_poll (void);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_stop_poll
+ **
+ ** Description This function stops the polling loop if it is running.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE:Internally this function uses NFA_StopRfDiscovery.
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_stop_poll (void);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_enable_Felica_CLT
+ **
+ ** Description This function enables or disable Felica CLT feature.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE:
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_enable_Felica_CLT (bool enable);
+
+/*******************************************************************************
+ **
+ ** Function phNxpExtns_enable_Mifare_CLT
+ **
+ ** Description This function enables or disable Mifare CLT feature.
+ **
+ ** Returns NFCSTATUS_SUCCESS if operation successful,
+ ** otherwise NFCSTATUS_FAILED.
+ **
+ ** NOTE:
+ *******************************************************************************/
+
+NFCSTATUS phNxpExtns_enable_Mifare_CLT (bool enable);
+
+#endif /* _PHNXPEXTNS_CUSTOM_H_ */