23#include "aliro_advtag.h"
31#define ALIRO_BLE_CENTRAL_MAX_VERSIONS 8u
34#define ALIRO_BLE_CENTRAL_SVC_DATA_LEN 26u
38struct aliro_ble_central_adv {
44 uint8_t tag[ALIRO_ADVTAG_LEN];
49struct aliro_ble_central_peer {
51 uint16_t versions[ALIRO_BLE_CENTRAL_MAX_VERSIONS];
52 size_t versions_count;
59int aliro_ble_central_parse_adv(
const uint8_t *svc_data,
size_t len,
60 struct aliro_ble_central_adv *out);
65int aliro_ble_central_adv_matches(
const struct aliro_ble_central_adv *adv,
66 const uint8_t reader_id[32]);
73int aliro_ble_central_parse_read_payload(
const uint8_t *payload,
size_t len,
74 struct aliro_ble_central_peer *out);
81int aliro_ble_central_blesk_salt(
const struct aliro_ble_central_peer *peer, uint16_t selected,
82 uint8_t *out,
size_t cap,
size_t *out_len);
93 void (*on_ready)(uint16_t conn_handle,
const struct aliro_ble_central_peer *peer);
95 void (*on_data)(uint16_t conn_handle,
const uint8_t *data,
size_t len);
97 void (*on_closed)(uint16_t conn_handle);
107 uint8_t reader_id[32];
108 uint16_t selected_version;
120int aliro_ble_central_send(uint16_t conn_handle,
const uint8_t *data,
size_t len);
Callbacks for BLE central transport: on_ready when CoC opens and peer facts are known,...
Definition aliro_ble_central.h:90
Configuration for BLE central transport: reader_id to match by truncated group/sub ID in adverts,...
Definition aliro_ble_central.h:104