6 #define MaxFindFileClusNum 100
10 #define DBGKDUMP_PRINTK printk
14 typedef unsigned int UINT32
;
18 typedef signed int INT32
;
23 typedef unsigned int BOOL
;
27 typedef unsigned short WORD
;
31 typedef unsigned int DWORD
;
35 typedef unsigned char BYTE
;
39 typedef unsigned char* PBYTE
;
52 WRITE_FILE_DIRECT
= 0,
58 typedef enum FileSysType
77 DWORD RootDirStartSec
;
84 BYTE name
[11]; // file name
85 BYTE attr
; // file attribute bits (system, hidden, etc.)
87 BYTE createdTimeMsec
; // ??? (milliseconds needs 11 bits for 0-2000)
88 WORD createdTime
; // time of file creation
89 WORD createdDate
; // date of file creation
90 WORD lastAccessDate
; // date of last file access
91 WORD clusFirstHigh
; // high word of first cluster
92 WORD time
; // time of last file change
93 WORD date
; // date of last file change
94 WORD clusFirst
; // low word of first cluster
95 DWORD size
; // file size in bytes
99 BYTE seqNum
; // sequence number
100 BYTE name1
[10]; // name characters (five UTF-16 characters)
101 BYTE attr
; // attributes (always 0x0F)
102 BYTE NTflags
; // reserved (alwyas 0x00)
103 BYTE checksum
; // checksum of DOS file name
104 BYTE name2
[12]; // name characters (six UTF-16 characters)
105 WORD clusFirst
; // word of first cluster (always 0x0000)
106 BYTE name3
[4]; // name characters (2 UTF-16 characters)
109 #define buf_size 64*1024 //must larger than cluster size
112 BYTE FileBuffer
[buf_size
]; // File cluster cache, assume maximum cluster size is 64KB
113 BYTE FATBuffer
[512]; // FAT cache
114 DWORD BufferLen
; // data cached length in FileBuffer
115 DWORD TotalLen
; // File total length
116 DWORD PrevClusterNum
; // Prev cluster number
117 DWORD CurrClusterNum
; // Current cluster number
118 DWORD FATSector
; // Current FAT sector number
119 DWORD CheckSum
; // File write content checksum
123 extern BOOL
MSDC_Init(void);
124 extern BOOL
MSDC_DeInit(void);
125 extern BOOL
OpenDumpFile_sd(FileHandler
*pFileHandler
);
126 extern BOOL
WriteDumpFile_sd(FileHandler
*pFileHandler
, BYTE
*Ptr
, DWORD Length
, DWORD Total
);
127 extern BOOL
CloseDumpFile_sd(FileHandler
*pFileHandler
);
129 BOOL
WriteSectorToSD(UINT32 sector_addr
, PBYTE pdBuf
, INT32 blockLen
) ;
130 BOOL
ReadSectorFromSD(UINT32 sector_addr
,PBYTE pdBuf
,INT32 blockLen
) ;