1 /****************************************************************************** 2 * 3 * Copyright (C) 2010-2014 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19 20 /****************************************************************************** 21 * 22 * This is the private interface file for the NFA EE. 23 * 24 ******************************************************************************/ 25 #ifndef NFA_EE_INT_H 26 #define NFA_EE_INT_H 27 #include "nfc_api.h" 28 #include "nfa_ee_api.h" 29 #include "nfa_sys.h" 30 31 /***************************************************************************** 32 ** Constants and data types 33 *****************************************************************************/ 34 #define NFA_EE_DEBUG BT_TRACE_VERBOSE 35 #define NFA_EE_NUM_ECBS (NFA_EE_MAX_EE_SUPPORTED+1) /* the number of tNFA_EE_ECBs (for NFCEEs and DH) */ 36 #define NFA_EE_CB_4_DH NFA_EE_MAX_EE_SUPPORTED /* The index for DH in nfa_ee_cb.ee_cb[] */ 37 #define NFA_EE_INVALID 0xFF 38 #define NFA_EE_MAX_TECH_ROUTE 4 /* only A, B, F, Bprime are supported by UICC now */ 39 40 #ifndef NFA_EE_AID_CFG_TAG_NAME 41 #define NFA_EE_AID_CFG_TAG_NAME 0x4F /* AID */ 42 #endif 43 44 /* NFA EE events */ 45 enum 46 { 47 NFA_EE_API_DISCOVER_EVT = NFA_SYS_EVT_START(NFA_ID_EE), 48 NFA_EE_API_REGISTER_EVT, 49 NFA_EE_API_DEREGISTER_EVT, 50 NFA_EE_API_MODE_SET_EVT, 51 NFA_EE_API_SET_TECH_CFG_EVT, 52 NFA_EE_API_SET_PROTO_CFG_EVT, 53 NFA_EE_API_ADD_AID_EVT, 54 NFA_EE_API_REMOVE_AID_EVT, 55 NFA_EE_API_LMRT_SIZE_EVT, 56 NFA_EE_API_UPDATE_NOW_EVT, 57 NFA_EE_API_CONNECT_EVT, 58 NFA_EE_API_SEND_DATA_EVT, 59 NFA_EE_API_DISCONNECT_EVT, 60 61 NFA_EE_NCI_DISC_RSP_EVT, 62 NFA_EE_NCI_DISC_NTF_EVT, 63 NFA_EE_NCI_MODE_SET_RSP_EVT, 64 NFA_EE_NCI_CONN_EVT, 65 NFA_EE_NCI_DATA_EVT, 66 NFA_EE_NCI_ACTION_NTF_EVT, 67 NFA_EE_NCI_DISC_REQ_NTF_EVT, 68 NFA_EE_NCI_WAIT_RSP_EVT, 69 70 NFA_EE_ROUT_TIMEOUT_EVT, 71 NFA_EE_DISCV_TIMEOUT_EVT, 72 NFA_EE_CFG_TO_NFCC_EVT, 73 NFA_EE_MAX_EVT 74 75 }; 76 77 78 typedef UINT16 tNFA_EE_INT_EVT; 79 #define NFA_EE_AE_ROUTE 0x80 /* for listen mode routing table*/ 80 #define NFA_EE_AE_VS 0x40 81 82 83 /* NFA EE Management state */ 84 enum 85 { 86 NFA_EE_EM_STATE_INIT = 0, 87 NFA_EE_EM_STATE_INIT_DONE, 88 NFA_EE_EM_STATE_RESTORING, 89 NFA_EE_EM_STATE_DISABLING, 90 NFA_EE_EM_STATE_DISABLED, 91 92 NFA_EE_EM_STATE_MAX 93 }; 94 typedef UINT8 tNFA_EE_EM_STATE; 95 96 /* NFA EE connection status */ 97 enum 98 { 99 NFA_EE_CONN_ST_NONE, /* not connected */ 100 NFA_EE_CONN_ST_WAIT, /* connection is initiated; waiting for ack */ 101 NFA_EE_CONN_ST_CONN, /* connected; can send/receive data */ 102 NFA_EE_CONN_ST_DISC, /* disconnecting; waiting for ack */ 103 NFA_EE_CONN_ST_MAX 104 }; 105 typedef UINT8 tNFA_EE_CONN_ST; 106 107 #define NFA_EE_MAX_AID_CFG_LEN (510) 108 #define NFA_EE_7816_STATUS_LEN (2) 109 110 /* NFA EE control block flags: 111 * use to indicate an API function has changed the configuration of the associated NFCEE 112 * The flags are cleared when the routing table/VS is updated */ 113 #define NFA_EE_ECB_FLAGS_TECH 0x02 /* technology routing changed */ 114 #define NFA_EE_ECB_FLAGS_PROTO 0x04 /* protocol routing changed */ 115 #define NFA_EE_ECB_FLAGS_AID 0x08 /* AID routing changed */ 116 #define NFA_EE_ECB_FLAGS_VS 0x10 /* VS changed */ 117 #define NFA_EE_ECB_FLAGS_RESTORE 0x20 /* Restore related */ 118 #define NFA_EE_ECB_FLAGS_ROUTING 0x0E /* routing flags changed */ 119 #define NFA_EE_ECB_FLAGS_DISC_REQ 0x40 /* NFCEE Discover Request NTF is set */ 120 #define NFA_EE_ECB_FLAGS_ORDER 0x80 /* DISC_REQ N reported before DISC N */ 121 typedef UINT8 tNFA_EE_ECB_FLAGS; 122 123 /* part of tNFA_EE_STATUS; for internal use only */ 124 #define NFA_EE_STATUS_RESTORING 0x20 /* waiting for restore to full power mode to complete */ 125 #define NFA_EE_STATUS_INT_MASK 0x20 /* this bit is in ee_status for internal use only */ 126 127 /* NFA-EE information for a particular NFCEE Entity (including DH) */ 128 typedef struct 129 { 130 tNFA_TECHNOLOGY_MASK tech_switch_on; /* default routing - technologies switch_on */ 131 tNFA_TECHNOLOGY_MASK tech_switch_off; /* default routing - technologies switch_off */ 132 tNFA_TECHNOLOGY_MASK tech_battery_off; /* default routing - technologies battery_off*/ 133 tNFA_PROTOCOL_MASK proto_switch_on; /* default routing - protocols switch_on */ 134 tNFA_PROTOCOL_MASK proto_switch_off; /* default routing - protocols switch_off */ 135 tNFA_PROTOCOL_MASK proto_battery_off; /* default routing - protocols battery_off */ 136 tNFA_EE_CONN_ST conn_st; /* connection status */ 137 UINT8 conn_id; /* connection id */ 138 tNFA_EE_CBACK *p_ee_cback; /* the callback function */ 139 140 /* Each AID entry has an ssociated aid_len, aid_pwr_cfg, aid_rt_info. 141 * aid_cfg[] contains AID and maybe some other VS information in TLV format 142 * The first T is always NFA_EE_AID_CFG_TAG_NAME, the L is the actual AID length 143 * the aid_len is the total length of all the TLVs associated with this AID entry 144 */ 145 UINT8 aid_len[NFA_EE_MAX_AID_ENTRIES];/* the actual lengths in aid_cfg */ 146 UINT8 aid_pwr_cfg[NFA_EE_MAX_AID_ENTRIES];/* power configuration of this AID entry */ 147 UINT8 aid_rt_info[NFA_EE_MAX_AID_ENTRIES];/* route/vs info for this AID entry */ 148 UINT8 aid_cfg[NFA_EE_MAX_AID_CFG_LEN];/* routing entries based on AID */ 149 UINT8 aid_entries; /* The number of AID entries in aid_cfg */ 150 UINT8 nfcee_id; /* ID for this NFCEE */ 151 UINT8 ee_status; /* The NFCEE status */ 152 UINT8 ee_old_status; /* The NFCEE status before going to low power mode */ 153 tNFA_EE_INTERFACE ee_interface[NFC_MAX_EE_INTERFACE];/* NFCEE supported interface */ 154 tNFA_EE_TLV ee_tlv[NFC_MAX_EE_TLVS];/* the TLV */ 155 UINT8 num_interface; /* number of Target interface */ 156 UINT8 num_tlvs; /* number of TLVs */ 157 tNFA_EE_ECB_FLAGS ecb_flags; /* the flags of this control block */ 158 tNFA_EE_INTERFACE use_interface; /* NFCEE interface used for the connection */ 159 tNFA_NFC_PROTOCOL la_protocol; /* Listen A protocol */ 160 tNFA_NFC_PROTOCOL lb_protocol; /* Listen B protocol */ 161 tNFA_NFC_PROTOCOL lf_protocol; /* Listen F protocol */ 162 tNFA_NFC_PROTOCOL lbp_protocol; /* Listen B' protocol */ 163 UINT8 size_mask; /* the size for technology and protocol routing */ 164 UINT16 size_aid; /* the size for aid routing */ 165 } tNFA_EE_ECB; 166 167 /* data type for NFA_EE_API_DISCOVER_EVT */ 168 typedef struct 169 { 170 BT_HDR hdr; 171 tNFA_EE_CBACK *p_cback; 172 } tNFA_EE_API_DISCOVER; 173 174 /* data type for NFA_EE_API_REGISTER_EVT */ 175 typedef struct 176 { 177 BT_HDR hdr; 178 tNFA_EE_CBACK *p_cback; 179 } tNFA_EE_API_REGISTER; 180 181 /* data type for NFA_EE_API_DEREGISTER_EVT */ 182 typedef struct 183 { 184 BT_HDR hdr; 185 int index; 186 } tNFA_EE_API_DEREGISTER; 187 188 /* data type for NFA_EE_API_MODE_SET_EVT */ 189 typedef struct 190 { 191 BT_HDR hdr; 192 tNFA_EE_ECB *p_cb; 193 UINT8 nfcee_id; 194 UINT8 mode; 195 } tNFA_EE_API_MODE_SET; 196 197 /* data type for NFA_EE_API_SET_TECH_CFG_EVT */ 198 typedef struct 199 { 200 BT_HDR hdr; 201 tNFA_EE_ECB *p_cb; 202 UINT8 nfcee_id; 203 tNFA_TECHNOLOGY_MASK technologies_switch_on; 204 tNFA_TECHNOLOGY_MASK technologies_switch_off; 205 tNFA_TECHNOLOGY_MASK technologies_battery_off; 206 } tNFA_EE_API_SET_TECH_CFG; 207 208 /* data type for NFA_EE_API_SET_PROTO_CFG_EVT */ 209 typedef struct 210 { 211 BT_HDR hdr; 212 tNFA_EE_ECB *p_cb; 213 UINT8 nfcee_id; 214 tNFA_PROTOCOL_MASK protocols_switch_on; 215 tNFA_PROTOCOL_MASK protocols_switch_off; 216 tNFA_PROTOCOL_MASK protocols_battery_off; 217 } tNFA_EE_API_SET_PROTO_CFG; 218 219 /* data type for NFA_EE_API_ADD_AID_EVT */ 220 typedef struct 221 { 222 BT_HDR hdr; 223 tNFA_EE_ECB *p_cb; 224 UINT8 nfcee_id; 225 UINT8 aid_len; 226 UINT8 *p_aid; 227 tNFA_EE_PWR_STATE power_state; 228 } tNFA_EE_API_ADD_AID; 229 230 /* data type for NFA_EE_API_REMOVE_AID_EVT */ 231 typedef struct 232 { 233 BT_HDR hdr; 234 UINT8 aid_len; 235 UINT8 *p_aid; 236 } tNFA_EE_API_REMOVE_AID; 237 238 /* data type for NFA_EE_API_LMRT_SIZE_EVT */ 239 typedef BT_HDR tNFA_EE_API_LMRT_SIZE; 240 241 /* data type for NFA_EE_API_CONNECT_EVT */ 242 typedef struct 243 { 244 BT_HDR hdr; 245 tNFA_EE_ECB *p_cb; 246 UINT8 nfcee_id; 247 UINT8 ee_interface; 248 tNFA_EE_CBACK *p_cback; 249 } tNFA_EE_API_CONNECT; 250 251 /* data type for NFA_EE_API_SEND_DATA_EVT */ 252 typedef struct 253 { 254 BT_HDR hdr; 255 tNFA_EE_ECB *p_cb; 256 UINT8 nfcee_id; 257 UINT16 data_len; 258 UINT8 *p_data; 259 } tNFA_EE_API_SEND_DATA; 260 261 /* data type for NFA_EE_API_DISCONNECT_EVT */ 262 typedef struct 263 { 264 BT_HDR hdr; 265 tNFA_EE_ECB *p_cb; 266 UINT8 nfcee_id; 267 } tNFA_EE_API_DISCONNECT; 268 269 270 typedef struct 271 { 272 BT_HDR hdr; 273 tNFC_STATUS status; /* The event status. */ 274 } tNFA_EE_MSG_STATUS; 275 276 /* common data type for internal events with nfa_ee_use_cfg_cb[] as TRUE */ 277 typedef struct 278 { 279 BT_HDR hdr; 280 tNFA_EE_ECB *p_cb; 281 UINT8 nfcee_id; 282 } tNFA_EE_CFG_HDR; 283 284 /* data type for tNFC_RESPONSE_EVT */ 285 typedef struct 286 { 287 BT_HDR hdr; 288 void *p_data; 289 } tNFA_EE_NCI_RESPONSE; 290 291 /* data type for NFA_EE_NCI_DISC_RSP_EVT */ 292 typedef struct 293 { 294 BT_HDR hdr; 295 tNFC_NFCEE_DISCOVER_REVT *p_data; 296 } tNFA_EE_NCI_DISC_RSP; 297 298 /* data type for NFA_EE_NCI_DISC_NTF_EVT */ 299 typedef struct 300 { 301 BT_HDR hdr; 302 tNFC_NFCEE_INFO_REVT *p_data; 303 } tNFA_EE_NCI_DISC_NTF; 304 305 /* data type for NFA_EE_NCI_MODE_SET_RSP_EVT */ 306 typedef struct 307 { 308 BT_HDR hdr; 309 tNFC_NFCEE_MODE_SET_REVT *p_data; 310 } tNFA_EE_NCI_MODE_SET; 311 312 /* data type for NFA_EE_NCI_WAIT_RSP_EVT */ 313 typedef struct 314 { 315 BT_HDR hdr; 316 void *p_data; 317 UINT8 opcode; 318 } tNFA_EE_NCI_WAIT_RSP; 319 320 /* data type for NFA_EE_NCI_CONN_EVT and NFA_EE_NCI_DATA_EVT */ 321 typedef struct 322 { 323 BT_HDR hdr; 324 UINT8 conn_id; 325 tNFC_CONN_EVT event; 326 tNFC_CONN *p_data; 327 } tNFA_EE_NCI_CONN; 328 329 /* data type for NFA_EE_NCI_ACTION_NTF_EVT */ 330 typedef struct 331 { 332 BT_HDR hdr; 333 tNFC_EE_ACTION_REVT *p_data; 334 } tNFA_EE_NCI_ACTION; 335 336 /* data type for NFA_EE_NCI_DISC_REQ_NTF_EVT */ 337 typedef struct 338 { 339 BT_HDR hdr; 340 tNFC_EE_DISCOVER_REQ_REVT *p_data; 341 } tNFA_EE_NCI_DISC_REQ; 342 343 /* union of all event data types */ 344 typedef union 345 { 346 BT_HDR hdr; 347 tNFA_EE_CFG_HDR cfg_hdr; 348 tNFA_EE_API_DISCOVER ee_discover; 349 tNFA_EE_API_REGISTER ee_register; 350 tNFA_EE_API_DEREGISTER deregister; 351 tNFA_EE_API_MODE_SET mode_set; 352 tNFA_EE_API_SET_TECH_CFG set_tech; 353 tNFA_EE_API_SET_PROTO_CFG set_proto; 354 tNFA_EE_API_ADD_AID add_aid; 355 tNFA_EE_API_REMOVE_AID rm_aid; 356 tNFA_EE_API_LMRT_SIZE lmrt_size; 357 tNFA_EE_API_CONNECT connect; 358 tNFA_EE_API_SEND_DATA send_data; 359 tNFA_EE_API_DISCONNECT disconnect; 360 tNFA_EE_NCI_DISC_RSP disc_rsp; 361 tNFA_EE_NCI_DISC_NTF disc_ntf; 362 tNFA_EE_NCI_MODE_SET mode_set_rsp; 363 tNFA_EE_NCI_WAIT_RSP wait_rsp; 364 tNFA_EE_NCI_CONN conn; 365 tNFA_EE_NCI_ACTION act; 366 tNFA_EE_NCI_DISC_REQ disc_req; 367 } tNFA_EE_MSG; 368 369 /* type for State Machine (SM) action functions */ 370 typedef void (*tNFA_EE_SM_ACT)(tNFA_EE_MSG *p_data); 371 372 /***************************************************************************** 373 ** control block 374 *****************************************************************************/ 375 #define NFA_EE_CFGED_UPDATE_NOW 0x80 376 #define NFA_EE_CFGED_OFF_ROUTING 0x40 /* either switch off or battery off is configured */ 377 378 /* the following status are the definition used in ee_cfg_sts */ 379 #define NFA_EE_STS_CHANGED_ROUTING 0x01 380 #define NFA_EE_STS_CHANGED_VS 0x02 381 #define NFA_EE_STS_CHANGED 0x0f 382 #define NFA_EE_STS_PREV_ROUTING 0x10 383 #define NFA_EE_STS_PREV 0xf0 384 385 386 #define NFA_EE_WAIT_UPDATE 0x10 /* need to report NFA_EE_UPDATED_EVT */ 387 #define NFA_EE_WAIT_UPDATE_RSP 0x20 /* waiting for the rsp of set routing commands */ 388 #define NFA_EE_WAIT_UPDATE_ALL 0xF0 389 390 typedef UINT8 tNFA_EE_WAIT; 391 392 #define NFA_EE_FLAG_WAIT_HCI 0x01 /* set this bit when waiting for HCI to finish the initialization process in NFA_EE_EM_STATE_RESTORING */ 393 #define NFA_EE_FLAG_NOTIFY_HCI 0x02 /* set this bit when EE needs to notify the p_enable_cback at the end of NFCEE discover process in NFA_EE_EM_STATE_RESTORING */ 394 #define NFA_EE_FLAG_WAIT_DISCONN 0x04 /* set this bit when gracefully disable with outstanding NCI connections */ 395 typedef UINT8 tNFA_EE_FLAGS; 396 397 398 #define NFA_EE_DISC_STS_ON 0x00 /* NFCEE DISCOVER in progress */ 399 #define NFA_EE_DISC_STS_OFF 0x01 /* disable NFCEE DISCOVER */ 400 #define NFA_EE_DISC_STS_REQ 0x02 /* received NFCEE DISCOVER REQ NTF */ 401 typedef UINT8 tNFA_EE_DISC_STS; 402 403 typedef void (tNFA_EE_ENABLE_DONE_CBACK)(tNFA_EE_DISC_STS status); 404 405 /* NFA EE Management control block */ 406 typedef struct 407 { 408 tNFA_EE_ECB ecb[NFA_EE_NUM_ECBS]; /* control block for DH and NFCEEs */ 409 TIMER_LIST_ENT timer; /* timer to send info to NFCC */ 410 TIMER_LIST_ENT discv_timer; /* timer to end NFCEE discovery */ 411 tNFA_EE_CBACK *p_ee_cback[NFA_EE_MAX_CBACKS];/* to report EE events */ 412 tNFA_EE_CBACK *p_ee_disc_cback; /* to report EE discovery result */ 413 tNFA_EE_ENABLE_DONE_CBACK *p_enable_cback; /* callback to notify on enable done*/ 414 tNFA_EE_EM_STATE em_state; /* NFA-EE state initialized or not */ 415 UINT8 wait_rsp; /* num of NCI rsp expected (update) */ 416 UINT8 num_ee_expecting; /* number of ee_info still expecting*/ 417 UINT8 cur_ee; /* the number of ee_info in cb */ 418 UINT8 ee_cfged; /* the bit mask of configured ECBs */ 419 UINT8 ee_cfg_sts; /* configuration status */ 420 tNFA_EE_WAIT ee_wait_evt; /* Pending event(s) to be reported */ 421 tNFA_EE_FLAGS ee_flags; /* flags */ 422 } tNFA_EE_CB; 423 424 /***************************************************************************** 425 ** External variables 426 *****************************************************************************/ 427 428 /* NFA EE control block */ 429 #if NFA_DYNAMIC_MEMORY == FALSE 430 extern tNFA_EE_CB nfa_ee_cb; 431 #else 432 extern tNFA_EE_CB *nfa_ee_cb_ptr; 433 #define nfa_ee_cb (*nfa_ee_cb_ptr) 434 #endif 435 436 /***************************************************************************** 437 ** External functions 438 *****************************************************************************/ 439 /* function prototypes - exported from nfa_ee_main.c */ 440 void nfa_ee_sys_enable (void); 441 void nfa_ee_sys_disable (void); 442 443 /* event handler function type */ 444 BOOLEAN nfa_ee_evt_hdlr (BT_HDR *p_msg); 445 void nfa_ee_proc_nfcc_power_mode (UINT8 nfcc_power_mode); 446 #if (NFC_NFCEE_INCLUDED == TRUE) 447 void nfa_ee_get_tech_route (UINT8 power_state, UINT8 *p_handles); 448 #endif 449 void nfa_ee_proc_evt(tNFC_RESPONSE_EVT event, void *p_data); 450 tNFA_EE_ECB * nfa_ee_find_ecb (UINT8 nfcee_id); 451 tNFA_EE_ECB * nfa_ee_find_ecb_by_conn_id (UINT8 conn_id); 452 UINT8 nfa_ee_ecb_to_mask (tNFA_EE_ECB *p_cb); 453 void nfa_ee_restore_one_ecb (tNFA_EE_ECB *p_cb); 454 BOOLEAN nfa_ee_is_active (tNFA_HANDLE nfcee_id); 455 456 /* Action function prototypes - nfa_ee_act.c */ 457 void nfa_ee_api_discover(tNFA_EE_MSG *p_data); 458 void nfa_ee_api_register(tNFA_EE_MSG *p_data); 459 void nfa_ee_api_deregister(tNFA_EE_MSG *p_data); 460 void nfa_ee_api_mode_set(tNFA_EE_MSG *p_data); 461 void nfa_ee_api_set_tech_cfg(tNFA_EE_MSG *p_data); 462 void nfa_ee_api_set_proto_cfg(tNFA_EE_MSG *p_data); 463 void nfa_ee_api_add_aid(tNFA_EE_MSG *p_data); 464 void nfa_ee_api_remove_aid(tNFA_EE_MSG *p_data); 465 void nfa_ee_api_lmrt_size(tNFA_EE_MSG *p_data); 466 void nfa_ee_api_update_now(tNFA_EE_MSG *p_data); 467 void nfa_ee_api_connect(tNFA_EE_MSG *p_data); 468 void nfa_ee_api_send_data(tNFA_EE_MSG *p_data); 469 void nfa_ee_api_disconnect(tNFA_EE_MSG *p_data); 470 void nfa_ee_report_disc_done(BOOLEAN notify_sys); 471 void nfa_ee_nci_disc_rsp(tNFA_EE_MSG *p_data); 472 void nfa_ee_nci_disc_ntf(tNFA_EE_MSG *p_data); 473 void nfa_ee_nci_mode_set_rsp(tNFA_EE_MSG *p_data); 474 void nfa_ee_nci_wait_rsp(tNFA_EE_MSG *p_data); 475 void nfa_ee_nci_conn(tNFA_EE_MSG *p_data); 476 void nfa_ee_nci_action_ntf(tNFA_EE_MSG *p_data); 477 void nfa_ee_nci_disc_req_ntf(tNFA_EE_MSG *p_data); 478 void nfa_ee_rout_timeout(tNFA_EE_MSG *p_data); 479 void nfa_ee_discv_timeout(tNFA_EE_MSG *p_data); 480 void nfa_ee_lmrt_to_nfcc(tNFA_EE_MSG *p_data); 481 void nfa_ee_update_rout(void); 482 void nfa_ee_report_event(tNFA_EE_CBACK *p_cback, tNFA_EE_EVT event, tNFA_EE_CBACK_DATA *p_data); 483 tNFA_EE_ECB * nfa_ee_find_aid_offset(UINT8 aid_len, UINT8 *p_aid, int *p_offset, int *p_entry); 484 void nfa_ee_remove_labels(void); 485 int nfa_ee_find_total_aid_len(tNFA_EE_ECB *p_cb, int start_entry); 486 void nfa_ee_start_timer(void); 487 void nfa_ee_reg_cback_enable_done (tNFA_EE_ENABLE_DONE_CBACK *p_cback); 488 void nfa_ee_report_update_evt (void); 489 490 extern void nfa_ee_proc_hci_info_cback (void); 491 void nfa_ee_check_disable (void); 492 BOOLEAN nfa_ee_restore_ntf_done(void); 493 void nfa_ee_check_restore_complete(void); 494 495 496 #endif /* NFA_P2P_INT_H */ 497