1 /****************************************************************************** 2 * 3 * Copyright (C) 2010-2012 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 * This file contains the LLCP API definitions 22 * 23 ******************************************************************************/ 24 #ifndef LLCP_API_H 25 #define LLCP_API_H 26 27 #include "nfc_target.h" 28 #include "llcp_defs.h" 29 30 /***************************************************************************** 31 ** Constants 32 *****************************************************************************/ 33 #define LLCP_STATUS_SUCCESS 0 /* Successfully done */ 34 #define LLCP_STATUS_FAIL 1 /* Failed without specific reason */ 35 #define LLCP_STATUS_CONGESTED 2 /* Data link is congested */ 36 37 typedef UINT8 tLLCP_STATUS; 38 39 #define LLCP_MIN_OFFSET (NCI_MSG_OFFSET_SIZE + NCI_DATA_HDR_SIZE + LLCP_PDU_HEADER_SIZE + LLCP_SEQUENCE_SIZE) 40 41 #define LLCP_INVALID_SAP 0xFF /* indication of failure to allocate data link resource */ 42 43 /***************************************************************************** 44 ** Type Definitions 45 *****************************************************************************/ 46 typedef struct 47 { 48 BOOLEAN is_initiator; /* TRUE if we are POLL mode */ 49 UINT8 max_payload_size; /* 64, 128, 192 or 254 */ 50 UINT8 waiting_time; 51 UINT8 *p_gen_bytes; 52 UINT8 gen_bytes_len; 53 } tLLCP_ACTIVATE_CONFIG; 54 55 typedef struct 56 { 57 UINT16 miu; /* Local receiving MIU */ 58 UINT8 rw; /* Local receiving window */ 59 char sn[LLCP_MAX_SN_LEN + 1]; /* Service name to connect */ 60 } tLLCP_CONNECTION_PARAMS; 61 62 /********************************* 63 ** Callback Functions Prototypes 64 **********************************/ 65 66 /* Link Management Callback Events */ 67 68 #define LLCP_LINK_ACTIVATION_FAILED_EVT 0x00 /* Fail to activate link */ 69 #define LLCP_LINK_ACTIVATION_COMPLETE_EVT 0x01 /* LLCP Link is activated */ 70 #define LLCP_LINK_DEACTIVATED_EVT 0x02 /* LLCP Link is deactivated */ 71 72 /* Link Management Callback Reasons */ 73 74 #define LLCP_LINK_SUCCESS 0x00 /* Success */ 75 #define LLCP_LINK_VERSION_FAILED 0x01 /* Failed to agree version */ 76 #define LLCP_LINK_BAD_GEN_BYTES 0x02 /* Failed to parse received general bytes */ 77 #define LLCP_LINK_INTERNAL_ERROR 0x03 /* internal error */ 78 #define LLCP_LINK_LOCAL_INITIATED 0x04 /* Link has been deactivated by local */ 79 #define LLCP_LINK_REMOTE_INITIATED 0x05 /* Link has been deactivated by remote */ 80 #define LLCP_LINK_TIMEOUT 0x06 /* Link has been deactivated by timeout */ 81 #define LLCP_LINK_FRAME_ERROR 0x07 /* Link has been deactivated by frame error */ 82 #define LLCP_LINK_RF_TRANSMISSION_ERR NFC_STATUS_RF_TRANSMISSION_ERR 83 #define LLCP_LINK_RF_PROTOCOL_ERR NFC_STATUS_RF_PROTOCOL_ERR 84 #define LLCP_LINK_RF_TIMEOUT NFC_STATUS_TIMEOUT 85 #define LLCP_LINK_RF_LINK_LOSS_ERR NFC_STATUS_LINK_LOSS 86 87 typedef void (tLLCP_LINK_CBACK) (UINT8 event, UINT8 reason); 88 89 /* Minimum length of Gen Bytes for LLCP */ 90 /* In CE4 low power mode, NFCC can store up to 21 bytes */ 91 #define LLCP_MIN_GEN_BYTES 20 92 93 /* Service Access Point (SAP) Callback Events */ 94 95 #define LLCP_SAP_EVT_DATA_IND 0x00 /* Received data on SAP */ 96 #define LLCP_SAP_EVT_CONNECT_IND 0x01 /* Connection request from peer */ 97 #define LLCP_SAP_EVT_CONNECT_RESP 0x02 /* Connection accepted by peer */ 98 #define LLCP_SAP_EVT_DISCONNECT_IND 0x03 /* Received disconnect request */ 99 #define LLCP_SAP_EVT_DISCONNECT_RESP 0x04 /* Received disconnect response */ 100 #define LLCP_SAP_EVT_CONGEST 0x05 /* congested status is changed */ 101 #define LLCP_SAP_EVT_LINK_STATUS 0x06 /* Change of LLCP Link status */ 102 #define LLCP_SAP_EVT_TX_COMPLETE 0x07 /* tx queue is empty and all PDU is acked */ 103 104 #define LLCP_LINK_TYPE_LOGICAL_DATA_LINK 0x01 105 #define LLCP_LINK_TYPE_DATA_LINK_CONNECTION 0x02 106 107 typedef struct 108 { 109 UINT8 event; /* LLCP_SAP_EVT_DATA_IND */ 110 UINT8 local_sap; /* SAP of local device */ 111 UINT8 remote_sap; /* SAP of remote device */ 112 UINT8 link_type; /* link type */ 113 } tLLCP_SAP_DATA_IND; 114 115 typedef struct 116 { 117 UINT8 event; /* LLCP_SAP_EVT_CONNECT_IND */ 118 UINT8 server_sap; /* SAP of local server */ 119 UINT8 local_sap; /* SAP of local device */ 120 UINT8 remote_sap; /* SAP of remote device */ 121 UINT16 miu; /* MIU of peer device */ 122 UINT8 rw; /* RW of peer device */ 123 char *p_service_name; /* Service name (only for SDP) */ 124 } tLLCP_SAP_CONNECT_IND; 125 126 typedef struct 127 { 128 UINT8 event; /* LLCP_SAP_EVT_CONNECT_RESP */ 129 UINT8 local_sap; /* SAP of local device */ 130 UINT8 remote_sap; /* SAP of remote device */ 131 UINT16 miu; /* MIU of peer device */ 132 UINT8 rw; /* RW of peer device */ 133 } tLLCP_SAP_CONNECT_RESP; 134 135 #define LLCP_SAP_DISCONNECT_REASON_TIMEOUT 0x80 136 typedef struct 137 { 138 UINT8 event; /* LLCP_SAP_EVT_DISCONNECT_IND */ 139 UINT8 local_sap; /* SAP of local device */ 140 UINT8 remote_sap; /* SAP of remote device */ 141 } tLLCP_SAP_DISCONNECT_IND; 142 143 typedef struct 144 { 145 UINT8 event; /* LLCP_SAP_EVT_DISCONNECT_RESP */ 146 UINT8 local_sap; /* SAP of local device */ 147 UINT8 remote_sap; /* SAP of remote device */ 148 UINT8 reason; /* Reason of DM PDU if not timeout */ 149 } tLLCP_SAP_DISCONNECT_RESP; 150 151 typedef struct 152 { 153 UINT8 event; /* LLCP_SAP_EVT_CONGEST */ 154 UINT8 local_sap; /* SAP of local device */ 155 UINT8 remote_sap; /* SAP of remote device */ 156 BOOLEAN is_congested; /* TRUE if congested */ 157 UINT8 link_type; /* congested link type */ 158 } tLLCP_SAP_CONGEST; 159 160 typedef struct 161 { 162 UINT8 event; /* LLCP_SAP_EVT_LINK_STATUS */ 163 UINT8 local_sap; /* SAP of local device */ 164 BOOLEAN is_activated; /* TRUE if LLCP link is activated */ 165 BOOLEAN is_initiator; /* TRUE if local LLCP is initiator */ 166 } tLLCP_SAP_LINK_STATUS; 167 168 typedef struct 169 { 170 UINT8 event; /* LLCP_SAP_EVT_TX_COMPLETE */ 171 UINT8 local_sap; /* SAP of local device */ 172 UINT8 remote_sap; /* SAP of remote device */ 173 } tLLCP_SAP_TX_COMPLETE; 174 175 typedef struct 176 { 177 UINT8 event; /* event */ 178 UINT8 local_sap; /* SAP of local device */ 179 } tLLCP_SAP_HEADER; 180 181 typedef union 182 { 183 tLLCP_SAP_HEADER hdr; /* common header */ 184 tLLCP_SAP_DATA_IND data_ind; /* LLCP_SAP_EVT_DATA_IND */ 185 tLLCP_SAP_CONNECT_IND connect_ind; /* LLCP_SAP_EVT_CONNECT_IND */ 186 tLLCP_SAP_CONNECT_RESP connect_resp; /* LLCP_SAP_EVT_CONNECT_RESP */ 187 tLLCP_SAP_DISCONNECT_IND disconnect_ind; /* LLCP_SAP_EVT_DISCONNECT_IND */ 188 tLLCP_SAP_DISCONNECT_RESP disconnect_resp; /* LLCP_SAP_EVT_DISCONNECT_RESP */ 189 tLLCP_SAP_CONGEST congest; /* LLCP_SAP_EVT_CONGEST */ 190 tLLCP_SAP_LINK_STATUS link_status; /* LLCP_SAP_EVT_LINK_STATUS */ 191 tLLCP_SAP_TX_COMPLETE tx_complete; /* LLCP_SAP_EVT_TX_COMPLETE */ 192 } tLLCP_SAP_CBACK_DATA; 193 194 typedef void (tLLCP_APP_CBACK) (tLLCP_SAP_CBACK_DATA *p_data); 195 196 /* Service Discovery Callback */ 197 198 typedef void (tLLCP_SDP_CBACK) (UINT8 tid, UINT8 remote_sap); 199 200 /* LLCP DTA Callback - notify DTA responded SNL for connectionless echo service */ 201 202 typedef void (tLLCP_DTA_CBACK) (void); 203 204 /***************************************************************************** 205 ** External Function Declarations 206 *****************************************************************************/ 207 #ifdef __cplusplus 208 extern "C" 209 { 210 #endif 211 212 /******************************************************************************* 213 ** 214 ** Function LLCP_SetConfig 215 ** 216 ** Description Set configuration parameters for LLCP 217 ** - Local Link MIU 218 ** - Option parameter 219 ** - Waiting Time Index 220 ** - Local Link Timeout 221 ** - Inactivity Timeout as initiator role 222 ** - Inactivity Timeout as target role 223 ** - Delay SYMM response 224 ** - Data link connection timeout 225 ** - Delay timeout to send first PDU as initiator 226 ** 227 ** Returns void 228 ** 229 *******************************************************************************/ 230 LLCP_API extern void LLCP_SetConfig (UINT16 link_miu, 231 UINT8 opt, 232 UINT8 wt, 233 UINT16 link_timeout, 234 UINT16 inact_timeout_init, 235 UINT16 inact_timeout_target, 236 UINT16 symm_delay, 237 UINT16 data_link_timeout, 238 UINT16 delay_first_pdu_timeout); 239 240 /******************************************************************************* 241 ** 242 ** Function LLCP_GetConfig 243 ** 244 ** Description Get configuration parameters for LLCP 245 ** - Local Link MIU 246 ** - Option parameter 247 ** - Response Waiting Time Index 248 ** - Local Link Timeout 249 ** - Inactivity Timeout as initiator role 250 ** - Inactivity Timeout as target role 251 ** - Delay SYMM response 252 ** - Data link connection timeout 253 ** - Delay timeout to send first PDU as initiator 254 ** 255 ** Returns void 256 ** 257 *******************************************************************************/ 258 LLCP_API extern void LLCP_GetConfig (UINT16 *p_link_miu, 259 UINT8 *p_opt, 260 UINT8 *p_wt, 261 UINT16 *p_link_timeout, 262 UINT16 *p_inact_timeout_init, 263 UINT16 *p_inact_timeout_target, 264 UINT16 *p_symm_delay, 265 UINT16 *p_data_link_timeout, 266 UINT16 *p_delay_first_pdu_timeout); 267 268 /******************************************************************************* 269 ** 270 ** Function LLCP_GetDiscoveryConfig 271 ** 272 ** Description Returns discovery config for LLCP MAC link activation 273 ** This function is called to get general bytes for NFC_PMID_ATR_REQ_GEN_BYTES 274 ** or NFC_PMID_ATR_RES_GEN_BYTES before starting discovery. 275 ** 276 ** wt:Waiting time 0 - 8, only for listen 277 ** p_gen_bytes: pointer to store LLCP magic number and paramters 278 ** p_gen_bytes_len: length of buffer for gen bytes as input 279 ** (NOTE:it must be bigger than LLCP_MIN_GEN_BYTES) 280 ** actual gen bytes size as output 281 ** 282 ** Restrictions on the use of ISO 18092 283 ** 1. The DID features shall not be used. 284 ** 2. the NAD features shall not be used. 285 ** 3. Frame waiting time extentions (WTX) shall not be used. 286 ** 287 ** Returns None 288 ** 289 *******************************************************************************/ 290 LLCP_API extern void LLCP_GetDiscoveryConfig (UINT8 *p_wt, 291 UINT8 *p_gen_bytes, 292 UINT8 *p_gen_bytes_len); 293 294 /******************************************************************************* 295 ** 296 ** Function LLCP_ActivateLink 297 ** 298 ** Description This function will activate LLCP link with LR, WT and Gen Bytes 299 ** in activation NTF from NFCC. 300 ** 301 ** LLCP_LINK_ACTIVATION_COMPLETE_EVT will be returned through 302 ** callback function if successful. 303 ** Otherwise, LLCP_LINK_ACTIVATION_FAILED_EVT will be returned. 304 ** 305 ** Returns LLCP_STATUS_SUCCESS if success 306 ** 307 *******************************************************************************/ 308 LLCP_API extern tLLCP_STATUS LLCP_ActivateLink (tLLCP_ACTIVATE_CONFIG config, 309 tLLCP_LINK_CBACK *p_link_cback); 310 311 /******************************************************************************* 312 ** 313 ** Function LLCP_DeactivateLink 314 ** 315 ** Description Deactivate LLCP link 316 ** 317 ** LLCP_LINK_DEACTIVATED_EVT will be returned through callback 318 ** when LLCP link is deactivated. Then NFC link may be deactivated. 319 ** 320 ** Returns LLCP_STATUS_SUCCESS if success 321 ** 322 *******************************************************************************/ 323 LLCP_API extern tLLCP_STATUS LLCP_DeactivateLink (void); 324 325 /******************************************************************************* 326 ** 327 ** Function LLCP_RegisterServer 328 ** 329 ** Description Register server and callback function 330 ** 331 ** reg_sap : Well-Known SAP except LM and SDP (0x02 - 0x0F) 332 ** Advertized by SDP (0x10 - 0x1F) 333 ** LLCP_INVALID_SAP, LLCP will allocate between 0x10 and 0x1F 334 ** link_type : LLCP_LINK_TYPE_LOGICAL_DATA_LINK 335 ** and/or LLCP_LINK_TYPE_DATA_LINK_CONNECTION 336 ** p_service_name : Null-terminated string up to LLCP_MAX_SN_LEN 337 ** 338 ** Returns SAP between 0x02 and 0x1F, if success 339 ** LLCP_INVALID_SAP, otherwise 340 ** 341 *******************************************************************************/ 342 LLCP_API extern UINT8 LLCP_RegisterServer (UINT8 reg_sap, 343 UINT8 link_type, 344 char *p_service_name, 345 tLLCP_APP_CBACK *p_sap_cback); 346 347 /******************************************************************************* 348 ** 349 ** Function LLCP_RegisterClient 350 ** 351 ** Description Register client and callback function 352 ** 353 ** link_type : LLCP_LINK_TYPE_LOGICAL_DATA_LINK 354 ** and/or LLCP_LINK_TYPE_DATA_LINK_CONNECTION 355 ** 356 ** Returns SAP between 0x20 and 0x3F, if success 357 ** LLCP_INVALID_SAP, otherwise 358 ** 359 *******************************************************************************/ 360 LLCP_API extern UINT8 LLCP_RegisterClient (UINT8 link_type, 361 tLLCP_APP_CBACK *p_sap_cback); 362 363 /******************************************************************************* 364 ** 365 ** Function LLCP_Deregister 366 ** 367 ** Description Deregister server or client 368 ** 369 ** 370 ** Returns LLCP_STATUS_SUCCESS if success 371 ** 372 *******************************************************************************/ 373 LLCP_API extern tLLCP_STATUS LLCP_Deregister (UINT8 sap); 374 375 /******************************************************************************* 376 ** 377 ** Function LLCP_IsLogicalLinkCongested 378 ** 379 ** Description Check if logical link is congested 380 ** 381 ** 382 ** Returns TRUE if congested 383 ** 384 *******************************************************************************/ 385 LLCP_API extern BOOLEAN LLCP_IsLogicalLinkCongested (UINT8 local_sap, 386 UINT8 num_pending_ui_pdu, 387 UINT8 total_pending_ui_pdu, 388 UINT8 total_pending_i_pdu); 389 390 /******************************************************************************* 391 ** 392 ** Function LLCP_SendUI 393 ** 394 ** Description Send connnectionless data to DSAP 395 ** 396 ** 397 ** Returns LLCP_STATUS_SUCCESS if success 398 ** LLCP_STATUS_CONGESTED if logical link is congested 399 ** LLCP_STATUS_FAIL, otherwise 400 ** 401 *******************************************************************************/ 402 LLCP_API extern tLLCP_STATUS LLCP_SendUI (UINT8 ssap, UINT8 dsap, BT_HDR *p_buf); 403 404 /******************************************************************************* 405 ** 406 ** Function LLCP_ReadLogicalLinkData 407 ** 408 ** Description Read information of UI PDU for local SAP 409 ** 410 ** - Remote SAP who sent UI PDU is returned. 411 ** - Information of UI PDU up to max_data_len is copied into p_data. 412 ** - Information of next UI PDU is not concatenated. 413 ** - Recommended max_data_len is link MIU of local device 414 ** 415 ** Returns TRUE if more information of UI PDU or more UI PDU in queue 416 ** 417 *******************************************************************************/ 418 LLCP_API extern BOOLEAN LLCP_ReadLogicalLinkData (UINT8 local_sap, 419 UINT32 max_data_len, 420 UINT8 *p_remote_sap, 421 UINT32 *p_data_len, 422 UINT8 *p_data); 423 424 /******************************************************************************* 425 ** 426 ** Function LLCP_FlushLogicalLinkRxData 427 ** 428 ** Description Discard received data in logical data link of local SAP 429 ** 430 ** 431 ** Returns length of data flushed 432 ** 433 *******************************************************************************/ 434 LLCP_API extern UINT32 LLCP_FlushLogicalLinkRxData (UINT8 local_sap); 435 436 /******************************************************************************* 437 ** 438 ** Function LLCP_ConnectReq 439 ** 440 ** Description Create data link connection between registered SAP and DSAP 441 ** in peer LLCP, 442 ** 443 ** 444 ** Returns LLCP_STATUS_SUCCESS if success 445 ** LLCP_STATUS_FAIL, otherwise 446 ** 447 *******************************************************************************/ 448 LLCP_API extern tLLCP_STATUS LLCP_ConnectReq (UINT8 reg_sap, UINT8 dsap, 449 tLLCP_CONNECTION_PARAMS *p_params); 450 451 /******************************************************************************* 452 ** 453 ** Function LLCP_ConnectCfm 454 ** 455 ** Description Accept connection request from peer LLCP 456 ** 457 ** 458 ** Returns LLCP_STATUS_SUCCESS if success 459 ** LLCP_STATUS_FAIL, otherwise 460 ** 461 *******************************************************************************/ 462 LLCP_API extern tLLCP_STATUS LLCP_ConnectCfm (UINT8 local_sap, 463 UINT8 remote_sap, 464 tLLCP_CONNECTION_PARAMS *p_params); 465 466 /******************************************************************************* 467 ** 468 ** Function LLCP_ConnectReject 469 ** 470 ** Description Reject connection request from peer LLCP 471 ** 472 ** reason : LLCP_SAP_DM_REASON_APP_REJECTED 473 ** LLCP_SAP_DM_REASON_PERM_REJECT_THIS 474 ** LLCP_SAP_DM_REASON_PERM_REJECT_ANY 475 ** LLCP_SAP_DM_REASON_TEMP_REJECT_THIS 476 ** LLCP_SAP_DM_REASON_TEMP_REJECT_ANY 477 ** 478 ** Returns LLCP_STATUS_SUCCESS if success 479 ** LLCP_STATUS_FAIL, otherwise 480 ** 481 *******************************************************************************/ 482 LLCP_API extern tLLCP_STATUS LLCP_ConnectReject (UINT8 local_sap, 483 UINT8 remote_sap, 484 UINT8 reason); 485 486 /******************************************************************************* 487 ** 488 ** Function LLCP_IsDataLinkCongested 489 ** 490 ** Description Check if data link is congested 491 ** 492 ** 493 ** Returns TRUE if congested 494 ** 495 *******************************************************************************/ 496 LLCP_API extern BOOLEAN LLCP_IsDataLinkCongested (UINT8 local_sap, 497 UINT8 remote_sap, 498 UINT8 num_pending_i_pdu, 499 UINT8 total_pending_ui_pdu, 500 UINT8 total_pending_i_pdu); 501 502 /******************************************************************************* 503 ** 504 ** Function LLCP_SendData 505 ** 506 ** Description Send connection-oriented data 507 ** 508 ** 509 ** Returns LLCP_STATUS_SUCCESS if success 510 ** LLCP_STATUS_CONGESTED if data link is congested 511 ** 512 *******************************************************************************/ 513 LLCP_API extern tLLCP_STATUS LLCP_SendData (UINT8 local_sap, 514 UINT8 remote_sap, 515 BT_HDR *p_buf); 516 517 /******************************************************************************* 518 ** 519 ** Function LLCP_ReadDataLinkData 520 ** 521 ** Description Read information of I PDU for data link connection 522 ** 523 ** - Information of I PDU up to max_data_len is copied into p_data. 524 ** - Information of next I PDU is not concatenated. 525 ** - Recommended max_data_len is data link connection MIU of local 526 ** end point 527 ** 528 ** Returns TRUE if more data in queue 529 ** 530 *******************************************************************************/ 531 LLCP_API extern BOOLEAN LLCP_ReadDataLinkData (UINT8 local_sap, 532 UINT8 remote_sap, 533 UINT32 max_data_len, 534 UINT32 *p_data_len, 535 UINT8 *p_data); 536 537 /******************************************************************************* 538 ** 539 ** Function LLCP_FlushDataLinkRxData 540 ** 541 ** Description Discard received data in data link connection 542 ** 543 ** 544 ** Returns length of rx data flushed 545 ** 546 *******************************************************************************/ 547 LLCP_API extern UINT32 LLCP_FlushDataLinkRxData (UINT8 local_sap, 548 UINT8 remote_sap); 549 550 /******************************************************************************* 551 ** 552 ** Function LLCP_DisconnectReq 553 ** 554 ** Description Disconnect data link 555 ** discard any pending data if flush is set to TRUE 556 ** 557 ** Returns LLCP_STATUS_SUCCESS if success 558 ** 559 *******************************************************************************/ 560 LLCP_API extern tLLCP_STATUS LLCP_DisconnectReq (UINT8 local_sap, 561 UINT8 remote_sap, 562 BOOLEAN flush); 563 564 /******************************************************************************* 565 ** 566 ** Function LLCP_SetTxCompleteNtf 567 ** 568 ** Description This function is called to get LLCP_SAP_EVT_TX_COMPLETE 569 ** when Tx queue is empty and all PDU is acked. 570 ** This is one time event, so upper layer shall call this function 571 ** again to get next LLCP_SAP_EVT_TX_COMPLETE. 572 ** 573 ** Returns LLCP_STATUS_SUCCESS if success 574 ** 575 *******************************************************************************/ 576 LLCP_API extern tLLCP_STATUS LLCP_SetTxCompleteNtf (UINT8 local_sap, 577 UINT8 remote_sap); 578 579 /******************************************************************************* 580 ** 581 ** Function LLCP_SetLocalBusyStatus 582 ** 583 ** Description Set local busy status 584 ** 585 ** 586 ** Returns LLCP_STATUS_SUCCESS if success 587 ** 588 *******************************************************************************/ 589 LLCP_API extern tLLCP_STATUS LLCP_SetLocalBusyStatus (UINT8 local_sap, 590 UINT8 remote_sap, 591 BOOLEAN is_busy); 592 593 /******************************************************************************* 594 ** 595 ** Function LLCP_GetRemoteWKS 596 ** 597 ** Description Return well-known service bitmap of connected device 598 ** 599 ** 600 ** Returns WKS bitmap if success 601 ** 602 *******************************************************************************/ 603 LLCP_API extern UINT16 LLCP_GetRemoteWKS (void); 604 605 /******************************************************************************* 606 ** 607 ** Function LLCP_GetRemoteLSC 608 ** 609 ** Description Return link service class of connected device 610 ** 611 ** 612 ** Returns link service class 613 ** 614 *******************************************************************************/ 615 LLCP_API extern UINT8 LLCP_GetRemoteLSC (void); 616 617 /******************************************************************************* 618 ** 619 ** Function LLCP_GetLinkMIU 620 ** 621 ** Description Return local and remote link MIU 622 ** 623 ** 624 ** Returns None 625 ** 626 *******************************************************************************/ 627 LLCP_API extern void LLCP_GetLinkMIU (UINT16 *p_local_link_miu, UINT16 *p_remote_link_miu); 628 629 /******************************************************************************* 630 ** 631 ** Function LLCP_DiscoverService 632 ** 633 ** Description Return SAP of service name in connected device through callback 634 ** 635 ** 636 ** Returns LLCP_STATUS_SUCCESS if success 637 ** 638 *******************************************************************************/ 639 LLCP_API extern tLLCP_STATUS LLCP_DiscoverService (char *p_name, 640 tLLCP_SDP_CBACK *p_cback, 641 UINT8 *p_tid); 642 643 /******************************************************************************* 644 ** 645 ** Function LLCP_SetTraceLevel 646 ** 647 ** Description This function sets the trace level for LLCP. If called with 648 ** a value of 0xFF, it simply returns the current trace level. 649 ** 650 ** Returns The new or current trace level 651 ** 652 *******************************************************************************/ 653 LLCP_API extern UINT8 LLCP_SetTraceLevel (UINT8 new_level); 654 655 /******************************************************************************* 656 ** 657 ** Function LLCP_RegisterDtaCback 658 ** 659 ** Description Register callback function for LLCP DTA testing 660 ** 661 ** 662 ** Returns void 663 ** 664 *******************************************************************************/ 665 LLCP_API extern void LLCP_RegisterDtaCback (tLLCP_DTA_CBACK *p_dta_cback); 666 667 #if (LLCP_TEST_INCLUDED == TRUE) 668 /******************************************************************************* 669 ** 670 ** Function LLCP_SetTestParams 671 ** 672 ** Description Set test parameters for LLCP 673 ** 674 ** 675 ** Returns void 676 ** 677 *******************************************************************************/ 678 LLCP_API extern void LLCP_SetTestParams (UINT8 version, UINT16 wks); 679 #endif 680 681 #ifdef __cplusplus 682 } 683 #endif 684 685 #endif /* LLCP_API_H */ 686 687