Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
bt_goep_transport_rfcomm_server Struct Reference

GOEP Server structure GOEP v1.1. More...

#include <zephyr/bluetooth/classic/goep.h>

Data Fields

struct bt_rfcomm_server rfcomm
 RFCOMM server for GOEP v1.1.
int(* accept )(struct bt_conn *conn, struct bt_goep_transport_rfcomm_server *server, struct bt_goep **goep)
 Server accept callback.
sys_snode_t node

Detailed Description

GOEP Server structure GOEP v1.1.

Field Documentation

◆ accept

int(* bt_goep_transport_rfcomm_server::accept) (struct bt_conn *conn, struct bt_goep_transport_rfcomm_server *server, struct bt_goep **goep)

Server accept callback.

This callback is called whenever a new incoming GOEP connection requires authorization.

Before returning the callback, bt_goep::transport_ops should be initialized with valid address of type bt_goep_transport_ops object. The value of the field mtu of bt_obex::rx will be ignored. Instead, it will be assigned the value that be calculated based on CONFIG_BT_GOEP_RFCOMM_MTU.

Warning
It is the responsibility of the caller to zero out the parent of the GOEP object.
Note
The accept callback must initialize the returned GOEP instance as follows:
Parameters
connThe connection that is requesting authorization.
serverPointer to the server structure this callback relates to.
goepPointer to received the allocated GOEP object.
Returns
0 in case of success or negative value in case of error.
-ENOMEM if no available space for new object.
-EACCES if application did not authorize the connection.
-EPERM if encryption key size is too short.

◆ node

sys_snode_t bt_goep_transport_rfcomm_server::node

◆ rfcomm

struct bt_rfcomm_server bt_goep_transport_rfcomm_server::rfcomm

RFCOMM server for GOEP v1.1.

The bt_goep_transport_rfcomm_server::rfcomm is used to register a rfcomm server.

The bt_rfcomm_server::channel needs to be passed with a pre-set channel (not recommended however), Or give a value 0 to make the channel be auto-allocated when bt_goep_transport_rfcomm_server_register is called. The bt_rfcomm_server::accept should be not used by GOEP application, and instead the bt_goep_transport_rfcomm_server::accept should be used.


The documentation for this struct was generated from the following file:
  • zephyr/bluetooth/classic/goep.h