Serial Port Emulation (RFCOMM)
API Reference
- group bt_rfcomm
- RFCOMM. - Typedefs - 
typedef enum bt_rfcomm_role bt_rfcomm_role_t
- Role of RFCOMM session and dlc. - Used only by internal APIs 
 - Enums 
- Values: - 
enumerator BT_RFCOMM_CHAN_HFP_HF = 1
 - 
enumerator BT_RFCOMM_CHAN_HFP_AG
 - 
enumerator BT_RFCOMM_CHAN_HSP_AG
 - 
enumerator BT_RFCOMM_CHAN_HSP_HS
 - 
enumerator BT_RFCOMM_CHAN_SPP
 
- 
enumerator BT_RFCOMM_CHAN_HFP_HF = 1
 - Functions - 
int bt_rfcomm_server_register(struct bt_rfcomm_server *server)
- Register RFCOMM server. - Register RFCOMM server for a channel, each new connection is authorized using the accept() callback which in case of success shall allocate the dlc structure to be used by the new connection. - Parameters:
- server – Server structure. 
 
- Returns:
- 0 in case of success or negative value in case of error. 
 
 - 
int bt_rfcomm_dlc_connect(struct bt_conn *conn, struct bt_rfcomm_dlc *dlc, uint8_t channel)
- Connect RFCOMM channel. - Connect RFCOMM dlc by channel, once the connection is completed dlc connected() callback will be called. If the connection is rejected disconnected() callback is called instead. - Parameters:
- conn – Connection object. 
- dlc – Dlc object. 
- channel – Server channel to connect to. 
 
- Returns:
- 0 in case of success or negative value in case of error. 
 
 - 
int bt_rfcomm_dlc_send(struct bt_rfcomm_dlc *dlc, struct net_buf *buf)
- Send data to RFCOMM. - Send data from buffer to the dlc. Length should be less than or equal to mtu. - Parameters:
- dlc – Dlc object. 
- buf – Data buffer. 
 
- Returns:
- Bytes sent in case of success or negative value in case of error. 
 
 - 
int bt_rfcomm_dlc_disconnect(struct bt_rfcomm_dlc *dlc)
- Disconnect RFCOMM dlc. - Disconnect RFCOMM dlc, if the connection is pending it will be canceled and as a result the dlc disconnected() callback is called. - Parameters:
- dlc – Dlc object. 
 
- Returns:
- 0 in case of success or negative value in case of error. 
 
 - 
struct net_buf *bt_rfcomm_create_pdu(struct net_buf_pool *pool)
- Allocate the buffer from pool after reserving head room for RFCOMM, L2CAP and ACL headers. - Parameters:
- pool – Which pool to take the buffer from. 
 
- Returns:
- New buffer. 
 
 - 
struct bt_rfcomm_dlc_ops
- #include <rfcomm.h>RFCOMM DLC operations structure. Public Members - 
void (*connected)(struct bt_rfcomm_dlc *dlc)
- DLC connected callback. - If this callback is provided it will be called whenever the connection completes. - Param dlc:
- The dlc that has been connected 
 
 - 
void (*disconnected)(struct bt_rfcomm_dlc *dlc)
- DLC disconnected callback. - If this callback is provided it will be called whenever the dlc is disconnected, including when a connection gets rejected or cancelled (both incoming and outgoing) - Param dlc:
- The dlc that has been Disconnected 
 
 - 
void (*recv)(struct bt_rfcomm_dlc *dlc, struct net_buf *buf)
- DLC recv callback. - Param dlc:
- The dlc receiving data. 
- Param buf:
- Buffer containing incoming data. 
 
 - 
void (*sent)(struct bt_rfcomm_dlc *dlc, int err)
- DLC sent callback. - Param dlc:
- The dlc which has sent data. 
- Param err:
- Sent result. 
 
 
- 
void (*connected)(struct bt_rfcomm_dlc *dlc)
 - 
struct bt_rfcomm_dlc
- #include <rfcomm.h>RFCOMM DLC structure. 
 - 
struct bt_rfcomm_server
- #include <rfcomm.h>Public Members - 
uint8_t channel
- Server Channel. 
 - 
int (*accept)(struct bt_conn *conn, struct bt_rfcomm_dlc **dlc)
- Server accept callback. - This callback is called whenever a new incoming connection requires authorization. - Param conn:
- The connection that is requesting authorization 
- Param dlc:
- Pointer to received the allocated dlc 
- Return:
- 0 in case of success or negative value in case of error. 
 
 
- 
uint8_t channel
 
- 
typedef enum bt_rfcomm_role bt_rfcomm_role_t