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