1 /****************************************************************************** 2 * 3 * Copyright (C) 2010-2013 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 public interface file for NFA P2P, Broadcom's NFC 23 * application layer for mobile phones. 24 * 25 ******************************************************************************/ 26 #ifndef NFA_P2P_API_H 27 #define NFA_P2P_API_H 28 29 #include "llcp_api.h" 30 #include "nfa_api.h" 31 32 /***************************************************************************** 33 ** Constants and data types 34 *****************************************************************************/ 35 36 /* NFA P2P Reason of disconnection */ 37 #define NFA_P2P_DISC_REASON_REMOTE_INITIATE 0x00 /* remote initiated to disconnect */ 38 #define NFA_P2P_DISC_REASON_LOCAL_INITITATE 0x01 /* local initiated to disconnect */ 39 #define NFA_P2P_DISC_REASON_NO_SERVICE 0x02 /* no service bound in remote */ 40 #define NFA_P2P_DISC_REASON_REMOTE_REJECT 0x03 /* remote rejected connection */ 41 #define NFA_P2P_DISC_REASON_FRAME_ERROR 0x04 /* sending or receiving FRMR PDU */ 42 #define NFA_P2P_DISC_REASON_LLCP_DEACTIVATED 0x05 /* LLCP link deactivated */ 43 #define NFA_P2P_DISC_REASON_NO_RESOURCE 0x06 /* Out of resource in local device */ 44 #define NFA_P2P_DISC_REASON_NO_INFORMATION 0x80 /* Without information */ 45 46 /* NFA P2P callback events */ 47 #define NFA_P2P_REG_SERVER_EVT 0x00 /* Server is registered */ 48 #define NFA_P2P_REG_CLIENT_EVT 0x01 /* Client is registered */ 49 #define NFA_P2P_ACTIVATED_EVT 0x02 /* LLCP Link has been activated */ 50 #define NFA_P2P_DEACTIVATED_EVT 0x03 /* LLCP Link has been deactivated */ 51 #define NFA_P2P_CONN_REQ_EVT 0x04 /* Data link connection request from peer */ 52 #define NFA_P2P_CONNECTED_EVT 0x05 /* Data link connection has been established */ 53 #define NFA_P2P_DISC_EVT 0x06 /* Data link connection has been disconnected */ 54 #define NFA_P2P_DATA_EVT 0x07 /* Data received from peer */ 55 #define NFA_P2P_CONGEST_EVT 0x08 /* Status indication of outgoing data */ 56 #define NFA_P2P_LINK_INFO_EVT 0x09 /* link MIU and Well-Known Service list */ 57 #define NFA_P2P_SDP_EVT 0x0A /* Remote SAP of SDP result */ 58 59 typedef UINT8 tNFA_P2P_EVT; 60 61 /* NFA allocates a SAP for server */ 62 #define NFA_P2P_ANY_SAP LLCP_INVALID_SAP 63 #define NFA_P2P_INVALID_SAP LLCP_INVALID_SAP 64 65 /* Recommanded MIU's for connection-oriented */ 66 #define NFA_P2P_MIU_1 (NCI_NFC_DEP_MAX_DATA - LLCP_PDU_HEADER_SIZE - LLCP_SEQUENCE_SIZE) 67 #define NFA_P2P_MIU_2 (2*NCI_NFC_DEP_MAX_DATA - LLCP_PDU_HEADER_SIZE - LLCP_SEQUENCE_SIZE) 68 #define NFA_P2P_MIU_3 (3*NCI_NFC_DEP_MAX_DATA - LLCP_PDU_HEADER_SIZE - LLCP_SEQUENCE_SIZE) 69 #define NFA_P2P_MIU_8 (8*NCI_NFC_DEP_MAX_DATA - LLCP_PDU_HEADER_SIZE - LLCP_SEQUENCE_SIZE) 70 71 #define NFA_P2P_LLINK_TYPE LLCP_LINK_TYPE_LOGICAL_DATA_LINK 72 #define NFA_P2P_DLINK_TYPE LLCP_LINK_TYPE_DATA_LINK_CONNECTION 73 typedef UINT8 tNFA_P2P_LINK_TYPE; 74 75 /* Data for NFA_P2P_REG_SERVER_EVT */ 76 typedef struct 77 { 78 tNFA_HANDLE server_handle; /* NFA_HANDLE_INVALID if failed */ 79 char service_name[LLCP_MAX_SN_LEN + 1]; 80 UINT8 server_sap; 81 } tNFA_P2P_REG_SERVER; 82 83 /* Data for NFA_P2P_REG_CLIENT_EVT */ 84 typedef struct 85 { 86 tNFA_HANDLE client_handle; /* NFA_HANDLE_INVALID if failed */ 87 } tNFA_P2P_REG_CLIENT; 88 89 /* Data for NFA_P2P_ACTIVATED_EVT */ 90 typedef struct 91 { 92 tNFA_HANDLE handle; 93 UINT16 local_link_miu; 94 UINT16 remote_link_miu; 95 } tNFA_P2P_ACTIVATED; 96 97 /* Data for NFA_P2P_DEACTIVATED_EVT */ 98 typedef struct 99 { 100 tNFA_HANDLE handle; 101 } tNFA_P2P_DEACTIVATED; 102 103 /* Data for NFA_P2P_CONN_REQ_EVT */ 104 typedef struct 105 { 106 tNFA_HANDLE server_handle; 107 tNFA_HANDLE conn_handle; 108 UINT8 remote_sap; 109 UINT16 remote_miu; 110 UINT8 remote_rw; 111 } tNFA_P2P_CONN_REQ; 112 113 /* Data for NFA_P2P_CONNECTED_EVT */ 114 typedef struct 115 { 116 tNFA_HANDLE client_handle; 117 tNFA_HANDLE conn_handle; 118 UINT8 remote_sap; 119 UINT16 remote_miu; 120 UINT8 remote_rw; 121 } tNFA_P2P_CONN; 122 123 /* Data for NFA_P2P_DISC_EVT */ 124 typedef struct 125 { 126 tNFA_HANDLE handle; 127 UINT8 reason; 128 } tNFA_P2P_DISC; 129 130 /* Data for NFA_P2P_DATA_EVT */ 131 typedef struct 132 { 133 tNFA_HANDLE handle; 134 UINT8 remote_sap; 135 tNFA_P2P_LINK_TYPE link_type; 136 } tNFA_P2P_DATA; 137 138 /* Data for NFA_P2P_CONGEST_EVT */ 139 typedef struct 140 { 141 tNFA_HANDLE handle; 142 BOOLEAN is_congested; 143 tNFA_P2P_LINK_TYPE link_type; 144 } tNFA_P2P_CONGEST; 145 146 /* Data for NFA_P2P_LINK_INFO_EVT */ 147 typedef struct 148 { 149 tNFA_HANDLE handle; 150 UINT16 wks; /* well-known service */ 151 UINT16 local_link_miu; 152 UINT16 remote_link_miu; 153 } tNFA_P2P_LINK_INFO; 154 155 /* Data for NFA_P2P_SDP_EVT */ 156 typedef struct 157 { 158 tNFA_HANDLE handle; 159 UINT8 remote_sap; /* 0x00 if failed */ 160 } tNFA_P2P_SDP; 161 162 /* Union of all P2P callback structures */ 163 typedef union 164 { 165 tNFA_P2P_REG_SERVER reg_server; /* NFA_P2P_REG_SERVER_EVT */ 166 tNFA_P2P_REG_CLIENT reg_client; /* NFA_P2P_REG_CLIENT_EVT */ 167 tNFA_P2P_ACTIVATED activated; /* NFA_P2P_ACTIVATED_EVT */ 168 tNFA_P2P_DEACTIVATED deactivated; /* NFA_P2P_DEACTIVATED_EVT */ 169 tNFA_P2P_CONN_REQ conn_req; /* NFA_P2P_CONN_REQ_EVT */ 170 tNFA_P2P_CONN connected; /* NFA_P2P_CONNECTED_EVT */ 171 tNFA_P2P_DISC disc; /* NFA_P2P_DISC_EVT */ 172 tNFA_P2P_DATA data; /* NFA_P2P_DATA_EVT */ 173 tNFA_P2P_CONGEST congest; /* NFA_P2P_CONGEST_EVT */ 174 tNFA_P2P_LINK_INFO link_info; /* NFA_P2P_LINK_INFO_EVT */ 175 tNFA_P2P_SDP sdp; /* NFA_P2P_SDP_EVT */ 176 } tNFA_P2P_EVT_DATA; 177 178 /* NFA P2P callback */ 179 typedef void (tNFA_P2P_CBACK)(tNFA_P2P_EVT event, tNFA_P2P_EVT_DATA *p_data); 180 181 /***************************************************************************** 182 ** External Function Declarations 183 *****************************************************************************/ 184 #ifdef __cplusplus 185 extern "C" 186 { 187 #endif 188 189 /******************************************************************************* 190 ** 191 ** Function NFA_P2pRegisterServer 192 ** 193 ** Description This function is called to listen to a SAP as server on LLCP. 194 ** 195 ** NFA_P2P_REG_SERVER_EVT will be returned with status and handle. 196 ** 197 ** If server_sap is set to NFA_P2P_ANY_SAP, then NFA will allocate 198 ** a SAP between LLCP_LOWER_BOUND_SDP_SAP and LLCP_UPPER_BOUND_SDP_SAP 199 ** Otherwise, server_sap must be between (LLCP_SDP_SAP + 1) and 200 ** LLCP_UPPER_BOUND_SDP_SAP 201 ** 202 ** link_type : NFA_P2P_LLINK_TYPE and/or NFA_P2P_DLINK_TYPE 203 ** 204 ** Note: If RF discovery is started, NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT 205 ** should happen before calling this function 206 ** 207 ** Returns NFA_STATUS_OK if successfully initiated 208 ** NFA_STATUS_FAILED otherwise 209 ** 210 *******************************************************************************/ 211 NFC_API extern tNFA_STATUS NFA_P2pRegisterServer (UINT8 server_sap, 212 tNFA_P2P_LINK_TYPE link_type, 213 char *p_service_name, 214 tNFA_P2P_CBACK *p_cback); 215 216 /******************************************************************************* 217 ** 218 ** Function NFA_P2pRegisterClient 219 ** 220 ** Description This function is called to register a client service on LLCP. 221 ** 222 ** NFA_P2P_REG_CLIENT_EVT will be returned with status and handle. 223 ** 224 ** link_type : NFA_P2P_LLINK_TYPE and/or NFA_P2P_DLINK_TYPE 225 ** 226 ** Returns NFA_STATUS_OK if successfully initiated 227 ** NFA_STATUS_FAILED otherwise 228 ** 229 *******************************************************************************/ 230 NFC_API extern tNFA_STATUS NFA_P2pRegisterClient (tNFA_P2P_LINK_TYPE link_type, 231 tNFA_P2P_CBACK *p_cback); 232 233 /******************************************************************************* 234 ** 235 ** Function NFA_P2pDeregister 236 ** 237 ** Description This function is called to stop listening to a SAP as server 238 ** or stop client service on LLCP. 239 ** 240 ** Note: If this function is called to de-register a server and RF discovery 241 ** is started, NFA_StopRfDiscovery()/NFA_RF_DISCOVERY_STOPPED_EVT 242 ** should happen before calling this function 243 ** 244 ** Returns NFA_STATUS_OK if successfully initiated 245 ** NFA_STATUS_BAD_HANDLE if handle is not valid 246 ** NFA_STATUS_FAILED otherwise 247 ** 248 *******************************************************************************/ 249 NFC_API extern tNFA_STATUS NFA_P2pDeregister (tNFA_HANDLE handle); 250 251 /******************************************************************************* 252 ** 253 ** Function NFA_P2pAcceptConn 254 ** 255 ** Description This function is called to accept a request of data link 256 ** connection to a listening SAP on LLCP after receiving 257 ** NFA_P2P_CONN_REQ_EVT. 258 ** 259 ** Returns NFA_STATUS_OK if successfully initiated 260 ** NFA_STATUS_BAD_HANDLE if handle is not valid 261 ** NFA_STATUS_FAILED otherwise 262 ** 263 *******************************************************************************/ 264 NFC_API extern tNFA_STATUS NFA_P2pAcceptConn (tNFA_HANDLE conn_handle, 265 UINT16 miu, 266 UINT8 rw); 267 268 /******************************************************************************* 269 ** 270 ** Function NFA_P2pRejectConn 271 ** 272 ** Description This function is called to reject a request of data link 273 ** connection to a listening SAP on LLCP after receiving 274 ** NFA_P2P_CONN_REQ_EVT. 275 ** 276 ** Returns NFA_STATUS_OK if successfully initiated 277 ** NFA_STATUS_BAD_HANDLE if handle is not valid 278 ** NFA_STATUS_FAILED otherwise 279 ** 280 *******************************************************************************/ 281 NFC_API extern tNFA_STATUS NFA_P2pRejectConn (tNFA_HANDLE conn_handle); 282 283 /******************************************************************************* 284 ** 285 ** Function NFA_P2pDisconnect 286 ** 287 ** Description This function is called to disconnect an existing or 288 ** connecting data link connection. 289 ** 290 ** discard any pending data on data link connection if flush is set to TRUE 291 ** 292 ** NFA_P2P_DISC_EVT will be returned after data link connection is disconnected 293 ** 294 ** Returns NFA_STATUS_OK if successfully initiated 295 ** NFA_STATUS_BAD_HANDLE if handle is not valid 296 ** NFA_STATUS_FAILED otherwise 297 ** 298 *******************************************************************************/ 299 NFC_API extern tNFA_STATUS NFA_P2pDisconnect (tNFA_HANDLE conn_handle, 300 BOOLEAN flush); 301 302 /******************************************************************************* 303 ** 304 ** Function NFA_P2pConnectByName 305 ** 306 ** Description This function is called to create a connection-oriented transport 307 ** by a service name. 308 ** NFA_P2P_CONNECTED_EVT if success 309 ** NFA_P2P_DISC_EVT if failed 310 ** 311 ** Returns NFA_STATUS_OK if successfully initiated 312 ** NFA_STATUS_BAD_HANDLE if client is not registered 313 ** NFA_STATUS_FAILED otherwise 314 ** 315 *******************************************************************************/ 316 NFC_API extern tNFA_STATUS NFA_P2pConnectByName (tNFA_HANDLE client_handle, 317 char *p_service_name, 318 UINT16 miu, 319 UINT8 rw); 320 321 /******************************************************************************* 322 ** 323 ** Function NFA_P2pConnectBySap 324 ** 325 ** Description This function is called to create a connection-oriented transport 326 ** by a SAP. 327 ** NFA_P2P_CONNECTED_EVT if success 328 ** NFA_P2P_DISC_EVT if failed 329 ** 330 ** Returns NFA_STATUS_OK if successfully initiated 331 ** NFA_STATUS_BAD_HANDLE if client is not registered 332 ** NFA_STATUS_FAILED otherwise 333 ** 334 *******************************************************************************/ 335 NFC_API extern tNFA_STATUS NFA_P2pConnectBySap (tNFA_HANDLE client_handle, 336 UINT8 dsap, 337 UINT16 miu, 338 UINT8 rw); 339 340 /******************************************************************************* 341 ** 342 ** Function NFA_P2pSendUI 343 ** 344 ** Description This function is called to send data on connectionless 345 ** transport. 346 ** 347 ** Returns NFA_STATUS_OK if successfully initiated 348 ** NFA_STATUS_BAD_HANDLE if handle is not valid 349 ** NFA_STATUS_BAD_LENGTH if data length is more than remote link MIU 350 ** NFA_STATUS_CONGESTED if congested 351 ** NFA_STATUS_FAILED otherwise 352 ** 353 *******************************************************************************/ 354 NFC_API extern tNFA_STATUS NFA_P2pSendUI (tNFA_HANDLE handle, 355 UINT8 dsap, 356 UINT16 length, 357 UINT8 *p_data); 358 359 /******************************************************************************* 360 ** 361 ** Function NFA_P2pReadUI 362 ** 363 ** Description This function is called to read data on connectionless 364 ** transport when receiving NFA_P2P_DATA_EVT with NFA_P2P_LLINK_TYPE. 365 ** 366 ** - Remote SAP who sent UI PDU is returned. 367 ** - Information of UI PDU up to max_data_len is copied into p_data. 368 ** - If more information of UI PDU or more UI PDU in queue then more 369 ** is returned to TRUE. 370 ** - Information of next UI PDU is not concatenated. 371 ** 372 ** Returns NFA_STATUS_OK if successfully initiated 373 ** NFA_STATUS_BAD_HANDLE if handle is not valid 374 ** 375 *******************************************************************************/ 376 NFC_API extern tNFA_STATUS NFA_P2pReadUI (tNFA_HANDLE handle, 377 UINT32 max_data_len, 378 UINT8 *p_remote_sap, 379 UINT32 *p_data_len, 380 UINT8 *p_data, 381 BOOLEAN *p_more); 382 383 /******************************************************************************* 384 ** 385 ** Function NFA_P2pFlushUI 386 ** 387 ** Description This function is called to flush data on connectionless 388 ** transport. 389 ** 390 ** Returns NFA_STATUS_OK if successfully initiated 391 ** NFA_STATUS_BAD_HANDLE if handle is not valid 392 ** 393 *******************************************************************************/ 394 NFC_API extern tNFA_STATUS NFA_P2pFlushUI (tNFA_HANDLE handle, 395 UINT32 *p_length); 396 397 /******************************************************************************* 398 ** 399 ** Function NFA_P2pSendData 400 ** 401 ** Description This function is called to send data on connection-oriented 402 ** transport. 403 ** 404 ** Returns NFA_STATUS_OK if successfully initiated 405 ** NFA_STATUS_BAD_HANDLE if handle is not valid 406 ** NFA_STATUS_BAD_LENGTH if data length is more than remote MIU 407 ** NFA_STATUS_CONGESTED if congested 408 ** NFA_STATUS_FAILED otherwise 409 ** 410 *******************************************************************************/ 411 NFC_API extern tNFA_STATUS NFA_P2pSendData (tNFA_HANDLE conn_handle, 412 UINT16 length, 413 UINT8 *p_data); 414 415 /******************************************************************************* 416 ** 417 ** Function NFA_P2pReadData 418 ** 419 ** Description This function is called to read data on connection-oriented 420 ** transport when receiving NFA_P2P_DATA_EVT with NFA_P2P_DLINK_TYPE. 421 ** 422 ** - Information of I PDU is copied into p_data up to max_data_len. 423 ** - If more information of I PDU or more I PDU in queue, then more 424 ** is returned to TRUE. 425 ** - Information of next I PDU is not concatenated. 426 ** 427 ** Returns NFA_STATUS_OK if successfully initiated 428 ** NFA_STATUS_BAD_HANDLE if handle is not valid 429 ** 430 *******************************************************************************/ 431 NFC_API extern tNFA_STATUS NFA_P2pReadData (tNFA_HANDLE handle, 432 UINT32 max_data_len, 433 UINT32 *p_data_len, 434 UINT8 *p_data, 435 BOOLEAN *p_more); 436 437 /******************************************************************************* 438 ** 439 ** Function NFA_P2pFlushData 440 ** 441 ** Description This function is called to flush data on connection-oriented 442 ** transport. 443 ** 444 ** Returns NFA_STATUS_OK if successfully initiated 445 ** NFA_STATUS_BAD_HANDLE if handle is not valid 446 ** 447 *******************************************************************************/ 448 NFC_API extern tNFA_STATUS NFA_P2pFlushData (tNFA_HANDLE handle, 449 UINT32 *p_length); 450 451 /******************************************************************************* 452 ** 453 ** Function NFA_P2pSetLocalBusy 454 ** 455 ** Description This function is called to stop or resume incoming data on 456 ** connection-oriented transport. 457 ** 458 ** Returns NFA_STATUS_OK if successfully initiated 459 ** NFA_STATUS_BAD_HANDLE if handle is not valid 460 ** NFA_STATUS_FAILED otherwise 461 ** 462 *******************************************************************************/ 463 NFC_API extern tNFA_STATUS NFA_P2pSetLocalBusy (tNFA_HANDLE conn_handle, 464 BOOLEAN is_busy); 465 466 /******************************************************************************* 467 ** 468 ** Function NFA_P2pGetLinkInfo 469 ** 470 ** Description This function is called to get local/remote link MIU and 471 ** Well-Known Service list encoded as a 16-bit field of connected LLCP. 472 ** NFA_P2P_LINK_INFO_EVT will be returned. 473 ** 474 ** Returns NFA_STATUS_OK if successfully initiated 475 ** NFA_STATUS_BAD_HANDLE if server or client is not registered 476 ** NFA_STATUS_FAILED otherwise 477 ** 478 *******************************************************************************/ 479 NFC_API extern tNFA_STATUS NFA_P2pGetLinkInfo (tNFA_HANDLE handle); 480 481 /******************************************************************************* 482 ** 483 ** Function NFA_P2pGetRemoteSap 484 ** 485 ** Description This function is called to get SAP associated by service name 486 ** on connected remote LLCP. 487 ** NFA_P2P_SDP_EVT will be returned. 488 ** 489 ** Returns NFA_STATUS_OK if successfully initiated 490 ** NFA_STATUS_BAD_HANDLE if server or client is not registered 491 ** NFA_STATUS_FAILED otherwise 492 ** 493 *******************************************************************************/ 494 NFC_API extern tNFA_STATUS NFA_P2pGetRemoteSap (tNFA_HANDLE handle, 495 char *p_service_name); 496 497 /******************************************************************************* 498 ** 499 ** Function NFA_P2pSetLLCPConfig 500 ** 501 ** Description This function is called to change LLCP config parameters. 502 ** Application must call while LLCP is not activated. 503 ** 504 ** Parameters descriptions (default value) 505 ** - Local Link MIU (LLCP_MIU) 506 ** - Option parameter (LLCP_OPT_VALUE) 507 ** - Response Waiting Time Index (LLCP_WAITING_TIME) 508 ** - Local Link Timeout (LLCP_LTO_VALUE) 509 ** - Inactivity Timeout as initiator role (LLCP_INIT_INACTIVITY_TIMEOUT) 510 ** - Inactivity Timeout as target role (LLCP_TARGET_INACTIVITY_TIMEOUT) 511 ** - Delay SYMM response (LLCP_DELAY_RESP_TIME) 512 ** - Data link connection timeout (LLCP_DATA_LINK_CONNECTION_TOUT) 513 ** - Delay timeout to send first PDU as initiator (LLCP_DELAY_TIME_TO_SEND_FIRST_PDU) 514 ** 515 ** Returns NFA_STATUS_OK if successfully initiated 516 ** NFA_STATUS_FAILED otherwise 517 ** 518 *******************************************************************************/ 519 NFC_API extern tNFA_STATUS NFA_P2pSetLLCPConfig (UINT16 link_miu, 520 UINT8 opt, 521 UINT8 wt, 522 UINT16 link_timeout, 523 UINT16 inact_timeout_init, 524 UINT16 inact_timeout_target, 525 UINT16 symm_delay, 526 UINT16 data_link_timeout, 527 UINT16 delay_first_pdu_timeout); 528 529 /******************************************************************************* 530 ** 531 ** Function NFA_P2pGetLLCPConfig 532 ** 533 ** Description This function is called to read LLCP config parameters. 534 ** 535 ** Parameters descriptions 536 ** - Local Link MIU 537 ** - Option parameter 538 ** - Response Waiting Time Index 539 ** - Local Link Timeout 540 ** - Inactivity Timeout as initiator role 541 ** - Inactivity Timeout as target role 542 ** - Delay SYMM response 543 ** - Data link connection timeout 544 ** - Delay timeout to send first PDU as initiator 545 ** 546 ** Returns None 547 ** 548 *******************************************************************************/ 549 NFC_API extern void NFA_P2pGetLLCPConfig (UINT16 *p_link_miu, 550 UINT8 *p_opt, 551 UINT8 *p_wt, 552 UINT16 *p_link_timeout, 553 UINT16 *p_inact_timeout_init, 554 UINT16 *p_inact_timeout_target, 555 UINT16 *p_symm_delay, 556 UINT16 *p_data_link_timeout, 557 UINT16 *p_delay_first_pdu_timeout); 558 559 /******************************************************************************* 560 ** 561 ** Function NFA_P2pSetTraceLevel 562 ** 563 ** Description This function sets the trace level for P2P. If called with 564 ** a value of 0xFF, it simply returns the current trace level. 565 ** 566 ** Returns The new or current trace level 567 ** 568 *******************************************************************************/ 569 NFC_API extern UINT8 NFA_P2pSetTraceLevel (UINT8 new_level); 570 571 #ifdef __cplusplus 572 } 573 #endif 574 575 #endif /* NFA_P2P_API_H */ 576 577