LCOV - code coverage report
Current view: top level - zephyr/bluetooth/mesh - dfd.h Coverage Total Hit
Test: new.info Lines: 75.0 % 4 3
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2020 Nordic Semiconductor ASA
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFD_H__
       8              : #define ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFD_H__
       9              : 
      10              : #include <zephyr/bluetooth/mesh.h>
      11              : 
      12              : #ifdef __cplusplus
      13              : extern "C" {
      14              : #endif
      15              : 
      16              : /**
      17              :  * @defgroup bt_mesh_dfd Firmware Distribution models
      18              :  * @ingroup bt_mesh
      19              :  * @{
      20              :  */
      21              : 
      22              : /** Firmware distribution status. */
      23            1 : enum bt_mesh_dfd_status {
      24              :         /** The message was processed successfully. */
      25              :         BT_MESH_DFD_SUCCESS,
      26              : 
      27              :         /** Insufficient resources on the node. */
      28              :         BT_MESH_DFD_ERR_INSUFFICIENT_RESOURCES,
      29              : 
      30              :         /** The operation cannot be performed while the Server is in the current
      31              :          *  phase.
      32              :          */
      33              :         BT_MESH_DFD_ERR_WRONG_PHASE,
      34              : 
      35              :         /** An internal error occurred on the node. */
      36              :         BT_MESH_DFD_ERR_INTERNAL,
      37              : 
      38              :         /** The requested firmware image is not stored on the Distributor. */
      39              :         BT_MESH_DFD_ERR_FW_NOT_FOUND,
      40              : 
      41              :         /** The AppKey identified by the AppKey Index is not known to the node.
      42              :          */
      43              :         BT_MESH_DFD_ERR_INVALID_APPKEY_INDEX,
      44              : 
      45              :         /** There are no Target nodes in the Distribution Receivers List
      46              :          *  state.
      47              :          */
      48              :         BT_MESH_DFD_ERR_RECEIVERS_LIST_EMPTY,
      49              : 
      50              :         /** Another firmware image distribution is in progress. */
      51              :         BT_MESH_DFD_ERR_BUSY_WITH_DISTRIBUTION,
      52              : 
      53              :         /** Another upload is in progress. */
      54              :         BT_MESH_DFD_ERR_BUSY_WITH_UPLOAD,
      55              : 
      56              :         /** The URI scheme name indicated by the Update URI is not supported. */
      57              :         BT_MESH_DFD_ERR_URI_NOT_SUPPORTED,
      58              : 
      59              :         /** The format of the Update URI is invalid. */
      60              :         BT_MESH_DFD_ERR_URI_MALFORMED,
      61              : 
      62              :         /** The URI is currently unreachable. */
      63              :         BT_MESH_DFD_ERR_URI_UNREACHABLE,
      64              : 
      65              :         /** The Check Firmware OOB procedure did not find any new firmware. */
      66              :         BT_MESH_DFD_ERR_NEW_FW_NOT_AVAILABLE,
      67              : 
      68              :         /** The suspension of the Distribute Firmware procedure failed. */
      69              :         BT_MESH_DFD_ERR_SUSPEND_FAILED,
      70              : };
      71              : 
      72              : /** Firmware distribution phases. */
      73            1 : enum bt_mesh_dfd_phase {
      74              :         /** No firmware distribution is in progress. */
      75              :         BT_MESH_DFD_PHASE_IDLE,
      76              : 
      77              :         /** Firmware distribution is in progress. */
      78              :         BT_MESH_DFD_PHASE_TRANSFER_ACTIVE,
      79              : 
      80              :         /** The Transfer BLOB procedure has completed successfully. */
      81              :         BT_MESH_DFD_PHASE_TRANSFER_SUCCESS,
      82              : 
      83              :         /** The Apply Firmware on Target Nodes procedure is being executed. */
      84              :         BT_MESH_DFD_PHASE_APPLYING_UPDATE,
      85              : 
      86              :         /** The Distribute Firmware procedure has completed successfully. */
      87              :         BT_MESH_DFD_PHASE_COMPLETED,
      88              : 
      89              :         /** The Distribute Firmware procedure has failed. */
      90              :         BT_MESH_DFD_PHASE_FAILED,
      91              : 
      92              :         /** The Cancel Firmware Update procedure is being executed. */
      93              :         BT_MESH_DFD_PHASE_CANCELING_UPDATE,
      94              : 
      95              :         /** The Transfer BLOB procedure is suspended. */
      96              :         BT_MESH_DFD_PHASE_TRANSFER_SUSPENDED,
      97              : };
      98              : 
      99              : /** Firmware upload phases. */
     100            1 : enum bt_mesh_dfd_upload_phase {
     101              :         /** No firmware upload is in progress. */
     102              :         BT_MESH_DFD_UPLOAD_PHASE_IDLE,
     103              : 
     104              :         /** The Store Firmware procedure is being executed. */
     105              :         BT_MESH_DFD_UPLOAD_PHASE_TRANSFER_ACTIVE,
     106              : 
     107              :         /** The Store Firmware procedure or Store Firmware OOB procedure failed.
     108              :          */
     109              :         BT_MESH_DFD_UPLOAD_PHASE_TRANSFER_ERROR,
     110              : 
     111              :         /** The Store Firmware procedure or the Store Firmware OOB procedure
     112              :          *  completed successfully.
     113              :          */
     114              :         BT_MESH_DFD_UPLOAD_PHASE_TRANSFER_SUCCESS,
     115              : };
     116              : 
     117              : /** @} */
     118              : 
     119              : #ifdef __cplusplus
     120              : }
     121              : #endif
     122              : 
     123              : #endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFD_H__ */
        

Generated by: LCOV version 2.0-1