ReactOS  0.4.14-dev-317-g96040ec
fat.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _PACKED_BIOS_PARAMETER_BLOCK
 
struct  _PACKED_BIOS_PARAMETER_BLOCK_EX
 
struct  BIOS_PARAMETER_BLOCK
 
struct  _PACKED_BOOT_SECTOR
 
struct  _PACKED_BOOT_SECTOR_EX
 
struct  _FSINFO_SECTOR
 
struct  _FAT_TIME
 
struct  _FAT_DATE
 
struct  _FAT_TIME_STAMP
 
struct  _PACKED_DIRENT
 
struct  _EA_FILE_HEADER
 
struct  _EA_SET_HEADER
 
struct  _PACKED_EA
 

Macros

#define IsBpbFat32(bpb)   (*(USHORT *)(&(bpb)->SectorsPerFat) == 0)
 
#define FatUnpackBios(Bios, Pbios)
 
#define FSINFO_SECTOR_BEGIN_SIGNATURE   0x41615252
 
#define FSINFO_SECTOR_END_SIGNATURE   0xAA550000
 
#define FSINFO_SIGNATURE   0x61417272
 
#define FAT_BOOT_SECTOR_DIRTY   0x01
 
#define FAT_BOOT_SECTOR_TEST_SURFACE   0x02
 
#define FAT32_ENTRY_MASK   0x0FFFFFFFUL
 
#define FAT_CLEAN_VOLUME   (~FAT32_ENTRY_MASK | 0)
 
#define FAT_DIRTY_VOLUME   (~FAT32_ENTRY_MASK | 1)
 
#define FAT_DIRTY_BIT_INDEX   1
 
#define FAT_CLEAN_ENTRY   (~0)
 
#define FAT12_DIRTY_ENTRY   0x7ff
 
#define FAT16_DIRTY_ENTRY   0x7fff
 
#define FAT32_DIRTY_ENTRY   0x7fffffff
 
#define FAT_CLUSTER_AVAILABLE   (FAT_ENTRY)0x00000000
 
#define FAT_CLUSTER_RESERVED   (FAT_ENTRY)0x0ffffff0
 
#define FAT_CLUSTER_BAD   (FAT_ENTRY)0x0ffffff7
 
#define FAT_CLUSTER_LAST   (FAT_ENTRY)0x0fffffff
 
#define FAT_DIRENT_NEVER_USED   0x00
 
#define FAT_DIRENT_REALLY_0E5   0x05
 
#define FAT_DIRENT_DIRECTORY_ALIAS   0x2e
 
#define FAT_DIRENT_DELETED   0xe5
 
#define FAT_DIRENT_NT_BYTE_ENCRYPTED   0x01
 
#define FAT_DIRENT_NT_BYTE_BIG_HEADER   0x02
 
#define FAT_DIRENT_NT_BYTE_8_LOWER_CASE   0x08
 
#define FAT_DIRENT_NT_BYTE_3_LOWER_CASE   0x10
 
#define FAT_DIRENT_ATTR_READ_ONLY   0x01
 
#define FAT_DIRENT_ATTR_HIDDEN   0x02
 
#define FAT_DIRENT_ATTR_SYSTEM   0x04
 
#define FAT_DIRENT_ATTR_VOLUME_ID   0x08
 
#define FAT_DIRENT_ATTR_DIRECTORY   0x10
 
#define FAT_DIRENT_ATTR_ARCHIVE   0x20
 
#define FAT_DIRENT_ATTR_DEVICE   0x40
 
#define FAT_DIRENT_ATTR_LFN
 
#define FAT_EFS_EXTENSION   L".PFILE"
 
#define FAT_EFS_EXTENSION_CHARCOUNT   (6)
 
#define FAT_EFS_EXTENSION_BYTECOUNT   (12)
 
#define FatBytesPerCluster(B)   ((ULONG)((B)->BytesPerSector * (B)->SectorsPerCluster))
 
