[PATCH BlueZ v4 1/2] lib: Add mgmt opcodes and events for Mesh

Brian Gix
2022-08-31T23:59:45Z

---
lib/mgmt.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

diff --git a/lib/mgmt.h b/lib/mgmt.h
index 430bd0ef6..79b77d31a 100644
--- a/lib/mgmt.h
+++ b/lib/mgmt.h
@@ -760,6 +760,38 @@ struct mgmt_cp_add_adv_patterns_monitor_rssi {
struct mgmt_adv_pattern patterns[0];
} __packed;

+#define MGMT_OP_SET_MESH_RECEIVER 0x0057
+struct mgmt_cp_set_mesh {
+ uint8_t enable;
+ uint16_t window;
+ uint16_t period;
+ uint8_t num_ad_types;
+ uint8_t ad_types[];
+} __packed;
+
+#define MGMT_OP_MESH_READ_FEATURES 0x0058
+struct mgmt_rp_mesh_read_features {
+ uint16_t index;
+ uint8_t max_handles;
+ uint8_t used_handles;
+ uint8_t handles[];
+} __packed;
+
+#define MGMT_OP_MESH_SEND 0x0059
+struct mgmt_cp_mesh_send {
+ struct mgmt_addr_info addr;
+ uint64_t instant;
+ uint16_t delay;
+ uint8_t cnt;
+ uint8_t adv_data_len;
+ uint8_t adv_data[];
+} __packed;
+
+#define MGMT_OP_MESH_SEND_CANCEL 0x005A
+struct mgmt_cp_mesh_send_cancel {
+ uint8_t handle;
+} __packed;
+
#define MGMT_EV_CMD_COMPLETE 0x0001
struct mgmt_ev_cmd_complete {
uint16_t opcode;
@@ -1035,6 +1067,21 @@ struct mgmt_ev_adv_monitor_device_lost {
struct mgmt_addr_info addr;
} __packed;

+#define MGMT_EV_MESH_DEVICE_FOUND 0x0031
+struct mgmt_ev_mesh_device_found {
+ struct mgmt_addr_info addr;
+ int8_t rssi;
+ uint64_t instant;
+ uint32_t flags;
+ uint16_t eir_len;
+ uint8_t eir[];
+} __packed;
+
+#define MGMT_EV_MESH_PACKET_CMPLT 0x0032
+struct mgmt_ev_mesh_pkt_cmplt {
+ uint8_t handle;
+} __packed;
+
static const char *mgmt_op[] = {
"<0x0000>",
"Read Version",
--
2.37.2