📄 fdt.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 + -