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