#define FatBytesPerFat(B)
 
#define FatReservedBytes(B)   ((ULONG)((B)->BytesPerSector * (B)->ReservedSectors))
 
#define FatRootDirectorySize(B)   ((ULONG)((B)->RootEntries * sizeof(DIRENT)))
 
#define FatRootDirectoryLbo(B)   (FatReservedBytes(B) + ((B)->Fats * FatBytesPerFat(B)))
 
#define FatRootDirectoryLbo32(B)   (FatFileAreaLbo(B)+((B)->RootDirFirstCluster-2)*FatBytesPerCluster(B))
 
#define FatFileAreaLbo(B)   (FatRootDirectoryLbo(B) + FatRootDirectorySize(B))
 
#define FatNumberOfClusters(B)
 
#define FatIndexBitSize(B)   ((UCHAR)(IsBpbFat32(B) ? 32 : (FatNumberOfClusters(B) < 4087 ? 12 : 16)))
 
#define FatVerifyIndexIsValid(IC, V, I)
 
#define FatGetLboFromIndex(VCB, FAT_INDEX)
 
#define FatGetIndexFromLbo(VCB, LBO)
 
#define FatLookup12BitEntry(FAT, INDEX, ENTRY)
 
#define FatSet12BitEntry(FAT, INDEX, ENTRY)
 
#define FatAreTimesEqual(TIME1, TIME2)
 
#define EA_FILE_SIGNATURE   (0x4445)
 
#define EA_SET_SIGNATURE   (0x4145)
 
#define SIZE_OF_EA_SET_HEADER   30
 
#define MAXIMUM_EA_SIZE   0x0000ffff
 
#define GetcbList(EASET)
 
#define SetcbList(EASET, CB)
 
#define GetEaValueLength(EA, LEN)
 
#define SetEaValueLength(EA, LEN)
 
#define SizeOfPackedEa(EA, SIZE)
 
#define EA_NEED_EA_FLAG   0x80
 
#define MIN_EA_HANDLE   1
 
#define MAX_EA_HANDLE   30719
 
#define UNUSED_EA_HANDLE   0xffff
 
#define EA_CBLIST_OFFSET   0x1a
 
#define MAX_EA_BASE_INDEX   240
 
#define MAX_EA_OFFSET_INDEX   128
 

Typedefs

typedef LONGLONG LBO
 
typedef LBOPLBO
 
typedef ULONG32 VBO
 
typedef VBOPVBO
 
typedef struct _PACKED_BIOS_PARAMETER_BLOCK PACKED_BIOS_PARAMETER_BLOCK
 
typedef PACKED_BIOS_PARAMETER_BLOCKPPACKED_BIOS_PARAMETER_BLOCK
 
typedef struct _PACKED_BIOS_PARAMETER_BLOCK_EX PACKED_BIOS_PARAMETER_BLOCK_EX
 
typedef PACKED_BIOS_PARAMETER_BLOCK_EXPPACKED_BIOS_PARAMETER_BLOCK_EX
 
typedef struct BIOS_PARAMETER_BLOCK BIOS_PARAMETER_BLOCK
 
typedef struct BIOS_PARAMETER_BLOCKPBIOS_PARAMETER_BLOCK
 
typedef struct _PACKED_BOOT_SECTOR PACKED_BOOT_SECTOR
 
typedef PACKED_BOOT_SECTORPPACKED_BOOT_SECTOR
 
typedef struct _PACKED_BOOT_SECTOR_EX PACKED_BOOT_SECTOR_EX
 
typedef PACKED_BOOT_SECTOR_EXPPACKED_BOOT_SECTOR_EX
 
typedef struct _FSINFO_SECTOR FSINFO_SECTOR
 
typedef struct _FSINFO_SECTORPFSINFO_SECTOR
 
typedef ULONG32 FAT_ENTRY
 
typedef struct _FAT_TIME FAT_TIME
 
