📄 dvb_file.h
字号:
#ifndef __DVB_FILE_H__
#define __DVB_FILE_H__
#include "dvb_sys.h"
typedef struct
{
u32 u32TotalSectors;
u32 u32FreeSectors;
u32 u32ResSecStartIdx;
u32 u32ResSectors;
u8 u8DevIdx; // new add for usb LUNs
}ST_FS_DEV_INFO;
typedef struct
{
u32 u32TotalSectors;
u32 u32FreeSectors;
u32 u32BytesPerSector;
u32 u32BytesPerCluster;
s8 s8PartitionIndex;
}ST_FS_PARTITION_INFO;
typedef enum
{
EN_FS_TIME_TYPE_CREATE,
EN_FS_TIME_TYPE_WRITE,
EN_FS_TIME_TYPE_ACCESS,
}EN_FS_TIME_TYPE;
typedef enum
{
EN_FILE_START,
EN_FILE_END,
EN_FILE_CURRENT_FORWARD,
EN_FILE_CURRENT_BACKWARD
}EN_FILE_SEEK_MODE;
typedef enum
{
EN_FS_STATUS_SUCCESS,
EN_FS_STATUS_NO_FS,
EN_FS_STATUS_NO_DEVICE,
EN_FS_STATUS_WITHOUT_CACHE_SPACE,
EN_FS_STATUS_UNKNOWN_DEVICE,
} EN_FS_STATUS;
typedef enum
{
EN_FILE_TYPE_TS,
EN_FILE_TYPE_IMAGE,
EN_FILE_TYPE_MUSIC,
EN_FILE_TYPE_SSU,
EN_FILE_TYPE_MOVIE,
EN_FILE_TYPE_DIR,
EN_FILE_TYPE_FILES,
EN_FILE_TYPE_ALL
}EN_FILE_TYPE;
u8* DVB_FILECTRL_GetVersion(void);
bool8 DVB_FILECTRL_Term(EN_DEVICE_TYPE enDeviceType, void* pstPartition);
EN_FS_STATUS DVB_FILECTRL_Init(EN_DEVICE_TYPE enDeviceType, ST_FS_DEV_INFO *pstFsDevInfo);
bool8 DVB_FILECTRL_SetPartitionIndex(EN_DEVICE_TYPE enDeviceType, u8 u8PartitionIndex);
u8 DVB_FILECTRL_GetPartitionCount(EN_DEVICE_TYPE enDeviceType);
bool8 DVB_FILECTRL_GetMbrPrtitionSize(EN_DEVICE_TYPE enDeviceType, u8 u8PartitionIndex, u32* pu32PartitionSize, bool8 *pb8IsValidFat);
bool8 DVB_FILECTRL_Cd(EN_DEVICE_TYPE enDeviceType, u8 *pu8DirName);
bool8 DVB_FILECTRL_CdRoot(EN_DEVICE_TYPE enDeviceType);
bool8 DVB_FILECTRL_CdPrev(EN_DEVICE_TYPE enDeviceType);
u16* DVB_FILECTRL_GetCurrentFolderName(EN_DEVICE_TYPE enDeviceType, u8 *pu8FolderName);
u32 DVB_FILECTRL_FileOpen(EN_DEVICE_TYPE enDeviceType, u8 *pu8FileName, u8 u8OpMode);
bool8 DVB_FILECTRL_FileClose(EN_DEVICE_TYPE enDeviceType, u32 u32FileHandle);
bool8 DVB_FILECTRL_FileDelete(EN_DEVICE_TYPE enDeviceType, u8 *pu8FileName);
bool8 DVB_FILECTRL_FileSeek(EN_DEVICE_TYPE enDeviceType, u32 u32FileHandle, u32 u32SeekSize, EN_FILE_SEEK_MODE enSeekMode);
bool8 DVB_FILECTRL_FilePreAllocSpace(EN_DEVICE_TYPE enDeviceType, u32 u32FileHandle, u32 u32SizeMB);
u32 DVB_FILECTRL_FileWrite(EN_DEVICE_TYPE enDeviceType, u32 u32FileHandle, u32 u32Size, u8 *pu8Buf);
u32 DVB_FILECTRL_FileRead(EN_DEVICE_TYPE enDeviceType, u32 u32FileHandle, u32 u32Size, u8 *pu8Buf);
u32 DVB_FILECTRL_GetFileSize(EN_DEVICE_TYPE enDeviceType, u32 u32FileHandle);
u32 DVB_FILECTRL_GetFileSizeWithFilename(EN_DEVICE_TYPE enDeviceType, u8 *pu8FileName);
u32 DVB_FILECTRL_GetFreeCapacityWithCurrentPartition(EN_DEVICE_TYPE enDeviceType, bool8 b8ForceUpate);
u16* DVB_FILECTRL_GetFilenameWithIndex(EN_DEVICE_TYPE enDeviceType, EN_FILE_TYPE enFileType, u32 u32FileIndex, u8 *pu8FileName);
u32 DVB_FILECTRL_GetFileCount(EN_DEVICE_TYPE enDeviceType, EN_FILE_TYPE enFileType);
bool8 DVB_FILECTRL_Format(EN_DEVICE_TYPE enDeviceType, u8 u8PartitionIndex);
bool8 DVB_FILECTRL_Fdisk(EN_DEVICE_TYPE enDeviceType);
u32 DVB_FILECTRL_GetCurrentReadPosition(EN_DEVICE_TYPE enDeviceType, u32 u32FileHandle);
u32 DVB_FILECTRL_GetCurrentWritePosition(EN_DEVICE_TYPE enDeviceType, u32 u32FileHandle);
bool8 DVB_FILECTRL_FolderDelete(EN_DEVICE_TYPE enDeviceType, u8 *pu8DirName);
bool8 DVB_FILECTRL_FolderRename(EN_DEVICE_TYPE enDeviceType, u8 *pu8OldDirName, u8* pu8NewDirName);
bool8 DVB_FILECTRL_FileExist(EN_DEVICE_TYPE enDeviceType, u8 *pu8FileName);
s8 DVB_FILECTRL_GetCurrentPartitionIndex(EN_DEVICE_TYPE enDeviceType);
bool8 DVB_FILECTRL_GetCurrentPartitionInfo(EN_DEVICE_TYPE enDeviceType, ST_FS_PARTITION_INFO* pstPartitionInfo, bool8 b8ForceUpate);
bool8 DVB_FILECTRL_FileRename(EN_DEVICE_TYPE enDeviceType, u8 *pu8OldFileName, u8 *pu8NewFileName);
void DVB_FILECTRL_NotifyDeviceRemove(u8 u8LUNIndex);
u8* DVB_FILECTRL_GetSupportFileType(EN_FILE_TYPE enFileType);
void DVB_FILECTRL_SetSupportFileType(EN_FILE_TYPE enFileType, u8 *pu8FileType);
bool8 DVB_FILECTRL_Flush_FS(EN_DEVICE_TYPE enDeviceType);
bool8 DVB_FILECTRL_MkDir(EN_DEVICE_TYPE enDeviceType, u8 *pu8DirName);
bool8 DVB_FILECTRL_SetFileTime(EN_DEVICE_TYPE enDeviceType, u8* pu8Name, EN_FS_TIME_TYPE enTimeType, ST_DVB_TIME* pstTime);
bool8 DVB_FILECTRL_SetFileTimeWithFileHandle(EN_DEVICE_TYPE enDeviceType, u32 u32FileHandle, EN_FS_TIME_TYPE enTimeType, ST_DVB_TIME* pstTime);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -