| /****************************************************************************** | |
| * | |
| * Copyright 1999-2012 Broadcom Corporation | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at: | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| * | |
| ******************************************************************************/ | |
| /****************************************************************************** | |
| * | |
| * this file contains the PORT API definitions | |
| * | |
| ******************************************************************************/ | |
| #ifndef PORT_API_H | |
| #define PORT_API_H | |
| #include "bt_target.h" | |
| /***************************************************************************** | |
| * Constants and Types | |
| ****************************************************************************/ | |
| /* | |
| * Define port settings structure send from the application in the | |
| * set settings request, or to the application in the set settings indication. | |
| */ | |
| typedef struct { | |
| #define PORT_BAUD_RATE_2400 0x00 | |
| #define PORT_BAUD_RATE_4800 0x01 | |
| #define PORT_BAUD_RATE_7200 0x02 | |
| #define PORT_BAUD_RATE_9600 0x03 | |
| #define PORT_BAUD_RATE_19200 0x04 | |
| #define PORT_BAUD_RATE_38400 0x05 | |
| #define PORT_BAUD_RATE_57600 0x06 | |
| #define PORT_BAUD_RATE_115200 0x07 | |
| #define PORT_BAUD_RATE_230400 0x08 | |
| uint8_t baud_rate; | |
| #define PORT_5_BITS 0x00 | |
| #define PORT_6_BITS 0x01 | |
| #define PORT_7_BITS 0x02 | |
| #define PORT_8_BITS 0x03 | |
| uint8_t byte_size; | |
| #define PORT_ONESTOPBIT 0x00 | |
| #define PORT_ONE5STOPBITS 0x01 | |
| uint8_t stop_bits; | |
| #define PORT_PARITY_NO 0x00 | |
| #define PORT_PARITY_YES 0x01 | |
| uint8_t parity; | |
| #define PORT_ODD_PARITY 0x00 | |
| #define PORT_EVEN_PARITY 0x01 | |
| #define PORT_MARK_PARITY 0x02 | |
| #define PORT_SPACE_PARITY 0x03 | |
| uint8_t parity_type; | |
| #define PORT_FC_OFF 0x00 | |
| #define PORT_FC_XONXOFF_ON_INPUT 0x01 | |
| #define PORT_FC_XONXOFF_ON_OUTPUT 0x02 | |
| #define PORT_FC_CTS_ON_INPUT 0x04 | |
| #define PORT_FC_CTS_ON_OUTPUT 0x08 | |
| #define PORT_FC_DSR_ON_INPUT 0x10 | |
| #define PORT_FC_DSR_ON_OUTPUT 0x20 | |
| uint8_t fc_type; | |
| uint8_t rx_char1; | |
| #define PORT_XON_DC1 0x11 | |
| uint8_t xon_char; | |
| #define PORT_XOFF_DC3 0x13 | |
| uint8_t xoff_char; | |
| } tPORT_STATE; | |
| /* | |
| * Define the callback function prototypes. Parameters are specific | |
| * to each event and are described bellow | |
| */ | |
| typedef int(tPORT_DATA_CALLBACK)(uint16_t port_handle, void* p_data, | |
| uint16_t len); | |
| #define DATA_CO_CALLBACK_TYPE_INCOMING 1 | |
| #define DATA_CO_CALLBACK_TYPE_OUTGOING_SIZE 2 | |
| #define DATA_CO_CALLBACK_TYPE_OUTGOING 3 | |
| typedef int(tPORT_DATA_CO_CALLBACK)(uint16_t port_handle, uint8_t* p_buf, | |
| uint16_t len, int type); | |
| typedef void(tPORT_CALLBACK)(uint32_t code, uint16_t port_handle); | |
| /* | |
| * Define events that registered application can receive in the callback | |
| */ | |
| #define PORT_EV_RXCHAR 0x00000001 /* Any Character received */ | |
| #define PORT_EV_RXFLAG 0x00000002 /* Received certain character */ | |
| #define PORT_EV_TXEMPTY 0x00000004 /* Transmitt Queue Empty */ | |
| #define PORT_EV_CTS 0x00000008 /* CTS changed state */ | |
| #define PORT_EV_DSR 0x00000010 /* DSR changed state */ | |
| #define PORT_EV_RLSD 0x00000020 /* RLSD changed state */ | |
| #define PORT_EV_BREAK 0x00000040 /* BREAK received */ | |
| #define PORT_EV_ERR 0x00000080 /* Line status error occurred */ | |
| #define PORT_EV_RING 0x00000100 /* Ring signal detected */ | |
| #define PORT_EV_CTSS 0x00000400 /* CTS state */ | |
| #define PORT_EV_DSRS 0x00000800 /* DSR state */ | |
| #define PORT_EV_RLSDS 0x00001000 /* RLSD state */ | |
| #define PORT_EV_OVERRUN 0x00002000 /* receiver buffer overrun */ | |
| #define PORT_EV_TXCHAR 0x00004000 /* Any character transmitted */ | |
| /* RFCOMM connection established */ | |
| #define PORT_EV_CONNECTED 0x00000200 | |
| /* Unable to establish connection or disconnected */ | |
| #define PORT_EV_CONNECT_ERR 0x00008000 | |
| /* data flow enabled flag changed by remote */ | |
| #define PORT_EV_FC 0x00010000 | |
| /* data flow enable status true = enabled */ | |
| #define PORT_EV_FCS 0x00020000 | |
| /* | |
| * To register for events application should provide bitmask with | |
| * corresponding bit set | |
| */ | |
| #define PORT_MASK_ALL \ | |
| (PORT_EV_RXCHAR | PORT_EV_TXEMPTY | PORT_EV_CTS | PORT_EV_DSR | \ | |
| PORT_EV_RLSD | PORT_EV_BREAK | PORT_EV_ERR | PORT_EV_RING | \ | |
| PORT_EV_CONNECT_ERR | PORT_EV_DSRS | PORT_EV_CTSS | PORT_EV_RLSDS | \ | |
| PORT_EV_RXFLAG | PORT_EV_TXCHAR | PORT_EV_OVERRUN | PORT_EV_FC | \ | |
| PORT_EV_FCS | PORT_EV_CONNECTED) | |
| /* | |
| * Define port result codes | |
| */ | |
| #define PORT_SUCCESS 0 | |
| #define PORT_ERR_BASE 0 | |
| #define PORT_UNKNOWN_ERROR (PORT_ERR_BASE + 1) | |
| #define PORT_ALREADY_OPENED (PORT_ERR_BASE + 2) | |
| #define PORT_CMD_PENDING (PORT_ERR_BASE + 3) | |
| #define PORT_APP_NOT_REGISTERED (PORT_ERR_BASE + 4) | |
| #define PORT_NO_MEM (PORT_ERR_BASE + 5) | |
| #define PORT_NO_RESOURCES (PORT_ERR_BASE + 6) | |
| #define PORT_BAD_BD_ADDR (PORT_ERR_BASE + 7) | |
| #define PORT_BAD_HANDLE (PORT_ERR_BASE + 9) | |
| #define PORT_NOT_OPENED (PORT_ERR_BASE + 10) | |
| #define PORT_LINE_ERR (PORT_ERR_BASE + 11) | |
| #define PORT_START_FAILED (PORT_ERR_BASE + 12) | |
| #define PORT_PAR_NEG_FAILED (PORT_ERR_BASE + 13) | |
| #define PORT_PORT_NEG_FAILED (PORT_ERR_BASE + 14) | |
| #define PORT_SEC_FAILED (PORT_ERR_BASE + 15) | |
| #define PORT_PEER_CONNECTION_FAILED (PORT_ERR_BASE + 16) | |
| #define PORT_PEER_FAILED (PORT_ERR_BASE + 17) | |
| #define PORT_PEER_TIMEOUT (PORT_ERR_BASE + 18) | |
| #define PORT_CLOSED (PORT_ERR_BASE + 19) | |
| #define PORT_TX_FULL (PORT_ERR_BASE + 20) | |
| #define PORT_LOCAL_CLOSED (PORT_ERR_BASE + 21) | |
| #define PORT_LOCAL_TIMEOUT (PORT_ERR_BASE + 22) | |
| #define PORT_TX_QUEUE_DISABLED (PORT_ERR_BASE + 23) | |
| #define PORT_PAGE_TIMEOUT (PORT_ERR_BASE + 24) | |
| #define PORT_INVALID_SCN (PORT_ERR_BASE + 25) | |
| #define PORT_ERR_MAX (PORT_ERR_BASE + 26) | |
| /***************************************************************************** | |
| * External Function Declarations | |
| ****************************************************************************/ | |
| /******************************************************************************* | |
| * | |
| * Function RFCOMM_CreateConnection | |
| * | |
| * Description RFCOMM_CreateConnection is used from the application to | |
| * establish a serial port connection to the peer device, | |
| * or allow RFCOMM to accept a connection from the peer | |
| * application. | |
| * | |
| * Parameters: scn - Service Channel Number as registered with | |
| * the SDP (server) or obtained using SDP from | |
| * the peer device (client). | |
| * is_server - true if requesting application is a server | |
| * mtu - Maximum frame size the application can accept | |
| * bd_addr - address of the peer (client) | |
| * mask - specifies events to be enabled. A value | |
| * of zero disables all events. | |
| * p_handle - OUT pointer to the handle. | |
| * p_mgmt_cb - pointer to callback function to receive | |
| * connection up/down events. | |
| * Notes: | |
| * | |
| * Server can call this function with the same scn parameter multiple times if | |
| * it is ready to accept multiple simulteneous connections. | |
| * | |
| * DLCI for the connection is (scn * 2 + 1) if client originates connection on | |
| * existing none initiator multiplexer channel. Otherwise it is (scn * 2). | |
| * For the server DLCI can be changed later if client will be calling it using | |
| * (scn * 2 + 1) dlci. | |
| * | |
| ******************************************************************************/ | |
| extern int RFCOMM_CreateConnection(uint16_t uuid, uint8_t scn, bool is_server, | |
| uint16_t mtu, const RawAddress& bd_addr, | |
| uint16_t* p_handle, | |
| tPORT_CALLBACK* p_mgmt_cb); | |
| /******************************************************************************* | |
| * | |
| * Function RFCOMM_RemoveConnection | |
| * | |
| * Description This function is called to close the specified connection. | |
| * | |
| * Parameters: handle - Handle of the port returned in the Open | |
| * | |
| ******************************************************************************/ | |
| extern int RFCOMM_RemoveConnection(uint16_t handle); | |
| /******************************************************************************* | |
| * | |
| * Function RFCOMM_RemoveServer | |
| * | |
| * Description This function is called to close the server port. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * | |
| ******************************************************************************/ | |
| extern int RFCOMM_RemoveServer(uint16_t handle); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_SetEventCallback | |
| * | |
| * Description Set event callback the specified connection. | |
| * | |
| * Parameters: handle - Handle of the port returned in the Open | |
| * p_callback - address of the callback function which should | |
| * be called from the RFCOMM when an event | |
| * specified in the mask occurs. | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_SetEventCallback(uint16_t port_handle, | |
| tPORT_CALLBACK* p_port_cb); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_ClearKeepHandleFlag | |
| * | |
| * Description Called to clear the keep handle flag, which will cause | |
| * not to keep the port handle open when closed | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * | |
| ******************************************************************************/ | |
| int PORT_ClearKeepHandleFlag(uint16_t port_handle); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_SetEventCallback | |
| * | |
| * Description Set event data callback the specified connection. | |
| * | |
| * Parameters: handle - Handle of the port returned in the Open | |
| * p_callback - address of the callback function which should | |
| * be called from the RFCOMM when a data | |
| * packet is received. | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_SetDataCallback(uint16_t port_handle, | |
| tPORT_DATA_CALLBACK* p_cb); | |
| extern int PORT_SetDataCOCallback(uint16_t port_handle, | |
| tPORT_DATA_CO_CALLBACK* p_port_cb); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_SetEventMask | |
| * | |
| * Description This function is called to close the specified connection. | |
| * | |
| * Parameters: handle - Handle of the port returned in the Open | |
| * mask - specifies events to be enabled. A value | |
| * of zero disables all events. | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_SetEventMask(uint16_t port_handle, uint32_t mask); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_CheckConnection | |
| * | |
| * Description This function returns PORT_SUCCESS if connection referenced | |
| * by handle is up and running | |
| * | |
| * Parameters: handle - Handle of the port returned in the Open | |
| * bd_addr - OUT bd_addr of the peer | |
| * p_lcid - OUT L2CAP's LCID | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_CheckConnection(uint16_t handle, RawAddress* bd_addr, | |
| uint16_t* p_lcid); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_IsOpening | |
| * | |
| * Description This function returns true if there is any RFCOMM connection | |
| * opening in process. | |
| * | |
| * Parameters: true if any connection opening is found | |
| * bd_addr - bd_addr of the peer | |
| * | |
| ******************************************************************************/ | |
| extern bool PORT_IsOpening(RawAddress* bd_addr); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_SetState | |
| * | |
| * Description This function configures connection according to the | |
| * specifications in the tPORT_STATE structure. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * p_settings - Pointer to a tPORT_STATE structure containing | |
| * configuration information for the connection. | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_SetState(uint16_t handle, tPORT_STATE* p_settings); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_GetRxQueueCnt | |
| * | |
| * Description This function return number of buffers on the rx queue. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * p_rx_queue_count - Pointer to return queue count in. | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_GetRxQueueCnt(uint16_t handle, uint16_t* p_rx_queue_count); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_GetState | |
| * | |
| * Description This function is called to fill tPORT_STATE structure | |
| * with the current control settings for the port | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * p_settings - Pointer to a tPORT_STATE structure in which | |
| * configuration information is returned. | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_GetState(uint16_t handle, tPORT_STATE* p_settings); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_Control | |
| * | |
| * Description This function directs a specified connection to pass control | |
| * control information to the peer device. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * signal - specify the function to be passed | |
| * | |
| ******************************************************************************/ | |
| #define PORT_SET_DTRDSR 0x01 | |
| #define PORT_CLR_DTRDSR 0x02 | |
| #define PORT_SET_CTSRTS 0x03 | |
| #define PORT_CLR_CTSRTS 0x04 | |
| #define PORT_SET_RI 0x05 /* DCE only */ | |
| #define PORT_CLR_RI 0x06 /* DCE only */ | |
| #define PORT_SET_DCD 0x07 /* DCE only */ | |
| #define PORT_CLR_DCD 0x08 /* DCE only */ | |
| #define PORT_BREAK 0x09 /* Break event */ | |
| extern int PORT_Control(uint16_t handle, uint8_t signal); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_FlowControl | |
| * | |
| * Description This function directs a specified connection to pass | |
| * flow control message to the peer device. Enable flag passed | |
| * shows if port can accept more data. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * enable - enables data flow | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_FlowControl(uint16_t handle, bool enable); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_FlowControl_MaxCredit | |
| * | |
| * Description This function directs a specified connection to pass | |
| * flow control message to the peer device. Enable flag passed | |
| * shows if port can accept more data. It also sends max credit | |
| * when data flow enabled | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * enable - enables data flow | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_FlowControl_MaxCredit(uint16_t handle, bool enable); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_GetModemStatus | |
| * | |
| * Description This function retrieves modem control signals. Normally | |
| * application will call this function after a callback | |
| * function is called with notification that one of signals | |
| * has been changed. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * callback. | |
| * p_signal - specify the pointer to control signals info | |
| * | |
| ******************************************************************************/ | |
| #define PORT_DTRDSR_ON 0x01 | |
| #define PORT_CTSRTS_ON 0x02 | |
| #define PORT_RING_ON 0x04 | |
| #define PORT_DCD_ON 0x08 | |
| /* | |
| * Define default initial local modem signals state after connection established | |
| */ | |
| #define PORT_OBEX_DEFAULT_SIGNAL_STATE \ | |
| (PORT_DTRDSR_ON | PORT_CTSRTS_ON | PORT_DCD_ON) | |
| #define PORT_SPP_DEFAULT_SIGNAL_STATE \ | |
| (PORT_DTRDSR_ON | PORT_CTSRTS_ON | PORT_DCD_ON) | |
| #define PORT_PPP_DEFAULT_SIGNAL_STATE \ | |
| (PORT_DTRDSR_ON | PORT_CTSRTS_ON | PORT_DCD_ON) | |
| #define PORT_DUN_DEFAULT_SIGNAL_STATE (PORT_DTRDSR_ON | PORT_CTSRTS_ON) | |
| extern int PORT_GetModemStatus(uint16_t handle, uint8_t* p_control_signal); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_ClearError | |
| * | |
| * Description This function retreives information about a communications | |
| * error and reports current status of a connection. The | |
| * function should be called when an error occures to clear | |
| * the connection error flag and to enable additional read | |
| * and write operations. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * p_errors - pointer of the variable to receive error codes | |
| * p_status - pointer to the tPORT_STATUS structur to receive | |
| * connection status | |
| * | |
| ******************************************************************************/ | |
| #define PORT_ERR_BREAK 0x01 /* Break condition occured on the peer device */ | |
| #define PORT_ERR_OVERRUN 0x02 /* Overrun is reported by peer device */ | |
| #define PORT_ERR_FRAME 0x04 /* Framing error reported by peer device */ | |
| #define PORT_ERR_RXOVER 0x08 /* Input queue overflow occured */ | |
| #define PORT_ERR_TXFULL 0x10 /* Output queue overflow occured */ | |
| typedef struct { | |
| #define PORT_FLAG_CTS_HOLD 0x01 /* Tx is waiting for CTS signal */ | |
| #define PORT_FLAG_DSR_HOLD 0x02 /* Tx is waiting for DSR signal */ | |
| #define PORT_FLAG_RLSD_HOLD 0x04 /* Tx is waiting for RLSD signal */ | |
| uint16_t flags; | |
| uint16_t in_queue_size; /* Number of bytes in the input queue */ | |
| uint16_t out_queue_size; /* Number of bytes in the output queue */ | |
| uint16_t mtu_size; /* peer MTU size */ | |
| } tPORT_STATUS; | |
| extern int PORT_ClearError(uint16_t handle, uint16_t* p_errors, | |
| tPORT_STATUS* p_status); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_SendError | |
| * | |
| * Description This function send a communications error to the peer device | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * errors - receive error codes | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_SendError(uint16_t handle, uint8_t errors); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_GetQueueStatus | |
| * | |
| * Description This function reports current status of a connection. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * p_status - pointer to the tPORT_STATUS structur to receive | |
| * connection status | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_GetQueueStatus(uint16_t handle, tPORT_STATUS* p_status); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_Purge | |
| * | |
| * Description This function discards all the data from the output or | |
| * input queues of the specified connection. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * purge_flags - specify the action to take. | |
| * | |
| ******************************************************************************/ | |
| #define PORT_PURGE_TXCLEAR 0x01 | |
| #define PORT_PURGE_RXCLEAR 0x02 | |
| extern int PORT_Purge(uint16_t handle, uint8_t purge_flags); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_Read | |
| * | |
| * Description This function returns the pointer to the buffer received | |
| * from the peer device. Normally application will call this | |
| * function after receiving PORT_EVT_RXCHAR event. | |
| * Application calling this function is responsible to free | |
| * buffer returned. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * callback. | |
| * pp_buf - pointer to address of buffer with data, | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_Read(uint16_t handle, BT_HDR** pp_buf); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_ReadData | |
| * | |
| * Description Normally application will call this function after receiving | |
| * PORT_EVT_RXCHAR event. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * callback. | |
| * p_data - Data area | |
| * max_len - Byte count requested | |
| * p_len - Byte count received | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_ReadData(uint16_t handle, char* p_data, uint16_t max_len, | |
| uint16_t* p_len); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_Write | |
| * | |
| * Description This function to send BT buffer to the peer device. | |
| * Application should not free the buffer. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * p_buf - pointer to the buffer with data, | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_Write(uint16_t handle, BT_HDR* p_buf); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_WriteData | |
| * | |
| * Description This function is called from the legacy application to | |
| * send data. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * p_data - Data area | |
| * max_len - Byte count to write | |
| * p_len - Bytes written | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_WriteData(uint16_t handle, const char* p_data, uint16_t max_len, | |
| uint16_t* p_len); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_WriteDataCO | |
| * | |
| * Description Normally not GKI aware application will call this function | |
| * to send data to the port by callout functions. | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_WriteDataCO(uint16_t handle, int* p_len); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_Test | |
| * | |
| * Description Application can call this function to send RFCOMM Test frame | |
| * | |
| * Parameters: handle - Handle returned in the RFCOMM_CreateConnection | |
| * p_data - Data area | |
| * max_len - Byte count requested | |
| * | |
| ******************************************************************************/ | |
| extern int PORT_Test(uint16_t handle, uint8_t* p_data, uint16_t len); | |
| /******************************************************************************* | |
| * | |
| * Function RFCOMM_Init | |
| * | |
| * Description This function is called to initialize RFCOMM layer | |
| * | |
| ******************************************************************************/ | |
| extern void RFCOMM_Init(void); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_SetTraceLevel | |
| * | |
| * Description Set the trace level for RFCOMM. If called with | |
| * a value of 0xFF, it simply reads the current trace level. | |
| * | |
| * Returns the new (current) trace level | |
| * | |
| ******************************************************************************/ | |
| extern uint8_t PORT_SetTraceLevel(uint8_t new_level); | |
| /******************************************************************************* | |
| * | |
| * Function PORT_GetResultString | |
| * | |
| * Description This function returns the human-readable string for a given | |
| * result code. | |
| * | |
| * Returns a pointer to the human-readable string for the given | |
| * result. Note that the string returned must not be freed. | |
| * | |
| ******************************************************************************/ | |
| extern const char* PORT_GetResultString(const uint8_t result_code); | |
| #endif /* PORT_API_H */ |