typedef FAT_TIMEPFAT_TIME
 
typedef struct _FAT_DATE FAT_DATE
 
typedef FAT_DATEPFAT_DATE
 
typedef struct _FAT_TIME_STAMP FAT_TIME_STAMP
 
typedef FAT_TIME_STAMPPFAT_TIME_STAMP
 
typedef UCHAR FAT8DOT3[11]
 
typedef FAT8DOT3PFAT8DOT3
 
typedef struct _PACKED_DIRENT PACKED_DIRENT
 
typedef PACKED_DIRENTPPACKED_DIRENT
 
typedef PACKED_DIRENT DIRENT
 
typedef DIRENTPDIRENT
 
typedef struct _EA_FILE_HEADER EA_FILE_HEADER
 
typedef EA_FILE_HEADERPEA_FILE_HEADER
 
typedef USHORT EA_OFF_TABLE[128]
 
typedef EA_OFF_TABLEPEA_OFF_TABLE
 
typedef struct _EA_SET_HEADER EA_SET_HEADER
 
typedef EA_SET_HEADERPEA_SET_HEADER
 
typedef struct _PACKED_EA PACKED_EA
 
typedef PACKED_EAPPACKED_EA
 

Macro Definition Documentation

◆ EA_CBLIST_OFFSET

#define EA_CBLIST_OFFSET   0x1a

Definition at line 749 of file fat.h.

◆ EA_FILE_SIGNATURE

#define EA_FILE_SIGNATURE   (0x4445)

Definition at line 625 of file fat.h.

◆ EA_NEED_EA_FLAG

#define EA_NEED_EA_FLAG   0x80

Definition at line 745 of file fat.h.

◆ EA_SET_SIGNATURE

#define EA_SET_SIGNATURE   (0x4145)

Definition at line 626 of file fat.h.

◆ FAT12_DIRTY_ENTRY

#define FAT12_DIRTY_ENTRY   0x7ff

Definition at line 247 of file fat.h.

◆ FAT16_DIRTY_ENTRY

#define FAT16_DIRTY_ENTRY   0x7fff

Definition at line 248 of file fat.h.

◆ FAT32_DIRTY_ENTRY

#define FAT32_DIRTY_ENTRY   0x7fffffff

Definition at line 249 of file fat.h.

◆ FAT32_ENTRY_MASK

#define FAT32_ENTRY_MASK   0x0FFFFFFFUL

Definition at line 227 of file fat.h.

◆ FAT_BOOT_SECTOR_DIRTY

#define FAT_BOOT_SECTOR_DIRTY   0x01

Definition at line 213 of file fat.h.

◆ FAT_BOOT_SECTOR_TEST_SURFACE

#define FAT_BOOT_SECTOR_TEST_SURFACE   0x02

Definition at line 214 of file fat.h.

◆ FAT_CLEAN_ENTRY

#define FAT_CLEAN_ENTRY   (~0)

Definition at line 245 of file fat.h.

◆ FAT_CLEAN_VOLUME

#define FAT_CLEAN_VOLUME   (~FAT32_ENTRY_MASK | 0)

Definition at line 234 of file fat.h.

◆ FAT_CLUSTER_AVAILABLE

#define FAT_CLUSTER_AVAILABLE   (FAT_ENTRY)0x00000000

Definition at line 255 of file fat.h.

◆ FAT_CLUSTER_BAD

#define FAT_CLUSTER_BAD   (FAT_ENTRY)0x0ffffff7

Definition at line 257 of file fat.h.

◆ FAT_CLUSTER_LAST

#define FAT_CLUSTER_LAST   (FAT_ENTRY)0x0fffffff

Definition at line 258 of file fat.h.

◆ FAT_CLUSTER_RESERVED

#define FAT_CLUSTER_RESERVED   (FAT_ENTRY)0x0ffffff0

Definition at line 256 of file fat.h.

◆ FAT_DIRENT_ATTR_ARCHIVE

