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 + -
显示快捷键?