|
TuyaOS
|
cloud storage 更多...
#include "tuya_cloud_types.h"#include "ty_cJSON.h"
宏定义 | |
| #define | AES128_CBC_LEN_WITH_PKCS7(len) ((len) + (16 - (len) % 16)) |
| #define | CLOUD_STORAGE_ENC_LEN(len) AES128_CBC_LEN_WITH_PKCS7(len) |
类型定义 | |
| typedef struct storage_ctx | storage_ctx |
函数 | |
| OPERATE_RET | cloud_storage_aes128_cbc_decrypt (IN CONST storage_ctx *ctx, IN CONST BYTE_T *data, IN CONST UINT_T len, OUT BYTE_T **dec_data, OUT UINT_T *dec_len) |
| AES128-CBC Decrypt 更多... | |
| OPERATE_RET | cloud_storage_aes128_cbc_encrypt (IN CONST storage_ctx *ctx, IN CONST BYTE_T *data, IN CONST UINT_T len, OUT BYTE_T **ec_data, OUT UINT_T *ec_len) |
| AES128-CBC Encrypt 更多... | |
| OPERATE_RET | cloud_storage_backup (storage_ctx *ctx, CONST BYTE_T *data, UINT_T data_len, BOOL_T encrypt) |
| backup uploading 更多... | |
| OPERATE_RET | cloud_storage_backup_post (storage_ctx *ctx) |
| Data backup postpone 更多... | |
| OPERATE_RET | cloud_storage_backup_prepare (storage_ctx *ctx) |
| backup prepare 更多... | |
| OPERATE_RET | cloud_storage_backup_raw_begin (storage_ctx *ctx, UINT_T data_total_len) |
| Backup data prepare 更多... | |
| OPERATE_RET | cloud_storage_backup_raw_end (storage_ctx *ctx) |
| Data backup 更多... | |
| OPERATE_RET | cloud_storage_backup_raw_write (storage_ctx *ctx, BYTE_T *data, UINT_T data_len, BOOL_T encrypt) |
| Backup data to the cloud in raw mode 更多... | |
| OPERATE_RET | cloud_storage_backup_simple (CONST CHAR_T *dev_id, CONST CHAR_T *scene_code, CONST CHAR_T *file_name, BOOL_T encrypt, CONST BYTE_T *data, UINT_T data_len) |
| Data backup(simple mode) 更多... | |
| OPERATE_RET | cloud_storage_ctx_free (storage_ctx *ctx) |
| release storage context resource 更多... | |
| storage_ctx * | cloud_storage_ctx_new (CONST CHAR_T *dev_id, CONST CHAR_T *scene_code, CONST CHAR_T *file_name) |
| create storage context 更多... | |
| OPERATE_RET | cloud_storage_destory (storage_ctx *ctx) |
| Data destory 更多... | |
| OPERATE_RET | cloud_storage_destory_post (storage_ctx *ctx) |
| Data destory postpone 更多... | |
| OPERATE_RET | cloud_storage_destory_prepare (storage_ctx *ctx) |
| Data destory prepare 更多... | |
| OPERATE_RET | cloud_storage_destory_simple (CONST CHAR_T *dev_id, CONST CHAR_T *scene_code, CONST CHAR_T *file_name) |
| Data destory(simple mode) 更多... | |
| CONST CHAR_T * | cloud_storage_get_sign_url (IN CONST storage_ctx *ctx) |
| 获取签名URL, 返回值生命周期与ctx关联 更多... | |
| OPERATE_RET | cloud_storage_is_backup_exist (CONST CHAR_T *dev_id, CONST CHAR_T *scene_code, CONST CHAR_T *file_name, BOOL_T *exist) |
| Checking backup data exist 更多... | |
| BOOL_T | cloud_storage_is_secret_key_exist (IN CONST storage_ctx *ctx) |
| Checking secret key is exist 更多... | |
| OPERATE_RET | cloud_storage_meta_data_get (CONST CHAR_T *dev_id, CONST CHAR_T *scene_code, CONST CHAR_T *file_name, ty_cJSON **result) |
| Get file meta data(json formatted) 更多... | |
| OPERATE_RET | cloud_storage_restore (storage_ctx *ctx, BYTE_T **out_data, UINT_T *out_len, BOOL_T encrypt) |
| Data restore 更多... | |
| OPERATE_RET | cloud_storage_restore_post (storage_ctx *ctx) |
| Data restore postpone 更多... | |
| OPERATE_RET | cloud_storage_restore_prepare (storage_ctx *ctx) |
| Prepare for data restore 更多... | |
| OPERATE_RET | cloud_storage_restore_simple (CONST CHAR_T *dev_id, CONST CHAR_T *scene_code, CONST CHAR_T *file_name, BOOL_T encrypt, BYTE_T **out_data, UINT_T *out_len) |
| Data restore(simple mode) 更多... | |
| CONST CHAR_T * | cloud_storage_secret_iv_get (IN CONST storage_ctx *ctx) |
| Fetch IV, for AES128-CBC 更多... | |
| VOID | cloud_storage_secret_iv_set (IN storage_ctx *ctx, IN CONST CHAR_T *iv) |
| CONST CHAR_T * | cloud_storage_secret_key_get (IN CONST storage_ctx *ctx) |
| Get secret key 更多... | |
| VOID | cloud_storage_secret_key_set (IN storage_ctx *ctx, IN CONST CHAR_T *key) |
| Set secret key 更多... | |
cloud storage
| OPERATE_RET cloud_storage_aes128_cbc_decrypt | ( | IN CONST storage_ctx * | ctx, |
| IN CONST BYTE_T * | data, | ||
| IN CONST UINT_T | len, | ||
| OUT BYTE_T ** | dec_data, | ||
| OUT UINT_T * | dec_len | ||
| ) |
AES128-CBC Decrypt
| ctx | Cloud storage context handler |
| data | data for decrypted |
| len | data length for decrypted |
| dec_data | data decrypted |
| dec_len | data length decrypted |
| OPERATE_RET cloud_storage_aes128_cbc_encrypt | ( | IN CONST storage_ctx * | ctx, |
| IN CONST BYTE_T * | data, | ||
| IN CONST UINT_T | len, | ||
| OUT BYTE_T ** | ec_data, | ||
| OUT UINT_T * | ec_len | ||
| ) |
AES128-CBC Encrypt
| ctx | Cloud storage context handler |
| data | data for encrypt |
| len | data length for encrypt |
| ec_data | data encrypted |
| ec_len | data length encrypted |
| OPERATE_RET cloud_storage_backup | ( | storage_ctx * | ctx, |
| CONST BYTE_T * | data, | ||
| UINT_T | data_len, | ||
| BOOL_T | encrypt | ||
| ) |
backup uploading
| ctx | Cloud storage context handler |
| data | data for backup |
| data_len | data length |
| encrypt | Set as TRUE if need data encrypted |
| OPERATE_RET cloud_storage_backup_post | ( | storage_ctx * | ctx | ) |
Data backup postpone
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_backup_prepare | ( | storage_ctx * | ctx | ) |
backup prepare
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_backup_raw_begin | ( | storage_ctx * | ctx, |
| UINT_T | data_total_len | ||
| ) |
Backup data prepare
| ctx | Cloud storage context handler |
| data_total_len | total length for downloading |
| OPERATE_RET cloud_storage_backup_raw_end | ( | storage_ctx * | ctx | ) |
Data backup
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_backup_raw_write | ( | storage_ctx * | ctx, |
| BYTE_T * | data, | ||
| UINT_T | data_len, | ||
| BOOL_T | encrypt | ||
| ) |
Backup data to the cloud in raw mode
| ctx | Cloud storage context handler |
| data | data for backup |
| data_len | data length |
| encrypt | Set as TRUE if need data encrypted |
| OPERATE_RET cloud_storage_backup_simple | ( | CONST CHAR_T * | dev_id, |
| CONST CHAR_T * | scene_code, | ||
| CONST CHAR_T * | file_name, | ||
| BOOL_T | encrypt, | ||
| CONST BYTE_T * | data, | ||
| UINT_T | data_len | ||
| ) |
Data backup(simple mode)
| dev_id | device id string |
| scene_code | scene code string |
| file_name | file name string, path name is not permit |
| encrypt | Whether encrypted, AES128_CBC is the default encrypt algorithm |
| data | data which want to upload to cloud |
| data_len | data length |
| OPERATE_RET cloud_storage_ctx_free | ( | storage_ctx * | ctx | ) |
release storage context resource
| ctx | Cloud storage context handler |
| storage_ctx * cloud_storage_ctx_new | ( | CONST CHAR_T * | dev_id, |
| CONST CHAR_T * | scene_code, | ||
| CONST CHAR_T * | file_name | ||
| ) |
create storage context
| dev_id | device id string |
| scene_code | scene code string |
| file_name | file name string, path name is not permit |
| OPERATE_RET cloud_storage_destory | ( | storage_ctx * | ctx | ) |
Data destory
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_destory_post | ( | storage_ctx * | ctx | ) |
Data destory postpone
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_destory_prepare | ( | storage_ctx * | ctx | ) |
Data destory prepare
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_destory_simple | ( | CONST CHAR_T * | dev_id, |
| CONST CHAR_T * | scene_code, | ||
| CONST CHAR_T * | file_name | ||
| ) |
Data destory(simple mode)
| dev_id | device id string |
| scene_code | scene code string |
| file_name | file name string, path name is not permit |
| CONST CHAR_T * cloud_storage_get_sign_url | ( | IN CONST storage_ctx * | ctx | ) |
获取签名URL, 返回值生命周期与ctx关联
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_is_backup_exist | ( | CONST CHAR_T * | dev_id, |
| CONST CHAR_T * | scene_code, | ||
| CONST CHAR_T * | file_name, | ||
| BOOL_T * | exist | ||
| ) |
Checking backup data exist
| dev_id | device id string |
| scene_code | scene code string |
| file_name | file name string, path name is not permit |
| exist | Exist status |
| BOOL_T cloud_storage_is_secret_key_exist | ( | IN CONST storage_ctx * | ctx | ) |
Checking secret key is exist
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_meta_data_get | ( | CONST CHAR_T * | dev_id, |
| CONST CHAR_T * | scene_code, | ||
| CONST CHAR_T * | file_name, | ||
| ty_cJSON ** | result | ||
| ) |
Get file meta data(json formatted)
| dev_id | device id string |
| file_name | file name string, path name is not permit |
| scene_code | scene code string |
| result |
| OPERATE_RET cloud_storage_restore | ( | storage_ctx * | ctx, |
| BYTE_T ** | out_data, | ||
| UINT_T * | out_len, | ||
| BOOL_T | encrypt | ||
| ) |
Data restore
| ctx | Cloud storage context handler |
| out_data | output data point for restore, need Free manually |
| out_len | output data lngth point for restore, need Free manually |
| encrypt | Whether encrypted, AES128_CBC is the default encrypt algorithm |
| OPERATE_RET cloud_storage_restore_post | ( | storage_ctx * | ctx | ) |
Data restore postpone
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_restore_prepare | ( | storage_ctx * | ctx | ) |
Prepare for data restore
| ctx | Cloud storage context handler |
| OPERATE_RET cloud_storage_restore_simple | ( | CONST CHAR_T * | dev_id, |
| CONST CHAR_T * | scene_code, | ||
| CONST CHAR_T * | file_name, | ||
| BOOL_T | encrypt, | ||
| BYTE_T ** | out_data, | ||
| UINT_T * | out_len | ||
| ) |
Data restore(simple mode)
| dev_id | device id string |
| scene_code | scene code string |
| file_name | file name string, path name is not permit |
| encrypt | Whether encrypted, AES128_CBC is the default encrypt algorithm |
| out_data | data which restored from cloud, need manual Free() by caller user |
| out_len | data length |
| CONST CHAR_T * cloud_storage_secret_iv_get | ( | IN CONST storage_ctx * | ctx | ) |
Fetch IV, for AES128-CBC
| ctx | Cloud storage context handler |
| VOID cloud_storage_secret_iv_set | ( | IN storage_ctx * | ctx, |
| IN CONST CHAR_T * | iv | ||
| ) |
| ctx | Cloud storage context handler |
| iv |
| CONST CHAR_T * cloud_storage_secret_key_get | ( | IN CONST storage_ctx * | ctx | ) |
Get secret key
| ctx | Cloud storage context handler |
| VOID cloud_storage_secret_key_set | ( | IN storage_ctx * | ctx, |
| IN CONST CHAR_T * | key | ||
| ) |
Set secret key
| ctx | Cloud storage context handler |
| key | secret key |