nfa_ce_int.h revision e09fd9c5ce2c1eaef0831d8699a01404bea14894
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/****************************************************************************** 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (C) 2011-2014 Broadcom Corporation 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Licensed under the Apache License, Version 2.0 (the "License"); 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * you may not use this file except in compliance with the License. 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * You may obtain a copy of the License at: 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * http://www.apache.org/licenses/LICENSE-2.0 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Unless required by applicable law or agreed to in writing, software 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * distributed under the License is distributed on an "AS IS" BASIS, 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * See the License for the specific language governing permissions and 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * limitations under the License. 161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) * 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) ******************************************************************************/ 18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 19868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/****************************************************************************** 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch * This is the private interface file for NFA_CE 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ******************************************************************************/ 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef NFA_CE_INT_H 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define NFA_CE_INT_H 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "nfa_sys.h" 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "nfa_api.h" 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "nfa_ce_api.h" 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "nfa_dm_int.h" 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "nfc_api.h" 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 343551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)/***************************************************************************** 3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)** Constants and data types 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)*****************************************************************************/ 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 38effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch/* ce status callback */ 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void tNFA_CE_STATUS_CBACK (tNFA_STATUS status); 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* CE events */ 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum 43f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles){ 44f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) /* device manager local device API events */ 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) NFA_CE_API_CFG_LOCAL_TAG_EVT = NFA_SYS_EVT_START (NFA_ID_CE), 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) NFA_CE_API_REG_LISTEN_EVT, 47f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) NFA_CE_API_DEREG_LISTEN_EVT, 48f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) NFA_CE_API_CFG_ISODEP_TECH_EVT, 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) NFA_CE_ACTIVATE_NTF_EVT, 508bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) NFA_CE_DEACTIVATE_NTF_EVT, 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NFA_CE_MAX_EVT 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* Listen registration types */ 56558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdochenum 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NFA_CE_REG_TYPE_NDEF, 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NFA_CE_REG_TYPE_ISO_DEP, 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NFA_CE_REG_TYPE_FELICA, 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NFA_CE_REG_TYPE_UICC 6290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)}; 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef UINT8 tNFA_CE_REG_TYPE; 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* data type for NFA_CE_API_CFG_LOCAL_TAG_EVT */ 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BT_HDR hdr; 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) tNFA_PROTOCOL_MASK protocol_mask; 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) UINT8 *p_ndef_data; 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT16 ndef_cur_size; 72a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) UINT16 ndef_max_size; 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BOOLEAN read_only; 74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) UINT8 uid_len; 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) UINT8 uid[NFA_MAX_UID_LEN]; 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} tNFA_CE_API_CFG_LOCAL_TAG; 7746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 782385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch/* data type for NFA_CE_ACTIVATE_NTF_EVT */ 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct 8058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles){ 81424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) BT_HDR hdr; 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) tNFC_ACTIVATE_DEVT *p_activation_params; 83eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} tNFA_CE_ACTIVATE_NTF; 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* data type for NFA_CE_API_REG_LISTEN_EVT */ 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef struct 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BT_HDR hdr; 898bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) tNFA_CONN_CBACK *p_conn_cback; 90cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_CE_REG_TYPE listen_type; 92c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* For registering Felica */ 947d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) UINT16 system_code; 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT8 nfcid2[NCI_RF_F_UID_LEN]; 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* For registering Type-4 */ 984e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) UINT8 aid[NFC_MAX_AID_LEN]; /* AID to listen for (For type-4 only) */ 99a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles) UINT8 aid_len; /* AID length */ 100010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 1010529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch /* For registering UICC */ 1026d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) tNFA_HANDLE ee_handle; 1030f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) tNFA_TECHNOLOGY_MASK tech_mask; 104f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} tNFA_CE_API_REG_LISTEN; 105f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 1067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* data type for NFA_CE_API_DEREG_LISTEN_EVT */ 107a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)typedef struct 108cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles){ 1090529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch BT_HDR hdr; 1105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) tNFA_HANDLE handle; 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT32 listen_info; 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} tNFA_CE_API_DEREG_LISTEN; 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 114868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)/* union of all data types */ 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef union 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* GKI event buffer header */ 1185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) BT_HDR hdr; 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_CE_API_CFG_LOCAL_TAG local_tag; 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_CE_API_REG_LISTEN reg_listen; 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_CE_API_DEREG_LISTEN dereg_listen; 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_CE_ACTIVATE_NTF activate_ntf; 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} tNFA_CE_MSG; 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**************************************************************************** 12668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)** LISTEN_INFO definitions 12723730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)*****************************************************************************/ 1285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define NFA_CE_LISTEN_INFO_IDX_NDEF 0 /* Entry 0 is reserved for local NDEF tag */ 1295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define NFA_CE_LISTEN_INFO_IDX_INVALID (NFA_CE_LISTEN_INFO_MAX) 1305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 131f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 132f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)/* Flags for listen request */ 1335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define NFA_CE_LISTEN_INFO_IN_USE 0x00000001 /* LISTEN_INFO entry is in use */ 134c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#define NFC_CE_LISTEN_INFO_READONLY_NDEF 0x00000010 /* NDEF is read-only */ 1352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define NFA_CE_LISTEN_INFO_T4T_ACTIVATE_PND 0x00000040 /* App has not been notified of ACTIVATE_EVT yet for this T4T AID */ 136f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define NFA_CE_LISTEN_INFO_T4T_AID 0x00000080 /* This is a listen_info for T4T AID */ 1375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define NFA_CE_LISTEN_INFO_START_NTF_PND 0x00000100 /* App has not been notified of LISTEN_START yet */ 138f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define NFA_CE_LISTEN_INFO_FELICA 0x00000200 /* This is a listen_info for non-NDEF Felica */ 139f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define NFA_CE_LISTEN_INFO_UICC 0x00000400 /* This is a listen_info for UICC */ 1405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 141f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 142effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch/* Structure for listen look up table */ 143ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdochtypedef struct 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT32 flags; 1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) tNFA_CONN_CBACK *p_conn_cback; /* Callback for this listen request */ 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_PROTOCOL_MASK protocol_mask; /* Mask of protocols for this listen request */ 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_HANDLE rf_disc_handle; /* RF Discover handle */ 1492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* For host tag emulation (NFA_CeRegisterVirtualT4tSE and NFA_CeRegisterT4tAidOnDH) */ 1515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) UINT8 t3t_nfcid2[NCI_RF_F_UID_LEN]; 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT16 t3t_system_code; /* Type-3 system code */ 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT8 t4t_aid_handle; /* Type-4 aid callback handle (from CE_T4tRegisterAID) */ 154eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 155868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) /* For UICC */ 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_HANDLE ee_handle; 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_TECHNOLOGY_MASK tech_mask; /* listening technologies */ 1585d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) tNFA_DM_DISC_TECH_PROTO_MASK tech_proto_mask; /* listening technologies and protocols */ 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} tNFA_CE_LISTEN_INFO; 1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/****************************************************************************/ 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1648bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)/* Internal flags for nfa_ce */ 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NFA_CE_FLAGS_APP_INIT_DEACTIVATION 0x00000001 /* Deactivation locally initiated by application */ 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NFA_CE_FLAGS_LISTEN_ACTIVE_SLEEP 0x00000002 /* Tag is in listen active or sleep state */ 1675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef UINT32 tNFA_CE_FLAGS; 1680529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 1697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch/* NFA_CE control block */ 1705c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liutypedef struct 171b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles){ 172cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) UINT8 *p_scratch_buf; /* Scratch buffer for write requests */ 173558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch UINT32 scratch_buf_size; 174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFC_ACTIVATE_DEVT activation_params; /* Activation params */ 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_CE_FLAGS flags; /* internal flags */ 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_CONN_CBACK *p_active_conn_cback; /* Callback of activated CE */ 178effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 17958537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) /* listen_info table (table of listen paramters and app callbacks) */ 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_CE_LISTEN_INFO listen_info[NFA_CE_LISTEN_INFO_MAX];/* listen info table */ 181f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) UINT8 idx_cur_active; /* listen_info index for currently activated CE */ 182f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tNFA_DM_DISC_TECH_PROTO_MASK isodep_disc_mask; /* the technology/protocol mask for ISO-DEP */ 1848bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /* Local ndef tag info */ 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT8 *p_ndef_data; 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT16 ndef_cur_size; 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UINT16 ndef_max_size; 18968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1908bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) tNFA_SYS_EVT_HDLR *p_vs_evt_hdlr; /* VS event handler */ 1918bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)} tNFA_CE_CB; 1928bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)extern tNFA_CE_CB nfa_ce_cb; 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* type definition for action functions */ 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef BOOLEAN (*tNFA_CE_ACTION) (tNFA_CE_MSG *p_data); 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1978bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)/* Action function prototypes */ 19846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)BOOLEAN nfa_ce_api_cfg_local_tag (tNFA_CE_MSG *p_ce_msg); 19946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)BOOLEAN nfa_ce_api_reg_listen (tNFA_CE_MSG *p_ce_msg); 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)BOOLEAN nfa_ce_api_dereg_listen (tNFA_CE_MSG *p_ce_msg); 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)BOOLEAN nfa_ce_api_cfg_isodep_tech (tNFA_CE_MSG *p_ce_msg); 202c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)BOOLEAN nfa_ce_activate_ntf (tNFA_CE_MSG *p_ce_msg); 203effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochBOOLEAN nfa_ce_deactivate_ntf (tNFA_CE_MSG *p_ce_msg); 204effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 205c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* Internal function prototypes */ 206e5d81f57cb97b3b6b7fccc9c5610d21eb81db09dBen Murdochvoid nfa_ce_t3t_generate_rand_nfcid (UINT8 nfcid2[NCI_RF_F_UID_LEN]); 207c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)BOOLEAN nfa_ce_hdl_event (BT_HDR *p_msg); 208c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)tNFC_STATUS nfa_ce_set_content (void); 2095d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)tNFA_STATUS nfa_ce_start_listening (void); 21058537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)void nfa_ce_remove_listen_info_entry (UINT8 listen_info_idx, BOOLEAN notify_app); 2117d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)void nfa_ce_sys_disable (void); 2127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)void nfa_ce_free_scratch_buf (void); 2137dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochBOOLEAN nfa_ce_restart_listen_check (void); 2147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif /* NFA_DM_INT_H */ 2157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 2167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch