Home | History | Annotate | Download | only in include
      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