bowen liu
/
mbed-os-example-blinky
ex
Fork of mbed-os-example-mbed5-blinky by
Embed:
(wiki syntax)
Show/hide line numbers
IOtaUpdater.h
00001 /* 00002 * IOtaUpdater.h 00003 * 00004 * Created on: 2016-7-15 00005 * Author: duanlian01 00006 */ 00007 00008 #ifndef IOTAUPDATER_H_ 00009 #define IOTAUPDATER_H_ 00010 00011 #define PACKAGE_NAME_LENGTH_MAX (15) 00012 #define PACKAGE_TYPE_OS 1 00013 #define PACKAGE_TYPE_APP 2 00014 #define PACKAGE_NO_UPDATE 0 00015 #define PACKAGE_UPDATE 1 00016 00017 struct meta_data_basic_info{ 00018 char package_name[PACKAGE_NAME_LENGTH_MAX + 1]; 00019 unsigned char package_type; 00020 unsigned char package_update; 00021 }; 00022 00023 00024 #define MODULE_NAME_LENGTH_MAX (PACKAGE_NAME_LENGTH_MAX) 00025 #define MODULE_VERSION_LENGTH_MAX 15 00026 #define HARDWARE_VERSION_LENGTH_MAX 15 00027 #define MODULE_SIGNATURE_LENGTH 16 00028 #define MODULE_TYPE_BIN 1 00029 #define MODULE_NO_UPDATE 0 00030 #define MODULE_UPDATE 1 00031 00032 struct module_info{ 00033 char module_name[MODULE_NAME_LENGTH_MAX + 1]; 00034 char module_version[MODULE_VERSION_LENGTH_MAX + 1]; 00035 char module_support_hw_version[HARDWARE_VERSION_LENGTH_MAX + 1]; 00036 unsigned char module_signature[MODULE_SIGNATURE_LENGTH]; 00037 unsigned int module_size; 00038 unsigned char module_type; 00039 unsigned char module_update; 00040 }; 00041 00042 #define PACKAGE_INSTALL_PATH_MAX 255 00043 struct meta_data_install_info{ 00044 char package_install_path[PACKAGE_INSTALL_PATH_MAX + 1]; 00045 unsigned int module_count; 00046 struct module_info *module_list; 00047 }; 00048 00049 #define PACKAGE_VERSION_LENGTH MODULE_VERSION_LENGTH_MAX 00050 struct meta_data_update_info{ 00051 char package_version[PACKAGE_VERSION_LENGTH]; 00052 }; 00053 00054 struct meta_data_extension{ 00055 unsigned int pair_count; 00056 char **keys; 00057 char **values; 00058 }; 00059 00060 struct package_meta_data{ 00061 struct meta_data_basic_info basic_info; 00062 struct meta_data_install_info install_info; 00063 struct meta_data_update_info update_info; 00064 struct meta_data_extension extension_info; 00065 }; 00066 00067 struct IOtaUpdater 00068 { 00069 int (*notify_data_begin)(); 00070 int (*notify_meta_data)(void *cxt, struct package_meta_data *meta); 00071 int (*notify_module_data)(void *cxt, unsigned int offset, unsigned char *data, unsigned int size); 00072 int (*notify_data_end)(); 00073 int (*update_img_begin)(); 00074 int (*update_img)(); 00075 int (*update_img_end)(); 00076 }; 00077 00078 #endif /* IOTAUPDATER_H_ */
Generated on Tue Jul 12 2022 16:28:53 by 1.7.2