#define FAT_DIRENT_ATTR_ARCHIVE   0x20

Definition at line 373 of file fat.h.

◆ FAT_DIRENT_ATTR_DEVICE

#define FAT_DIRENT_ATTR_DEVICE   0x40

Definition at line 374 of file fat.h.

◆ FAT_DIRENT_ATTR_DIRECTORY

#define FAT_DIRENT_ATTR_DIRECTORY   0x10

Definition at line 372 of file fat.h.

◆ FAT_DIRENT_ATTR_HIDDEN

#define FAT_DIRENT_ATTR_HIDDEN   0x02

Definition at line 369 of file fat.h.

◆ FAT_DIRENT_ATTR_LFN

#define FAT_DIRENT_ATTR_LFN
Value:
FAT_DIRENT_ATTR_HIDDEN | \
FAT_DIRENT_ATTR_SYSTEM | \
FAT_DIRENT_ATTR_VOLUME_ID)
#define FAT_DIRENT_ATTR_READ_ONLY
Definition: fat.h:368

Definition at line 375 of file fat.h.

◆ FAT_DIRENT_ATTR_READ_ONLY

#define FAT_DIRENT_ATTR_READ_ONLY   0x01

Definition at line 368 of file fat.h.

◆ FAT_DIRENT_ATTR_SYSTEM

#define FAT_DIRENT_ATTR_SYSTEM   0x04

Definition at line 370 of file fat.h.

◆ FAT_DIRENT_ATTR_VOLUME_ID

#define FAT_DIRENT_ATTR_VOLUME_ID   0x08

Definition at line 371 of file fat.h.

◆ FAT_DIRENT_DELETED

#define FAT_DIRENT_DELETED   0xe5

Definition at line 337 of file fat.h.

◆ FAT_DIRENT_DIRECTORY_ALIAS

#define FAT_DIRENT_DIRECTORY_ALIAS   0x2e

Definition at line 336 of file fat.h.

◆ FAT_DIRENT_NEVER_USED

#define FAT_DIRENT_NEVER_USED   0x00

Definition at line 334 of file fat.h.

◆ FAT_DIRENT_NT_BYTE_3_LOWER_CASE

#define FAT_DIRENT_NT_BYTE_3_LOWER_CASE   0x10

Definition at line 362 of file fat.h.

◆ FAT_DIRENT_NT_BYTE_8_LOWER_CASE

#define FAT_DIRENT_NT_BYTE_8_LOWER_CASE   0x08

Definition at line 361 of file fat.h.

◆ FAT_DIRENT_NT_BYTE_BIG_HEADER

#define FAT_DIRENT_NT_BYTE_BIG_HEADER   0x02

Definition at line 354 of file fat.h.

◆ FAT_DIRENT_NT_BYTE_ENCRYPTED

#define FAT_DIRENT_NT_BYTE_ENCRYPTED   0x01

Definition at line 353 of file fat.h.

◆ FAT_DIRENT_REALLY_0E5

#define FAT_DIRENT_REALLY_0E5   0x05

Definition at line 335 of file fat.h.

◆ FAT_DIRTY_BIT_INDEX

#define FAT_DIRTY_BIT_INDEX   1

Definition at line 237 of file fat.h.

◆ FAT_DIRTY_VOLUME

#define FAT_DIRTY_VOLUME   (~FAT32_ENTRY_MASK | 1)

Definition at line 235 of file fat.h.

◆ FAT_EFS_EXTENSION

#define FAT_EFS_EXTENSION   L".PFILE"

Definition at line 384 of file fat.h.

◆ FAT_EFS_EXTENSION_BYTECOUNT

#define FAT_EFS_EXTENSION_BYTECOUNT   (12)

Definition at line 386 of file fat.h.

◆ FAT_EFS_EXTENSION_CHARCOUNT

#define FAT_EFS_EXTENSION_CHARCOUNT   (6)

