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

📄 fat.h

📁 本程序为ST公司开发的源代码
💻 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 + -