?? msdos.h
字號:
/*
Module Name:
MsDos.h
Abstract:
MS-DOS partition interface.
*/
#ifndef __MSDOS_H__
#define __MSDOS_H__
#define mBytesPerSector 512
#define mMaxFATSize 256
#define mDirectoryEntrySize 32
#define mPartitionMapOffset 0x1BE
#define mPartitionMapSize 16
#define mPartitionSigOffset 0x1FE
#define mPartitionSigSize 2
#define mPartitionSigValue 0xAA55
#define mMSDFileLoadAddr 0xA3C8D000UL // $$$ Need to fix! Buffer address
#define mFATLoadAddr 0xA3C97000UL // $$$ Need to fix! Buffer address
#define mMaxBootfileSize 0x80000
#define mBootfileNameLength 8
#define mBootfileExtLength 3
#define mPartitionBootableFlag 0x80
#define mPartitionTypeOffset 4
#define mPartitionTypeLength 1
#define mPartitionStartOffset 8
#define mPartitionStartLength 4
#define mPartitionLengthOffset 12
#define mPartitionLengthLength 4
#define mPartitionTypeFAT16 4
#define mPartitionTypeFAT12 1
#define mBinHeaderLength 15
#define mBinStartOffset 7
#define mBinStartSize 4
#define mBinSegHeaderLength 12
#define mBinSegAddrOffset 0
#define mBinSegAddrSize 4
#define mBinSegLengthOffset 4
#define mBinSegLengthSize 4
#define mClusterEndOfFile 0xFFFF
#define mClusterEndOfFileMask 0xFFF
#define mDirNameOffset 0
#define mDirExtOffset 8
#define mDirStartOffset 26
#define mDirStartSize 2
#define mDirLengthOffset 28
#define mDirLengthSize 4
#define mSectorsPerClusterOffset 13
#define mSectorsPerClusterSize 1
#define mReservedSectorsOffset 14
#define mReservedSectorsSize 1
#define mCopiesOfFATOffset 16
#define mCopiesOfFATSize 1
#define mRootDirEntriesOffset 17
#define mRootDirEntriesSize 2
#define mSectorsPerFATOffset 22
#define mSectorsPerFATSize 2
#define mHiddenSectorsOffset 29
#define mHiddenSectorsSize 2
#define mEmptyType 0x00
#define mFAT12Type 0x01
#define mXENIXType 0x02
#define mXENIXType2 0x03
#define mFAT16Type 0x04
#define mExtendedType 0x05
#define mDOS32MegType 0x06
#define mOS2_HPFSType 0x07
#define mBootMgrType 0x0A
#define mFAT32Type 0x0B
#define mNovellType 0x64
#define mPCIXType 0x75
#define mCPM_ConcurType 0xDB
#define mBBTType 0xFF
DWORD bytesToNum(BYTE *b, int bytes);
int getNextCluster(int cluster);
void readCluster(int cluster, BYTE *p);
BOOL findBootPartition(void);
BOOL processBootRecord(void);
BOOL findBootFile(PBYTE fileName, PBYTE fileExt);
BOOL readBootFile(PBYTE Addr, ULONG bytesToRead, PULONG bytesRead);
BOOL compare(PBYTE a, PBYTE b, int length);
void copy(PBYTE a, PBYTE b, int length);
#endif // __MSDOS_H__
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -