📄 fatfs_api.h
字号:
/*
* @(#)Api.h
* @date 2005/12/25
* @version 1.0
* @author Zhou Shangpin.
* Copyright 2005 Anyka corporation, Inc. All rights reserved.
* ANYKA PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
#ifndef _API_H_
#define _API_H_
#define AK_VERSION_FSLIB "V0.2.4"
#include "aktypes.h"
#define FS_MAX_PATH_LEN 512
#define T_hFILE T_S32
#define T_hFILESTAT T_S32
#define T_FILE_MODE T_U32
#define T_FILE_FLAG T_U32
#define FS_INVALID_STATHANDLE -1
#define FS_INVALID_HANDLE -1
/*
* @FS_FileSeek reference
*/
#ifndef FS_SEEK_SET
#define FILE_MODE_READ 0x00
#define FILE_MODE_CREATE 0x01
#define FS_SEEK_SET 0
#define FS_SEEK_CUR 1
#define FS_SEEK_END 2
#define FS_MODE_READ 0
//FILE_MODE_CREATE
#define FS_MODE_CREATE 0x01
#define FS_MODE_WRITE 0x01
#define FS_MODE_OVERLAY 0x02
#define FS_MODE_APPEND 0x03
#endif
#define FATFSAPI(_funname) FS_##_funname
#define FATFSTAPI(_funname) FST_##_funname
/*******************************************************************************
* file system interface
******************************************************************************/
T_S16 FATFSAPI(Init)();
T_VOID FATFSAPI(Destroy)(T_VOID);
T_U32 FATFSAPI(GetSize)(T_pCSTR driver);
/*******************************************************************************
* file operation interface
******************************************************************************/
T_hFILE FS1_FileOpen(T_pCSTR path, T_FILE_MODE mode);
T_BOOL FATFSAPI(CopyFile)(T_pCSTR SrcStr, T_pCSTR DstStr);
/*******************************************************************************
* file status interface
******************************************************************************/
//#define FST_CLEAR(_stat) do{FST_Close(_stat);_stat=FS_INVALID_STATHANDLE;}while(0)
/*******************************************************************************
* directory operation interface
******************************************************************************/
T_BOOL FS_MkDirs(T_pCSTR path);
T_pCSTR FS_GetVersion(T_VOID);
/*******************************************************************************
* file system interface
******************************************************************************/
T_S16 FATFSAPI(Init)(T_VOID);
T_U32 FATFSAPI(GetUsedSize)(T_pCSTR driver);
T_U32 FATFSAPI(GetFreeSize)(T_pCSTR driver);
#define FST_CLEAR(_stat) do{FATFSTAPI(Close)(_stat);_stat=FS_INVALID_STATHANDLE;}while(0)
/*******************************************************************************
* file operation interface
******************************************************************************/
T_hFILE FATFSAPI(FileOpen)(T_pCSTR path, T_FILE_FLAG flag, T_FILE_MODE mode);
T_U32 FATFSAPI(FileRead)(T_hFILE hFile, T_pVOID buffer, T_U32 count);
T_U32 FATFSAPI(FileWrite)(T_hFILE hFile, T_pCVOID buffer, T_U32 count);
T_BOOL FATFSAPI(FileClose)(T_hFILE hFile);
T_U32 FATFSAPI(FileSeek)(T_hFILE hFile, T_S32 offset, T_U16 origin);
T_U32 FATFSAPI(GetFileLen)(T_hFILE hFile);
T_BOOL FATFSAPI(FileDelete)(T_pCSTR path);
/*******************************************************************************
* file status interface
******************************************************************************/
T_hFILESTAT FATFSAPI(HFileStat)(T_hFILE hFile);
T_hFILESTAT FATFSAPI(FileStat)(T_pCSTR path);
T_VOID FATFSTAPI(Close)(T_hFILESTAT stat);
//#define FATFSTAPI(CLEAR)(_stat) FATFSTAPI(Close)(_stat),(_stat=FATFSAPI(INVALID_STATHANDLE)
T_hFILESTAT FATFSAPI(FindFirst)(T_pCSTR pattern);
T_BOOL FATFSAPI(FindNext)(T_hFILESTAT stat);
T_VOID FATFSAPI(FindClose)(T_hFILESTAT stat);
//#define FATFSAPI(FINDCLEAR)(_stat) FATFSAPI(FindClose(_stat),(_stat=FATFSAPI(INVALID_STATHANDLE)
T_U32 FATFSTAPI(GetAttribute)(T_hFILESTAT stat);
T_pCSTR FATFSTAPI(GetPath)(T_hFILESTAT stat);
T_U32 FATFSTAPI(GetSize)(T_hFILESTAT stat);
T_pCSTR FATFSTAPI(GetFileName)(T_hFILESTAT stat);
//T_pCSTR FATFSTAPI(GetFileName)(T_hFILESTAT stat)
T_U32 FATFSTAPI(GetCTime)(T_hFILESTAT stat);
/*******************************************************************************
* directory operation interface
******************************************************************************/
T_BOOL FATFSAPI(MkDir)(T_pCSTR path, T_FILE_MODE mode);
T_BOOL FATFSAPI(RmDir)(T_pCSTR path);
T_BOOL FATFSAPI(IsDir)(T_pCSTR path);
T_BOOL FATFSAPI(MoveFile)(T_pCSTR oriPath, T_pCSTR newPath);
T_U32 FATFSAPI(GetFileSize)(T_hFILE);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -