10#ifndef ANJAY_INCLUDE_ANJAY_ADVANCED_FW_UPDATE_H
11#define ANJAY_INCLUDE_ANJAY_ADVANCED_FW_UPDATE_H
19#define ANJAY_ADVANCED_FW_UPDATE_OID 33629
71#define ANJAY_ADVANCED_FW_UPDATE_ERR_NOT_ENOUGH_SPACE \
72 (-(int) ANJAY_ADVANCED_FW_UPDATE_RESULT_NOT_ENOUGH_SPACE)
73#define ANJAY_ADVANCED_FW_UPDATE_ERR_OUT_OF_MEMORY \
74 (-(int) ANJAY_ADVANCED_FW_UPDATE_RESULT_OUT_OF_MEMORY)
75#define ANJAY_ADVANCED_FW_UPDATE_ERR_INTEGRITY_FAILURE \
76 (-(int) ANJAY_ADVANCED_FW_UPDATE_RESULT_INTEGRITY_FAILURE)
77#define ANJAY_ADVANCED_FW_UPDATE_ERR_UNSUPPORTED_PACKAGE_TYPE \
78 (-(int) ANJAY_ADVANCED_FW_UPDATE_RESULT_UNSUPPORTED_PACKAGE_TYPE)
79#define ANJAY_ADVANCED_FW_UPDATE_ERR_DEFERRED \
80 (-(int) ANJAY_ADVANCED_FW_UPDATE_RESULT_DEFERRED)
81#define ANJAY_ADVANCED_FW_UPDATE_ERR_CONFLICTING_STATE \
82 (-(int) ANJAY_ADVANCED_FW_UPDATE_RESULT_CONFLICTING_STATE)
83#define ANJAY_ADVANCED_FW_UPDATE_ERR_DEPENDENCY_ERROR \
84 (-(int) ANJAY_ADVANCED_FW_UPDATE_RESULT_DEPENDENCY_ERROR)
108#ifdef ANJAY_WITH_SEND
400 size_t requested_supplemental_iids_count);
478 const char *download_uri);
500 anjay_iid_t iid,
void *user_ptr,
const char *download_uri);
526 anjay_iid_t iid,
void *user_ptr,
const char *download_uri);
672 const char *component_name,
776 size_t target_iids_count);
807 size_t *out_target_iids_count);
838 size_t target_iids_count);
873 size_t *out_target_iids_count);
916#ifdef ANJAY_WITH_DOWNLOADER
void anjay_advanced_fw_update_pull_suspend(anjay_t *anjay)
int anjay_advanced_fw_update_install(anjay_t *anjay, const anjay_advanced_fw_update_global_config_t *config)
int anjay_advanced_fw_update_stream_open_t(anjay_iid_t iid, void *user_ptr)
Definition advanced_fw_update.h:180
int anjay_advanced_fw_update_get_state(anjay_t *anjay, anjay_iid_t iid, anjay_advanced_fw_update_state_t *out_state)
int anjay_advanced_fw_update_set_linked_instances(anjay_t *anjay, anjay_iid_t iid, const anjay_iid_t *target_iids, size_t target_iids_count)
int anjay_advanced_fw_update_stream_write_t(anjay_iid_t iid, void *user_ptr, const void *data, size_t length)
Definition advanced_fw_update.h:206
int anjay_advanced_fw_update_stream_finish_t(anjay_iid_t iid, void *user_ptr)
Definition advanced_fw_update.h:241
void anjay_advanced_fw_update_reset_t(anjay_iid_t iid, void *user_ptr)
Definition advanced_fw_update.h:265
avs_time_real_t anjay_advanced_fw_update_get_last_state_change_time(anjay_t *anjay, anjay_iid_t iid)
int anjay_advanced_fw_update_instance_add(anjay_t *anjay, anjay_iid_t iid, const char *component_name, const anjay_advanced_fw_update_handlers_t *handlers, void *user_arg, const anjay_advanced_fw_update_initial_state_t *initial_state)
anjay_advanced_fw_update_severity_t
Definition advanced_fw_update.h:91
@ ANJAY_ADVANCED_FW_UPDATE_SEVERITY_CRITICAL
Definition advanced_fw_update.h:92
@ ANJAY_ADVANCED_FW_UPDATE_SEVERITY_OPTIONAL
Definition advanced_fw_update.h:94
@ ANJAY_ADVANCED_FW_UPDATE_SEVERITY_MANDATORY
Definition advanced_fw_update.h:93
avs_time_real_t anjay_advanced_fw_update_get_deadline(anjay_t *anjay, anjay_iid_t iid)
const char * anjay_advanced_fw_update_get_pkg_name_t(anjay_iid_t iid, void *user_ptr)
Definition advanced_fw_update.h:293
int anjay_advanced_fw_update_get_conflicting_instances(anjay_t *anjay, anjay_iid_t iid, const anjay_iid_t **out_target_iids, size_t *out_target_iids_count)
avs_time_duration_t anjay_advanced_fw_update_get_tcp_request_timeout_t(anjay_iid_t iid, void *user_ptr, const char *download_uri)
Definition advanced_fw_update.h:525
int anjay_advanced_fw_update_perform_upgrade_t(anjay_iid_t iid, void *user_ptr, const anjay_iid_t *requested_supplemental_iids, size_t requested_supplemental_iids_count)
Definition advanced_fw_update.h:396
int anjay_advanced_fw_update_pull_reconnect(anjay_t *anjay)
anjay_advanced_fw_update_severity_t anjay_advanced_fw_update_get_severity(anjay_t *anjay, anjay_iid_t iid)
const char * anjay_advanced_fw_update_get_current_version_t(anjay_iid_t iid, void *user_ptr)
Definition advanced_fw_update.h:345
int anjay_advanced_fw_update_set_state_and_result(anjay_t *anjay, anjay_iid_t iid, anjay_advanced_fw_update_state_t state, anjay_advanced_fw_update_result_t result)
int anjay_advanced_fw_update_set_conflicting_instances(anjay_t *anjay, anjay_iid_t iid, const anjay_iid_t *target_iids, size_t target_iids_count)
int anjay_advanced_fw_update_get_linked_instances(anjay_t *anjay, anjay_iid_t iid, const anjay_iid_t **out_target_iids, size_t *out_target_iids_count)
avs_coap_udp_tx_params_t anjay_advanced_fw_update_get_coap_tx_params_t(anjay_iid_t iid, void *user_ptr, const char *download_uri)
Definition advanced_fw_update.h:499
int anjay_advanced_fw_update_get_security_config_t(anjay_iid_t iid, void *user_ptr, anjay_security_config_t *out_security_info, const char *download_uri)
Definition advanced_fw_update.h:474
anjay_advanced_fw_update_result_t
Definition advanced_fw_update.h:42
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_NOT_ENOUGH_SPACE
Definition advanced_fw_update.h:45
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_SUCCESS
Definition advanced_fw_update.h:44
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_INTEGRITY_FAILURE
Definition advanced_fw_update.h:48
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_OUT_OF_MEMORY
Definition advanced_fw_update.h:46
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_UNSUPPORTED_PACKAGE_TYPE
Definition advanced_fw_update.h:49
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_UPDATE_CANCELLED
Definition advanced_fw_update.h:53
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_CONNECTION_LOST
Definition advanced_fw_update.h:47
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_INITIAL
Definition advanced_fw_update.h:43
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_CONFLICTING_STATE
Definition advanced_fw_update.h:55
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_INVALID_URI
Definition advanced_fw_update.h:50
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_UNSUPPORTED_PROTOCOL
Definition advanced_fw_update.h:52
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_FAILED
Definition advanced_fw_update.h:51
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_DEFERRED
Definition advanced_fw_update.h:54
@ ANJAY_ADVANCED_FW_UPDATE_RESULT_DEPENDENCY_ERROR
Definition advanced_fw_update.h:56
const char * anjay_advanced_fw_update_get_pkg_version_t(anjay_iid_t iid, void *user_ptr)
Definition advanced_fw_update.h:322
int anjay_advanced_fw_update_get_result(anjay_t *anjay_locked, anjay_iid_t iid, anjay_advanced_fw_update_result_t *out_result)
anjay_advanced_fw_update_state_t
Definition advanced_fw_update.h:28
@ ANJAY_ADVANCED_FW_UPDATE_STATE_IDLE
Definition advanced_fw_update.h:29
@ ANJAY_ADVANCED_FW_UPDATE_STATE_DOWNLOADED
Definition advanced_fw_update.h:31
@ ANJAY_ADVANCED_FW_UPDATE_STATE_UPDATING
Definition advanced_fw_update.h:32
@ ANJAY_ADVANCED_FW_UPDATE_STATE_DOWNLOADING
Definition advanced_fw_update.h:30
uint16_t anjay_iid_t
Definition core.h:1185
struct anjay_struct anjay_t
Definition core.h:45
Definition advanced_fw_update.h:101
bool use_lwm2m_send
Definition advanced_fw_update.h:114
bool prefer_same_socket_downloads
Definition advanced_fw_update.h:107
Definition advanced_fw_update.h:572
anjay_advanced_fw_update_reset_t * reset
Definition advanced_fw_update.h:585
anjay_advanced_fw_update_stream_finish_t * stream_finish
Definition advanced_fw_update.h:581
anjay_advanced_fw_update_get_tcp_request_timeout_t * get_tcp_request_timeout
Definition advanced_fw_update.h:611
anjay_advanced_fw_update_stream_open_t * stream_open
Definition advanced_fw_update.h:575
anjay_advanced_fw_update_get_pkg_name_t * get_pkg_name
Definition advanced_fw_update.h:589
anjay_advanced_fw_update_perform_upgrade_t * perform_upgrade
Definition advanced_fw_update.h:599
anjay_advanced_fw_update_stream_write_t * stream_write
Definition advanced_fw_update.h:578
anjay_advanced_fw_update_get_security_config_t * get_security_config
Definition advanced_fw_update.h:603
anjay_advanced_fw_update_get_pkg_version_t * get_pkg_version
Definition advanced_fw_update.h:592
anjay_advanced_fw_update_get_coap_tx_params_t * get_coap_tx_params
Definition advanced_fw_update.h:607
anjay_advanced_fw_update_get_current_version_t * get_current_version
Definition advanced_fw_update.h:595
Definition advanced_fw_update.h:122
anjay_advanced_fw_update_severity_t persisted_severity
Definition advanced_fw_update.h:138
avs_time_real_t persisted_last_state_change_time
Definition advanced_fw_update.h:143
anjay_advanced_fw_update_state_t state
Definition advanced_fw_update.h:127
avs_time_real_t persisted_update_deadline
Definition advanced_fw_update.h:149
anjay_advanced_fw_update_result_t result
Definition advanced_fw_update.h:133