Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Bluetooth Coordinated Set Identification Profile (CSIP) APIs. More...
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <zephyr/autoconf.h>
#include <zephyr/bluetooth/bluetooth.h>
#include <zephyr/bluetooth/conn.h>
#include <zephyr/bluetooth/gap.h>
#include <zephyr/kernel.h>
#include <zephyr/sys/slist.h>
Go to the source code of this file.
Data Structures | |
struct | bt_csip_set_member_cb |
Callback structure for the Coordinated Set Identification Service. More... | |
struct | bt_csip_set_member_register_param |
Register structure for Coordinated Set Identification Service. More... | |
struct | bt_csip_set_coordinator_set_info |
Information about a specific set. More... | |
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 representing a remote device as a set member. More... | |
struct | bt_csip_set_coordinator_cb |
Struct to hold the Coordinated Set Identification Profile Set Coordinator callbacks. More... | |
Macros | |
#define | BT_CSIP_SET_COORDINATOR_DISCOVER_TIMER_VALUE K_SECONDS(10) |
Recommended timer for member discovery. | |
#define | BT_CSIP_SET_COORDINATOR_MAX_CSIS_INSTANCES 0 |
Defines the maximum number of Coordinated Set Identification service instances for the Coordinated Set Identification Set Coordinator. | |
#define | BT_CSIP_READ_SIRK_REQ_RSP_ACCEPT 0x00 |
Accept the request to read the SIRK as plaintext. | |
#define | BT_CSIP_READ_SIRK_REQ_RSP_ACCEPT_ENC 0x01 |
Accept the request to read the SIRK, but return encrypted SIRK. | |
#define | BT_CSIP_READ_SIRK_REQ_RSP_REJECT 0x02 |
Reject the request to read the SIRK. | |
#define | BT_CSIP_READ_SIRK_REQ_RSP_OOB_ONLY 0x03 |
SIRK is available only via an OOB procedure. | |
#define | BT_CSIP_SIRK_SIZE 16 |
Size of the Set Identification Resolving Key (SIRK) | |
#define | BT_CSIP_RSI_SIZE 6 |
Size of the Resolvable Set Identifier (RSI) | |
#define | BT_CSIP_ERROR_LOCK_DENIED 0x80 |
Service is already locked. | |
#define | BT_CSIP_ERROR_LOCK_RELEASE_DENIED 0x81 |
Service is not locked. | |
#define | BT_CSIP_ERROR_LOCK_INVAL_VALUE 0x82 |
Invalid lock value. | |
#define | BT_CSIP_ERROR_SIRK_OOB_ONLY 0x83 |
SIRK only available out-of-band. | |
#define | BT_CSIP_ERROR_LOCK_ALREADY_GRANTED 0x84 |
Client is already owner of the lock. | |
#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. | |
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. | |
typedef void(* | bt_csip_set_coordinator_lock_set_cb) (int err) |
Callback for locking a set across one or more devices. | |
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. | |
typedef void(* | bt_csip_set_coordinator_sirk_changed_cb) (struct bt_csip_set_coordinator_csis_inst *inst) |
Callback when the SIRK value of a set of a connected device changes. | |
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() | |
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() | |
Functions | |
void * | bt_csip_set_member_svc_decl_get (const struct bt_csip_set_member_svc_inst *svc_inst) |
Get the service declaration attribute. | |
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. | |
int | bt_csip_set_member_unregister (struct bt_csip_set_member_svc_inst *svc_inst) |
Unregister a Coordinated Set Identification Service instance. | |
int | bt_csip_set_member_sirk (struct bt_csip_set_member_svc_inst *svc_inst, const uint8_t sirk[16]) |
Set the SIRK of a service instance. | |
int | bt_csip_set_member_get_sirk (struct bt_csip_set_member_svc_inst *svc_inst, uint8_t sirk[16]) |
Get the SIRK of a service instance. | |
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. | |
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. | |
int | bt_csip_set_coordinator_discover (struct bt_conn *conn) |
Initialise the csip_set_coordinator instance for a connection. | |
struct bt_csip_set_coordinator_set_member * | bt_csip_set_coordinator_set_member_by_conn (const struct bt_conn *conn) |
Get the set member from a connection pointer. | |
bool | bt_csip_set_coordinator_is_set_member (const uint8_t sirk[16], struct bt_data *data) |
Check if advertising data indicates a set member. | |
int | bt_csip_set_coordinator_register_cb (struct bt_csip_set_coordinator_cb *cb) |
Registers callbacks for csip_set_coordinator. | |
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. | |
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. | |
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. | |
Bluetooth Coordinated Set Identification Profile (CSIP) APIs.