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

📄 fsmvfs.h

📁 norflash的文件系统。 用于中低端手机开发的参考
💻 H
字号:
/*****************************************************************************
 
  FILE NAME: FsmVfs.h

  DESCRIPTION:

    

 Copyright (c) 2002, VIA Technologies, Inc.
*****************************************************************************/


#ifndef __FSM_VFS_H__

#define __FSM_VFS_H__

#include "fsmdefs.h"
#include "ostype.h"
#include "FsmDev.h"
#include "FsmFs.h"
#include "FsmApi.h"

/**************************************************************************
 *
 *      Interfaces between VFS and low level filesystem.
 *
 **************************************************************************/


/* File I/O control command. */

enum
{
	FSM_IOCTL_GET_ATTRIB = 2,
	FSM_IOCTL_TRUNCATE,
	FSM_IOCTL_RENAME,
	FSM_IOCTL_FLUSH,
	FSM_IOCTL_GET_FREE_SPACE,
	FSM_IOCTL_SEEK,
	FSM_IOCTL_TELL,
	FSM_IOCTL_EOF,
    FSM_IOCTL_FORMAT
};



/* File I/O command argument structure. */

typedef /*PACKED*/ struct
{
	int32				offset;
	uint32				whence;
} FsmIoctlSeekT;

typedef /*PACKED*/ struct
{
	FsmDevObjHdrT *		DevObjP; 
	const char *		path;
	const char *		newname;
} FsmIoctlRenameT;

typedef /*PACKED*/ struct
{
	FsmDevObjHdrT *		DevObjP;  
	uint32 *			total_space;
	uint32 *			avail_space;
	uint32 *			free_space;
} FsmIoctlGetFreeSpaceT;



/**************************************************************************
 *
 *      The following definitions are used by VFS internally.
 *
 **************************************************************************/

#define VOLUME_NAME_LENGTH		16

typedef /*PACKED*/ struct
{
	char				VolName[VOLUME_NAME_LENGTH + 1];
	FsmDevObjHdrT *		DevObjP;
	FsmFsDrvT	  *		FsDrvP;
	uint16				RefCnt;
} FsmVolumeT;



/* Flags for Vfs File descriptor. */

#define VFD_FLAG_FREE			0x00
#define VFD_FLAG_IN_USE			0x01
#define VFD_FLAG_PENDING		0x02

typedef /*PACKED*/ struct
{
	FsmVolumeT *		VolumeP;
	uint32				ErrorCode;
	uint32				LowerFd;
	HMSEM				MutexSem;
	uint8				Flag;
} FsmVfsFileDescriptorT;


typedef /*PACKED*/ struct
{
	HFSMFILE		vfd;
	char			pattern[FILE_NAME_LENGTH + 1];
} FsmFileEnumT;


/*----------------------------------------------------------*/



#endif /* __FSM_VFS_H__ */



/*****************************************************************************
* $Log: FsmVfs.h $
* Revision 1.3  2004/03/17 12:58:38  zgy
* Revision 1.13  2004/03/16 15:59:44  jjs
* Revision 1.12  2004/03/11 15:22:23  jjs
* Revision 1.11  2003/11/05 10:26:48  wsm
* Revision 1.10  2003/10/24 17:07:28  jjs
* Added FSM_IOCTRL_FORMAT code.
* Revision 1.9  2003/10/10 14:22:02  wangli
* Remove FileName From FsmVfsFileDescriptorT
* Revision 1.8  2003/10/09 11:35:50  wangli
* Add FileName in FsmVfsFileDescriptorT, only for Sim test
* Revision 1.7  2003/10/08 17:56:41  jjs
* Revision 1.6  2003/10/08 12:52:57  jjs
* Revision 1.5  2003/09/16 17:27:24  jjs
* Revision 1.4  2003/09/14 16:56:30  jjs
* Revision 1.3  2003/09/12 15:22:30  wsm
* Revision 1.2  2003/09/12 13:58:13  jjs
* Revision 1.1  2003/09/09 15:09:23  jjs
* Initial revision
*****************************************************************************/



⌨️ 快捷键说明

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