📄 fs_api.h
字号:
/******************************************************************************
* Filename : File_api.h *
* Start date : *
* By : *
* Contact : *
* Description : *
* *
******************************************************************************
*/
#ifndef _FS_API_H_
#define _FS_API_H_
#ifdef __cplusplus
extern "C" {
#endif
/*!
* To support UNICODE File name
*/
#define FS_SUPPORT_UNICODE 0
/* To support Unicode-to-GB2312 conversion.
* actually, the rationale applys to Unicode to any local-standard conversion.
* so you can expand it to any specific "_UNICODE_TO_local", such as Korean, etc.
* [SuntoLee 060703]
*/
#define FS_SUPPORT_UNICODE_TO_GB2312 0 // SuntoLee 060703
/*!
* This option for flattened folder or file view
* application use.
* If this option is enabled, first entry list is for folder.
*/
#define FS_SUPPORT_FS_FLATTEN 1
/*! This option has same effect with FS_SUPPORT_FS_FLATTEN.
* When this option is 1, you can use FS_Flatten to check how many audio and
* picture file included.
*/
#define FS_SUPPORT_PRE_LIST 0
/*!
* To support multi mount point.
* In this case, two types of macro are defined.
* To enable multi mount point, FS_MAX_MOUNT_COUNT must be set over 1.
* This count will define how many root structure will be created.
*/
#define FS_MAX_MOUNT_COUNT 1
/*!
* To dececrease loading time in flatten sequence, file system must be
* supported by application manager's function. This option is effective
* in ISO file system.
*/
#define FS_SUPPORT_KODAK_PCD 1
/*!
* This option for file filter.
* flag bits are following,
*
* +----+----+----+----+----+----+----+----+
* | | | | | Tx | Vi | Pi | Au |
* +----+----+----+----+----+----+----+----+
*
* Vi : Video file
* Pi : Picture file
* Au : Audio file
* Tx : Text file for example SMI file.
*
* This flag only for directory entry.
*/
#define FS_SUPPORT_FILE_FILTER 1
/*!
* This option defines "." entry included or not in
* the entry list.
*/
#define FS_SUPPORT_SELF_ENTRY 0
/*!
* Support entry count for audio, video, image file
*
* This module for SUNPLUS program play function.
*/
#define FS_SUPPORT_FILE_COUNT 1
/*!
* Add Date Information for each entry
*/
#define FS_SUPPORT_DATE_INFO 0
/*!
* Device Capability
*/
#define FS_SUPPORT_CD_DEVICE 1
#define FS_SUPPORT_DVD_DEVICE 1
#if _API_CAP_USE_USB_HOST
#define FS_SUPPORT_USB_DEVICE 1
#else
#define FS_SUPPORT_USB_DEVICE 0
#endif
#if _API_CAP_USE_11_IN_2
#define FS_SUPPORT_FX_DEVICE 1
#else
#define FS_SUPPORT_FX_DEVICE 0
#endif
/*!
* File system Capability
*/
#define FS_SUPPORT_FS_JOLIET 1
#define FS_SUPPORT_FS_UDF 1
#if (_APP_CAP_NAV_USB_DISC||_APP_CAP_NAV_FX_DATA)
#define FS_SUPPORT_FS_FAT 1
#define FS_SUPPORT_FAT_WRITE 0
#else
#define FS_SUPPORT_FS_FAT 0
#define FS_SUPPORT_FAT_WRITE 0
#endif
/*!
* Supporting File Types
*/
#define FS_SUPPORT_FILE_AUDIO 1
#define FS_SUPPORT_FILE_AUDIO_MP3 1
#define FS_SUPPORT_FILE_AUDIO_MP2 1
#define FS_SUPPORT_FILE_AUDIO_WMA _API_CAP_SUPPORT_WMA
#if _APP_CAP_FUNC_AC3_CERTIFICAION_READY
#define FS_SUPPORT_FILE_AUDIO_AC3 1
#else
#define FS_SUPPORT_FILE_AUDIO_AC3 0
#endif
#define FS_SUPPORT_FILE_PICTURE 1
#define FS_SUPPORT_FILE_PICTURE_JPG 1
#define FS_SUPPORT_FILE_PICTURE_GIF 0
#if _APP_CAP_NAV_MMP_PLAY_VIDEO_FILE
#define FS_SUPPORT_FILE_VIDEO 1
#else
#define FS_SUPPORT_FILE_VIDEO 0
#endif
#if _API_CAP_GLB_MPVD_FRAME_MODE
#define FS_SUPPORT_FILE_VIDEO_AVI 1
#define FS_SUPPORT_FILE_VIDEO_DIVX 1
#else
#define FS_SUPPORT_FILE_VIDEO_AVI 0
#define FS_SUPPORT_FILE_VIDEO_DIVX 0
#endif
#define FS_SUPPORT_FILE_VIDEO_MPG 1
#define FS_SUPPORT_FILE_VIDEO_WMV 0
#define FS_SUPPORT_FILE_VIDEO_ASF 0
#define FS_SUPPORT_FILE_VIDEO_VOB 1
#define FS_SUPPORT_FILE_VIDEO_SWF 0
#define FS_SUPPORT_FILE_VIDEO_DAT 1
#define FS_SUPPORT_FILE_TEXT 1
#define FS_SUPPORT_FILE_TEXT_SMI 1
#define FS_SUPPORT_FILE_TEXT_SMIL 1 // cydrain 20060530
#define FS_SUPPORT_FILE_TEXT_PSB 1
#define FS_SUPPORT_FILE_TEXT_TXT 1
#define FS_SUPPORT_FILE_TEXT_SUB 1
#define FS_SUPPORT_FILE_TEXT_SRT 1
#define FS_SUPPORT_FILE_TEXT_SSA 1
#define FS_SUPPORT_FILE_TEXT_ASS 1
#define FS_SUPPORT_FILE_TEXT_IDX 1 //azureming@060421
#define FS_SUPPORT_FILE_TEXT_FW 1
/*********************************************
* Defines
*********************************************/
/*! Fs Read mode selection */
#define FS_READ_MODE_DUMP 0x00
#define FS_READ_MODE_PLAY 0x10
#define FS_PLAY_MODE_PLAY 0x20
/*!
* Entry type
*/
#define FS_FILE 0
#define FS_DIR 1
#define FS_SELF 2 /*. */
#define FS_UPDIR 3 /*..*/
#define FS_MULTI 7
/*!
* MAX dump buffer size
*/
#define FS_MAX_CD_DUMP_COUNT 15
#define FS_MAX_DVD_DUMP_COUNT 16
#define FS_MAX_USB_DUMP_COUNT 16
#define FS_MAX_IDE_DUMP_COUNT 16
/*!
* DUMP sector size
*/
#define FS_CDDUMP_SECTOR_SIZE 2352
#define FS_DVDDUMP_SECTOR_SIZE 2048
#define FS_USBDUMP_SECTOR_SIZE 512
#define FS_IDEDUMP_SECTOR_SIZE 512
/*!
* maximum number of files
*/
#if _COP_MOVE_FILE_BUFFER // zb 060921
#define FS_MAX_NUM_OF_FILE_IN_FOLDER 3000
#define FS_MAX_NUM_OF_FILE (FS_GetMaxFileNumInFolder())
#else
#define FS_MAX_NUM_OF_FILE 3000
#endif
#define FS_MAX_DIR_LIST_LEN 256
#if FS_SUPPORT_UNICODE
#define FS_MAX_FILE_NAME_LENGTH 46
#define FS_MAX_FILE_EXT_LENGTH 10
#else
#define FS_MAX_FILE_NAME_LENGTH 32//20 // cydrain 20060516
#define FS_MAX_FILE_EXT_LENGTH 4
#endif
#define FS_MAX_FILE_OPEN 5
#if FS_SUPPORT_FILE_FILTER
#define FS_DIR_HAS_AUDIO 0x01
#define FS_DIR_HAS_PICTURE 0x02
#define FS_DIR_HAS_VIDEO 0x04
#define FS_DIR_HAS_TEXT 0x08
#define FS_DIR_HAS_FILE 0x10
#endif
#define FS_DIR_HAS_BIN 0x11
#define FS_OM_READ 0
#define FS_OM_WRITE 1
/*! File and Directory search capability flags
* To reduce file and directory structure control count for each
* application this capability flag is used.
* Before call list command, application has to set this flag
*/
/* List selection file or directory or all */
#define FS_CAP_LIST_FILE 0x20000000
#define FS_CAP_LIST_DIR 0x40000000
#define FS_CAP_LIST_UPDIR 0x80000000
/* FILE mask */
#define FS_CAP_MASK_AUDIO 0x10000000
#define FS_CAP_MASK_PICTURE 0x00010000
#define FS_CAP_MASK_VIDEO 0x00100000
#define FS_CAP_MASK_TEXT 0x01000000
#define FS_CAP_MASK_BIN 0x00001000
/*BIN file*/
#define FS_CAP_FILE_BINFILE 0x00001001
/* Audio file */
#define FS_CAP_FILE_MP3 0x10000001
#define FS_CAP_FILE_MP2 0x10000002
#define FS_CAP_FILE_WMA 0x10000004
#define FS_CAP_FILE_AC3 0x10000008
/* Picture file */
#define FS_CAP_FILE_JPG 0x00011000
#define FS_CAP_FILE_GIF 0x00012000
/* Video file */
#define FS_CAP_FILE_AVI 0x00100100
#define FS_CAP_FILE_MPG 0x00100200
#define FS_CAP_FILE_WMV 0x00100400
#define FS_CAP_FILE_VOB 0x00100800
#define FS_CAP_FILE_ASF 0x00101000
#define FS_CAP_FILE_DIVX 0x00102000
#define FS_CAP_FILE_SWF 0x00104000
#define FS_CAP_FILE_DAT 0x00108000
#define FS_CAP_FILE_MPE 0x00120000
/* Text file */ /* 2005. 11. 4 modified by Taijin Kwon. written by Hyun seung Seo - */
#define FS_CAP_FILE_SMI 0x01000010
#define FS_CAP_FILE_SMIL 0x01000018 // cydrain 20060530
#define FS_CAP_FILE_PSB 0x01000020
#define FS_CAP_FILE_TXT 0x01000040
#define FS_CAP_FILE_SUB 0x01000080
#define FS_CAP_FILE_SRT 0x01000100
#define FS_CAP_FILE_SSA 0x01000200
#define FS_CAP_FILE_ASS 0x01000400
#define FS_CAP_FILE_IDX 0x01000800 // cydrain 20060421
/* Special file for firmware */
#define FS_CAP_FILE_FW 0x01800000
/* Unknown file type */
#define FS_CAP_UNKNOWN_FILE 0x0
#define FS_CAP_FILE_BIN(x) ((x) & FS_CAP_MASK_BIN)
/* Condition check macros */
#define FS_CAP_FILE_AUDIO(x) ((x) & FS_CAP_MASK_AUDIO)
#define FS_CAP_FILE_PICTURE(x) ((x) & FS_CAP_MASK_PICTURE)
#define FS_CAP_FILE_VIDEO(x) ((x) & FS_CAP_MASK_VIDEO)
#define FS_CAP_FILE_TEXT(x) ((x) & FS_CAP_MASK_TEXT)
#define FS_CAP_FILE(x) ((x) & FS_CAP_LIST_FILE)
#define FS_CAP_DIR(x) ((x) & FS_CAP_LIST_DIR)
#define FS_CAP_UPDIR(x) ((x) & FS_CAP_LIST_UPDIR)
#define FS_CAP_FILE_MP3_ON(x) ((x) & FS_CAP_FILE_MP3)
#define FS_CAP_FILE_MP2_ON(x) ((x) & FS_CAP_FILE_MP2)
#define FS_CAP_FILE_WMA_ON(x) ((x) & FS_CAP_FILE_WMA)
#define FS_CAP_FILE_AC3_ON(x) ((x) & FS_CAP_FILE_AC3)
#define FS_CAP_FILE_JPG_ON(x) ((x) & FS_CAP_FILE_JPG)
#define FS_CAP_FILE_GIF_ON(x) ((x) & FS_CAP_FILE_GIF)
#define FS_CAP_FILE_AVI_ON(x) ((x) & FS_CAP_FILE_AVI)
#define FS_CAP_FILE_MPG_ON(x) ((x) & FS_CAP_FILE_MPG)
#define FS_CAP_FILE_WMV_ON(x) ((x) & FS_CAP_FILE_WMV)
#define FS_CAP_FILE_ASF_ON(x) ((x) & FS_CAP_FILE_ASF)
#define FS_CAP_FILE_DIVX_ON(x) ((x) & FS_CAP_FILE_DIVX)
#define FS_CAP_FILE_SWF_ON(x) ((x) & FS_CAP_FILE_SWF)
#define FS_CAP_FILE_DAT_ON(x) ((x) & FS_CAP_FILE_DAT)
#define FS_CAP_FILE_VOB_ON(x) ((x) & FS_CAP_FILE_VOB)
#define FS_CAP_FILE_SMI_ON(x) ((x) & FS_CAP_FILE_SMI)
#define FS_CAP_FILE_SMIL_ON(x) ((x) & FS_CAP_FILE_SMIL) // cydrain 20060530
#define FS_CAP_FILE_PSB_ON(x) ((x) & FS_CAP_FILE_PSB)
#define FS_CAP_FILE_TXT_ON(x) ((x) & FS_CAP_FILE_TXT)
#define FS_CAP_FILE_SUB_ON(x) ((x) & FS_CAP_FILE_SUB)
#define FS_CAP_FILE_SRT_ON(x) ((x) & FS_CAP_FILE_SRT)
#define FS_CAP_FILE_SSA_ON(x) ((x) & FS_CAP_FILE_SSA)
#define FS_CAP_FILE_ASS_ON(x) ((x) & FS_CAP_FILE_ASS)
#define FS_CAP_FILE_IDX_ON(x) ((x) & FS_CAP_FILE_IDX) //azureming@060421
#define FS_CAP_FILE_FW_ON(x) ((x) & FS_CAP_FILE_FW)
/*! File system types
*/
typedef enum _FS_System_et
{
FS_NONE = 0, /*!< Not mounted */
FS_ISO,
FS_JOLIET,
FS_UDF,
FS_FAT
} FS_System_et;
typedef enum _FS_Device_et
{
FS_MNT_DEV_NONE = 0,
FS_MNT_DEV_CD,
FS_MNT_DEV_DVD,
FS_MNT_DEV_USB,
FS_MNT_DEV_FX
} FS_Device_et;
/*! Reserved drive index
*/
typedef enum _FS_Drive_et
{
FS_DRV_C = 0, /*!< Optical drive */
FS_DRV_D, /*!< D~K for USB multi drive and 11in2. If USB disk, E only used */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -