⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvb_file.h

📁 DVB软件,基于CT216软件的开发源程序.
💻 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 + -