file.h

来自「好记星的控件,包括button,list,对文件操作」· C头文件 代码 · 共 100 行

H
100
字号
/****************************************************************************/
/*                                                                          */
/*              Copyright (C) 2002 SHENZHEN MEIJIN CO.LTD                   */
/*                                                                          */
/* FILE NAME:   File.h                                                      */
/* MODULE NAME: FILE MODULE                                                 */
/* DESCRIPTION: 文件系统头文件                                              */
/*                                                                          */
/****************************************************************************/
/*    DATE       AUTHOR       VERSION                   REMARKS             */
/* =========== ===========  =========  =====================================*/
/* 2002-10-11     谢永良    Ver 1.00       创建                             */
/* 2003-07-15     李岩                     支持中文长文件名(UCS <-> GBK)  */
/****************************************************************************/

/* 防止头文件被重复引用所作的判断 */
#ifndef __FILE_H__
#define __FILE_H__

#include "pcdisk.h"

/*块设备参数*/
#define NFLASH_DRIVENO              0
#define NFLASH_DISK                 "A:"
#define CARD_DRIVENO                1
#define CARD_DISK                   "B:"

/*文件系统宏定义*/
#define FILE_MAX_NAMELEN            EMAXPATH    /*文件名最大长度*/
#define FILE_MAX_NAMESAVE           EMAXPATH    /*保存文件的最长文件名*/
#define MAX_ROOT_ENTRY              64          /*根目录项数*/

/*文件打开模式*/
#define FILEMODE_MASK               7
#define FILEMODE_READONLY           1           /*以只读方式打开*/
#define FILEMODE_WRITE              2           /*以写方式打开*/
#define FILEMODE_READWRITE          3           /*以读写方式打开*/
#define FILEMODE_APPEND             4           /*附加数据方式打开*/
#define FILEMODE_CREATEWRITE        5           /*若文件不存在则先创建再以读写方式打开*/
#define FILEMODE_NOSHAREWRITE       6           /*不允许其他人共享写文件,黄小明为Mp3增加的,2003/7/21*/

/*文件指针的移动类型*/
#define FILESEEK_BEGIN              0           /*相对文件开始位置设置文件指针*/
#define FILESEEK_CURRENT            1           /*相对文件当前位置设置文件指针*/
#define FILESEEK_END                2           /*相对文件结束位置设置文件指针*/

INT     FileInitialize(VOID);
VOID    FileTerminate(VOID);


BOOL    FileModInitial(VOID);
BOOL    FileSetDeviceDispatchTable(INT nNo, _PC_BDEVSW *pDevDt, INT nFatSize);

STATUS  FileOpenDisk(CHAR *path);
STATUS  FileCloseDisk(CHAR *path);
VOID    FileDiskAbort(CHAR *path);
STATUS  FileMakeDir(CHAR *name);
INT     FileSOpen(CHAR *name, UINT16 flag, UINT16 mode);
INT     FileOpen(UINT8 *pFileName, UINT8 openMode);//这个函数是OS转换后提供的 
INT32   FileRead(INT fd, CHAR *buf, INT32 count);
INT32   FileWrite(INT fd, CHAR *buf, INT32 count);
INT32   FileSeek(INT fd, INT32 offset, INT16 origin);
STATUS  FileTruncate(INT fd, INT32 offset);
STATUS  FileFlush(INT fd);
STATUS  FileClose(INT fd);
STATUS  FileSetAttributes(CHAR *name, UINT8 newattr);
STATUS  FileGetAttributes(UINT8 *attr, CHAR *name);
STATUS  FileRename(CHAR *name, CHAR *newname);
STATUS  FileDelete(CHAR *name);
STATUS  FileRemoveDir(CHAR *name);
STATUS  FileFormat(INT16 driveno, FMTPARMS *pfmt);
STATUS  FileFreeSpace(CHAR *path, UINT8 *secpcluster, UINT16 *bytepsec, UINT32 *freecluster, UINT32 *totalcluster);
INT     FileIniFreeSpace(INT16 driveno);
INT     FileGetFreeSpace(INT16 driveno);
VOID    FileSetFreeSpace(INT16 driveno, INT size);
STATUS  FileGetFirst(DSTAT *statobj, CHAR *pattern);
STATUS  FileGetNext(DSTAT *statobj);
VOID    FileDone(DSTAT *statobj);
STATUS  FileSetDefaultDrive(UINT16 driveno);
UINT16  FileGetDefaultDrive(VOID);
STATUS  FileSetCurrentDir(CHAR *path);
STATUS  FileCurrentDir(UINT8 *drive, CHAR *path);
INT     FileBecomeFileUser(VOID);
VOID    FileReleaseFileUser(VOID);
INT     FileCheckFileUser(VOID);

// 下面三个函数为OS新增加的函数
BOOL    FileRewind(INT fd);
INT32   FileLength(INT fd);
UINT32  FileTell(INT fd);
STATUS  FileAllFormat(VOID);
STATUS  FileDiskFormat(VOID);

#ifdef _WIN32
void FileOpenCheckStart(void);
void FileOpenCheckEnd(void);
#endif

#endif /* #ifndef __FILE_H__ */

⌨️ 快捷键说明

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