15#ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFD_SRV_H__
16#define ZEPHYR_INCLUDE_BLUETOOTH_MESH_DFD_SRV_H__
28#ifndef CONFIG_BT_MESH_DFD_SRV_TARGETS_MAX
29#define CONFIG_BT_MESH_DFD_SRV_TARGETS_MAX 0
38#define BT_MESH_DFD_SRV_INIT(_cb) \
41 .dfu = BT_MESH_DFU_CLI_INIT(&_bt_mesh_dfd_srv_dfu_cb), \
43 .blob = { .cb = &_bt_mesh_dfd_srv_blob_cb }, \
53#define BT_MESH_MODEL_DFD_SRV(_srv) \
54 BT_MESH_MODEL_DFU_CLI(&(_srv)->dfu), \
55 BT_MESH_MODEL_BLOB_SRV(&(_srv)->upload.blob), \
56 BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_DFD_SRV, _bt_mesh_dfd_srv_op, NULL, \
57 _srv, &_bt_mesh_dfd_srv_cb)
#define CONFIG_BT_MESH_DFD_SRV_TARGETS_MAX
Definition: dfd_srv.h:29
bt_mesh_dfd_upload_phase
Definition: dfd.h:100
bt_mesh_dfd_phase
Definition: dfd.h:73
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
BLOB Transfer Server model event handlers.
Definition: blob_srv.h:51
BLOB Transfer Server instance.
Definition: blob_srv.h:131
Definition: blob_cli.h:40
int(* recv)(struct bt_mesh_dfd_srv *srv, const struct bt_mesh_dfu_slot *slot, const struct bt_mesh_blob_io **io)
Slot receive callback.
Definition: dfd_srv.h:74
void(* del)(struct bt_mesh_dfd_srv *srv, const struct bt_mesh_dfu_slot *slot)
Slot delete callback.
Definition: dfd_srv.h:87
int(* send)(struct bt_mesh_dfd_srv *srv, const struct bt_mesh_dfu_slot *slot, const struct bt_mesh_blob_io **io)
Slot send callback.
Definition: dfd_srv.h:102
void(* phase)(struct bt_mesh_dfd_srv *srv, enum bt_mesh_dfd_phase phase)
Phase change callback (Optional).
Definition: dfd_srv.h:113
Definition: dfd_srv.h:117
struct bt_mesh_blob_target_pull pull_ctxs[0]
Definition: dfd_srv.h:122
struct bt_mesh_dfu_cli dfu
Definition: dfd_srv.h:120
enum bt_mesh_dfd_phase phase
Definition: dfd_srv.h:127
struct bt_mesh_blob_cli_inputs inputs
Definition: dfd_srv.h:128
const struct flash_area * area
Definition: dfd_srv.h:133
uint16_t target_cnt
Definition: dfd_srv.h:124
const struct bt_mesh_blob_io * io
Definition: dfd_srv.h:123
const struct bt_mesh_dfu_slot * slot
Definition: dfd_srv.h:132
const struct bt_mesh_dfd_srv_cb * cb
Definition: dfd_srv.h:118
struct bt_mesh_dfd_srv::@96 upload
enum bt_mesh_dfd_upload_phase phase
Definition: dfd_srv.h:131
struct bt_mesh_blob_srv blob
Definition: dfd_srv.h:134
struct bt_mesh_dfu_target targets[0]
Definition: dfd_srv.h:121
struct bt_mesh_model * mod
Definition: dfd_srv.h:119
bool apply
Definition: dfd_srv.h:126
uint16_t slot_idx
Definition: dfd_srv.h:125
Definition: dfu_cli.h:130
Definition: dfu_cli.h:184
Flash partition.
Definition: flash_map.h:57