Definition at line 385 of file fat.h.

◆ FatAreTimesEqual

#define FatAreTimesEqual (   TIME1,
  TIME2 
)
Value:
( \
RtlEqualMemory((TIME1),(TIME2), sizeof(FAT_TIME_STAMP)) \
)

Definition at line 620 of file fat.h.

◆ FatBytesPerCluster

#define FatBytesPerCluster (   B)    ((ULONG)((B)->BytesPerSector * (B)->SectorsPerCluster))

Definition at line 408 of file fat.h.

◆ FatBytesPerFat

#define FatBytesPerFat (   B)
Value:
((ULONG)((B)->BytesPerSector * (B)->LargeSectorsPerFat)) : \
((ULONG)((B)->BytesPerSector * (B)->SectorsPerFat)))
#define IsBpbFat32(bpb)
Definition: fat.h:101
#define B(row, col)
unsigned int ULONG
Definition: retypes.h:1

Definition at line 410 of file fat.h.

◆ FatFileAreaLbo

#define FatFileAreaLbo (   B)    (FatRootDirectoryLbo(B) + FatRootDirectorySize(B))

Definition at line 458 of file fat.h.

◆ FatGetIndexFromLbo

#define FatGetIndexFromLbo (   VCB,
  LBO 
)
Value:
( \
(ULONG) ( \
(((LBO) - (VCB)->AllocationSupport.FileAreaLbo) >> \
(VCB)->AllocationSupport.LogOfBytesPerCluster) + 2 \
) \
)
Definition: cdstruc.h:504
LONGLONG LBO
Definition: fat.h:34
unsigned int ULONG
Definition: retypes.h:1

Definition at line 566 of file fat.h.

◆ FatGetLboFromIndex

#define FatGetLboFromIndex (   VCB,
  FAT_INDEX 
)
Value:
( \
( (LBO) \
(VCB)->AllocationSupport.FileAreaLbo + \
(((LBO)((FAT_INDEX) - 2)) << (VCB)->AllocationSupport.LogOfBytesPerCluster) \
) \
)
Definition: cdstruc.h:504
struct _VCB VCB
LONGLONG LBO
Definition: fat.h:34

Definition at line 559 of file fat.h.

◆ FatIndexBitSize

#define FatIndexBitSize (   B)    ((UCHAR)(IsBpbFat32(B) ? 32 : (FatNumberOfClusters(B) < 4087 ? 12 : 16)))

Definition at line 515 of file fat.h.

◆ FatLookup12BitEntry

#define FatLookup12BitEntry (   FAT,
  INDEX,
  ENTRY 
)
Value:
{ \
CopyUchar2((PUCHAR)(ENTRY), (PUCHAR)(FAT) + (INDEX) * 3 / 2); \
\
*ENTRY = (FAT_ENTRY)(0xfff & (((INDEX) & 1) ? (*(ENTRY) >> 4) : \
*(ENTRY))); \
}
unsigned char * PUCHAR
Definition: retypes.h:3
#define CopyUchar2(Dst, Src)
Definition: cdprocs.h:1703
ULONG32 FAT_ENTRY
Definition: fat.h:225

Definition at line 584 of file fat.h.

◆ FatNumberOfClusters

#define FatNumberOfClusters (   B)
Value:
( \
\
((((B)->Sectors ? (B)->Sectors : (B)->LargeSectors) \
\
- ((B)->ReservedSectors + \
(B)->Fats * (B)->LargeSectorsPerFat )) \
\
/ \
\
(B)->SectorsPerCluster) \
: \
((((B)->Sectors ? (B)->Sectors : (B)->LargeSectors) \
\
- ((B)->ReservedSectors + \
(B)->Fats * (B)->SectorsPerFat + \
(B)->RootEntries * sizeof(DIRENT) / (B)->BytesPerSector ) ) \
\
/ \
\
(B)->SectorsPerCluster) \
)
#define IsBpbFat32(bpb)
Definition: fat.h:101
#define B(row, col)

