11#ifndef __TKL_STORAGE_H__
12#define __TKL_STORAGE_H__
14#include "tuya_cloud_types.h"
21#define FSTP_FAT32 "vfat"
22#define FSTP_EXT34 "ext4"
26#define BUSTP_USB "usb"
27#define BUSTP_SATA "sata"
28#define BUSTP_SDIO "sdcard"
30#define MAX_PATH_LEN 256
31#define MAX_PART_NUM 10
32#define MAX_DEVICE_NUM 10
33#define MAX_FSTP_LEN 16
39#define DEVICE_HOTPLUG_ADD 1
40#define DEVICE_HOTPLUG_DEL 0
43 CHAR_T dev_name[MAX_PATH_LEN];
44 CHAR_T fs_type[MAX_FSTP_LEN];
48 CHAR_T mounted_on[MAX_PATH_LEN];
53 CHAR_T dev_name[MAX_PATH_LEN];
58 CHAR_T fs_type[MAX_FSTP_LEN];
59 CHAR_T part_label[16];
70 CHAR_T dev_name[MAX_PATH_LEN];
73 CHAR_T part_table_type[16];
80} TKL_STORAGE_EVT_MSGTP;
84 CHAR_T dev_name[MAX_PATH_LEN];
85 TKL_STORAGE_EVT_MSGTP type;
94typedef VOID (*TKL_STORAGE_PROGRESS_CB)(INT_T progress, VOID *user_ctx);
100typedef VOID (*TKL_STORAGE_BADBLK_CB)(ULONG_T blk_idx, VOID *user_ctx);
165 CHAR_T *fs_type, BOOL_T isadd, UINT_T part_index, LONG_T start, LONG_T end);
178 TKL_STORAGE_PROGRESS_CB cb, VOID *user_ctx);
191 CHAR_T *fs_type, ULONG_T flags, VOID *data);
227 TKL_STORAGE_PROGRESS_CB cb, VOID *user_ctx);
Definition: tkl_storage.h:64
Definition: tkl_storage.h:42
Definition: tkl_storage.h:82
Definition: tkl_storage.h:52
OPERATE_RET tkl_storage_get_part_list(CHAR_T *dev_name, TKL_STORAGE_PART_INFO_T *list, INT_T num)
get partition info
OPERATE_RET tkl_storage_mkfs(CHAR_T *fs_type, CHAR_T *fs_dev, CHAR_T *parm, TKL_STORAGE_PROGRESS_CB cb, VOID *user_ctx)
partiton format, build filesystem
OPERATE_RET tkl_storage_fsck(CHAR_T *blk_dev, CHAR_T *fs_type, CHAR_T *parm, INT_T flags, TKL_STORAGE_PROGRESS_CB cb, VOID *user_ctx)
check and repair a filesystem
OPERATE_RET tkl_storage_get_device_info(CHAR_T *dev_name, TKL_STORAGE_DEVICE_INFO_T *list)
get one device info
OPERATE_RET tkl_storage_df(CHAR_T *mount_point, TKL_STORAGE_DF_T *df)
report filesystem disk space usage
OPERATE_RET tkl_storage_loop_event(TKL_STORAGE_EVENT_CB event_cb, VOID *user_ctx)
loop storage event, eg. hotplug will not return except an error occured.
OPERATE_RET tkl_storage_get_internal_dir(CHAR_T path[256])
get internal r/w dir
OPERATE_RET tkl_storage_ioctl(CHAR_T *dev_name, ULONG_T request, VOID *args)
scsi generic ioctl
OPERATE_RET tkl_storage_get_device_list(TKL_STORAGE_DEVICE_INFO_T *list, INT_T num)
get block device list
OPERATE_RET tkl_storage_umount(CHAR_T *target, INT_T flags)
umount a filesystem partition. refer to umount system call
OPERATE_RET tkl_storage_make_part(CHAR_T *part_name, CHAR_T *part_type, CHAR_T *fs_type, BOOL_T isadd, UINT_T part_index, LONG_T start, LONG_T end)
make partition. refer to parted/fdisk
OPERATE_RET tkl_storage_check_badblocks(CHAR_T *dev_name, TKL_STORAGE_BADBLK_CB cb, VOID *user_ctx)
check bad blocks
OPERATE_RET tkl_storage_mount(CHAR_T *source, CHAR_T *target, CHAR_T *fs_type, ULONG_T flags, VOID *data)
mount a filesystem partition. refer to mount system call