Anjay Lite
Loading...
Searching...
No Matches
fw_update.h
Go to the documentation of this file.
1/*
2 * Copyright 2023-2025 AVSystem <avsystem@avsystem.com>
3 * AVSystem Anjay Lite LwM2M SDK
4 * All rights reserved.
5 *
6 * Licensed under AVSystem Anjay Lite LwM2M Client SDK - Non-Commercial License.
7 * See the attached LICENSE file for details.
8 */
9
10#include <anj/init.h>
11
21#ifndef ANJ_DM_FW_UPDATE_H
22# define ANJ_DM_FW_UPDATE_H
23
24# include <stddef.h>
25# include <stdint.h>
26
27# include <anj/core.h>
28# include <anj/dm/core.h>
29
30# ifdef __cplusplus
31extern "C" {
32# endif
33
34# ifdef ANJ_WITH_DEFAULT_FOTA_OBJ
35
47
76
99
122 void *user_ptr, const void *data, size_t data_size);
123
148
173 const char *uri);
174
206typedef int anj_dm_fw_update_update_start_t(void *user_ptr);
207
230typedef const char *anj_dm_fw_update_get_name_t(void *user_ptr);
231
255typedef const char *anj_dm_fw_update_get_version_t(void *user_ptr);
256
273typedef void anj_dm_fw_update_reset_t(void *user_ptr);
274
307
317typedef struct {
320 struct {
321 int8_t state;
322 int8_t result;
324 void *user_ptr;
325# if defined(ANJ_FOTA_WITH_PULL_METHOD)
326 char uri[256];
327# endif // defined (ANJ_FOTA_WITH_PULL_METHOD)
328# if defined(ANJ_FOTA_WITH_PUSH_METHOD)
330# endif // defined (ANJ_FOTA_WITH_PUSH_METHOD)
331 } repr;
333
349 void *user_ptr);
350
368 anj_t *anj,
371
390 anj_t *anj,
393
394# endif // ANJ_WITH_DEFAULT_FOTA_OBJ
395
396# ifdef __cplusplus
397}
398# endif
399
400#endif // ANJ_DM_FW_UPDATE_H
Core LwM2M client API.
struct anj_struct anj_t
Definition defs.h:136
Core data model API: object management, read/write helpers, bootstrap.
anj_dm_fw_update_result_t anj_dm_fw_update_package_write_t(void *user_ptr, const void *data, size_t data_size)
Definition fw_update.h:121
const char * anj_dm_fw_update_get_name_t(void *user_ptr)
Definition fw_update.h:230
void anj_dm_fw_update_reset_t(void *user_ptr)
Definition fw_update.h:273
anj_dm_fw_update_result_t
Definition fw_update.h:64
@ ANJ_DM_FW_UPDATE_RESULT_CONNECTION_LOST
Definition fw_update.h:69
@ ANJ_DM_FW_UPDATE_RESULT_OUT_OF_MEMORY
Definition fw_update.h:68
@ ANJ_DM_FW_UPDATE_RESULT_UNSUPPORTED_PROTOCOL
Definition fw_update.h:74
@ ANJ_DM_FW_UPDATE_RESULT_INTEGRITY_FAILURE
Definition fw_update.h:70
@ ANJ_DM_FW_UPDATE_RESULT_SUCCESS
Definition fw_update.h:66
@ ANJ_DM_FW_UPDATE_RESULT_INVALID_URI
Definition fw_update.h:72
@ ANJ_DM_FW_UPDATE_RESULT_NOT_ENOUGH_SPACE
Definition fw_update.h:67
@ ANJ_DM_FW_UPDATE_RESULT_UNSUPPORTED_PACKAGE_TYPE
Definition fw_update.h:71
@ ANJ_DM_FW_UPDATE_RESULT_INITIAL
Definition fw_update.h:65
@ ANJ_DM_FW_UPDATE_RESULT_FAILED
Definition fw_update.h:73
const char * anj_dm_fw_update_get_version_t(void *user_ptr)
Definition fw_update.h:255
anj_dm_fw_update_result_t anj_dm_fw_update_package_write_start_t(void *user_ptr)
Definition fw_update.h:98
anj_dm_fw_update_state_t
Definition fw_update.h:41
@ ANJ_DM_FW_UPDATE_STATE_DOWNLOADED
Definition fw_update.h:44
@ ANJ_DM_FW_UPDATE_STATE_UPDATING
Definition fw_update.h:45
@ ANJ_DM_FW_UPDATE_STATE_DOWNLOADING
Definition fw_update.h:43
@ ANJ_DM_FW_UPDATE_STATE_IDLE
Definition fw_update.h:42
anj_dm_fw_update_result_t anj_dm_fw_update_package_write_finish_t(void *user_ptr)
Definition fw_update.h:147
void anj_dm_fw_update_object_set_update_result(anj_t *anj, anj_dm_fw_update_entity_ctx_t *entity_ctx, anj_dm_fw_update_result_t result)
int anj_dm_fw_update_update_start_t(void *user_ptr)
Definition fw_update.h:206
int anj_dm_fw_update_object_install(anj_t *anj, anj_dm_fw_update_entity_ctx_t *entity_ctx, anj_dm_fw_update_handlers_t *handlers, void *user_ptr)
anj_dm_fw_update_result_t anj_dm_fw_update_uri_write_t(void *user_ptr, const char *uri)
Definition fw_update.h:172
int anj_dm_fw_update_object_set_download_result(anj_t *anj, anj_dm_fw_update_entity_ctx_t *entity_ctx, anj_dm_fw_update_result_t result)
Global configuration validation header for Anjay Lite.
Definition fw_update.h:317
anj_dm_obj_inst_t inst
Definition fw_update.h:319
anj_dm_obj_t obj
Definition fw_update.h:318
void * user_ptr
Definition fw_update.h:324
bool write_start_called
Definition fw_update.h:329
anj_dm_fw_update_handlers_t * user_handlers
Definition fw_update.h:323
int8_t state
Definition fw_update.h:321
int8_t result
Definition fw_update.h:322
Definition fw_update.h:282
anj_dm_fw_update_get_name_t * get_name
Definition fw_update.h:299
anj_dm_fw_update_package_write_start_t * package_write_start_handler
Definition fw_update.h:284
anj_dm_fw_update_reset_t * reset_handler
Definition fw_update.h:305
anj_dm_fw_update_update_start_t * update_start_handler
Definition fw_update.h:296
anj_dm_fw_update_uri_write_t * uri_write_handler
Definition fw_update.h:293
anj_dm_fw_update_get_version_t * get_version
Definition fw_update.h:302
anj_dm_fw_update_package_write_finish_t * package_write_finish_handler
Definition fw_update.h:290
anj_dm_fw_update_package_write_t * package_write_handler
Definition fw_update.h:287
Definition defs.h:124
Definition defs.h:157