Definition at line 482 of file fat.h.

◆ FatReservedBytes

#define FatReservedBytes (   B)    ((ULONG)((B)->BytesPerSector * (B)->ReservedSectors))

Definition at line 414 of file fat.h.

◆ FatRootDirectoryLbo

#define FatRootDirectoryLbo (   B)    (FatReservedBytes(B) + ((B)->Fats * FatBytesPerFat(B)))

Definition at line 445 of file fat.h.

◆ FatRootDirectoryLbo32

#define FatRootDirectoryLbo32 (   B)    (FatFileAreaLbo(B)+((B)->RootDirFirstCluster-2)*FatBytesPerCluster(B))

Definition at line 446 of file fat.h.

◆ FatRootDirectorySize

#define FatRootDirectorySize (   B)    ((ULONG)((B)->RootEntries * sizeof(DIRENT)))

Definition at line 427 of file fat.h.

◆ FatSet12BitEntry

#define FatSet12BitEntry (   FAT,
  INDEX,
  ENTRY 
)
Value:
{ \
\
FAT_ENTRY TmpFatEntry; \
CopyUchar2((PUCHAR)&TmpFatEntry, (PUCHAR)(FAT) + (INDEX) * 3 / 2); \
\
TmpFatEntry = (FAT_ENTRY) \
(((INDEX) & 1) ? ((ENTRY) << 4) | (TmpFatEntry & 0xf) \
: (ENTRY) | (TmpFatEntry & 0xf000)); \
\
*((UNALIGNED UCHAR2 *)((PUCHAR)(FAT) + (INDEX) * 3 / 2)) = *((UNALIGNED UCHAR2 *)(&TmpFatEntry)); \
}
unsigned char * PUCHAR
Definition: retypes.h:3
#define CopyUchar2(Dst, Src)
Definition: cdprocs.h:1703
struct ENTRY ENTRY
#define UNALIGNED
Definition: crtdefs.h:132
ULONG32 FAT_ENTRY
Definition: fat.h:225

Definition at line 603 of file fat.h.

◆ FatUnpackBios

#define FatUnpackBios (   Bios,
  Pbios 
)
Value:
{ \
CopyUchar2(&(Bios)->BytesPerSector, &(Pbios)->BytesPerSector[0] ); \
CopyUchar1(&(Bios)->SectorsPerCluster, &(Pbios)->SectorsPerCluster[0]); \
CopyUchar2(&(Bios)->ReservedSectors, &(Pbios)->ReservedSectors[0] ); \
CopyUchar1(&(Bios)->Fats, &(Pbios)->Fats[0] ); \
CopyUchar2(&(Bios)->RootEntries, &(Pbios)->RootEntries[0] ); \
CopyUchar2(&(Bios)->Sectors, &(Pbios)->Sectors[0] ); \
CopyUchar1(&(Bios)->Media, &(Pbios)->Media[0] ); \
CopyUchar2(&(Bios)->SectorsPerFat, &(Pbios)->SectorsPerFat[0] ); \
CopyUchar2(&(Bios)->SectorsPerTrack, &(Pbios)->SectorsPerTrack[0] ); \
CopyUchar2(&(Bios)->Heads, &(Pbios)->Heads[0] ); \
CopyUchar4(&(Bios)->HiddenSectors, &(Pbios)->HiddenSectors[0] ); \
CopyUchar4(&(Bios)->LargeSectors, &(Pbios)->LargeSectors[0] ); \
CopyUchar4(&(Bios)->LargeSectorsPerFat,&((PPACKED_BIOS_PARAMETER_BLOCK_EX)Pbios)->LargeSectorsPerFat[0] ); \
CopyUchar2(&(Bios)->ExtendedFlags, &((PPACKED_BIOS_PARAMETER_BLOCK_EX)Pbios)->ExtendedFlags[0] ); \
CopyUchar2(&(Bios)->FsVersion, &((PPACKED_BIOS_PARAMETER_BLOCK_EX)Pbios)->FsVersion[0] ); \
CopyUchar4(&(Bios)->RootDirFirstCluster, \
&((PPACKED_BIOS_PARAMETER_BLOCK_EX)Pbios)->RootDirFirstCluster[0] ); \
CopyUchar2(&(Bios)->FsInfoSector, &((PPACKED_BIOS_PARAMETER_BLOCK_EX)Pbios)->FsInfoSector[0] ); \
CopyUchar2(&(Bios)->BackupBootSector, &((PPACKED_BIOS_PARAMETER_BLOCK_EX)Pbios)->BackupBootSector[0] ); \
}
BOOL BackupBootSector(LPCTSTR lpszVolumeName)
Definition: install.c:61
_In_ ULONG _In_ ULONG SectorsPerTrack
Definition: iofuncs.h:2066

