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

📄 fdt.h

📁 单片机开发环境 windows+ads+hjtag
💻 H
字号:

/*******************************************************************************

   (C) Copyright 2006, RAE Systems Inc. 	 All rights reserved

----------------- File Information ---------------------------------------------
       File Name: FDT.H
Last Modify Date: 9/19/2006
     Discription: FDT header file

---------------- Important Notes -----------------------------------------------


----------------- Rivision History ---------------------------------------------
         Version: V1.00
Last Modify Date: 9/17/2006
     Discription: Initial version, imported from ZLG_FS V1.00, derived from FAT.H

*******************************************************************************/

#ifndef __FDT_H__
#define __FDT_H__



/* FDT file attribute definition */
#define ATTR_READ_ONLY              0x01
#define ATTR_HIDDEN                 0x02
#define ATTR_SYSTEM                 0x04
#define ATTR_VOLUME_ID              0x08
#define ATTR_DIRECTORY              0x10
#define ATTR_ARCHIVE                0x20

/* Cluster type definition */
#define EMPTY_CLUS                  0
#define EMPTY_CLUS_1                1
#define BAD_CLUS                    0x0ffffff7L
#define EOF_CLUS_1                  0x0ffffff8L
#define EOF_CLUS_END                0x0fffffffL

/* FDT type definition */
#define EMPTY_FDT                   0
#define DEL_FDT                     ((INT8S)(0xe5))
#define ESC_FDT                     0x05

/* FDT data structure */
typedef struct _FDT
{
	INT8S   Name[11];           // File name
	INT8U   Attr;               // File attribute
	INT8U   NTRes;              // Reserved for NT
	INT8U   CrtTimeTenth;       // Create time(fat16-reserved)
	INT16U  CrtTime;            // Create time(fat16-reserved)
	INT16U  CrtDate;            // Create date(fat16-reserved)
	INT16U  LstAccDate;         // Last access date(fat16-reserved)
	INT16U  FstClusHI;          // Start cluster number high two bytes(fat16-reserved)
	INT16U  WrtTime;            // Last write time
	INT16U  WrtDate;            // Last write date
	INT16U  FstClusLO;          // Start cluster number low two bytes
	INT32U  FileSize;           // File size
} FDT;


extern INT8U ClearClus( INT8U Drive, INT32U Index );

extern INT8U ChangeFDT( INT8U Drive, INT32U ClusIndex, FDT *FDTData );

extern INT8U  ReadFDTInfo( FDT *Rt, INT8U Drive, INT32U SecIndex, INT16U ByteIndex );

extern INT8U  WriteFDTInfo( INT8U Drive, INT32U SecIndex, INT16U ByteIndex, FDT *FDTData );

extern INT8U GetFDTInfo( FDT *Rt,INT8U Drive, INT32U ClusIndex, INT32U Index );

extern INT8U SetFDTInfo( INT8U Drive, INT32U ClusIndex, INT32U Index, FDT *FDTData );

extern INT8U FindFDTInfo( FDT *Rt,INT8U Drive, INT32U ClusIndex, INT8S FileName[] );

extern INT8U AddFDT( INT8U Drive, INT32U ClusIndex, FDT *FDTData );

extern INT8U DelFDT( INT8U Drive, INT32U ClusIndex, INT8S FileName[] );

extern INT8U DirIsEmpty( INT8U Drive, INT32U ClusIndex );

extern INT8U FDTIsLie( INT8U Drive, INT32U ClusIndex, INT8S FileName[] );



#endif  /* #ifndef __FDT_H__ */

⌨️ 快捷键说明

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