Zephyr API Documentation  3.6.0
A Scalable Open Source RTOS
3.6.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
csip.h File Reference

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
 

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
 
#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_SET_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_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.
 
void bt_csip_set_member_print_sirk (const struct bt_csip_set_member_svc_inst *svc_inst)
 Print the SIRK to the debug output.
 
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.
 
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.
 
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.