Definition at line 136 of file fat.h.

◆ FatVerifyIndexIsValid

#define FatVerifyIndexIsValid (   IC,
  V,
  I 
)
Value:
{ \
if (((I) < 2) || ((I) > ((V)->AllocationSupport.NumberOfClusters + 1))) { \
FatRaiseStatus(IC,STATUS_FILE_CORRUPT_ERROR); \
} \
}
#define STATUS_FILE_CORRUPT_ERROR
Definition: udferr_usr.h:168
#define I(s)

Definition at line 532 of file fat.h.

◆ FSINFO_SECTOR_BEGIN_SIGNATURE

#define FSINFO_SECTOR_BEGIN_SIGNATURE   0x41615252

Definition at line 204 of file fat.h.

◆ FSINFO_SECTOR_END_SIGNATURE

#define FSINFO_SECTOR_END_SIGNATURE   0xAA550000

Definition at line 205 of file fat.h.

◆ FSINFO_SIGNATURE

#define FSINFO_SIGNATURE   0x61417272

Definition at line 207 of file fat.h.

◆ GetcbList

#define GetcbList (   EASET)
Value:
(((EASET)->cbList[0] << 0) + \
((EASET)->cbList[1] << 8) + \
((EASET)->cbList[2] << 16) + \
((EASET)->cbList[3] << 24))

Definition at line 678 of file fat.h.

◆ GetEaValueLength

#define GetEaValueLength (   EA,
  LEN 
)
Value:
{ \
*(LEN) = 0; \
CopyUchar2( (LEN), (EA)->EaValueLength ); \
}
#define LEN
Definition: rtl.c:127

Definition at line 719 of file fat.h.

◆ IsBpbFat32

#define IsBpbFat32 (   bpb)    (*(USHORT *)(&(bpb)->SectorsPerFat) == 0)

Definition at line 101 of file fat.h.

◆ MAX_EA_BASE_INDEX

#define MAX_EA_BASE_INDEX   240

Definition at line 750 of file fat.h.

◆ MAX_EA_HANDLE

#define MAX_EA_HANDLE   30719

Definition at line 747 of file fat.h.

◆ MAX_EA_OFFSET_INDEX

#define MAX_EA_OFFSET_INDEX   128

Definition at line 751 of file fat.h.

◆ MAXIMUM_EA_SIZE

#define MAXIMUM_EA_SIZE   0x0000ffff

Definition at line 676 of file fat.h.

◆ MIN_EA_HANDLE

#define MIN_EA_HANDLE   1

Definition at line 746 of file fat.h.

◆ SetcbList

#define SetcbList (   EASET,
  CB 
)
Value:
{ \
(EASET)->cbList[0] = (CB >> 0) & 0x0ff; \
(EASET)->cbList[1] = (CB >> 8) & 0x0ff; \
(EASET)->cbList[2] = (CB >> 16) & 0x0ff; \
(EASET)->cbList[3] = (CB >> 24) & 0x0ff; \
}

