filenav.h

来自「AMLOGIC DPF source code」· C头文件 代码 · 共 453 行 · 第 1/2 页

H
453
字号
 */                           
CHARSTR* FileNavGetCurrDir(void);

/**
 * @brief Entry new directory path. 
 * @param [in] pCDPath new directory path.
 * @return 0 if success or -1 for fail.
 */                           
INT32S FileNavCD(CHARSTR *pCDPath) ;

/**
 * @brief Get next file list from current file in current directory. 
 * @param [in] pDesList The file list array which will save return file list.
 * @param [in/out] pListLength Input the array length of file list and max get list number, output 
 * get list number indeed.
 * @param [in] iGetListFlag Get the get file types, we can input a file type to get, like (MEDIA_MP3 |MEDIA_WMA).
 * @return 0 if success or -1 for fail.
 */                           
INT32S FileNavGetNextFileList(PATHNODE *pDesList, INT32U *pListLength, INT32U iGetListFlag) ;

/**
 * @brief Get previous file list from current file in current directory. 
 * @param [in] pDesList The file list array which will save return file list.
 * @param [in/out] pListLength Input the array length of file list and max get list number, output 
 * get list number indeed.
 * @param [in] iGetListFlag Get the get file types, we can input a file type to get, like (MEDIA_MP3 |MEDIA_WMA).
 * @return 0 if success or -1 for fail.
 */                           
INT32S FileNavGetPrevFileList(PATHNODE *pDesList, INT32U *pListLength, INT32U iGetListFlag) ;

/**
 * @brief Get file list from random directory. 
 * @param [in] pathname Directory.
 * @param [in] pos The file pos in directory.
 * @param [in] pDesList The file list array which will save return file list.
 * @param [in/out] pListLength Input the array length of file list and max get list number, output 
 * get list number indeed.
 * @param [in] iGetListFlag Get the get file types, we can input a file type to get, like (MEDIA_MP3 |MEDIA_WMA).
 * @return 0 if success or -1 for fail.
 */                           
INT32S FileNavGetNextFileListRandom(CHARSTR *pathname, INT32U pos, PATHNODE *pDesList, INT32U *read_count, INT32U media_type);

/**
 * @brief Get file list from random directory. 
 * @param [in] pathname Directory.
 * @param [in] pos The file pos in directory.
 * @param [in] pDesList The file list array which will save return file list.
 * @param [in/out] pListLength Input the array length of file list and max get list number, output 
 * get list number indeed.
 * @param [in] iGetListFlag Get the get file types, we can input a file type to get, like (MEDIA_MP3 |MEDIA_WMA).
 * @return 0 if success or -1 for fail.
 */                           
INT32S FileNavGetPrevFileListRandom(CHARSTR *pathname, INT32U pos, PATHNODE *pDesList, INT32U *read_count, INT32U media_type);


/**
 * @brief Refresh current directory, system will reread file list from device instead list buffer. 
 * @return 0 if success or -1 for fail.
 */                           
INT32S FileNavRefreshCurrentDir();

/**
 * @brief Set current file point to given position in current directory file list. 
 * @return 0 if success or -1 for fail.
 */                           
INT32S FileNavSeek(INT32U iPos) ;


/**
 * @brief Create a directory.
 * @param [in] dir_name New directory path.
 * @return 0 if success or -1 for fail.
 */                     
INT32S FileNavMakeDir(const char *dir_name) ;


/**
 * @brief  enable or disable the parsering of one type of file
 * @param [in] extname The extention name of file
 * @param [in] enable Enable this type if 1, Disable it if 0
 */                     
void SetMediaTypeParserable(CHARSTR* extname, INT8U enable) ;

/**
 * @brief  get file extend name from the filename
 * @param [in] filename The name of file
 * @param [in] extname The extend name of file
 */    
void GetFileExName(CHARSTR* filename, CHARSTR* extname) ;

/**
 * @brief  get media type from extention name of file
 * @param [in] filename The name of file
 * @return media type.
 */                     
int GetMediaType(CHARSTR* filename);

/**
 * @brief  get application id to play the file from extention name of that file
 * @param [in] filename The name of file
 * @return app type.
 */                     
int GetAppType(CHARSTR* filename);

INT32S FileNavQuery(char *file_name,int file_name_len,int* count,FILE_INFO* file_info, FILE_STAT* statbuf);

INT32S FileNavGetCount(char * dir_name,INT32U media_type,INT32U* nfile,INT32U* ndir,int flags);

INT32S FileNavFileExists(char *file_name);

INT32S FileNavDirExists(char *dir_name);

CHARSTR* FileNavGetLabel(CHARSTR* mount_point);

CHARSTR* FileNavGetDeviceTypeStr(CHARSTR* mount_point);

INT32S FileNavGetFileSystemInfo(CHARSTR* mount_point, avfs_filesystem_options_t* opt, INT8U* type, CHARSTR** devstr);

