Zephyr Project API  3.3.0
A Scalable Open Source RTOS
csip.h File Reference
#include <zephyr/types.h>
#include <stdbool.h>
#include <zephyr/bluetooth/conn.h>

Go to the source code of this file.

Data Structures

struct  bt_csip_set_member_cb
 
struct  bt_csip_set_member_register_param
 
struct  bt_csip_set_coordinator_set_info
 
struct  bt_csip_set_coordinator_csis_inst
 Struct representing a coordinated set instance on a remote device. More...
 
struct  bt_csip_set_coordinator_set_member
 
struct  bt_csip_set_coordinator_cb
 

Macros

#define BT_CSIP_SET_COORDINATOR_DISCOVER_TIMER_VALUE   K_SECONDS(10)
 
#define BT_CSIP_SET_COORDINATOR_MAX_CSIS_INSTANCES   0
 
#define BT_CSIP_READ_SIRK_REQ_RSP_ACCEPT   0x00
 
#define BT_CSIP_READ_SIRK_REQ_RSP_ACCEPT_ENC   0x01
 
#define BT_CSIP_READ_SIRK_REQ_RSP_REJECT   0x02
 
#define BT_CSIP_READ_SIRK_REQ_RSP_OOB_ONLY   0x03
 
#define BT_CSIP_SET_SIRK_SIZE   16
 
#define BT_CSIP_RSI_SIZE   6
 
#define BT_CSIP_ERROR_LOCK_DENIED   0x80
 
#define BT_CSIP_ERROR_LOCK_RELEASE_DENIED   0x81
 
#define BT_CSIP_ERROR_LOCK_INVAL_VALUE   0x82
 
#define BT_CSIP_ERROR_SIRK_OOB_ONLY   0x83
 
#define BT_CSIP_ERROR_LOCK_ALREADY_GRANTED   0x84
 
#define BT_CSIP_DATA_RSI(_rsi)   BT_DATA(BT_DATA_CSIS_RSI, _rsi, BT_CSIP_RSI_SIZE)
 Helper to declare bt_data array including RSI. More...
 

Typedefs

typedef void(* bt_csip_set_coordinator_discover_cb) (struct bt_conn *conn, const struct bt_csip_set_coordinator_set_member *member, int err, size_t set_count)
 Callback for discovering Coordinated Set Identification Services. More...
 
typedef void(* bt_csip_set_coordinator_lock_set_cb) (int err)
 Callback for locking a set across one or more devices. More...
 
typedef void(* bt_csip_set_coordinator_lock_changed_cb) (struct bt_csip_set_coordinator_csis_inst *inst, bool locked)
 Callback when the lock value on a set of a connected device changes. More...
 
typedef void(* bt_csip_set_coordinator_ordered_access_cb_t) (const struct bt_csip_set_coordinator_set_info *set_info, int err, bool locked, struct bt_csip_set_coordinator_set_member *member)
 Callback for bt_csip_set_coordinator_ordered_access() More...
 
typedef bool(* bt_csip_set_coordinator_ordered_access_t) (const struct bt_csip_set_coordinator_set_info *set_info, struct bt_csip_set_coordinator_set_member *members[], size_t count)
 Callback function definition for bt_csip_set_coordinator_ordered_access() More...
 

Functions

void * bt_csip_set_member_svc_decl_get (const struct bt_csip_set_member_svc_inst *svc_inst)
 Get the service declaration attribute. More...
 
int bt_csip_set_member_register (const struct bt_csip_set_member_register_param *param, struct bt_csip_set_member_svc_inst **svc_inst)
 Register a Coordinated Set Identification Service instance. More...
 
void bt_csip_set_member_print_sirk (const struct bt_csip_set_member_svc_inst *svc_inst)
 Print the SIRK to the debug output. More...
 
int bt_csip_set_member_generate_rsi (const struct bt_csip_set_member_svc_inst *svc_inst, uint8_t rsi[6])
 Generate the Resolvable Set Identifier (RSI) value. More...
 
int bt_csip_set_member_lock (struct bt_csip_set_member_svc_inst *svc_inst, bool lock, bool force)
 Locks a specific Coordinated Set Identification Service instance on the server. More...
 
int bt_csip_set_coordinator_discover (struct bt_conn *conn)
 Initialise the csip_set_coordinator instance for a connection. This will do a discovery on the device and prepare the instance for following commands. More...
 
bool bt_csip_set_coordinator_is_set_member (const uint8_t set_sirk[16], struct bt_data *data)
 Check if advertising data indicates a set member. More...
 
int bt_csip_set_coordinator_register_cb (struct bt_csip_set_coordinator_cb *cb)
 Registers callbacks for csip_set_coordinator. More...
 
int bt_csip_set_coordinator_ordered_access (const struct bt_csip_set_coordinator_set_member *members[], uint8_t count, const struct bt_csip_set_coordinator_set_info *set_info, bt_csip_set_coordinator_ordered_access_t cb)
 Access Coordinated Set devices in an ordered manner as a client. More...
 
int bt_csip_set_coordinator_lock (const struct bt_csip_set_coordinator_set_member **members, uint8_t count, const struct bt_csip_set_coordinator_set_info *set_info)
 Lock an array of set members. More...
 
int bt_csip_set_coordinator_release (const struct bt_csip_set_coordinator_set_member **members, uint8_t count, const struct bt_csip_set_coordinator_set_info *set_info)
 Release an array of set members. More...