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

📄 fatfs_api.h

📁 fs_lib,arm9的fat文件系统
💻 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 + -