1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 3e9629bad30a9f478b336ab46b8e6e02f7f87af46Evan Chu * Copyright (C) 2011-2014 Broadcom Corporation 4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * you may not use this file except in compliance with the License. 7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * You may obtain a copy of the License at: 8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * See the License for the specific language governing permissions and 15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * limitations under the License. 16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 195c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * This is the private interface file for NFA_CE 23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_CE_INT_H 26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_INT_H 27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfa_sys.h" 29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfa_api.h" 30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfa_ce_api.h" 31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfa_dm_int.h" 32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "nfc_api.h" 33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/***************************************************************************** 35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Constants and data types 36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/ 37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* ce status callback */ 39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef void tNFA_CE_STATUS_CBACK (tNFA_STATUS status); 40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* CE events */ 42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectenum 43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project /* device manager local device API events */ 45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_API_CFG_LOCAL_TAG_EVT = NFA_SYS_EVT_START (NFA_ID_CE), 46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_API_REG_LISTEN_EVT, 47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_API_DEREG_LISTEN_EVT, 48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_API_CFG_ISODEP_TECH_EVT, 49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_ACTIVATE_NTF_EVT, 50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_DEACTIVATE_NTF_EVT, 51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_MAX_EVT 53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}; 54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Listen registration types */ 56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectenum 57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_REG_TYPE_NDEF, 59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_REG_TYPE_ISO_DEP, 60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_REG_TYPE_FELICA, 61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project NFA_CE_REG_TYPE_UICC 62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}; 63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT8 tNFA_CE_REG_TYPE; 64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* data type for NFA_CE_API_CFG_LOCAL_TAG_EVT */ 66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct 67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project BT_HDR hdr; 69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_PROTOCOL_MASK protocol_mask; 70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 *p_ndef_data; 71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 ndef_cur_size; 72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 ndef_max_size; 73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project BOOLEAN read_only; 74e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 uid_len; 75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 uid[NFA_MAX_UID_LEN]; 76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tNFA_CE_API_CFG_LOCAL_TAG; 77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* data type for NFA_CE_ACTIVATE_NTF_EVT */ 79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct 80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project BT_HDR hdr; 82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFC_ACTIVATE_DEVT *p_activation_params; 83e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tNFA_CE_ACTIVATE_NTF; 84e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 85e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* data type for NFA_CE_API_REG_LISTEN_EVT */ 86e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct 87e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project BT_HDR hdr; 89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CONN_CBACK *p_conn_cback; 90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CE_REG_TYPE listen_type; 92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project /* For registering Felica */ 94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 system_code; 95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 nfcid2[NCI_RF_F_UID_LEN]; 96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project /* For registering Type-4 */ 98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 aid[NFC_MAX_AID_LEN]; /* AID to listen for (For type-4 only) */ 99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 aid_len; /* AID length */ 100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project /* For registering UICC */ 102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_HANDLE ee_handle; 103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_TECHNOLOGY_MASK tech_mask; 104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tNFA_CE_API_REG_LISTEN; 105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* data type for NFA_CE_API_DEREG_LISTEN_EVT */ 107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct 108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project BT_HDR hdr; 110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_HANDLE handle; 111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT32 listen_info; 112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tNFA_CE_API_DEREG_LISTEN; 113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* union of all data types */ 115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef union 116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project /* GKI event buffer header */ 118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project BT_HDR hdr; 119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CE_API_CFG_LOCAL_TAG local_tag; 120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CE_API_REG_LISTEN reg_listen; 121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CE_API_DEREG_LISTEN dereg_listen; 122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CE_ACTIVATE_NTF activate_ntf; 123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tNFA_CE_MSG; 124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**************************************************************************** 126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** LISTEN_INFO definitions 127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*****************************************************************************/ 128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_LISTEN_INFO_IDX_NDEF 0 /* Entry 0 is reserved for local NDEF tag */ 129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_LISTEN_INFO_IDX_INVALID (NFA_CE_LISTEN_INFO_MAX) 130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 132e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Flags for listen request */ 133e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_LISTEN_INFO_IN_USE 0x00000001 /* LISTEN_INFO entry is in use */ 134e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_CE_LISTEN_INFO_READONLY_NDEF 0x00000010 /* NDEF is read-only */ 135e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_LISTEN_INFO_T4T_ACTIVATE_PND 0x00000040 /* App has not been notified of ACTIVATE_EVT yet for this T4T AID */ 136e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_LISTEN_INFO_T4T_AID 0x00000080 /* This is a listen_info for T4T AID */ 137e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_LISTEN_INFO_START_NTF_PND 0x00000100 /* App has not been notified of LISTEN_START yet */ 138e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_LISTEN_INFO_FELICA 0x00000200 /* This is a listen_info for non-NDEF Felica */ 139e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_LISTEN_INFO_UICC 0x00000400 /* This is a listen_info for UICC */ 140e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 141e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Structure for listen look up table */ 143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct 144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT32 flags; 146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CONN_CBACK *p_conn_cback; /* Callback for this listen request */ 147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_PROTOCOL_MASK protocol_mask; /* Mask of protocols for this listen request */ 148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_HANDLE rf_disc_handle; /* RF Discover handle */ 149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project /* For host tag emulation (NFA_CeRegisterVirtualT4tSE and NFA_CeRegisterT4tAidOnDH) */ 151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 t3t_nfcid2[NCI_RF_F_UID_LEN]; 152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 t3t_system_code; /* Type-3 system code */ 153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 t4t_aid_handle; /* Type-4 aid callback handle (from CE_T4tRegisterAID) */ 154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project /* For UICC */ 156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_HANDLE ee_handle; 157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_TECHNOLOGY_MASK tech_mask; /* listening technologies */ 158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_DM_DISC_TECH_PROTO_MASK tech_proto_mask; /* listening technologies and protocols */ 159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tNFA_CE_LISTEN_INFO; 160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************/ 163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Internal flags for nfa_ce */ 165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_FLAGS_APP_INIT_DEACTIVATION 0x00000001 /* Deactivation locally initiated by application */ 166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_FLAGS_LISTEN_ACTIVE_SLEEP 0x00000002 /* Tag is in listen active or sleep state */ 167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT32 tNFA_CE_FLAGS; 168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* NFA_CE control block */ 170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct 171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 *p_scratch_buf; /* Scratch buffer for write requests */ 173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT32 scratch_buf_size; 174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFC_ACTIVATE_DEVT activation_params; /* Activation params */ 176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CE_FLAGS flags; /* internal flags */ 177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CONN_CBACK *p_active_conn_cback; /* Callback of activated CE */ 178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project /* listen_info table (table of listen paramters and app callbacks) */ 180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_CE_LISTEN_INFO listen_info[NFA_CE_LISTEN_INFO_MAX];/* listen info table */ 181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 idx_cur_active; /* listen_info index for currently activated CE */ 18258268861a9aee36b541b6534c341657fb221c2f2Sherry Smith UINT8 idx_wild_card; /* listen_info index for T4T wild card CE */ 183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_DM_DISC_TECH_PROTO_MASK isodep_disc_mask; /* the technology/protocol mask for ISO-DEP */ 185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project /* Local ndef tag info */ 187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT8 *p_ndef_data; 188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 ndef_cur_size; 189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project UINT16 ndef_max_size; 190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project tNFA_SYS_EVT_HDLR *p_vs_evt_hdlr; /* VS event handler */ 192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tNFA_CE_CB; 193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern tNFA_CE_CB nfa_ce_cb; 194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* type definition for action functions */ 196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef BOOLEAN (*tNFA_CE_ACTION) (tNFA_CE_MSG *p_data); 197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Action function prototypes */ 199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBOOLEAN nfa_ce_api_cfg_local_tag (tNFA_CE_MSG *p_ce_msg); 200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBOOLEAN nfa_ce_api_reg_listen (tNFA_CE_MSG *p_ce_msg); 201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBOOLEAN nfa_ce_api_dereg_listen (tNFA_CE_MSG *p_ce_msg); 202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBOOLEAN nfa_ce_api_cfg_isodep_tech (tNFA_CE_MSG *p_ce_msg); 203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBOOLEAN nfa_ce_activate_ntf (tNFA_CE_MSG *p_ce_msg); 204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBOOLEAN nfa_ce_deactivate_ntf (tNFA_CE_MSG *p_ce_msg); 205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Internal function prototypes */ 207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectvoid nfa_ce_t3t_generate_rand_nfcid (UINT8 nfcid2[NCI_RF_F_UID_LEN]); 208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectBOOLEAN nfa_ce_hdl_event (BT_HDR *p_msg); 209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjecttNFC_STATUS nfa_ce_set_content (void); 210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjecttNFA_STATUS nfa_ce_start_listening (void); 211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectvoid nfa_ce_remove_listen_info_entry (UINT8 listen_info_idx, BOOLEAN notify_app); 212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectvoid nfa_ce_sys_disable (void); 213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectvoid nfa_ce_free_scratch_buf (void); 214e09fd9c5ce2c1eaef0831d8699a01404bea14894Sherry SmithBOOLEAN nfa_ce_restart_listen_check (void); 215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif /* NFA_DM_INT_H */ 216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 217