summaryrefslogtreecommitdiff
path: root/mesh/mesh.h
Commit message (Collapse)AuthorAgeFilesLines
* mesh: Add new kernel MGMT based IO transportBrian Gix2022-09-261-1/+1
| | | | | | | | | | | 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.
* mesh: Add SPDX License IdentifierTedd Ho-Jeong An2020-09-211-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds SPDX License Identifier and removes the license text. ------------------------------------- License COUNT ------------------------------------- LGPL-2.1-or-later : 48 License: LGPL-2.1-or-later mesh/mesh-mgmt.h mesh/mesh-mgmt.c mesh/net-keys.c mesh/mesh-io-api.h mesh/mesh.h mesh/net-keys.h mesh/model.h mesh/util.h mesh/appkey.c mesh/cfgmod.h mesh/appkey.h mesh/prov.h mesh/prov-acceptor.c mesh/net.c mesh/dbus.h mesh/friend.h mesh/mesh-io-generic.c mesh/main.c mesh/util.c mesh/dbus.c mesh/error.h mesh/mesh-config-json.c mesh/agent.h mesh/pb-adv.c mesh/crypto.c mesh/crypto.h mesh/friend.c mesh/pb-adv.h mesh/provision.h mesh/mesh-config.h mesh/mesh-io-generic.h mesh/agent.c mesh/cfgmod-server.c mesh/mesh-io.h mesh/keyring.h mesh/net.h mesh/keyring.c mesh/mesh-defs.h mesh/mesh.c mesh/rpl.c mesh/manager.c mesh/model.c mesh/mesh-io.c mesh/node.c mesh/prov-initiator.c mesh/rpl.h mesh/node.h mesh/manager.h
* mesh: Add mesh-main.conf file with general mesh configurationInga Stotland2019-12-161-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | This adds key file with default settings for the mesh daemon. The following settings are included: Beacon: Default setting for to indicate whether secure network beaconing is enabled for a node whose Beacon state hasn't been configured by a configuration client, i.e., this setting apllies to a newly provisioned, created or imported node. Relay: Default setting for supporting relay Friendship: Default setting for supporting Friendship CRPL: Default depth of replay protection list. FriendQueueSize: Default size of friend queue: the number of messages that each Friend node can store for the Low Power node. ProvTimeout: Provisioning timeout in seconds.
* mesh: Fix io inititalization sequenceInga Stotland2019-11-151-1/+4
| | | | | | | | | | | This introduces a chain of callbacks to indicate whether mesh io is initialized and mesh network is ready to use. This fixes the reported situation when the receive callbacks were setup before the HCI was fully initialized. In other words, BT_HCI_CMD_LE_SET_SCAN_PARAMETERS was called before BT_HCI_CMD_RESET and, as the result, the callback issueing BT_HCI_CMD_LE_SET_SCAN_ENABLE command was not called.
* mesh: Manage node config directory in mesh-configInga Stotland2019-07-151-0/+1
| | | | | | | | | | | | | | | | | | | This completely removes storage.c file. Instead, the handling of mesh node configuration storage is done completely in mesh-config layer by calling the following API functions: bool mesh_config_load_nodes(const char *cfg_dir, mesh_config_node_func_t cb, void *user_data) void mesh_config_release(struct mesh_config *cfg) void mesh_config_destroy(struct mesh_config *cfg) bool mesh_config_save(struct mesh_config *cfg, bool no_wait, mesh_config_status_func_t cb, void *user_data) struct mesh_config *mesh_config_create(const char *cfg_path, const uint8_t uuid[16], struct mesh_config_node *node)
* mesh: Convert provisioning pkts to packed structsBrian Gix2019-07-141-2/+1
| | | | | | Provisioning packets are defined in the specification as packed big endian structures. Instead of specifying an octet array, we now use struct matching the spec.
* mesh: Expose mapping function for D-Bus errorsBrian Gix2019-07-141-0/+1
|
* mesh: Move HCI handling to mesh-io-genericMichaƂ Lowas-Rzechonek2019-06-241-1/+3
| | | | | | | | | | | This patch separates 'mesh' module from 'mesh_io', particularly regarding configuration and initialization. Main code is no longer aware of MGMT and HCI usage - querying available HCI interfaces now happens in mesh-io-generic. MGMT code is now extracted into mesh-mgmt module, which mesh-io-generic uses to query interfaces.
* mesh: Add skeleton for org.bluez.mesh.Management1 interfaceInga Stotland2019-05-151-0/+1
| | | | | This adds bare-bones imlementation of methods on org.bluez.mesh.Management1 interface.
* mesh: Add check for org.bluez.mesh.Provisioner1 interfaceInga Stotland2019-05-151-1/+2
| | | | | | | | This adds check for the presence of org.bluez.mesh.Provisioner1 interface when collecting information about mesh application that is received in callback of GetManagedObjects() method. Set "provisioner" flag in the node structure to trueto indicate that the node may act aa a provisioner.
* mesh: Implement org.bluez.mesh.Network APIInga Stotland2019-01-081-10/+18
| | | | | | | | | This implements the following methods of org.bluez.mesh.Network interface: Join(), Attach(), Cancel(). The methods are described in doc/mesh-api.txt document. Also, add changes to reflect that the single daemon now handles multiple local mesh nodes.
* mesh: Add start up management command chainInga Stotland2018-09-061-2/+2
| | | | | | This allows co-existense of meshd and bluetoothd. meshd will automatically take control of the first available LE-capable controller that is powered down.
* mesh: Header files for mesh access layer and utilitiesInga Stotland2018-08-201-0/+32
This adds initial implementation of Mesh access layer functionality