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 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 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, 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, 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 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 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, |
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, | ||
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 |