📄 fat.h
字号:
/************************************************** * * fat.h * * CVS ID: $Id: * Author: Michal Chlapik [ MCH ] - STM * Date: $Date: 2006/09/15 19:46:47 $ * Revision: $Revision: 1.8 $ * * Description: * * <...> * *************************************************** * * COPYRIGHT (C) ST Microelectronics 2005 * All Rights Reserved * *************************************************** * * STM CVS Log: * * $Log: FAT.h,v $ * Revision 1.8 2006/09/15 19:46:47 belardi * Merged the m8_cav2_cm80506_cs3563. * - moved code outside of #ifdef * * ***************************************************/ #ifndef __FAT_H#define __FAT_H#include "configuration.h"#include "FATsupport.h"#if (HAVE_FAT)//#include "filesys.h" // [OK] SCAN_CTRUCT#include <stdlib.h>#include <string.h>#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 #define ATTR_LONG_NAME_MASK (ATTR_READ_ONLY| \ ATTR_HIDDEN| \ ATTR_SYSTEM| \ ATTR_VOLUME_ID| \ ATTR_DIRECTORY| \ ATTR_ARCHIVE)#define ATTR_LONG_NAME (ATTR_READ_ONLY| \ ATTR_HIDDEN| \ ATTR_SYSTEM| \ ATTR_VOLUME_ID)#define FAT12 1#define FAT16 2#define FAT32 0//M.Ch.//#define DSP 1typedef struct{ uint32 Sector; uint32 Offset; } SectorAndOffset_t;typedef enum { FAT_DIR_FOUND, FAT_FILE_FOUND} ENTRY_TYPE;typedef struct{ uint8 *EntryBuf; uint8 *SectorBuffer; SCAN_STRUCT *Scan_struct_ptr; DIR_ITEM *Dir_item_ptr; PRIVATE_DATA_FAT *FAT_private_struct_ptr; boolean LongNameFound; uint32 N; uint16 WholeLongEntryLength; uint8 CheckSum; boolean StatusLongName; uint16 LongName[255]; uint8 (*ExtTbl)[3]; uint32 ExtTblLen; ENTRY_TYPE TypeOfEntry;} ENTRY_STUFF_STRUCT;//macroes definition#define GET_BYTE(_data_, _var_, _off_) (_var_ = *( ((uint8 *)_data_) + (_off_) ) )#define GET_WORD(_data_, _var_, _off_) \ (_var_ = *( ((uint8 *)_data_) + (_off_) ) | \ *( ((uint8 *)_data_) + (_off_) + 1 ) << 8)#define GET_DWORD(_data_, _var_, _off_) \ (_var_ = *( ((uint8 *)_data_) + (_off_)) | \ *( ((uint8 *)_data_) + (_off_) + 1 ) << 8 | \ *( ((uint8 *)_data_) + (_off_) + 2 ) << 16 | \ *( ((uint8 *)_data_) + (_off_) + 3 ) << 24)#define GET_BYTES(_data_, _var_, _size_, _off_) \ memcpy((void *)(_var_), (void*)(((uint8 *)_data_)+(_off_)),_size_)//function declarationGRESULT FAT_GetPartitions(DUID did, uint8 *Secbuf, FS_DESCRIPTOR *fsd);void FillExtTbl(FS_DESCRIPTOR *fsd, char ExtTblOEM[][4], uint32 ExtTblLen);GRESULT FAT_Detect(DUID cdid, int partition, FS_DESCRIPTOR *fsd);GRESULT FAT_GetDirItem(SCAN_STRUCT *scans, DIR_ITEM *item, uint8 *buf);#endif /* (HAVE_FAT) */#endif /* __FAT_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -