37#define EXT_DEBUG_BREAKPOINT FALSE
39#if EXT2_DEBUG && EXT_DEBUG_BREAKPOINT
43#define DbgBreak() KdBreakPoint()
51#define EXT2FSD_VERSION "0.69"
65#define EXT2_UNLOAD FALSE
69#define EXT2_PRE_ALLOCATION_SUPPORT TRUE
75#define EXT2_MAX_NESTED_LINKS (8)
76#define EXT2_LINKLEN_IN_INODE (60)
77#define EXT2_BLOCK_TYPES (0x04)
79#define MAXIMUM_RECORD_LENGTH (0x10000)
81#define SECTOR_BITS (Vcb->SectorBits)
82#define SECTOR_SIZE (Vcb->DiskGeometry.BytesPerSector)
83#define DEFAULT_SECTOR_SIZE (0x200)
85#define SUPER_BLOCK_OFFSET (0x400)
86#define SUPER_BLOCK_SIZE (0x400)
88#define READ_AHEAD_GRANULARITY (0x10000)
90#define SUPER_BLOCK (Vcb->SuperBlock)
92#define INODE_SIZE (Vcb->InodeSize)
93#define BLOCK_SIZE (Vcb->BlockSize)
94#define BLOCK_BITS (SUPER_BLOCK->s_log_block_size + 10)
95#define GROUP_DESC_SIZE (Vcb->sbi.s_desc_size)
97#define INODES_COUNT (Vcb->SuperBlock->s_inodes_count)
99#define INODES_PER_GROUP (SUPER_BLOCK->s_inodes_per_group)
100#define BLOCKS_PER_GROUP (SUPER_BLOCK->s_blocks_per_group)
101#define TOTAL_BLOCKS (ext3_blocks_count(SUPER_BLOCK))
103#define EXT2_FIRST_DATA_BLOCK (SUPER_BLOCK->s_first_data_block)
111#define CEILING_ALIGNED(T, A, B) (((A) + (B) - 1) & (~((T)(B) - 1)))
112#define COCKLOFT_ALIGNED(T, A, B) (((A) + (B)) & (~((T)(B) - 1)))
132#define CL_ASSERT(cond) do {switch('x') {case (cond): case 0: break;}} while (0)
136#define DRIVER_NAME "Ext2Fsd"
137#define DEVICE_NAME L"\\Ext2Fsd"
138#define CDROM_NAME L"\\Ext2CdFsd"
142#define PARAMETERS_KEY L"\\Parameters"
143#define VOLUMES_KEY L"\\Volumes"
145#define READING_ONLY L"Readonly"
146#define WRITING_SUPPORT L"WritingSupport"
147#define CHECKING_BITMAP L"CheckingBitmap"
148#define EXT3_FORCEWRITING L"Ext3ForceWriting"
149#define CODEPAGE_NAME L"CodePage"
150#define HIDING_PREFIX L"HidingPrefix"
151#define HIDING_SUFFIX L"HidingSuffix"
152#define AUTO_MOUNT L"AutoMount"
153#define MOUNT_POINT L"MountPoint"
159#define DOS_DEVICE_NAME L"\\DosDevices\\Ext2Fsd"
166#define IOCTL_PREPARE_TO_UNLOAD \
167CTL_CODE(FILE_DEVICE_UNKNOWN, 2048, METHOD_NEITHER, FILE_WRITE_ACCESS)
177#define IsFlagOn(a,b) ((BOOLEAN)(FlagOn(a,b) == b))
179#define FlagOn(_F,_SF) ((_F) & (_SF))
183#define BooleanFlagOn(F,SF) ((BOOLEAN)(((F) & (SF)) != 0))
187#define SetFlag(_F,_SF) ((_F) |= (_SF))
191#define ClearFlag(_F,_SF) ((_F) &= ~(_SF))
195#define min(a,b) (((a) < (b)) ? (a) : (b))
199#define max(a,b) (((a) > (b)) ? (a) : (b))
203#define InterlockedOr _InterlockedOr
210#pragma intrinsic (_InterlockedAnd)
211#define InterlockedAnd _InterlockedAnd
219#pragma intrinsic (_InterlockedXor)
220#define InterlockedXor _InterlockedXor
227#define SetLongFlag(_F,_SF) Ext2SetFlag((PULONG)&(_F), (ULONG)(_SF))
228#define ClearLongFlag(_F,_SF) Ext2ClearFlag((PULONG)&(_F), (ULONG)(_SF))
230#define SetLongFlag(_F,_SF) Ext2SetFlag(&(_F), (ULONG)(_SF))
231#define ClearLongFlag(_F,_SF) Ext2ClearFlag(&(_F), (ULONG)(_SF))
258#define SetLongFlag(_F,_SF) InterlockedOr(&(_F), (ULONG)(_SF))
259#define ClearLongFlag(_F,_SF) InterlockedAnd(&(_F), ~((ULONG)(_SF)))
263#define Ext2RaiseStatus(IRPCONTEXT,STATUS) { \
264 (IRPCONTEXT)->ExceptionCode = (STATUS); \
265 ExRaiseStatus((STATUS)); \
268#define Ext2NormalizeAndRaiseStatus(IRPCONTEXT,STATUS) { \
269 (IRPCONTEXT)->ExceptionCode = STATUS; \
270 if ((STATUS) == STATUS_VERIFY_REQUIRED) { ExRaiseStatus((STATUS)); } \
271 ExRaiseStatus(FsRtlNormalizeNtstatus((STATUS),STATUS_UNEXPECTED_IO_ERROR)); \
278#define FILE_WRITE_TO_END_OF_FILE 0xffffffff
280#define IsWritingToEof(Pos) (((Pos).LowPart == FILE_WRITE_TO_END_OF_FILE) && \
281 ((Pos).HighPart == -1 ))
283#define IsDirectory(Fcb) IsMcbDirectory((Fcb)->Mcb)
284#define IsSpecialFile(Fcb) IsMcbSpecialFile((Fcb)->Mcb)
285#define IsSymLink(Fcb) IsMcbSymLink((Fcb)->Mcb)
286#define IsInodeSymLink(I) S_ISLNK((I)->i_mode)
287#define IsRoot(Fcb) IsMcbRoot((Fcb)->Mcb)
293#define TAG_VPB ' bpV'
294#define VPB_SIZE sizeof(VPB)
296#define EXT2_DATA_MAGIC 'BD2E'
297#define EXT2_INAME_MAGIC 'NI2E'
298#define EXT2_FNAME_MAGIC 'NF2E'
299#define EXT2_VNAME_MAGIC 'NV2E'
300#define EXT2_DENTRY_MAGIC 'ED2E'
301#define EXT2_DIRSP_MAGIC 'SD2E'
302#define EXT2_SB_MAGIC 'BS2E'
303#define EXT2_GD_MAGIC 'DG2E'
304#define EXT2_FLIST_MAGIC 'LF2E'
305#define EXT2_PARAM_MAGIC 'PP2E'
306#define EXT2_RWC_MAGIC 'WR2E'
312#define EXT2_FILE_SYSTEM (FILE_SYSTEM)
314#define EXT2_BUGCHK_BLOCK (0x00010000)
315#define EXT2_BUGCHK_CLEANUP (0x00020000)
316#define EXT2_BUGCHK_CLOSE (0x00030000)
317#define EXT2_BUGCHK_CMCB (0x00040000)
318#define EXT2_BUGCHK_CREATE (0x00050000)
319#define EXT2_BUGCHK_DEBUG (0x00060000)
320#define EXT2_BUGCHK_DEVCTL (0x00070000)
321#define EXT2_BUGCHK_DIRCTL (0x00080000)
322#define EXT2_BUGCHK_DISPATCH (0x00090000)
323#define EXT2_BUGCHK_EXCEPT (0x000A0000)
324#define EXT2_BUGCHK_EXT2 (0x000B0000)
325#define EXT2_BUGCHK_FASTIO (0x000C0000)
326#define EXT2_BUGCHK_FILEINFO (0x000D0000)
327#define EXT2_BUGCHK_FLUSH (0x000E0000)
328#define EXT2_BUGCHK_FSCTL (0x000F0000)
329#define EXT2_BUGCHK_INIT (0x00100000)
330#define EXT2_BUGCHK_LOCK (0x0011000)
331#define EXT2_BUGCHK_MEMORY (0x0012000)
332#define EXT2_BUGCHK_MISC (0x0013000)
333#define EXT2_BUGCHK_READ (0x00140000)
334#define EXT2_BUGCHK_SHUTDOWN (0x00150000)
335#define EXT2_BUGCHK_VOLINFO (0x00160000)
336#define EXT2_BUGCHK_WRITE (0x00170000)
338#define EXT2_BUGCHK_LAST (0x00170000)
340#define Ext2BugCheck(A,B,C,D) { KeBugCheckEx(EXT2_FILE_SYSTEM, A | __LINE__, B, C, D ); }
349#define EXT2_SUPER_MAGIC 0xEF53
351#define EXT2_MIN_BLOCK 1024
352#define EXT2_MIN_FRAG 1024
353#define EXT2_MAX_USER_BLKSIZE 65536
358#define S_IFMT 0x0F000
359#define S_IFSOCK 0x0C000
360#define S_IFLNK 0x0A000
361#define S_IFREG 0x08000
362#define S_IFBLK 0x06000
363#define S_IFDIR 0x04000
364#define S_IFCHR 0x02000
365#define S_IFIFO 0x01000
367#define S_ISUID 0x00800
368#define S_ISGID 0x00400
369#define S_ISVTX 0x00200
371#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
372#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
373#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
374#define S_ISFIL(m) (((m) & S_IFMT) == S_IFFIL)
375#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
376#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
377#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
378#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
380#define S_IPERMISSION_MASK 0x1FF
400#define S_IRWXUGO (S_IRWXU|S_IRWXG|S_IRWXO)
401#define S_IALLUGO (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO)
402#define S_IRUGO (S_IRUSR|S_IRGRP|S_IROTH)
403#define S_IWUGO (S_IWUSR|S_IWGRP|S_IWOTH)
404#define S_IXUGO (S_IXUSR|S_IXGRP|S_IXOTH)
405#define S_IFATTR (S_IRWNU|S_IRWNG|S_IRWNO)
407#define S_ISREADABLE(m) (((m) & S_IPERMISSION_MASK) == (S_IRUSR | S_IRGRP | S_IROTH))
408#define S_ISWRITABLE(m) (((m) & S_IPERMISSION_MASK) == (S_IWUSR | S_IWGRP | S_IWOTH))
410#define Ext2SetReadable(m) do {(m) = (m) | (S_IRUSR | S_IRGRP | S_IROTH);} while(0)
411#define Ext2SetWritable(m) do {(m) = (m) | (S_IWUSR | S_IWGRP | S_IWOTH);} while(0)
413#define Ext2SetOwnerWritable(m) do {(m) |= S_IWUSR;} while(0)
414#define Ext2SetOwnerReadOnly(m) do {(m) &= ~S_IWUSR;} while(0)
416#define Ext2IsOwnerWritable(m) (((m) & S_IWUSR) == S_IWUSR)
417#define Ext2IsOwnerReadable(m) (((m) & S_IRUSR) == S_IRUSR)
418#define Ext2IsOwnerReadOnly(m) (!(Ext2IsOwnerWritable(m)) && Ext2IsOwnerReadable(m))
420#define Ext2IsGroupWritable(m) (((m) & S_IWGRP) == S_IWGRP)
421#define Ext2IsGroupReadable(m) (((m) & S_IRGRP) == S_IRGRP)
422#define Ext2IsGroupReadOnly(m) (!(Ext2IsGroupWritable(m)) && Ext2IsGroupReadable(m))
424#define Ext2IsOtherWritable(m) (((m) & S_IWOTH) == S_IWOTH)
425#define Ext2IsOtherReadable(m) (((m) & S_IROTH) == S_IROTH)
426#define Ext2IsOtherReadOnly(m) (!(Ext2IsOtherWritable(m)) && Ext2IsOtherReadable(m))
428#define Ext2SetReadOnly(m) do {(m) &= ~(S_IWUSR | S_IWGRP | S_IWOTH);} while(0)
431#define Ext2FileCanRead (0x1)
432#define Ext2FileCanWrite (0x2)
433#define Ext2FileCanExecute (0x4)
482#define NodeType(Ptr) (*((EXT2_IDENTIFIER_TYPE *)(Ptr)))
511#define EXT2_REAPER_FLAG_STOP (1 << 0)
590#define EXT2_UNLOAD_PENDING 0x00000001
591#define EXT2_SUPPORT_WRITING 0x00000002
592#define EXT3_FORCE_WRITING 0x00000004
593#define EXT2_CHECKING_BITMAP 0x00000008
594#define EXT2_AUTO_MOUNT 0x00000010
607#define INC_MEM_COUNT(_i, _p, _s) do { ASSERT(_p); Ext2TraceMemory(TRUE, (int) (_i), (PVOID)(_p), (LONG)(_s)); } while(0)
608#define DEC_MEM_COUNT(_i, _p, _s) do { ASSERT(_p); Ext2TraceMemory(FALSE, (int) (_i), (PVOID)(_p), (LONG)(_s)); } while(0)
609#define INC_IRP_COUNT(IrpContext) Ext2TraceIrpContext(TRUE, (IrpContext))
610#define DEC_IRP_COUNT(IrpContext) Ext2TraceIrpContext(FALSE, (IrpContext))
616#define IsExt2FsDevice(DO) ((DO == Ext2Global->DiskdevObject) || \
617 (DO == Ext2Global->CdromdevObject) )
620#define FSRTL_ADVANCED_FCB_HEADER FSRTL_COMMON_FCB_HEADER
628#ifndef _WIN2K_TARGET_
788#define VCB_INITIALIZED 0x00000001
789#define VCB_VOLUME_LOCKED 0x00000002
790#define VCB_MOUNTED 0x00000004
791#define VCB_DISMOUNT_PENDING 0x00000008
792#define VCB_NEW_VPB 0x00000010
793#define VCB_BEING_CLOSED 0x00000020
794#define VCB_USER_IDS 0x00000040
795#define VCB_USER_EIDS 0x00000080
796#define VCB_GD_LOADED 0x00000100
798#define VCB_BEING_DROPPED 0x00002000
799#define VCB_FORCE_WRITING 0x00004000
800#define VCB_DEVICE_REMOVED 0x00008000
801#define VCB_JOURNAL_RECOVER 0x00080000
802#define VCB_ARRIVAL_NOTIFIED 0x00800000
803#define VCB_RO_COMPAT_READ_ONLY 0x01000000
804#define VCB_READ_ONLY 0x08000000
805#define VCB_WRITE_PROTECTED 0x10000000
806#define VCB_FLOPPY_DISK 0x20000000
807#define VCB_REMOVAL_PREVENTED 0x40000000
808#define VCB_REMOVABLE_MEDIA 0x80000000
811#define IsVcbInited(Vcb) (IsFlagOn((Vcb)->Flags, VCB_INITIALIZED))
812#define IsMounted(Vcb) (IsFlagOn((Vcb)->Flags, VCB_MOUNTED))
813#define IsDispending(Vcb) (IsFlagOn((Vcb)->Flags, VCB_DISMOUNT_PENDING))
814#define IsVcbReadOnly(Vcb) (IsFlagOn((Vcb)->Flags, VCB_READ_ONLY) || \
815 IsFlagOn((Vcb)->Flags, VCB_RO_COMPAT_READ_ONLY) || \
816 IsFlagOn((Vcb)->Flags, VCB_WRITE_PROTECTED))
819#define IsExt3ForceWrite() (IsFlagOn(Ext2Global->Flags, EXT3_FORCE_WRITING))
820#define IsVcbForceWrite(Vcb) (IsFlagOn((Vcb)->Flags, VCB_FORCE_WRITING))
821#define CanIWrite(Vcb) (IsExt3ForceWrite() || (!IsVcbReadOnly(Vcb) && IsVcbForceWrite(Vcb)))
822#define IsLazyWriter(Fcb) ((Fcb)->LazyWriterThread == PsGetCurrentThread())
880#define FCB_FROM_POOL 0x00000001
881#define FCB_PAGE_FILE 0x00000002
882#define FCB_FILE_MODIFIED 0x00000020
884#define FCB_ALLOC_IN_CREATE 0x00000080
885#define FCB_ALLOC_IN_WRITE 0x00000100
886#define FCB_ALLOC_IN_SETINFO 0x00000200
888#define FCB_DELETE_PENDING 0x80000000
952#define MCB_FROM_POOL 0x00000001
953#define MCB_VCB_LINK 0x00000002
954#define MCB_ENTRY_TREE 0x00000004
955#define MCB_FILE_DELETED 0x00000008
957#define MCB_ZONE_INITED 0x20000000
958#define MCB_TYPE_SPECIAL 0x40000000
959#define MCB_TYPE_SYMLINK 0x80000000
961#define IsMcbUsed(Mcb) ((Mcb)->Refercount > 0)
962#define IsMcbSymLink(Mcb) IsFlagOn((Mcb)->Flags, MCB_TYPE_SYMLINK)
963#define IsZoneInited(Mcb) IsFlagOn((Mcb)->Flags, MCB_ZONE_INITED)
964#define IsMcbSpecialFile(Mcb) IsFlagOn((Mcb)->Flags, MCB_TYPE_SPECIAL)
965#define IsMcbRoot(Mcb) ((Mcb)->Inode.i_ino == EXT2_ROOT_INO)
966#define IsMcbReadonly(Mcb) IsFlagOn((Mcb)->FileAttr, FILE_ATTRIBUTE_READONLY)
967#define IsMcbDirectory(Mcb) IsFlagOn((Mcb)->FileAttr, FILE_ATTRIBUTE_DIRECTORY)
968#define IsFileDeleted(Mcb) IsFlagOn((Mcb)->Flags, MCB_FILE_DELETED)
970#define IsLinkInvalid(Mcb) (IsMcbSymLink(Mcb) && IsFileDeleted(Mcb->Target))
976#define Ext2ReferXcb(_C) InterlockedIncrement(_C)
977#define Ext2DerefXcb(_C) DEC_OBJ_CNT(_C)
992#define Ext2ReferMcb(Mcb) Ext2TraceMcb(__FUNCTION__, __LINE__, TRUE, Mcb)
993#define Ext2DerefMcb(Mcb) Ext2TraceMcb(__FUNCTION__, __LINE__, FALSE, Mcb)
995#define Ext2ReferMcb(Mcb) Ext2ReferXcb(&Mcb->Refercount)
996#define Ext2DerefMcb(Mcb) Ext2DerefXcb(&Mcb->Refercount)
1031#define CCB_FROM_POOL 0x00000001
1032#define CCB_VOLUME_DASD_PURGE 0x00000002
1033#define CCB_LAST_WRITE_UPDATED 0x00000004
1034#define CCB_OPEN_REPARSE_POINT 0x00000008
1035#define CCB_DELETE_ON_CLOSE 0x00000010
1037#define CCB_ALLOW_EXTENDED_DASD_IO 0x80000000
1086#define IRP_CONTEXT_FLAG_FROM_POOL (0x00000001)
1087#define IRP_CONTEXT_FLAG_WAIT (0x00000002)
1088#define IRP_CONTEXT_FLAG_WRITE_THROUGH (0x00000004)
1089#define IRP_CONTEXT_FLAG_FLOPPY (0x00000008)
1090#define IRP_CONTEXT_FLAG_DISABLE_POPUPS (0x00000020)
1091#define IRP_CONTEXT_FLAG_DEFERRED (0x00000040)
1092#define IRP_CONTEXT_FLAG_VERIFY_READ (0x00000080)
1093#define IRP_CONTEXT_STACK_IO_CONTEXT (0x00000100)
1094#define IRP_CONTEXT_FLAG_REQUEUED (0x00000200)
1095#define IRP_CONTEXT_FLAG_USER_IO (0x00000400)
1096#define IRP_CONTEXT_FLAG_DELAY_CLOSE (0x00000800)
1097#define IRP_CONTEXT_FLAG_FILE_BUSY (0x00001000)
1100#define Ext2CanIWait() (!IrpContext || IsFlagOn(IrpContext->Flags, IRP_CONTEXT_FLAG_WAIT))
1131#ifndef FSCTL_GET_RETRIEVAL_POINTER_BASE
1132#define FSCTL_GET_RETRIEVAL_POINTER_BASE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 141, METHOD_BUFFERED, FILE_ANY_ACCESS)
1135#ifndef FILE_SUPPORTS_EXTENDED_ATTRIBUTES
1136#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
1146#define CanExt2Wait(IRP) IoIsOperationSynchronous(Irp)
1379#define EXT2_LOOKUP_FLAG_MASK (0xFF00000)
1380#define EXT2_LOOKUP_NOT_FOLLOW (0x8000000)
1433#define DL_VIT 0x00000001
1434#define DL_ERR 0x00000002
1435#define DL_DBG 0x00000004
1436#define DL_INF 0x00000008
1437#define DL_FUN 0x00000010
1438#define DL_LOW 0x00000020
1439#define DL_REN 0x00000040
1440#define DL_RES 0x00000080
1441#define DL_BLK 0x00000100
1442#define DL_CP 0x00000200
1443#define DL_EXT 0x00000400
1444#define DL_MAP 0x00000800
1445#define DL_JNL 0x00001000
1446#define DL_HTI 0x00002000
1447#define DL_WRN 0x00004000
1448#define DL_BH 0x00008000
1449#define DL_PNP 0x00010000
1450#define DL_IO 0x00020000
1452#define DL_DEFAULT (DL_ERR|DL_VIT)
1455extern ULONG DebugFilter;
1464#define DEBUG(_DL, arg) do {if ((_DL) & DebugFilter) Ext2Printf arg;} while(0)
1465#define DEBUGNI(_DL, arg) do {if ((_DL) & DebugFilter) Ext2NiPrintf arg;} while(0)
1467#define Ext2CompleteRequest(Irp, bPrint, PriorityBoost) \
1468 Ext2DbgPrintComplete(Irp, bPrint); \
1469 IoCompleteRequest(Irp, PriorityBoost)
1473#define DEBUG(_DL, arg) do {if ((_DL) & DL_ERR) DbgPrint arg;} while(0)
1475#define Ext2CompleteRequest(Irp, bPrint, PriorityBoost) \
1476 IoCompleteRequest(Irp, PriorityBoost)
1489#define Ext2GetCurrentProcessName() ( \
1490 (PUCHAR) PsGetCurrentProcess() + ProcessNameOffset \
2593#define ext3_error ext3_warning
2594#define ext4_error ext3_error
2617#if !defined(__REACTOS__) || (defined(_MSC_VER) && !defined(__clang__))
2622 struct dx_hash_info *hinfo,
int *
error);
3215#define EXT2_RW_CONTEXT_WRITE 1
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE Parent
#define InterlockedIncrement
#define InterlockedDecrement
PVOID Alloc(IN DWORD dwFlags, IN SIZE_T dwBytes)
_In_ PFCB _In_ LONGLONG FileOffset
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
unsigned __int64 blkcnt_t
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB * Dcb
NTSTATUS Ext2InitializeLabel(IN PEXT2_VCB Vcb, IN PEXT2_SUPER_BLOCK Sb)
NTSTATUS Ext2BlockMap(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Index, IN BOOLEAN bAlloc, OUT PULONG pBlock, OUT PULONG Number)
NTSTATUS Ext2ExceptionHandler(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2FreeMcb(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
NTSTATUS Ext2FlushVcb(IN PEXT2_VCB Vcb)
NTSTATUS Ext2PnpQueryRemove(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
VOID Ext2FreePool(IN PVOID P, IN ULONG Tag)
BOOLEAN Ext2SaveInodeXattr(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN struct inode *Inode, IN PEXT2_INODE InodeXattr)
NTSTATUS Ext2QueryEa(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2Pnp(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2UnlockVolume(IN PEXT2_IRP_CONTEXT IrpContext)
struct ext2_icb EXT2_IRP_CONTEXT
static void ext3_r_blocks_count_set(struct ext3_super_block *es, ext3_fsblk_t blk)
struct ext3_dir_entry_2 * PEXT2_DIR_ENTRY2
BOOLEAN Ext2LookupMcbExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN LONGLONG Vbn, OUT PLONGLONG Lbn, OUT PLONGLONG Length)
NTSTATUS Ext2IsFileRemovable(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Fcb, IN PEXT2_CCB Ccb)
BOOLEAN Ext2IsHandleCountZero(IN PEXT2_VCB Vcb)
NTSTATUS Ext2QueryRetrievalPointers(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2OplockComplete(IN PVOID Context, IN PIRP Irp)
void ext4_used_dirs_set(struct super_block *sb, struct ext4_group_desc *bg, __u32 count)
ext4_fsblk_t ext4_block_bitmap(struct super_block *sb, struct ext4_group_desc *bg)
NTSTATUS Ext2ExceptionFilter(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXCEPTION_POINTERS ExceptionPointer)
NTSTATUS Ext2ExpandIndirect(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, ULONG Start, ULONG End, PLARGE_INTEGER Size)
NTSTATUS Ext2Flush(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2JointExtents(IN PEXT2_EXTENT Chain, IN PEXT2_EXTENT Extent)
BOOLEAN Ext2FastIoRead(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, OUT PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
VOID Ext2SyncUninitializeCacheMap(IN PFILE_OBJECT FileObject)
VOID Ext2RemoveVcb(PEXT2_VCB Vcb)
void ext4_block_bitmap_set(struct super_block *sb, struct ext4_group_desc *bg, ext4_fsblk_t blk)
VOID Ext2ReleaseFcb(IN PEXT2_FCB Fcb)
BOOLEAN Ext2ZeroData(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER Start, IN PLARGE_INTEGER End)
NTSTATUS Ext2ShutDown(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2FastIoLock(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PLARGE_INTEGER Length, IN PEPROCESS Process, IN ULONG Key, IN BOOLEAN FailImmediately, IN BOOLEAN ExclusiveLock, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
NTSTATUS Ext2WinntError(int rc)
BOOLEAN Ext2AddMcbMetaExts(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Block, IN ULONG Length)
struct _EXT2_IDENTIFIER EXT2_IDENTIFIER
VOID Ext2DropGroupBH(IN PEXT2_VCB Vcb)
VOID Ext2bhReaperThread(PVOID Context)
VOID Ext2McbReaperThread(PVOID Context)
NTSTATUS Ext2TruncateExtent(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER Size)
ext4_fsblk_t ext4_count_free_blocks(struct super_block *sb)
struct _EXT2_CCB EXT2_CCB
BOOLEAN Ext2IsDotDot(PUNICODE_STRING name)
NTSTATUS Ext2UnlockVcb(IN PEXT2_VCB Vcb, IN PFILE_OBJECT FileObject)
NTSTATUS Ext2GetBlock(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Base, IN ULONG Layer, IN ULONG Start, IN ULONG SizeArray, IN PULONG BlockArray, IN BOOLEAN bAlloc, IN OUT PULONG Hint, OUT PULONG Block, OUT PULONG Number)
NTSTATUS Ext2ReadInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONGLONG Offset, IN PVOID Buffer, IN ULONG Size, IN BOOLEAN bDirectIo, OUT PULONG dwReturn)
BOOLEAN Ext2FastIoQueryBasicInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_BASIC_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
struct _EXT2_EXTENT EXT2_EXTENT
BOOLEAN Ext2FastIoUnlockAllByKey(IN PFILE_OBJECT FileObject, IN PEPROCESS Process, IN ULONG Key, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
PEXT2_IRP_CONTEXT Ext2AllocateIrpContext(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
VOID Ext2DestroyInode(IN PEXT2_VCB Vcb, IN PEXT2_INODE inode)
VOID Ext2FreeFcb(IN PEXT2_FCB Fcb)
__u32 ext3_current_time(struct inode *in)
ext4_fsblk_t ext4_inode_bitmap(struct super_block *sb, struct ext4_group_desc *bg)
NTSTATUS Ext2StartReaper(PEXT2_REAPER, EXT2_REAPER_RELEASE)
struct ext3_dir_entry_2 * do_split(struct ext2_icb *icb, struct inode *dir, struct buffer_head **bh, struct dx_frame *frame, struct dx_hash_info *hinfo, int *error)
NTSTATUS Ext2OplockRequest(IN PEXT2_IRP_CONTEXT IrpContext)
static ext3_fsblk_t ext3_blocks_count(struct ext3_super_block *es)
IO_STACK_LOCATION EXTENDED_IO_STACK_LOCATION
NTSTATUS Ext2QueryExtentMappings(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Fcb, IN PLARGE_INTEGER RequestVbn, OUT PLARGE_INTEGER *pMappedRuns)
struct buffer_head * ext3_dx_find_entry(struct ext2_icb *, struct dentry *dentry, struct ext3_dir_entry_2 **res_dir, int *err)
struct _EXT2_GLOBAL EXT2_GLOBAL
int ext3_check_dir_entry(const char *function, struct inode *dir, struct ext3_dir_entry_2 *de, struct buffer_head *bh, unsigned long offset)
NTSTATUS Ext2CreateVolume(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
struct ext4_group_desc * ext4_get_group_desc(struct super_block *sb, ext4_group_t block_group, struct buffer_head **bh)
static void ext3_blocks_count_set(struct ext3_super_block *es, ext3_fsblk_t blk)
static ext3_fsblk_t ext3_free_blocks_count(struct ext3_super_block *es)
void ext4_inode_table_set(struct super_block *sb, struct ext4_group_desc *bg, ext4_fsblk_t blk)
PVOID Ext2AllocatePool(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag)
BOOLEAN Ext2SaveBuffer(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN LONGLONG Offset, IN ULONG Size, IN PVOID Buf)
int ext3_mark_inode_dirty(struct ext2_icb *icb, struct inode *in)
NTSTATUS Ext2NewBlock(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG GroupHint, IN ULONG BlockHint, OUT PULONG Block, IN OUT PULONG Number)
BOOLEAN Ext2FastIoWrite(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, OUT PVOID Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
struct dentry * Ext2AllocateEntry()
static ext3_fsblk_t ext3_r_blocks_count(struct ext3_super_block *es)
NTSTATUS Ext2ScanDir(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Parent, IN PUNICODE_STRING FileName, OUT PULONG Inode, struct dentry **dentry)
struct _FCB_LIST_ENTRY * PFCB_LIST_ENTRY
NTSTATUS Ext2CreateFile(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, OUT PBOOLEAN OpPostIrp)
struct buffer_head * ext3_find_entry(struct ext2_icb *icb, struct dentry *dentry, struct ext3_dir_entry_2 **res_dir)
BOOLEAN Ext2AcquireForLazyWrite(IN PVOID Context, IN BOOLEAN Wait)
NTSTATUS Ext2PurgeVolume(IN PEXT2_VCB Vcb, IN BOOLEAN FlushBeforePurge)
VOID Ext2DbgPrintComplete(IN PIRP Irp, IN BOOLEAN bPrint)
NTSTATUS Ext2ExpandExtent(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, ULONG Start, ULONG End, PLARGE_INTEGER Size)
NTSTATUS Ext2FreeBlock(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG Block, IN ULONG Number)
__u32 ext4_used_dirs_count(struct super_block *sb, struct ext4_group_desc *bg)
BOOLEAN Ext2LoadBuffer(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN LONGLONG Offset, IN ULONG Size, IN PVOID Buf)
BOOLEAN Ext2SaveBlock(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG dwBlk, IN PVOID Buf)
INT Ext2CheckJournal(PEXT2_VCB Vcb, PULONG jNo)
VOID Ext2MediaEjectControl(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bPrevent)
NTSTATUS Ext2TruncateFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER AllocationSize)
BOOLEAN Ext2LoadInodeXattr(IN PEXT2_VCB Vcb, IN struct inode *Inode, IN PEXT2_INODE InodeXattr)
VOID Ext2DestroyExtentChain(IN PEXT2_EXTENT Chain)
ULONG Ext2GetProcessNameOffset(VOID)
struct ext3_dir_entry * PEXT2_DIR_ENTRY
NTSTATUS Ext2InitializeZone(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
NTSTATUS Ext2FreeInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG Inode, IN ULONG Type)
struct _EXT2_VCB EXT2_VCB
PEXT2_EXTENT Ext2AllocateExtent()
BOOLEAN Ext2IsMediaWriteProtected(IN PEXT2_IRP_CONTEXT IrpContext, IN PDEVICE_OBJECT TargetDevice)
VOID Ext2TearDownStream(IN PEXT2_VCB Vcb)
NTSTATUS Ext2Cleanup(IN PEXT2_IRP_CONTEXT IrpContext)
struct ext3_inode * PEXT2_INODE
LARGE_INTEGER Ext2NtTime(IN ULONG i_time)
NTSTATUS Ext2SetLinkInfo(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_CCB Ccb)
NTSTATUS Ext2VerifyVolume(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2FreeExtent(IN PEXT2_EXTENT Extent)
BOOLEAN Ext2SaveInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN struct inode *Inode)
NTSTATUS Ext2ReleaseFileForModWrite(IN PFILE_OBJECT FileObject, IN PERESOURCE ResourceToRelease, IN PDEVICE_OBJECT DeviceObject)
__inline VOID Ext2TraceMemory(BOOLEAN _n, int _i, PVOID _p, LONG _s)
PEXT2_MCB Ext2SearchMcbWithoutLock(PEXT2_MCB Parent, PUNICODE_STRING FileName)
VOID Ext2AcquireForCreateSection(IN PFILE_OBJECT FileObject)
struct _EXT2_FILLDIR_CONTEXT * PEXT2_FILLDIR_CONTEXT
NTSTATUS Ext2DeleteFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_MCB Mcb)
NTSTATUS Ext2DirectoryControl(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2LoadGroup(IN PEXT2_VCB Vcb)
NTSTATUS Ext2QueueRequest(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2UnlinkMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb)
NTSTATUS Ext2TruncateBlock(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Base, IN ULONG Start, IN ULONG Layer, IN ULONG SizeArray, IN PULONG BlockArray, IN PULONG Extra)
NTSTATUS Ext2DeviceControlNormal(IN PEXT2_IRP_CONTEXT IrpContext)
#define DEC_MEM_COUNT(_i, _p, _s)
struct _EXT2_REAPER * PEXT2_REAPER
VOID Ext2ReleaseFromLazyWrite(IN PVOID Context)
struct ext3_super_block * PEXT2_SUPER_BLOCK
NTSTATUS Ext2Create(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2SetRenameInfo(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_CCB Ccb)
ext4_fsblk_t ext4_inode_table(struct super_block *sb, struct ext4_group_desc *bg)
BOOLEAN Ext2FastIoQueryStandardInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_STANDARD_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
int ext3_is_dir_empty(struct ext2_icb *icb, struct inode *inode)
BOOLEAN Ext2IsDot(PUNICODE_STRING name)
NTSTATUS Ext2SupersedeOrOverWriteFile(IN PEXT2_IRP_CONTEXT IrpContext, IN PFILE_OBJECT FileObject, IN PEXT2_VCB Vcb, IN PEXT2_FCB Fcb, IN PLARGE_INTEGER AllocationSize, IN ULONG Disposition)
NTSTATUS Ext2Read(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2TruncateSymlink(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, ULONG Size)
int ext3_dx_readdir(struct file *filp, filldir_t filldir, void *context)
struct _EXT2_IDENTIFIER * PEXT2_IDENTIFIER
NTSTATUS Ext2ProcessUserProperty(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VOLUME_PROPERTY3 Property, IN ULONG Length)
int ext3_inode_blocks_set(struct ext3_inode *raw_inode, struct inode *inode)
BOOLEAN Ext2CheckDismount(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bForce)
BOOLEAN Ext2IsSpecialSystemFile(IN PUNICODE_STRING FileName, IN BOOLEAN bDirectory)
NTSTATUS Ex2ProcessMountPoint(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_MOUNT_POINT MountPoint, IN ULONG Length)
NTSTATUS Ext2AllowExtendedDasdIo(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2RemoveBlockExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Start, IN ULONG Number)
ULONG Ext2Log2(ULONG Value)
NTSTATUS Ext2ReadSync(IN PEXT2_VCB Vcb, IN ULONGLONG Offset, IN ULONG Length, OUT PVOID Buffer, IN BOOLEAN bVerify)
NTSTATUS Ext2GetRetrievalPointers(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2RemoveMcbExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN LONGLONG Vbn, IN LONGLONG Length)
NTSTATUS Ext2OEMToUnicode(IN PEXT2_VCB Vcb, IN OUT PUNICODE_STRING Oem, IN POEM_STRING Unicode)
VOID Ext2LinkHeadMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb)
BOOLEAN Ext2IsWearingCloak(IN PEXT2_VCB Vcb, IN POEM_STRING OeName)
BOOLEAN Ext2NoOpAcquire(IN PVOID Fcb, IN BOOLEAN Wait)
NTSTATUS Ext2ReleaseFileForCcFlush(IN PFILE_OBJECT FileObject, IN PDEVICE_OBJECT DeviceObject)
NTSTATUS Ext2WriteSymlink(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN PVOID Buffer, IN ULONG Size, OUT PULONG BytesWritten)
struct _EXT2_MCB * PEXT2_MCB
NTSTATUS Ext2BuildExtents(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONGLONG Offset, IN ULONG Size, IN BOOLEAN bAlloc, OUT PEXT2_EXTENT *Chain)
__u32 ext4_free_inodes_count(struct super_block *sb, struct ext4_group_desc *bg)
NTSTATUS Ext2SetFileInformation(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2QueryRegistrySettings(IN PUNICODE_STRING RegistryPath)
VOID Ext2LinkTailMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb)
NTSTATUS Ext2QueryDirectory(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2QueryVolumeInformation(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2MapExtent(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Index, IN BOOLEAN Alloc, OUT PULONG Block, OUT PULONG Number)
VOID Ext2ClearVpbFlag(IN PVPB Vpb, IN USHORT Flag)
struct dentry * Ext2BuildEntry(PEXT2_VCB Vcb, PEXT2_MCB Dcb, PUNICODE_STRING FileName)
loff_t ext3_max_size(int blkbits, int has_huge_files)
void ext3_warning(struct super_block *sb, const char *function, char *fmt,...)
unsigned long ext4_bg_num_gdb(struct super_block *sb, ext4_group_t group)
NTSTATUS Ext2ReadSymlink(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN PVOID Buffer, IN ULONG Size, OUT PULONG BytesRead)
NTSTATUS Ext2LockVcb(IN PEXT2_VCB Vcb, IN PFILE_OBJECT FileObject)
struct buffer_head * ext3_bread(struct ext2_icb *icb, struct inode *inode, unsigned long block, int *err)
void ext4_free_blks_set(struct super_block *sb, struct ext4_group_desc *bg, __u32 count)
ULONG Ext2UnicodeToOEMSize(IN PEXT2_VCB Vcb, IN PUNICODE_STRING Unicode)
BOOLEAN Ext2LookupVcbExtent(IN PEXT2_VCB Vcb, IN LONGLONG Vbn, OUT PLONGLONG Lbn, OUT PLONGLONG Length)
VOID Ext2FreeIrpContext(IN PEXT2_IRP_CONTEXT IrpContext)
struct ext2_icb * PEXT2_IRP_CONTEXT
INT Ext2RecoverJournal(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
ULONG Ext2LinuxTime(IN LARGE_INTEGER SysTime)
int ext3_add_entry(struct ext2_icb *icb, struct dentry *dentry, struct inode *inode)
NTSTATUS Ext2LockControl(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2LockUserBuffer(IN PIRP Irp, IN ULONG Length, IN LOCK_OPERATION Operation)
BOOLEAN Ext2RemoveMcbMetaExts(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Block, IN ULONG Length)
struct _EXT2_FCBVCB EXT2_FCBVCB
BOOLEAN Ext2LoadGroupBH(IN PEXT2_VCB Vcb)
NTSTATUS Ext2DismountVolume(IN PEXT2_IRP_CONTEXT IrpContext)
int ext3_bg_has_super(struct super_block *sb, ext3_group_t group)
BOOLEAN Ext2IsNameValid(PUNICODE_STRING FileName)
void ext3_dec_count(struct inode *inode)
NTSTATUS Ext2SetParentEntry(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Dcb, IN ULONG OldParent, IN ULONG NewParent)
NTSTATUS Ext2FlushFile(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_FCB Fcb, IN PEXT2_CCB Ccb)
struct _EXT2_FCBVCB * PEXT2_FCBVCB
ULONG Ext2InodeType(PEXT2_MCB Mcb)
NTSTATUS Ext2PreAcquireForCreateSection(IN PFS_FILTER_CALLBACK_DATA cd, OUT PVOID *cc)
VOID Ext2DestroyVcb(IN PEXT2_VCB Vcb)
BOOLEAN Ext2AcquireForReadAhead(IN PVOID Context, IN BOOLEAN Wait)
VOID Ext2VerifyVcb(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
BOOLEAN Ext2ZeroBuffer(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN LONGLONG Offset, IN ULONG Size)
VOID Ext2UnlinkFcb(IN PEXT2_FCB Fcb)
NTSTATUS Ext2PrepareToUnload(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2InitializeVcb(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_SUPER_BLOCK Ext2Sb, PDEVICE_OBJECT TargetDevice, PDEVICE_OBJECT VolumeDevice, PVPB Vpb)
NTSTATUS Ext2AcquireFileForCcFlush(IN PFILE_OBJECT FileObject, IN PDEVICE_OBJECT DeviceObject)
NTSTATUS Ext2Close(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2FileSystemControl(IN PEXT2_IRP_CONTEXT IrpContext)
PVOID Ext2GetUserBuffer(IN PIRP Irp)
__u32 ext4_itable_unused_count(struct super_block *sb, struct ext4_group_desc *bg)
NTSTATUS Ext2SetDispositionInfo(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_CCB Ccb, BOOLEAN bDelete)
VOID Ext2NotifyReportChange(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Filter, IN ULONG Action)
VOID Ext2ReleaseFromReadAhead(IN PVOID Context)
enum _EXT2_IDENTIFIER_TYPE EXT2_IDENTIFIER_TYPE
__inline VOID Ext2TraceIrpContext(BOOLEAN _n, PEXT2_IRP_CONTEXT IrpContext)
void ext2_destroy_linux()
unsigned long ext4_count_free_inodes(struct super_block *sb)
struct buffer_head * ext3_append(struct ext2_icb *icb, struct inode *inode, ext3_lblk_t *block, int *err)
BOOLEAN Ext2FastIoUnlockAll(IN PFILE_OBJECT FileObject, IN PEPROCESS Process, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
struct _EXT2_ALLOC_HEADER * PEXT2_ALLOC_HEADER
NTSTATUS Ext2NotifyChangeDirectory(IN PEXT2_IRP_CONTEXT IrpContext)
PEXT2_MCB Ext2LoadInternalJournal(PEXT2_VCB Vcb, ULONG jNo)
NTSTATUS Ext2SetVolumeInformation(IN PEXT2_IRP_CONTEXT IrpContext)
blkcnt_t ext3_inode_blocks(struct ext3_inode *raw_inode, struct inode *inode)
BOOLEAN Ext2SaveSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
BOOLEAN Ext2CheckSetBlock(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, LONGLONG Block)
static void ext3_free_blocks_count_set(struct ext3_super_block *es, ext3_fsblk_t blk)
NTSTATUS Ext2DiskShutDown(PEXT2_VCB Vcb)
NTSTATUS Ext2ReadDisk(IN PEXT2_VCB Vcb, IN ULONGLONG Offset, IN ULONG Size, IN PVOID Buffer, IN BOOLEAN bVerify)
NTSTATUS Ext2DeviceControl(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2Write(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2QueueCloseRequest(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2GetRetrievalPointerBase(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2RemoveVcbExtent(IN PEXT2_VCB Vcb, IN LONGLONG Vbn, IN LONGLONG Length)
int ext3_delete_entry(struct ext2_icb *icb, struct inode *dir, struct ext3_dir_entry_2 *de_del, struct buffer_head *bh)
int ext4_check_descriptors(struct super_block *sb)
BOOLEAN Ext2FastIoCheckIfPossible(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN ULONG Length, IN BOOLEAN Wait, IN ULONG LockKey, IN BOOLEAN CheckForReadOperation, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
NTSTATUS Ext2UserFsRequest(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2DispatchRequest(IN PEXT2_IRP_CONTEXT IrpContext)
__le16 ext4_group_desc_csum(struct ext3_sb_info *sbi, __u32 block_group, struct ext4_group_desc *gdp)
VOID Ext2DbgPrintCall(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
void ext3_set_de_type(struct super_block *sb, struct ext3_dir_entry_2 *de, umode_t mode)
VOID Ext2SetVpbFlag(IN PVPB Vpb, IN USHORT Flag)
VOID Ext2StopReaper(PEXT2_REAPER Reaper)
NTSTATUS Ext2SetFileType(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Dcb, IN PEXT2_MCB Mcb, IN umode_t mode)
BOOLEAN Ext2LoadBlock(IN PEXT2_VCB Vcb, IN ULONG dwBlk, IN PVOID Buffer)
__u32 ext4_free_blks_count(struct super_block *sb, struct ext4_group_desc *bg)
PEXT2_MCB Ext2FirstUnusedMcb(PEXT2_VCB Vcb, BOOLEAN Wait, ULONG Number)
struct _EXT2_VCB * PEXT2_VCB
ULONG Ext2CountExtents(IN PEXT2_EXTENT Chain)
NTSTATUS Ext2UnicodeToOEM(IN PEXT2_VCB Vcb, IN OUT POEM_STRING Oem, IN PUNICODE_STRING Unicode)
BOOLEAN Ext2BuildName(IN OUT PUNICODE_STRING Target, IN PUNICODE_STRING File, IN PUNICODE_STRING Parent)
void ext3_update_dx_flag(struct inode *inode)
struct _EXT2_ALLOC_HEADER EXT2_ALLOC_HEADER
NTSTATUS Ext2PnpCancelRemove(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
NTSTATUS Ext2PnpSurpriseRemove(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
BOOLEAN Ext2IsEaNameValid(IN OEM_STRING Name)
struct _EXT2_FILLDIR_CONTEXT EXT2_FILLDIR_CONTEXT
unsigned ext4_init_block_bitmap(struct super_block *sb, struct buffer_head *bh, ext4_group_t block_group, struct ext4_group_desc *gdp)
NTSTATUS Ext2ProcessGlobalProperty(IN PDEVICE_OBJECT DeviceObject, IN PEXT2_VOLUME_PROPERTY3 Property, IN ULONG Length)
BOOLEAN Ext2RemoveMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb)
BOOLEAN Ext2AddBlockExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Start, IN ULONG Block, IN ULONG Number)
VOID Ext2InsertFcb(PEXT2_VCB Vcb, PEXT2_FCB Fcb)
int add_dirent_to_buf(struct ext2_icb *icb, struct dentry *dentry, struct inode *inode, struct ext3_dir_entry_2 *de, struct buffer_head *bh)
PEXT2_CCB Ext2AllocateCcb(ULONG Flags, PEXT2_MCB SymLink)
struct _EXT2_EXTENT * PEXT2_EXTENT
VOID Ext2FcbReaperThread(PVOID Context)
VOID Ext2LockIrp(IN PVOID Context, IN PIRP Irp)
BOOLEAN Ext2LoadInode(IN PEXT2_VCB Vcb, IN struct inode *Inode)
void ext4_itable_unused_set(struct super_block *sb, struct ext4_group_desc *bg, __u32 count)
NTSTATUS Ex2ProcessUserPerfStat(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_QUERY_PERFSTAT QueryPerf, IN ULONG Length)
NTSTATUS Ext2QueryFileInformation(IN PEXT2_IRP_CONTEXT IrpContext)
PEXT2_MCB Ext2AllocateMcb(IN PEXT2_VCB Vcb, IN PUNICODE_STRING FileName, IN PUNICODE_STRING Parent, IN ULONG FileAttr)
struct _EXT2_FCB EXT2_FCB
NTSTATUS Ext2UpdateGroupDirStat(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG Group)
struct _FCB_LIST_ENTRY FCB_LIST_ENTRY
NTSTATUS Ext2LoadSuper(IN PEXT2_VCB Vcb, IN BOOLEAN bVerify, OUT PEXT2_SUPER_BLOCK *Sb)
int ext4_group_desc_csum_verify(struct ext3_sb_info *sbi, __u32 block_group, struct ext4_group_desc *gdp)
struct _EXT2_RW_CONTEXT * PEXT2_RW_CONTEXT
struct ext4_group_desc * PEXT2_GROUP_DESC
int Ext2CheckInodeAccess(PEXT2_VCB Vcb, struct inode *in, int attempt)
struct _EXT2_CCB * PEXT2_CCB
BOOLEAN Ext2FastIoQueryNetworkOpenInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_NETWORK_OPEN_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
NTSTATUS Ext2IsVolumeMounted(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2UpdateVcbStat(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
PEXT2_MCB Ext2SearchMcb(PEXT2_VCB Vcb, PEXT2_MCB Parent, PUNICODE_STRING FileName)
void ext4_inode_bitmap_set(struct super_block *sb, struct ext4_group_desc *bg, ext4_fsblk_t blk)
VOID Ext2ReleaseForCreateSection(IN PFILE_OBJECT FileObject)
NTSTATUS Ext2TruncateIndirect(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER Size)
NTSTATUS Ext2ExpandFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER Size)
BOOLEAN Ext2SaveGroup(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG Group)
PEXT2_INODE Ext2AllocateInode(PEXT2_VCB Vcb)
VOID Ext2FreeCcb(IN PEXT2_VCB Vcb, IN PEXT2_CCB Ccb)
VOID Ext2CheckExtent(PLARGE_MCB Zone, LONGLONG Vbn, LONGLONG Lbn, LONGLONG Length, BOOLEAN bAdded)
struct _EXT2_FCB * PEXT2_FCB
unsigned ext4_init_inode_bitmap(struct super_block *sb, struct buffer_head *bh, ext4_group_t block_group, struct ext4_group_desc *gdp)
VOID Ext2StartFloppyFlushDpc(PEXT2_VCB Vcb, PEXT2_FCB Fcb, PFILE_OBJECT FileObject)
BOOLEAN Ext2CheckBitmapConsistency(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
NTSTATUS Ext2ReadWriteBlocks(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_EXTENT Extent, IN ULONG Length)
NTSTATUS Ext2AddEntry(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Dcb, IN struct inode *Inode, IN PUNICODE_STRING FileName, OUT struct dentry **dentry)
BOOLEAN Ext2ClearInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG inode)
NTSTATUS Ext2MapIndirect(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Index, IN BOOLEAN bAlloc, OUT PULONG pBlock, OUT PULONG Number)
BOOLEAN Ext2RefreshGroup(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
struct ext3_dir_entry_2 * ext3_next_entry(struct ext3_dir_entry_2 *p)
VOID Ext2FreeEntry(IN struct dentry *de)
NTSTATUS Ext2NewInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG GroupHint, IN ULONG Type, OUT PULONG Inode)
NTSTATUS Ext2QueryGlobalParameters(IN PUNICODE_STRING RegistryPath)
BOOLEAN Ext2RefreshSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
NTSTATUS Ext2RemoveEntry(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Dcb, IN PEXT2_MCB Mcb)
BOOLEAN Ext2ListExtents(PLARGE_MCB Extents)
void ext3_inc_count(struct inode *inode)
NTSTATUS Ext2PnpRemove(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
NTSTATUS Ext2MountVolume(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2DropBH(IN PEXT2_VCB Vcb)
loff_t ext3_max_bitmap_size(int bits, int has_huge_files)
NTSTATUS Ext2LockVolume(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2CleanupAllMcbs(PEXT2_VCB Vcb)
VOID Ext2DeQueueRequest(IN PVOID Context)
ULONG Ext2OEMToUnicodeSize(IN PEXT2_VCB Vcb, IN PANSI_STRING Oem)
NTSTATUS Ext2ProcessEntry(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Dcb, IN FILE_INFORMATION_CLASS FileInformationClass, IN ULONG in, IN PVOID Buffer, IN ULONG UsedLength, IN ULONG Length, IN ULONG FileIndex, IN PUNICODE_STRING pName, OUT PULONG EntrySize, IN BOOLEAN Single)
VOID Ext2PutGroup(IN PEXT2_VCB Vcb)
int(* filldir_t)(void *, const char *, int, unsigned long, __u32, unsigned)
VOID Ext2InsertVcb(PEXT2_VCB Vcb)
ext3_fsblk_t descriptor_loc(struct super_block *sb, ext3_fsblk_t logical_sb_block, unsigned int nr)
NTSTATUS Ext2PurgeFile(IN PEXT2_FCB Fcb, IN BOOLEAN FlushBeforePurge)
NTSTATUS Ext2DiskIoControl(IN PDEVICE_OBJECT DeviceOjbect, IN ULONG IoctlCode, IN PVOID InputBuffer, IN ULONG InputBufferSize, IN OUT PVOID OutputBuffer, IN OUT PULONG OutputBufferSize)
NTSTATUS Ext2CompleteIrpContext(IN PEXT2_IRP_CONTEXT IrpContext, IN NTSTATUS Status)
NTSTATUS Ext2SetEa(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2IsDirectoryEmpty(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
VOID Ext2NoOpRelease(IN PVOID Fcb)
struct _EXT2_REAPER EXT2_REAPER
BOOLEAN Ext2LookupBlockExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Start, IN PULONG Block, IN PULONG Mapped)
VOID Ext2DeQueueCloseRequest(IN PVOID Context)
VOID Ext2ClearAllExtents(PLARGE_MCB Zone)
__inline ULONG DEC_OBJ_CNT(PULONG _C)
NTSTATUS Ext2FlushFiles(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bShutDown)
BOOLEAN Ext2AddMcbExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN LONGLONG Vbn, IN LONGLONG Lbn, IN LONGLONG Length)
#define INC_MEM_COUNT(_i, _p, _s)
int Ext2LinuxError(NTSTATUS Status)
PMDL Ext2CreateMdl(IN PVOID Buffer, IN ULONG Length, IN LOCK_OPERATION Operation)
NTSTATUS Ext2BuildRequest(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
PEXT2_FCB Ext2AllocateFcb(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
VOID Ext2InsertMcb(PEXT2_VCB Vcb, PEXT2_MCB Parent, PEXT2_MCB Child)
VOID(* EXT2_REAPER_RELEASE)(PVOID)
BOOLEAN Ext2FastIoUnlockSingle(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PLARGE_INTEGER Length, IN PEPROCESS Process, IN ULONG Key, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
IO_STACK_LOCATION * PEXTENDED_IO_STACK_LOCATION
struct _EXT2_RW_CONTEXT EXT2_RW_CONTEXT
void ext4_free_inodes_set(struct super_block *sb, struct ext4_group_desc *bg, __u32 count)
NTSTATUS Ext2CreateInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB pParentFcb, IN ULONG Type, IN ULONG FileAttr, IN PUNICODE_STRING FileName)
NTSTATUS Ext2WriteInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONGLONG Offset, IN PVOID Buffer, IN ULONG Size, IN BOOLEAN bDirectIo, OUT PULONG dwReturn)
struct _EXT2_GLOBAL * PEXT2_GLOBAL
VOID __cdecl Ext2Printf(PCHAR DebugMessage,...)
PUCHAR Ext2NtStatusToString(IN NTSTATUS Status)
NTSTATUS Ext2LookupFile(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PUNICODE_STRING FullName, IN PEXT2_MCB Parent, OUT PEXT2_MCB *Ext2Mcb, IN ULONG Linkdep)
ULONG Ext2GetInfoLength(IN FILE_INFORMATION_CLASS FileInformationClass)
BOOLEAN Ext2GetInodeLba(IN PEXT2_VCB Vcb, IN ULONG inode, OUT PLONGLONG offset)
VOID Ext2DestroyMdl(IN PMDL Mdl)
NTSTATUS Ext2FlushVolume(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bShutDown)
ULONG Ext2TotalBlocks(PEXT2_VCB Vcb, PLARGE_INTEGER Size, PULONG pMeta)
int Ext2CheckFileAccess(PEXT2_VCB Vcb, PEXT2_MCB Mcb, int attempt)
NTSTATUS Ext2AcquireFileForModWrite(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER EndingOffset, OUT PERESOURCE *ResourceToRelease, IN PDEVICE_OBJECT DeviceObject)
BOOLEAN Ext2AddVcbExtent(IN PEXT2_VCB Vcb, IN LONGLONG Vbn, IN LONGLONG Length)
NTSTATUS Ext2FollowLink(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Parent, IN PEXT2_MCB Mcb, IN ULONG Linkdep)
NTSTATUS Ext2ProcessVolumeProperty(IN PEXT2_VCB Vcb, IN PEXT2_VOLUME_PROPERTY3 Property, IN ULONG Length)
FAST_IO_POSSIBLE Ext2IsFastIoPossible(IN PEXT2_FCB Fcb)
VOID Ext2ReaperThread(PVOID Context)
unsigned long long ext4_fsblk_t
unsigned int ext3_group_t
unsigned long long ext3_fsblk_t
unsigned int ext4_group_t
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG LockKey
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN BOOLEAN ExclusiveLock
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG IN BOOLEAN CheckForReadOperation
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN FailImmediately
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
IN PVCB IN ULONG IN OUT PULONG IN BOOLEAN OUT PLARGE_MCB Mcb
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
_Must_inspect_result_ _In_ LONGLONG _In_ LONGLONG Lbn
enum _FAST_IO_POSSIBLE FAST_IO_POSSIBLE
GLuint GLuint GLsizei count
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
#define InterlockedExchangeAdd
volatile char *const const char modify volatile long *const const long modify volatile short *const const short modify volatile char *const const char modify _InterlockedXor
volatile char *const const char modify _InterlockedAnd
static DRIVER_UNLOAD DriverUnload
static OUT PIO_STATUS_BLOCK OUT PVOID IN ULONG IN FILE_INFORMATION_CLASS FileInformationClass
static unsigned(__cdecl *hash_bstr)(bstr_t s)
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
__GNU_EXTENSION typedef __int64 * PLONGLONG
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
UNICODE_STRING DirectorySearchPattern
EXT2_IDENTIFIER Identifier
struct _EXT2_EXTENT * Next
EXT2_IDENTIFIER Identifier
ERESOURCE PagingIoResource
FSRTL_ADVANCED_FCB_HEADER Header
SECTION_OBJECT_POINTERS SectionObject
PETHREAD LazyWriterThread
PEXT2_IRP_CONTEXT efc_irp
FILE_INFORMATION_CLASS efc_fi
FAST_IO_DISPATCH FastIoDispatch
UNICODE_STRING RegistryPath
CACHE_MANAGER_CALLBACKS CacheManagerNoOpCallbacks
UCHAR AnsiName[CODEPAGE_MAXLEN]
NPAGED_LOOKASIDE_LIST Ext2ExtLookasideList
NPAGED_LOOKASIDE_LIST Ext2McbLookasideList
NPAGED_LOOKASIDE_LIST Ext2IrpContextLookasideList
NPAGED_LOOKASIDE_LIST Ext2FcbLookasideList
EXT2_IDENTIFIER Identifier
WCHAR PageName[CODEPAGE_MAXLEN]
FS_FILTER_CALLBACKS FilterCallbacks
PDEVICE_OBJECT DiskdevObject
NPAGED_LOOKASIDE_LIST Ext2DentryLookasideList
PDRIVER_OBJECT DriverObject
WCHAR wHidingSuffix[HIDINGPAT_LEN]
EXT2_PERF_STATISTICS_V2 PerfStat
CHAR sHidingSuffix[HIDINGPAT_LEN]
NPAGED_LOOKASIDE_LIST Ext2CcbLookasideList
struct _EXT2_GLOBAL::@701 Codepage
struct nls_table * PageTable
WCHAR wHidingPrefix[HIDINGPAT_LEN]
CHAR sHidingPrefix[HIDINGPAT_LEN]
CACHE_MANAGER_CALLBACKS CacheManagerCallbacks
PDEVICE_OBJECT CdromdevObject
EXT2_IDENTIFIER_TYPE Type
LARGE_INTEGER LastWriteTime
LARGE_INTEGER CreationTime
LARGE_INTEGER LastAccessTime
EXT2_IDENTIFIER Identifier
struct _EXT2_PERF_STATISTICS_V2::@698 Irps[IRP_MJ_MAXIMUM_FUNCTION+1]
ERESOURCE_THREAD ThreadId
struct nls_table * PageTable
PDEVICE_OBJECT RealDevice
SECTION_OBJECT_POINTERS SectionObject
PARTITION_INFORMATION PartitionInformation
PEXT2_SUPER_BLOCK SuperBlock
PDEVICE_OBJECT DeviceObject
CHAR sHidingPrefix[HIDINGPAT_LEN]
UCHAR AnsiName[CODEPAGE_MAXLEN]
CHAR sHidingSuffix[HIDINGPAT_LEN]
PDEVICE_OBJECT TargetDeviceObject
struct _EXT2_VCB::@702 Codepage
ULONG max_blocks_per_layer[EXT2_BLOCK_TYPES]
DISK_GEOMETRY DiskGeometry