1 /****************************************************************************** 2 * 3 * Copyright (C) 1999-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 PORT API definitions 22 * 23 ******************************************************************************/ 24 #ifndef PORT_API_H 25 #define PORT_API_H 26 27 #include "bt_target.h" 28 29 /***************************************************************************** 30 ** Constants and Types 31 *****************************************************************************/ 32 33 /* 34 ** Define port settings structure send from the application in the 35 ** set settings request, or to the application in the set settings indication. 36 */ 37 typedef struct 38 { 39 40 #define PORT_BAUD_RATE_2400 0x00 41 #define PORT_BAUD_RATE_4800 0x01 42 #define PORT_BAUD_RATE_7200 0x02 43 #define PORT_BAUD_RATE_9600 0x03 44 #define PORT_BAUD_RATE_19200 0x04 45 #define PORT_BAUD_RATE_38400 0x05 46 #define PORT_BAUD_RATE_57600 0x06 47 #define PORT_BAUD_RATE_115200 0x07 48 #define PORT_BAUD_RATE_230400 0x08 49 50 UINT8 baud_rate; 51 52 #define PORT_5_BITS 0x00 53 #define PORT_6_BITS 0x01 54 #define PORT_7_BITS 0x02 55 #define PORT_8_BITS 0x03 56 57 UINT8 byte_size; 58 59 #define PORT_ONESTOPBIT 0x00 60 #define PORT_ONE5STOPBITS 0x01 61 UINT8 stop_bits; 62 63 #define PORT_PARITY_NO 0x00 64 #define PORT_PARITY_YES 0x01 65 UINT8 parity; 66 67 #define PORT_ODD_PARITY 0x00 68 #define PORT_EVEN_PARITY 0x01 69 #define PORT_MARK_PARITY 0x02 70 #define PORT_SPACE_PARITY 0x03 71 72 UINT8 parity_type; 73 74 #define PORT_FC_OFF 0x00 75 #define PORT_FC_XONXOFF_ON_INPUT 0x01 76 #define PORT_FC_XONXOFF_ON_OUTPUT 0x02 77 #define PORT_FC_CTS_ON_INPUT 0x04 78 #define PORT_FC_CTS_ON_OUTPUT 0x08 79 #define PORT_FC_DSR_ON_INPUT 0x10 80 #define PORT_FC_DSR_ON_OUTPUT 0x20 81 82 UINT8 fc_type; 83 84 UINT8 rx_char1; 85 86 #define PORT_XON_DC1 0x11 87 UINT8 xon_char; 88 89 #define PORT_XOFF_DC3 0x13 90 UINT8 xoff_char; 91 92 } tPORT_STATE; 93 94 95 /* 96 ** Define the callback function prototypes. Parameters are specific 97 ** to each event and are described bellow 98 */ 99 typedef int (tPORT_DATA_CALLBACK) (UINT16 port_handle, void *p_data, UINT16 len); 100 101 #define DATA_CO_CALLBACK_TYPE_INCOMING 1 102 #define DATA_CO_CALLBACK_TYPE_OUTGOING_SIZE 2 103 #define DATA_CO_CALLBACK_TYPE_OUTGOING 3 104 typedef int (tPORT_DATA_CO_CALLBACK) (UINT16 port_handle, UINT8* p_buf, UINT16 len, int type); 105 106 typedef void (tPORT_CALLBACK) (UINT32 code, UINT16 port_handle); 107 108 /* 109 ** Define events that registered application can receive in the callback 110 */ 111 112 #define PORT_EV_RXCHAR 0x00000001 /* Any Character received */ 113 #define PORT_EV_RXFLAG 0x00000002 /* Received certain character */ 114 #define PORT_EV_TXEMPTY 0x00000004 /* Transmitt Queue Empty */ 115 #define PORT_EV_CTS 0x00000008 /* CTS changed state */ 116 #define PORT_EV_DSR 0x00000010 /* DSR changed state */ 117 #define PORT_EV_RLSD 0x00000020 /* RLSD changed state */ 118 #define PORT_EV_BREAK 0x00000040 /* BREAK received */ 119 #define PORT_EV_ERR 0x00000080 /* Line status error occurred */ 120 #define PORT_EV_RING 0x00000100 /* Ring signal detected */ 121 #define PORT_EV_CTSS 0x00000400 /* CTS state */ 122 #define PORT_EV_DSRS 0x00000800 /* DSR state */ 123 #define PORT_EV_RLSDS 0x00001000 /* RLSD state */ 124 #define PORT_EV_OVERRUN 0x00002000 /* receiver buffer overrun */ 125 #define PORT_EV_TXCHAR 0x00004000 /* Any character transmitted */ 126 127 #define PORT_EV_CONNECTED 0x00000200 /* RFCOMM connection established */ 128 #define PORT_EV_CONNECT_ERR 0x00008000 /* Was not able to establish connection */ 129 /* or disconnected */ 130 #define PORT_EV_FC 0x00010000 /* data flow enabled flag changed by remote */ 131 #define PORT_EV_FCS 0x00020000 /* data flow enable status true = enabled */ 132 133 /* 134 ** To register for events application should provide bitmask with 135 ** corresponding bit set 136 */ 137 138 #define PORT_MASK_ALL (PORT_EV_RXCHAR | PORT_EV_TXEMPTY | PORT_EV_CTS | \ 139 PORT_EV_DSR | PORT_EV_RLSD | PORT_EV_BREAK | \ 140 PORT_EV_ERR | PORT_EV_RING | PORT_EV_CONNECT_ERR | \ 141 PORT_EV_DSRS | PORT_EV_CTSS | PORT_EV_RLSDS | \ 142 PORT_EV_RXFLAG | PORT_EV_TXCHAR | PORT_EV_OVERRUN | \ 143 PORT_EV_FC | PORT_EV_FCS | PORT_EV_CONNECTED) 144 145 146 /* 147 ** Define port result codes 148 */ 149 #define PORT_SUCCESS 0 150 151 #define PORT_ERR_BASE 0 152 153 #define PORT_UNKNOWN_ERROR (PORT_ERR_BASE + 1) 154 #define PORT_ALREADY_OPENED (PORT_ERR_BASE + 2) 155 #define PORT_CMD_PENDING (PORT_ERR_BASE + 3) 156 #define PORT_APP_NOT_REGISTERED (PORT_ERR_BASE + 4) 157 #define PORT_NO_MEM (PORT_ERR_BASE + 5) 158 #define PORT_NO_RESOURCES (PORT_ERR_BASE + 6) 159 #define PORT_BAD_BD_ADDR (PORT_ERR_BASE + 7) 160 #define PORT_BAD_HANDLE (PORT_ERR_BASE + 9) 161 #define PORT_NOT_OPENED (PORT_ERR_BASE + 10) 162 #define PORT_LINE_ERR (PORT_ERR_BASE + 11) 163 #define PORT_START_FAILED (PORT_ERR_BASE + 12) 164 #define PORT_PAR_NEG_FAILED (PORT_ERR_BASE + 13) 165 #define PORT_PORT_NEG_FAILED (PORT_ERR_BASE + 14) 166 #define PORT_SEC_FAILED (PORT_ERR_BASE + 15) 167 #define PORT_PEER_CONNECTION_FAILED (PORT_ERR_BASE + 16) 168 #define PORT_PEER_FAILED (PORT_ERR_BASE + 17) 169 #define PORT_PEER_TIMEOUT (PORT_ERR_BASE + 18) 170 #define PORT_CLOSED (PORT_ERR_BASE + 19) 171 #define PORT_TX_FULL (PORT_ERR_BASE + 20) 172 #define PORT_LOCAL_CLOSED (PORT_ERR_BASE + 21) 173 #define PORT_LOCAL_TIMEOUT (PORT_ERR_BASE + 22) 174 #define PORT_TX_QUEUE_DISABLED (PORT_ERR_BASE + 23) 175 #define PORT_PAGE_TIMEOUT (PORT_ERR_BASE + 24) 176 #define PORT_INVALID_SCN (PORT_ERR_BASE + 25) 177 178 #define PORT_ERR_MAX (PORT_ERR_BASE + 26) 179 180 /***************************************************************************** 181 ** External Function Declarations 182 *****************************************************************************/ 183 #ifdef __cplusplus 184 extern "C" 185 { 186 #endif 187 188 /******************************************************************************* 189 ** 190 ** Function RFCOMM_CreateConnection 191 ** 192 ** Description RFCOMM_CreateConnection function is used from the application 193 ** to establish serial port connection to the peer device, 194 ** or allow RFCOMM to accept a connection from the peer 195 ** application. 196 ** 197 ** Parameters: scn - Service Channel Number as registered with 198 ** the SDP (server) or obtained using SDP from 199 ** the peer device (client). 200 ** is_server - TRUE if requesting application is a server 201 ** mtu - Maximum frame size the application can accept 202 ** bd_addr - BD_ADDR of the peer (client) 203 ** mask - specifies events to be enabled. A value 204 ** of zero disables all events. 205 ** p_handle - OUT pointer to the handle. 206 ** p_mgmt_cb - pointer to callback function to receive 207 ** connection up/down events. 208 ** Notes: 209 ** 210 ** Server can call this function with the same scn parameter multiple times if 211 ** it is ready to accept multiple simulteneous connections. 212 ** 213 ** DLCI for the connection is (scn * 2 + 1) if client originates connection on 214 ** existing none initiator multiplexer channel. Otherwise it is (scn * 2). 215 ** For the server DLCI can be changed later if client will be calling it using 216 ** (scn * 2 + 1) dlci. 217 ** 218 *******************************************************************************/ 219 extern int RFCOMM_CreateConnection (UINT16 uuid, UINT8 scn, 220 BOOLEAN is_server, UINT16 mtu, 221 BD_ADDR bd_addr, UINT16 *p_handle, 222 tPORT_CALLBACK *p_mgmt_cb); 223 224 225 /******************************************************************************* 226 ** 227 ** Function RFCOMM_RemoveConnection 228 ** 229 ** Description This function is called to close the specified connection. 230 ** 231 ** Parameters: handle - Handle of the port returned in the Open 232 ** 233 *******************************************************************************/ 234 extern int RFCOMM_RemoveConnection (UINT16 handle); 235 236 237 /******************************************************************************* 238 ** 239 ** Function RFCOMM_RemoveServer 240 ** 241 ** Description This function is called to close the server port. 242 ** 243 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 244 ** 245 *******************************************************************************/ 246 extern int RFCOMM_RemoveServer (UINT16 handle); 247 248 249 /******************************************************************************* 250 ** 251 ** Function PORT_SetEventCallback 252 ** 253 ** Description Set event callback the specified connection. 254 ** 255 ** Parameters: handle - Handle of the port returned in the Open 256 ** p_callback - address of the callback function which should 257 ** be called from the RFCOMM when an event 258 ** specified in the mask occurs. 259 ** 260 *******************************************************************************/ 261 extern int PORT_SetEventCallback (UINT16 port_handle, 262 tPORT_CALLBACK *p_port_cb); 263 264 /******************************************************************************* 265 ** 266 ** Function PORT_ClearKeepHandleFlag 267 ** 268 ** Description This function is called to clear the keep handle flag 269 ** which will cause not to keep the port handle open when closed 270 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 271 ** 272 *******************************************************************************/ 273 int PORT_ClearKeepHandleFlag (UINT16 port_handle); 274 275 /******************************************************************************* 276 ** 277 ** Function PORT_SetEventCallback 278 ** 279 ** Description Set event data callback the specified connection. 280 ** 281 ** Parameters: handle - Handle of the port returned in the Open 282 ** p_callback - address of the callback function which should 283 ** be called from the RFCOMM when a data 284 ** packet is received. 285 ** 286 *******************************************************************************/ 287 extern int PORT_SetDataCallback (UINT16 port_handle, 288 tPORT_DATA_CALLBACK *p_cb); 289 290 extern int PORT_SetDataCOCallback (UINT16 port_handle, tPORT_DATA_CO_CALLBACK *p_port_cb); 291 /******************************************************************************* 292 ** 293 ** Function PORT_SetEventMask 294 ** 295 ** Description This function is called to close the specified connection. 296 ** 297 ** Parameters: handle - Handle of the port returned in the Open 298 ** mask - specifies events to be enabled. A value 299 ** of zero disables all events. 300 ** 301 *******************************************************************************/ 302 extern int PORT_SetEventMask (UINT16 port_handle, UINT32 mask); 303 304 305 /******************************************************************************* 306 ** 307 ** Function PORT_CheckConnection 308 ** 309 ** Description This function returns PORT_SUCCESS if connection referenced 310 ** by handle is up and running 311 ** 312 ** Parameters: handle - Handle of the port returned in the Open 313 ** bd_addr - OUT bd_addr of the peer 314 ** p_lcid - OUT L2CAP's LCID 315 ** 316 *******************************************************************************/ 317 extern int PORT_CheckConnection (UINT16 handle, BD_ADDR bd_addr, 318 UINT16 *p_lcid); 319 320 /******************************************************************************* 321 ** 322 ** Function PORT_IsOpening 323 ** 324 ** Description This function returns TRUE if there is any RFCOMM connection 325 ** opening in process. 326 ** 327 ** Parameters: TRUE if any connection opening is found 328 ** bd_addr - bd_addr of the peer 329 ** 330 *******************************************************************************/ 331 extern BOOLEAN PORT_IsOpening (BD_ADDR bd_addr); 332 333 /******************************************************************************* 334 ** 335 ** Function PORT_SetState 336 ** 337 ** Description This function configures connection according to the 338 ** specifications in the tPORT_STATE structure. 339 ** 340 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 341 ** p_settings - Pointer to a tPORT_STATE structure containing 342 ** configuration information for the connection. 343 ** 344 *******************************************************************************/ 345 extern int PORT_SetState (UINT16 handle, tPORT_STATE *p_settings); 346 347 /******************************************************************************* 348 ** 349 ** Function PORT_GetRxQueueCnt 350 ** 351 ** Description This function return number of buffers on the rx queue. 352 ** 353 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 354 ** p_rx_queue_count - Pointer to return queue count in. 355 ** 356 *******************************************************************************/ 357 extern int PORT_GetRxQueueCnt (UINT16 handle, UINT16 *p_rx_queue_count); 358 359 /******************************************************************************* 360 ** 361 ** Function PORT_GetState 362 ** 363 ** Description This function is called to fill tPORT_STATE structure 364 ** with the current control settings for the port 365 ** 366 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 367 ** p_settings - Pointer to a tPORT_STATE structure in which 368 ** configuration information is returned. 369 ** 370 *******************************************************************************/ 371 extern int PORT_GetState (UINT16 handle, tPORT_STATE *p_settings); 372 373 374 /******************************************************************************* 375 ** 376 ** Function PORT_Control 377 ** 378 ** Description This function directs a specified connection to pass control 379 ** control information to the peer device. 380 ** 381 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 382 ** signal - specify the function to be passed 383 ** 384 *******************************************************************************/ 385 #define PORT_SET_DTRDSR 0x01 386 #define PORT_CLR_DTRDSR 0x02 387 #define PORT_SET_CTSRTS 0x03 388 #define PORT_CLR_CTSRTS 0x04 389 #define PORT_SET_RI 0x05 /* DCE only */ 390 #define PORT_CLR_RI 0x06 /* DCE only */ 391 #define PORT_SET_DCD 0x07 /* DCE only */ 392 #define PORT_CLR_DCD 0x08 /* DCE only */ 393 #define PORT_BREAK 0x09 /* Break event */ 394 395 extern int PORT_Control (UINT16 handle, UINT8 signal); 396 397 398 /******************************************************************************* 399 ** 400 ** Function PORT_FlowControl 401 ** 402 ** Description This function directs a specified connection to pass 403 ** flow control message to the peer device. Enable flag passed 404 ** shows if port can accept more data. 405 ** 406 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 407 ** enable - enables data flow 408 ** 409 *******************************************************************************/ 410 extern int PORT_FlowControl (UINT16 handle, BOOLEAN enable); 411 412 413 /******************************************************************************* 414 ** 415 ** Function PORT_GetModemStatus 416 ** 417 ** Description This function retrieves modem control signals. Normally 418 ** application will call this function after a callback 419 ** function is called with notification that one of signals 420 ** has been changed. 421 ** 422 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 423 ** callback. 424 ** p_signal - specify the pointer to control signals info 425 ** 426 *******************************************************************************/ 427 #define PORT_DTRDSR_ON 0x01 428 #define PORT_CTSRTS_ON 0x02 429 #define PORT_RING_ON 0x04 430 #define PORT_DCD_ON 0x08 431 432 /* 433 ** Define default initial local modem signals state set after connection established 434 */ 435 #define PORT_OBEX_DEFAULT_SIGNAL_STATE (PORT_DTRDSR_ON | PORT_CTSRTS_ON | PORT_DCD_ON) 436 #define PORT_SPP_DEFAULT_SIGNAL_STATE (PORT_DTRDSR_ON | PORT_CTSRTS_ON | PORT_DCD_ON) 437 #define PORT_PPP_DEFAULT_SIGNAL_STATE (PORT_DTRDSR_ON | PORT_CTSRTS_ON | PORT_DCD_ON) 438 #define PORT_DUN_DEFAULT_SIGNAL_STATE (PORT_DTRDSR_ON | PORT_CTSRTS_ON) 439 440 extern int PORT_GetModemStatus (UINT16 handle, UINT8 *p_control_signal); 441 442 443 /******************************************************************************* 444 ** 445 ** Function PORT_ClearError 446 ** 447 ** Description This function retreives information about a communications 448 ** error and reports current status of a connection. The 449 ** function should be called when an error occures to clear 450 ** the connection error flag and to enable additional read 451 ** and write operations. 452 ** 453 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 454 ** p_errors - pointer of the variable to receive error codes 455 ** p_status - pointer to the tPORT_STATUS structur to receive 456 ** connection status 457 ** 458 *******************************************************************************/ 459 460 #define PORT_ERR_BREAK 0x01 /* Break condition occured on the peer device */ 461 #define PORT_ERR_OVERRUN 0x02 /* Overrun is reported by peer device */ 462 #define PORT_ERR_FRAME 0x04 /* Framing error reported by peer device */ 463 #define PORT_ERR_RXOVER 0x08 /* Input queue overflow occured */ 464 #define PORT_ERR_TXFULL 0x10 /* Output queue overflow occured */ 465 466 typedef struct 467 { 468 #define PORT_FLAG_CTS_HOLD 0x01 /* Tx is waiting for CTS signal */ 469 #define PORT_FLAG_DSR_HOLD 0x02 /* Tx is waiting for DSR signal */ 470 #define PORT_FLAG_RLSD_HOLD 0x04 /* Tx is waiting for RLSD signal */ 471 472 UINT16 flags; 473 UINT16 in_queue_size; /* Number of bytes in the input queue */ 474 UINT16 out_queue_size; /* Number of bytes in the output queue */ 475 UINT16 mtu_size; /* peer MTU size */ 476 } tPORT_STATUS; 477 478 479 extern int PORT_ClearError (UINT16 handle, UINT16 *p_errors, 480 tPORT_STATUS *p_status); 481 482 483 /******************************************************************************* 484 ** 485 ** Function PORT_SendError 486 ** 487 ** Description This function send a communications error to the peer device 488 ** 489 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 490 ** errors - receive error codes 491 ** 492 *******************************************************************************/ 493 extern int PORT_SendError (UINT16 handle, UINT8 errors); 494 495 496 /******************************************************************************* 497 ** 498 ** Function PORT_GetQueueStatus 499 ** 500 ** Description This function reports current status of a connection. 501 ** 502 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 503 ** p_status - pointer to the tPORT_STATUS structur to receive 504 ** connection status 505 ** 506 *******************************************************************************/ 507 extern int PORT_GetQueueStatus (UINT16 handle, tPORT_STATUS *p_status); 508 509 510 /******************************************************************************* 511 ** 512 ** Function PORT_Purge 513 ** 514 ** Description This function discards all the data from the output or 515 ** input queues of the specified connection. 516 ** 517 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 518 ** purge_flags - specify the action to take. 519 ** 520 *******************************************************************************/ 521 #define PORT_PURGE_TXCLEAR 0x01 522 #define PORT_PURGE_RXCLEAR 0x02 523 524 extern int PORT_Purge (UINT16 handle, UINT8 purge_flags); 525 526 527 /******************************************************************************* 528 ** 529 ** Function PORT_Read 530 ** 531 ** Description This function returns the pointer to the buffer received 532 ** from the peer device. Normally application will call this 533 ** function after receiving PORT_EVT_RXCHAR event. 534 ** Application calling this function is responsible to free 535 ** buffer returned. 536 ** 537 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 538 ** callback. 539 ** pp_buf - pointer to address of buffer with data, 540 ** 541 *******************************************************************************/ 542 extern int PORT_Read (UINT16 handle, BT_HDR **pp_buf); 543 544 545 /******************************************************************************* 546 ** 547 ** Function PORT_ReadData 548 ** 549 ** Description Normally application will call this function after receiving 550 ** PORT_EVT_RXCHAR event. 551 ** 552 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 553 ** callback. 554 ** p_data - Data area 555 ** max_len - Byte count requested 556 ** p_len - Byte count received 557 ** 558 *******************************************************************************/ 559 extern int PORT_ReadData (UINT16 handle, char *p_data, UINT16 max_len, 560 UINT16 *p_len); 561 562 563 /******************************************************************************* 564 ** 565 ** Function PORT_Write 566 ** 567 ** Description This function to send BT buffer to the peer device. 568 ** Application should not free the buffer. 569 ** 570 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 571 ** p_buf - pointer to the buffer with data, 572 ** 573 *******************************************************************************/ 574 extern int PORT_Write (UINT16 handle, BT_HDR *p_buf); 575 576 577 /******************************************************************************* 578 ** 579 ** Function PORT_WriteData 580 ** 581 ** Description This function is called from the legacy application to 582 ** send data. 583 ** 584 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 585 ** p_data - Data area 586 ** max_len - Byte count to write 587 ** p_len - Bytes written 588 ** 589 *******************************************************************************/ 590 extern int PORT_WriteData (UINT16 handle, char *p_data, UINT16 max_len, 591 UINT16 *p_len); 592 593 /******************************************************************************* 594 ** 595 ** Function PORT_WriteDataCO 596 ** 597 ** Description Normally not GKI aware application will call this function 598 ** to send data to the port by callout functions. 599 ** 600 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 601 ** 602 *******************************************************************************/ 603 extern int PORT_WriteDataCO (UINT16 handle, int* p_len); 604 605 /******************************************************************************* 606 ** 607 ** Function PORT_Test 608 ** 609 ** Description Application can call this function to send RFCOMM Test frame 610 ** 611 ** Parameters: handle - Handle returned in the RFCOMM_CreateConnection 612 ** p_data - Data area 613 ** max_len - Byte count requested 614 ** 615 *******************************************************************************/ 616 extern int PORT_Test (UINT16 handle, UINT8 *p_data, UINT16 len); 617 618 619 /******************************************************************************* 620 ** 621 ** Function RFCOMM_Init 622 ** 623 ** Description This function is called to initialize RFCOMM layer 624 ** 625 *******************************************************************************/ 626 extern void RFCOMM_Init (void); 627 628 629 /******************************************************************************* 630 ** 631 ** Function PORT_SetTraceLevel 632 ** 633 ** Description This function sets the trace level for RFCOMM. If called with 634 ** a value of 0xFF, it simply reads the current trace level. 635 ** 636 ** Returns the new (current) trace level 637 ** 638 *******************************************************************************/ 639 extern UINT8 PORT_SetTraceLevel (UINT8 new_level); 640 641 642 /******************************************************************************* 643 ** 644 ** Function PORT_GetResultString 645 ** 646 ** Description This function returns the human-readable string for a given 647 ** result code. 648 ** 649 ** Returns a pointer to the human-readable string for the given 650 ** result. Note that the string returned must not be freed. 651 ** 652 *******************************************************************************/ 653 extern const char *PORT_GetResultString (const uint8_t result_code); 654 655 #ifdef __cplusplus 656 } 657 #endif 658 659 #endif /* PORT_API_H */ 660