7#ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_BLOB_CLI_H_ 
    8#define ZEPHYR_INCLUDE_BLUETOOTH_MESH_BLOB_CLI_H_ 
   33#define BT_MESH_MODEL_BLOB_CLI(_cli)                                           \ 
   34        BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_BLOB_CLI, _bt_mesh_blob_cli_op,      \ 
   35                         NULL, _cli, &_bt_mesh_blob_cli_cb) 
  263struct blob_cli_broadcast_ctx {
 
  298                struct blob_cli_broadcast_ctx 
ctx;
 
static ssize_t send(int sock, const void *buf, size_t len, int flags)
Definition: socket.h:738
 
uint8_t bt_mesh_blob_cli_xfer_progress_active_get(struct bt_mesh_blob_cli *cli)
Get the current progress of the active transfer in percent.
 
int bt_mesh_blob_cli_xfer_progress_get(struct bt_mesh_blob_cli *cli, const struct bt_mesh_blob_cli_inputs *inputs)
Get the progress of BLOB transfer.
 
void bt_mesh_blob_cli_cancel(struct bt_mesh_blob_cli *cli)
Cancel an ongoing transfer.
 
bool bt_mesh_blob_cli_is_busy(struct bt_mesh_blob_cli *cli)
Get the current state of the BLOB Transfer Client.
 
int bt_mesh_blob_cli_resume(struct bt_mesh_blob_cli *cli)
Resume the suspended transfer.
 
int bt_mesh_blob_cli_send(struct bt_mesh_blob_cli *cli, const struct bt_mesh_blob_cli_inputs *inputs, const struct bt_mesh_blob_xfer *xfer, const struct bt_mesh_blob_io *io)
Perform a BLOB transfer.
 
int bt_mesh_blob_cli_suspend(struct bt_mesh_blob_cli *cli)
Suspend the active transfer.
 
int bt_mesh_blob_cli_caps_get(struct bt_mesh_blob_cli *cli, const struct bt_mesh_blob_cli_inputs *inputs)
Retrieve transfer capabilities for a list of Target nodes.
 
bt_mesh_blob_cli_state
Definition: blob_cli.h:163
 
@ BT_MESH_BLOB_CLI_STATE_BLOCK_CHECK
Definition: blob_cli.h:175
 
@ BT_MESH_BLOB_CLI_STATE_NONE
Definition: blob_cli.h:165
 
@ BT_MESH_BLOB_CLI_STATE_CANCEL
Definition: blob_cli.h:179
 
@ BT_MESH_BLOB_CLI_STATE_CAPS_GET
Definition: blob_cli.h:167
 
@ BT_MESH_BLOB_CLI_STATE_SUSPENDED
Definition: blob_cli.h:181
 
@ BT_MESH_BLOB_CLI_STATE_START
Definition: blob_cli.h:169
 
@ BT_MESH_BLOB_CLI_STATE_XFER_CHECK
Definition: blob_cli.h:177
 
@ BT_MESH_BLOB_CLI_STATE_BLOCK_SEND
Definition: blob_cli.h:173
 
@ BT_MESH_BLOB_CLI_STATE_XFER_PROGRESS_GET
Definition: blob_cli.h:183
 
@ BT_MESH_BLOB_CLI_STATE_BLOCK_START
Definition: blob_cli.h:171
 
bt_mesh_blob_xfer_phase
Definition: blob.h:41
 
#define CONFIG_BT_MESH_BLOB_CHUNK_COUNT_MAX
Definition: blob.h:25
 
bt_mesh_blob_status
Definition: blob.h:57
 
bt_mesh_blob_xfer_mode
Definition: blob.h:29
 
#define DIV_ROUND_UP(n, d)
Divide and round up.
Definition: util.h:262
 
int target
Definition: main.c:68
 
struct _slist sys_slist_t
Definition: slist.h:40
 
struct _snode sys_snode_t
Definition: slist.h:33
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
__UINT64_TYPE__ uint64_t
Definition: stdint.h:91
 
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
 
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
 
__INT64_TYPE__ int64_t
Definition: stdint.h:75
 
Definition: blob_cli.h:139
 
enum bt_mesh_blob_xfer_mode modes
Definition: blob_cli.h:159
 
uint16_t max_chunks
Definition: blob_cli.h:150
 
uint8_t max_block_size_log
Definition: blob_cli.h:147
 
uint16_t mtu_size
Definition: blob_cli.h:156
 
uint8_t min_block_size_log
Definition: blob_cli.h:144
 
uint16_t max_chunk_size
Definition: blob_cli.h:153
 
size_t max_size
Definition: blob_cli.h:141
 
Definition: blob_cli.h:190
 
void(* suspended)(struct bt_mesh_blob_cli *cli)
Transfer is suspended.
Definition: blob_cli.h:225
 
void(* lost_target)(struct bt_mesh_blob_cli *cli, struct bt_mesh_blob_target *target, enum bt_mesh_blob_status reason)
Target node loss callback.
Definition: blob_cli.h:215
 
void(* xfer_progress)(struct bt_mesh_blob_cli *cli, struct bt_mesh_blob_target *target, const struct bt_mesh_blob_xfer_info *info)
Transfer progress callback.
Definition: blob_cli.h:249
 
void(* caps)(struct bt_mesh_blob_cli *cli, const struct bt_mesh_blob_cli_caps *caps)
Capabilities retrieval completion callback.
Definition: blob_cli.h:202
 
void(* end)(struct bt_mesh_blob_cli *cli, const struct bt_mesh_blob_xfer *xfer, bool success)
Transfer end callback.
Definition: blob_cli.h:237
 
void(* xfer_progress_complete)(struct bt_mesh_blob_cli *cli)
End of Get Transfer Progress procedure.
Definition: blob_cli.h:259
 
Definition: blob_cli.h:289
 
uint16_t pending
Definition: blob_cli.h:303
 
struct bt_mesh_model * mod
Definition: blob_cli.h:294
 
const struct bt_mesh_blob_io * io
Definition: blob_cli.h:309
 
struct bt_mesh_blob_target * target
Definition: blob_cli.h:297
 
uint16_t block_count
Definition: blob_cli.h:312
 
const struct bt_mesh_blob_cli_cb * cb
Definition: blob_cli.h:291
 
uint8_t cancelled
Definition: blob_cli.h:306
 
int64_t cli_timestamp
Definition: blob_cli.h:301
 
struct blob_cli_broadcast_ctx ctx
Definition: blob_cli.h:298
 
uint8_t sending
Definition: blob_cli.h:305
 
const struct bt_mesh_blob_xfer * xfer
Definition: blob_cli.h:311
 
struct bt_mesh_blob_cli::@86 tx
 
struct k_work complete
Definition: blob_cli.h:302
 
const struct bt_mesh_blob_cli_inputs * inputs
Definition: blob_cli.h:310
 
struct bt_mesh_blob_cli_caps caps
Definition: blob_cli.h:317
 
uint16_t chunk_idx
Definition: blob_cli.h:313
 
uint16_t mtu_size
Definition: blob_cli.h:314
 
enum bt_mesh_blob_cli_state state
Definition: blob_cli.h:315
 
uint8_t retries
Definition: blob_cli.h:304
 
struct bt_mesh_blob_block block
Definition: blob_cli.h:316
 
struct k_work_delayable retry
Definition: blob_cli.h:299
 
Definition: blob_cli.h:40
 
uint8_t missing[DIV_ROUND_UP(CONFIG_BT_MESH_BLOB_CHUNK_COUNT_MAX, 8)]
Definition: blob_cli.h:45
 
int64_t block_report_timestamp
Definition: blob_cli.h:42
 
Definition: blob_cli.h:49
 
struct bt_mesh_blob_target_pull * pull
Definition: blob_cli.h:59
 
uint8_t timedout
Definition: blob_cli.h:66
 
uint8_t acked
Definition: blob_cli.h:65
 
uint8_t status
Definition: blob_cli.h:62
 
uint8_t procedure_complete
Definition: blob_cli.h:64
 
uint8_t skip
Definition: blob_cli.h:67
 
uint16_t addr
Definition: blob_cli.h:54
 
sys_snode_t n
Definition: blob_cli.h:51
 
Definition: blob_cli.h:77
 
uint64_t id
Definition: blob_cli.h:88
 
enum bt_mesh_blob_xfer_phase phase
Definition: blob_cli.h:85
 
enum bt_mesh_blob_xfer_mode mode
Definition: blob_cli.h:82
 
const uint8_t * missing_blocks
Definition: blob_cli.h:100
 
enum bt_mesh_blob_status status
Definition: blob_cli.h:79
 
uint32_t size
Definition: blob_cli.h:91
 
uint8_t block_size_log
Definition: blob_cli.h:94
 
uint16_t mtu_size
Definition: blob_cli.h:97
 
A structure used to submit work after a delay.
Definition: kernel.h:3793
 
A structure used to submit work.
Definition: kernel.h:3765
 
static volatile bool success[4]
Definition: test_mslab_threadsafe.c:37