INT32S FileNavGetMountPointDeviceName(CHARSTR * mount_point,CHARSTR * device_name,int name_len);

INT16U GetDriverNum();

 INT32S FileNavReMount(CHARSTR *pVolPath);


#define AW_DISK_DIR_PATH		"/dev/disk/"
#define AW_DVD_DIR_PATH     "/dev/dvd/"

/* error in file operations  */

#define SYS_NO_ERROR  			0
#define SYS_IO_ERROR  			1
#define SYS_DIR_NOT_EMPTY  	2
#define SYS_CREATE_FILE_FAIL     3
#define SYS_FILE_COPY_FAIL  		4
#define SYS_FILE_CLOSE_FAIL  	5
#define SYS_DISK_FULL			6
#define SYS_DIR_FULL			7
#define SYS_NO_MEMORY			8
#define SYS_NOT_FOUND			9
#define SYS_READ_ONLY			10
#define SYS_WRITE_ONLY			11
#define SYS_READ_ERROR			12
#define SYS_WRTIE_ERROR		13
#define SYS_WRTIE_PROTECT		14
#define SYS_FILE_EXIST			15
#define SYS_FILE_LOCKED			16
#define SYS_NOT_EMPTY			17
#define SYS_NO_HANDLE			18
#define SYS_BAD_NAME			19
#define SYS_END_OF_FILE			20
#define SYS_END_OF_DIR			21
#define SYS_INVALID_PARA		22
#define SYS_INIT_ERROR			23
#define SYS_SOURCE_FILE_ERROR   24
#define SYS_READ_TIMEOUT        25
#define SYS_COPY_CANCELLED      26
#define SYS_COPY_USER_ACTION	27
#define SYS_COPY_USER_DENIED	28

CHARSTR* FileNavGetCurrDir_(void);

INT32S FileNavCD_(CHARSTR *pCDPath) ;

INT32S FileNavGetNextFileList_(CHARSTR *pathname, INT32U pos, PATHNODE *pDesList, INT32U *read_count, INT32U media_type);

INT32S FileNavGetPrevFileList_(CHARSTR *pathname, INT32U pos, PATHNODE *pDesList, INT32U *read_count, INT32U media_type);

INT32S FileNavSeek_(INT32U iPos) ;

INT32S FileNavMakeDir_(const char *dir_name);

INT32U FileNavUnMountUpdate_(void (*mount_status_notification)(INT32U, INT32U), const char *dir_name);

INT32U FileNavMountUpdate_(void (*mount_status_notification)(INT32U, INT32U), const char *dir_name);

INT32U FileNavReMountVolume_(void (*mount_status_notification)(INT32U, INT32U),const char*dir_name, const char* MountPoint,avfs_filesystem_options_t fs_option, INT8U fs_type);

INT32U DiscNavMountUpdate_(void (*mount_status_notification)(INT32U, INT32U), const char* dir_name);

INT32U DiscNavUnMountUpdate_(void (*mount_status_notification)(INT32U, INT32U), const char *dir_name);

INT32S FileNavCopy_(FILECOPY_T *pCopyHandle, void (*progress_notification)(int));

void FileNavChangeFinish();

INT32S FileNavCopyOnce_(FILECOPY_T *pCopyHandle, int* size, int state);

INT32S FileNavDel_(FILEDEL_T * pDelData);

INT32S FileNavQuery_(char *file_name,int file_name_len,int* count,FILE_INFO* file_info,FILE_STAT* statbuf);

INT32S FileNavGetCount_(char * dir_name,INT32U media_type,INT32U* nfile,INT32U* ndir,int flags);
INT32U FileNavMountDiskAfterPartition_(void (*mount_status_notification)(INT32U, INT32U), const char* dir_name);
INT32U FileNavUnmountDiskBeforePartition_(void (*mount_status_notification)(INT32U, INT32U), const char* dev_name,const char *dir_name);

void  FileNavSetCacheUnit(INT8U size);

INT32U FileNavRegisterFilter(char* path, char* name);

void FileNavUnRegisterFilter(char* path);

void FileNavSetDefaultSortType(unsigned char sort_type);

CHARSTR* FileNavGetMountPointByLabel(CHARSTR* label);

INT32S FileNavQueryVolumeWritable_(char *dir_name);

INT32U FileNavDevSync_(void (*refresh_notification)(INT32U, INT32U), const char *dir_name);

extern void reset_cur_path_node(char* path_name);
extern char* get_cur_active_drive_name();
extern void set_cur_active_drive_name(char* drive_name);
int FileNavInit(void);

#ifdef FILENAV_NEW
#define FILE_MODE_HIDDEN   0x01
#define FILE_MODE_SYSTEM   0x02
extern unsigned char use_filenav_new;

#define FILENAV_SORT_DIRFIRST 0x01

#endif /* FILENAV_NEW */

#endif /* __FILENAV_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?