Definition at line 683 of file fat.h.

◆ SetEaValueLength

#define SetEaValueLength (   EA,
  LEN 
)
Value:
{ \
CopyUchar2( &((EA)->EaValueLength), (LEN) ); \
}
#define LEN
Definition: rtl.c:127

Definition at line 724 of file fat.h.

◆ SIZE_OF_EA_SET_HEADER

#define SIZE_OF_EA_SET_HEADER   30

Definition at line 674 of file fat.h.

◆ SizeOfPackedEa

#define SizeOfPackedEa (   EA,
  SIZE 
)
Value:
{ \
ULONG _NL,_DL; _NL = 0; _DL = 0; \
CopyUchar1(&_NL, &(EA)->EaNameLength); \
GetEaValueLength(EA, &_DL); \
*(SIZE) = 1 + 1 + 2 + _NL + 1 + _DL; \
}
#define SIZE
Definition: consume.c:5
#define _DL

Definition at line 738 of file fat.h.

◆ UNUSED_EA_HANDLE

#define UNUSED_EA_HANDLE   0xffff

Definition at line 748 of file fat.h.

Typedef Documentation

◆ BIOS_PARAMETER_BLOCK

◆ DIRENT

Definition at line 326 of file fat.h.

◆ EA_FILE_HEADER

◆ EA_OFF_TABLE

typedef USHORT EA_OFF_TABLE[128]

Definition at line 652 of file fat.h.

◆ EA_SET_HEADER

◆ FAT8DOT3

typedef UCHAR FAT8DOT3[11]

Definition at line 295 of file fat.h.

◆ FAT_DATE

◆ FAT_ENTRY

typedef ULONG32 FAT_ENTRY

Definition at line 225 of file fat.h.

◆ FAT_TIME

◆ FAT_TIME_STAMP

◆ FSINFO_SECTOR

◆ LBO

typedef LONGLONG LBO

Definition at line 34 of file fat.h.

◆ PACKED_BIOS_PARAMETER_BLOCK

◆ PACKED_BIOS_PARAMETER_BLOCK_EX

◆ PACKED_BOOT_SECTOR

◆ PACKED_BOOT_SECTOR_EX

◆ PACKED_DIRENT

◆ PACKED_EA

◆ PBIOS_PARAMETER_BLOCK

◆ PDIRENT

typedef DIRENT* PDIRENT

Definition at line 327 of file fat.h.

◆ PEA_FILE_HEADER

Definition at line 650 of file fat.h.

◆ PEA_OFF_TABLE

Definition at line 654 of file fat.h.

◆ PEA_SET_HEADER

Definition at line 672 of file fat.h.

◆ PFAT8DOT3

typedef FAT8DOT3* PFAT8DOT3

Definition at line 296 of file fat.h.

◆ PFAT_DATE

typedef FAT_DATE* PFAT_DATE

Definition at line 281 of file fat.h.

◆ PFAT_TIME

typedef FAT_TIME* PFAT_TIME

Definition at line 272 of file fat.h.

◆ PFAT_TIME_STAMP

Definition at line 289 of file fat.h.

◆ PFSINFO_SECTOR

◆ PLBO

typedef LBO* PLBO

Definition at line 36 of file fat.h.

◆ PPACKED_BIOS_PARAMETER_BLOCK

Definition at line 69 of file fat.h.

◆ PPACKED_BIOS_PARAMETER_BLOCK_EX

◆ PPACKED_BOOT_SECTOR

Definition at line 174 of file fat.h.

◆ PPACKED_BOOT_SECTOR_EX

Definition at line 188 of file fat.h.

◆ PPACKED_DIRENT

Definition at line 319 of file fat.h.

◆ PPACKED_EA

Definition at line 700 of file fat.h.

◆ PVBO

typedef VBO* PVBO

Definition at line 39 of file fat.h.

◆ VBO

typedef ULONG32 VBO

Definition at line 38 of file fat.h.