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
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.
- Return
0 in case of success or negative value in case of error.
- Parameters
server
: Server structure.
-
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.
- Return
0 in case of success or negative value in case of error.
- Parameters
conn
: Connection object.dlc
: Dlc object.channel
: Server channel to connect to.
-
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.
- Return
Bytes sent in case of success or negative value in case of error.
- Parameters
dlc
: Dlc object.buf
: Data buffer.
-
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.
- Return
0 in case of success or negative value in case of error.
- Parameters
dlc
: Dlc object.
-
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.
- Return
New buffer.
- Parameters
pool
: Which pool to take the buffer from.
-
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.
- Parameters
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)
- Parameters
dlc
: The dlc that has been Disconnected
-
void (*
recv
)(struct bt_rfcomm_dlc *dlc, struct net_buf *buf)¶ DLC recv callback
- Parameters
dlc
: The dlc receiving data.buf
: Buffer containing incoming data.
-
void (*
-
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.
- Return
0 in case of success or negative value in case of error.
- Parameters
conn
: The connection that is requesting authorizationdlc
: Pointer to received the allocated dlc
-
uint8_t
-
typedef enum bt_rfcomm_role