DEVICE.H
上传用户:jcsy2001
上传日期:2013-11-29
资源大小:201k
文件大小:2k
开发平台:

C/C++

  1. ////////////////////////////////////////////////////////////////////////////////////
  2. // Command Descriptor Block
  3. //      _RBC : Reduced Block Command
  4. //      _SPC : SPC-2 SCSI primary Command - 2
  5. ////////////////////////////////////////////////////////////////////////////////////
  6. typedef struct _SYS_INFO_BLOCK{
  7.   unsigned long StartSector;
  8.   unsigned long TotalSector;
  9.   
  10.   INT16 BPB_BytesPerSec;
  11.   INT8 BPB_SecPerClus;
  12.   
  13.   INT8 BPB_NumFATs;
  14.   INT16 BPB_RootEntCnt;
  15.   unsigned long BPB_TotSec16;
  16.  // INT8 BPB_Media;
  17.   INT16 BPB_FATSz16;
  18.   INT16 BPB_SecPerTrk;
  19.   INT16 BPB_NumHeads;
  20.   unsigned long BPB_HiddSec;
  21.   unsigned long BPB_TotSec32;
  22.   //INT8 BS_DrvNum;
  23.  // INT8 BS_BootSig;
  24.   //INT8 BS_VolID[4];
  25.   //INT8 BS_VolLab[11];
  26.   //INT8 BS_FilSysType[8];
  27.    ///////////////////////////////
  28.   unsigned long FatStartSector;
  29.   unsigned long RootStartSector;
  30.   unsigned long FirstDataSector;
  31. /////////////////////FAT32///////////////////////////////
  32.   INT32 BPB_FATSz32;
  33.   unsigned long RootStartCluster;
  34.   unsigned long TotCluster;
  35.   unsigned long LastFreeCluster;
  36.   unsigned char FAT;
  37. } SYS_INFO_BLOCK;
  38. typedef struct _FILE_INFO{
  39.   unsigned char bFileOpen;
  40.   unsigned long StartCluster;//unsigned int StartCluster;
  41.   unsigned long LengthInByte;
  42.   unsigned long ClusterPointer;//unsigned int ClusterPointer;
  43.   unsigned long SectorPointer;
  44.   unsigned int OffsetofSector;
  45.   unsigned char SectorofCluster;
  46.   unsigned long pointer;
  47.   unsigned long FatSectorPointer;//unsigned int FatSectorPointer;
  48. } FILE_INFO;
  49. typedef struct _DIR_INFO{
  50. unsigned char name[8];
  51. unsigned char extension[3];
  52. unsigned char attribute;
  53. unsigned char Reserved[10];
  54. unsigned int lastUpdateDate;
  55. unsigned int lastUpdateTime;
  56. unsigned int startCluster;
  57. unsigned long length;
  58. } DIR_INFO;
  59. unsigned char InitFileSystem(void);
  60. unsigned char SdReadSector(unsigned long sector,unsigned char len,unsigned char *pBuffer);
  61. unsigned char SdWriteSector(unsigned long sector,unsigned char len,unsigned char *pBuffer);