summaryrefslogtreecommitdiff
path: root/mesh/mesh-io-api.h
diff options
context:
space:
mode:
authorBrian Gix <brian.gix@intel.com>2022-09-22 15:31:02 -0700
committerBrian Gix <brian.gix@intel.com>2022-09-26 13:14:47 -0700
commit9966cb8b6999a5f54fc13acbd7e1526512a84342 (patch)
tree340ca4b754716a30e8fb29a07423e31c8f704864 /mesh/mesh-io-api.h
parent491be481a91c39d31f7908da8a2beea60237646e (diff)
downloadbluez-9966cb8b6999a5f54fc13acbd7e1526512a84342.tar.gz
mesh: Add new kernel MGMT based IO transport
1. Re-structures MGMT handling such that it is used to detect kernel support of the mesh MGMT opcodes and events before selecting between using MGMT or the legacy raw HCI socket method. 2. Re-structures main() to allow command line to prefer MGMT over HCI or visa versa, plus optionally pass an explicte controller. 3. Adds mesh-io-mgmt as a transport.
Diffstat (limited to 'mesh/mesh-io-api.h')
-rw-r--r--mesh/mesh-io-api.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/mesh/mesh-io-api.h b/mesh/mesh-io-api.h
index 61f79f224..21c505cd0 100644
--- a/mesh/mesh-io-api.h
+++ b/mesh/mesh-io-api.h
@@ -10,8 +10,7 @@
struct mesh_io_private;
-typedef bool (*mesh_io_init_t)(struct mesh_io *io, void *opts,
- mesh_io_ready_func_t cb, void *user_data);
+typedef bool (*mesh_io_init_t)(struct mesh_io *io, void *opts, void *user_data);
typedef bool (*mesh_io_destroy_t)(struct mesh_io *io);
typedef bool (*mesh_io_caps_t)(struct mesh_io *io, struct mesh_io_caps *caps);
typedef bool (*mesh_io_send_t)(struct mesh_io *io,
@@ -36,9 +35,13 @@ struct mesh_io_api {
};
struct mesh_io {
- enum mesh_io_type type;
- const struct mesh_io_api *api;
+ int index;
+ int favored_index;
+ mesh_io_ready_func_t ready;
+ struct l_queue *rx_regs;
struct mesh_io_private *pvt;
+ void *user_data;
+ const struct mesh_io_api *api;
};
struct mesh_io_table {