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 \ 167 CTL_CODE(FILE_DEVICE_UNKNOWN, 2048, METHOD_NEITHER, FILE_WRITE_ACCESS) 169 #endif // EXT2_UNLOAD 177 #define IsFlagOn(a,b) ((BOOLEAN)(FlagOn(a,b) == b)) 179 #define FlagOn(_F,_SF) ((_F) & (_SF)) 182 #ifndef BooleanFlagOn 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)) 202 #ifdef _WIN2K_TARGET_ 203 #define InterlockedOr _InterlockedOr 210 #pragma intrinsic (_InterlockedAnd) 211 #define InterlockedAnd _InterlockedAnd 219 #pragma intrinsic (_InterlockedXor) 220 #define InterlockedXor _InterlockedXor 226 #define SetLongFlag(_F,_SF) Ext2SetFlag((PULONG)&(_F), (ULONG)(_SF)) 227 #define ClearLongFlag(_F,_SF) Ext2ClearFlag((PULONG)&(_F), (ULONG)(_SF)) 253 #define SetLongFlag(_F,_SF) InterlockedOr(&(_F), (ULONG)(_SF)) 254 #define ClearLongFlag(_F,_SF) InterlockedAnd(&(_F), ~((ULONG)(_SF))) 258 #define Ext2RaiseStatus(IRPCONTEXT,STATUS) { \ 259 (IRPCONTEXT)->ExceptionCode = (STATUS); \ 260 ExRaiseStatus((STATUS)); \ 263 #define Ext2NormalizeAndRaiseStatus(IRPCONTEXT,STATUS) { \ 264 (IRPCONTEXT)->ExceptionCode = STATUS; \ 265 if ((STATUS) == STATUS_VERIFY_REQUIRED) { ExRaiseStatus((STATUS)); } \ 266 ExRaiseStatus(FsRtlNormalizeNtstatus((STATUS),STATUS_UNEXPECTED_IO_ERROR)); \ 273 #define FILE_WRITE_TO_END_OF_FILE 0xffffffff 275 #define IsWritingToEof(Pos) (((Pos).LowPart == FILE_WRITE_TO_END_OF_FILE) && \ 276 ((Pos).HighPart == -1 )) 278 #define IsDirectory(Fcb) IsMcbDirectory((Fcb)->Mcb) 279 #define IsSpecialFile(Fcb) IsMcbSpecialFile((Fcb)->Mcb) 280 #define IsSymLink(Fcb) IsMcbSymLink((Fcb)->Mcb) 281 #define IsInodeSymLink(I) S_ISLNK((I)->i_mode) 282 #define IsRoot(Fcb) IsMcbRoot((Fcb)->Mcb) 288 #define TAG_VPB ' bpV' 289 #define VPB_SIZE sizeof(VPB) 291 #define EXT2_DATA_MAGIC 'BD2E' 292 #define EXT2_INAME_MAGIC 'NI2E' 293 #define EXT2_FNAME_MAGIC 'NF2E' 294 #define EXT2_VNAME_MAGIC 'NV2E' 295 #define EXT2_DENTRY_MAGIC 'ED2E' 296 #define EXT2_DIRSP_MAGIC 'SD2E' 297 #define EXT2_SB_MAGIC 'BS2E' 298 #define EXT2_GD_MAGIC 'DG2E' 299 #define EXT2_FLIST_MAGIC 'LF2E' 300 #define EXT2_PARAM_MAGIC 'PP2E' 301 #define EXT2_RWC_MAGIC 'WR2E' 307 #define EXT2_FILE_SYSTEM (FILE_SYSTEM) 309 #define EXT2_BUGCHK_BLOCK (0x00010000) 310 #define EXT2_BUGCHK_CLEANUP (0x00020000) 311 #define EXT2_BUGCHK_CLOSE (0x00030000) 312 #define EXT2_BUGCHK_CMCB (0x00040000) 313 #define EXT2_BUGCHK_CREATE (0x00050000) 314 #define EXT2_BUGCHK_DEBUG (0x00060000) 315 #define EXT2_BUGCHK_DEVCTL (0x00070000) 316 #define EXT2_BUGCHK_DIRCTL (0x00080000) 317 #define EXT2_BUGCHK_DISPATCH (0x00090000) 318 #define EXT2_BUGCHK_EXCEPT (0x000A0000) 319 #define EXT2_BUGCHK_EXT2 (0x000B0000) 320 #define EXT2_BUGCHK_FASTIO (0x000C0000) 321 #define EXT2_BUGCHK_FILEINFO (0x000D0000) 322 #define EXT2_BUGCHK_FLUSH (0x000E0000) 323 #define EXT2_BUGCHK_FSCTL (0x000F0000) 324 #define EXT2_BUGCHK_INIT (0x00100000) 325 #define EXT2_BUGCHK_LOCK (0x0011000) 326 #define EXT2_BUGCHK_MEMORY (0x0012000) 327 #define EXT2_BUGCHK_MISC (0x0013000) 328 #define EXT2_BUGCHK_READ (0x00140000) 329 #define EXT2_BUGCHK_SHUTDOWN (0x00150000) 330 #define EXT2_BUGCHK_VOLINFO (0x00160000) 331 #define EXT2_BUGCHK_WRITE (0x00170000) 333 #define EXT2_BUGCHK_LAST (0x00170000) 335 #define Ext2BugCheck(A,B,C,D) { KeBugCheckEx(EXT2_FILE_SYSTEM, A | __LINE__, B, C, D ); } 344 #define EXT2_SUPER_MAGIC 0xEF53 346 #define EXT2_MIN_BLOCK 1024 347 #define EXT2_MIN_FRAG 1024 348 #define EXT2_MAX_USER_BLKSIZE 65536 353 #define S_IFMT 0x0F000 354 #define S_IFSOCK 0x0C000 355 #define S_IFLNK 0x0A000 356 #define S_IFREG 0x08000 357 #define S_IFBLK 0x06000 358 #define S_IFDIR 0x04000 359 #define S_IFCHR 0x02000 360 #define S_IFIFO 0x01000 362 #define S_ISUID 0x00800 363 #define S_ISGID 0x00400 364 #define S_ISVTX 0x00200 366 #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) 367 #define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) 368 #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) 369 #define S_ISFIL(m) (((m) & S_IFMT) == S_IFFIL) 370 #define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) 371 #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) 372 #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) 373 #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) 375 #define S_IPERMISSION_MASK 0x1FF 377 #define S_IRWXU 0x1C0 378 #define S_IRWNU 0x180 379 #define S_IRUSR 0x100 380 #define S_IWUSR 0x080 381 #define S_IXUSR 0x040 383 #define S_IRWXG 0x038 384 #define S_IRWNG 0x030 385 #define S_IRGRP 0x020 386 #define S_IWGRP 0x010 387 #define S_IXGRP 0x008 389 #define S_IRWXO 0x007 390 #define S_IRWNO 0x006 391 #define S_IROTH 0x004 392 #define S_IWOTH 0x002 393 #define S_IXOTH 0x001 395 #define S_IRWXUGO (S_IRWXU|S_IRWXG|S_IRWXO) 396 #define S_IALLUGO (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO) 397 #define S_IRUGO (S_IRUSR|S_IRGRP|S_IROTH) 398 #define S_IWUGO (S_IWUSR|S_IWGRP|S_IWOTH) 399 #define S_IXUGO (S_IXUSR|S_IXGRP|S_IXOTH) 400 #define S_IFATTR (S_IRWNU|S_IRWNG|S_IRWNO) 402 #define S_ISREADABLE(m) (((m) & S_IPERMISSION_MASK) == (S_IRUSR | S_IRGRP | S_IROTH)) 403 #define S_ISWRITABLE(m) (((m) & S_IPERMISSION_MASK) == (S_IWUSR | S_IWGRP | S_IWOTH)) 405 #define Ext2SetReadable(m) do {(m) = (m) | (S_IRUSR | S_IRGRP | S_IROTH);} while(0) 406 #define Ext2SetWritable(m) do {(m) = (m) | (S_IWUSR | S_IWGRP | S_IWOTH);} while(0) 408 #define Ext2SetOwnerWritable(m) do {(m) |= S_IWUSR;} while(0) 409 #define Ext2SetOwnerReadOnly(m) do {(m) &= ~S_IWUSR;} while(0) 411 #define Ext2IsOwnerWritable(m) (((m) & S_IWUSR) == S_IWUSR) 412 #define Ext2IsOwnerReadable(m) (((m) & S_IRUSR) == S_IRUSR) 413 #define Ext2IsOwnerReadOnly(m) (!(Ext2IsOwnerWritable(m)) && Ext2IsOwnerReadable(m)) 415 #define Ext2IsGroupWritable(m) (((m) & S_IWGRP) == S_IWGRP) 416 #define Ext2IsGroupReadable(m) (((m) & S_IRGRP) == S_IRGRP) 417 #define Ext2IsGroupReadOnly(m) (!(Ext2IsGroupWritable(m)) && Ext2IsGroupReadable(m)) 419 #define Ext2IsOtherWritable(m) (((m) & S_IWOTH) == S_IWOTH) 420 #define Ext2IsOtherReadable(m) (((m) & S_IROTH) == S_IROTH) 421 #define Ext2IsOtherReadOnly(m) (!(Ext2IsOtherWritable(m)) && Ext2IsOtherReadable(m)) 423 #define Ext2SetReadOnly(m) do {(m) &= ~(S_IWUSR | S_IWGRP | S_IWOTH);} while(0) 426 #define Ext2FileCanRead (0x1) 427 #define Ext2FileCanWrite (0x2) 428 #define Ext2FileCanExecute (0x4) 477 #define NodeType(Ptr) (*((EXT2_IDENTIFIER_TYPE *)(Ptr))) 502 #define EXT2_REAPER_FLAG_STOP (1 << 0) 581 #define EXT2_UNLOAD_PENDING 0x00000001 582 #define EXT2_SUPPORT_WRITING 0x00000002 583 #define EXT3_FORCE_WRITING 0x00000004 584 #define EXT2_CHECKING_BITMAP 0x00000008 585 #define EXT2_AUTO_MOUNT 0x00000010 598 #define INC_MEM_COUNT(_i, _p, _s) do { ASSERT(_p); Ext2TraceMemory(TRUE, (int) (_i), (PVOID)(_p), (LONG)(_s)); } while(0) 599 #define DEC_MEM_COUNT(_i, _p, _s) do { ASSERT(_p); Ext2TraceMemory(FALSE, (int) (_i), (PVOID)(_p), (LONG)(_s)); } while(0) 600 #define INC_IRP_COUNT(IrpContext) Ext2TraceIrpContext(TRUE, (IrpContext)) 601 #define DEC_IRP_COUNT(IrpContext) Ext2TraceIrpContext(FALSE, (IrpContext)) 607 #define IsExt2FsDevice(DO) ((DO == Ext2Global->DiskdevObject) || \ 608 (DO == Ext2Global->CdromdevObject) ) 610 #ifdef _WIN2K_TARGET_ 611 #define FSRTL_ADVANCED_FCB_HEADER FSRTL_COMMON_FCB_HEADER 619 #ifndef _WIN2K_TARGET_ 779 #define VCB_INITIALIZED 0x00000001 780 #define VCB_VOLUME_LOCKED 0x00000002 781 #define VCB_MOUNTED 0x00000004 782 #define VCB_DISMOUNT_PENDING 0x00000008 783 #define VCB_NEW_VPB 0x00000010 784 #define VCB_BEING_CLOSED 0x00000020 785 #define VCB_USER_IDS 0x00000040 786 #define VCB_USER_EIDS 0x00000080 787 #define VCB_GD_LOADED 0x00000100 789 #define VCB_BEING_DROPPED 0x00002000 790 #define VCB_FORCE_WRITING 0x00004000 791 #define VCB_DEVICE_REMOVED 0x00008000 792 #define VCB_JOURNAL_RECOVER 0x00080000 793 #define VCB_ARRIVAL_NOTIFIED 0x00800000 794 #define VCB_RO_COMPAT_READ_ONLY 0x01000000 795 #define VCB_READ_ONLY 0x08000000 796 #define VCB_WRITE_PROTECTED 0x10000000 797 #define VCB_FLOPPY_DISK 0x20000000 798 #define VCB_REMOVAL_PREVENTED 0x40000000 799 #define VCB_REMOVABLE_MEDIA 0x80000000 802 #define IsVcbInited(Vcb) (IsFlagOn((Vcb)->Flags, VCB_INITIALIZED)) 803 #define IsMounted(Vcb) (IsFlagOn((Vcb)->Flags, VCB_MOUNTED)) 804 #define IsDispending(Vcb) (IsFlagOn((Vcb)->Flags, VCB_DISMOUNT_PENDING)) 805 #define IsVcbReadOnly(Vcb) (IsFlagOn((Vcb)->Flags, VCB_READ_ONLY) || \ 806 IsFlagOn((Vcb)->Flags, VCB_RO_COMPAT_READ_ONLY) || \ 807 IsFlagOn((Vcb)->Flags, VCB_WRITE_PROTECTED)) 810 #define IsExt3ForceWrite() (IsFlagOn(Ext2Global->Flags, EXT3_FORCE_WRITING)) 811 #define IsVcbForceWrite(Vcb) (IsFlagOn((Vcb)->Flags, VCB_FORCE_WRITING)) 812 #define CanIWrite(Vcb) (IsExt3ForceWrite() || (!IsVcbReadOnly(Vcb) && IsVcbForceWrite(Vcb))) 813 #define IsLazyWriter(Fcb) ((Fcb)->LazyWriterThread == PsGetCurrentThread()) 871 #define FCB_FROM_POOL 0x00000001 872 #define FCB_PAGE_FILE 0x00000002 873 #define FCB_FILE_MODIFIED 0x00000020 875 #define FCB_ALLOC_IN_CREATE 0x00000080 876 #define FCB_ALLOC_IN_WRITE 0x00000100 877 #define FCB_ALLOC_IN_SETINFO 0x00000200 879 #define FCB_DELETE_PENDING 0x80000000 943 #define MCB_FROM_POOL 0x00000001 944 #define MCB_VCB_LINK 0x00000002 945 #define MCB_ENTRY_TREE 0x00000004 946 #define MCB_FILE_DELETED 0x00000008 948 #define MCB_ZONE_INITED 0x20000000 949 #define MCB_TYPE_SPECIAL 0x40000000 950 #define MCB_TYPE_SYMLINK 0x80000000 952 #define IsMcbUsed(Mcb) ((Mcb)->Refercount > 0) 953 #define IsMcbSymLink(Mcb) IsFlagOn((Mcb)->Flags, MCB_TYPE_SYMLINK) 954 #define IsZoneInited(Mcb) IsFlagOn((Mcb)->Flags, MCB_ZONE_INITED) 955 #define IsMcbSpecialFile(Mcb) IsFlagOn((Mcb)->Flags, MCB_TYPE_SPECIAL) 956 #define IsMcbRoot(Mcb) ((Mcb)->Inode.i_ino == EXT2_ROOT_INO) 957 #define IsMcbReadonly(Mcb) IsFlagOn((Mcb)->FileAttr, FILE_ATTRIBUTE_READONLY) 958 #define IsMcbDirectory(Mcb) IsFlagOn((Mcb)->FileAttr, FILE_ATTRIBUTE_DIRECTORY) 959 #define IsFileDeleted(Mcb) IsFlagOn((Mcb)->Flags, MCB_FILE_DELETED) 961 #define IsLinkInvalid(Mcb) (IsMcbSymLink(Mcb) && IsFileDeleted(Mcb->Target)) 967 #define Ext2ReferXcb(_C) InterlockedIncrement(_C) 968 #define Ext2DerefXcb(_C) DEC_OBJ_CNT(_C) 983 #define Ext2ReferMcb(Mcb) Ext2TraceMcb(__FUNCTION__, __LINE__, TRUE, Mcb) 984 #define Ext2DerefMcb(Mcb) Ext2TraceMcb(__FUNCTION__, __LINE__, FALSE, Mcb) 986 #define Ext2ReferMcb(Mcb) Ext2ReferXcb(&Mcb->Refercount) 987 #define Ext2DerefMcb(Mcb) Ext2DerefXcb(&Mcb->Refercount) 1022 #define CCB_FROM_POOL 0x00000001 1023 #define CCB_VOLUME_DASD_PURGE 0x00000002 1024 #define CCB_LAST_WRITE_UPDATED 0x00000004 1025 #define CCB_OPEN_REPARSE_POINT 0x00000008 1026 #define CCB_DELETE_ON_CLOSE 0x00000010 1028 #define CCB_ALLOW_EXTENDED_DASD_IO 0x80000000 1077 #define IRP_CONTEXT_FLAG_FROM_POOL (0x00000001) 1078 #define IRP_CONTEXT_FLAG_WAIT (0x00000002) 1079 #define IRP_CONTEXT_FLAG_WRITE_THROUGH (0x00000004) 1080 #define IRP_CONTEXT_FLAG_FLOPPY (0x00000008) 1081 #define IRP_CONTEXT_FLAG_DISABLE_POPUPS (0x00000020) 1082 #define IRP_CONTEXT_FLAG_DEFERRED (0x00000040) 1083 #define IRP_CONTEXT_FLAG_VERIFY_READ (0x00000080) 1084 #define IRP_CONTEXT_STACK_IO_CONTEXT (0x00000100) 1085 #define IRP_CONTEXT_FLAG_REQUEUED (0x00000200) 1086 #define IRP_CONTEXT_FLAG_USER_IO (0x00000400) 1087 #define IRP_CONTEXT_FLAG_DELAY_CLOSE (0x00000800) 1088 #define IRP_CONTEXT_FLAG_FILE_BUSY (0x00001000) 1091 #define Ext2CanIWait() (!IrpContext || IsFlagOn(IrpContext->Flags, IRP_CONTEXT_FLAG_WAIT)) 1122 #ifndef FSCTL_GET_RETRIEVAL_POINTER_BASE 1123 #define FSCTL_GET_RETRIEVAL_POINTER_BASE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 141, METHOD_BUFFERED, FILE_ANY_ACCESS) // RETRIEVAL_POINTER_BASE 1126 #ifndef FILE_SUPPORTS_EXTENDED_ATTRIBUTES 1127 #define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000 1137 #define CanExt2Wait(IRP) IoIsOperationSynchronous(Irp) 1342 #define EXT2_LOOKUP_FLAG_MASK (0xFF00000) 1343 #define EXT2_LOOKUP_NOT_FOLLOW (0x8000000) 1396 #define DL_VIT 0x00000001 1397 #define DL_ERR 0x00000002 1398 #define DL_DBG 0x00000004 1399 #define DL_INF 0x00000008 1400 #define DL_FUN 0x00000010 1401 #define DL_LOW 0x00000020 1402 #define DL_REN 0x00000040 1403 #define DL_RES 0x00000080 1404 #define DL_BLK 0x00000100 1405 #define DL_CP 0x00000200 1406 #define DL_EXT 0x00000400 1407 #define DL_MAP 0x00000800 1408 #define DL_JNL 0x00001000 1409 #define DL_HTI 0x00002000 1410 #define DL_WRN 0x00004000 1411 #define DL_BH 0x00008000 1412 #define DL_PNP 0x00010000 1413 #define DL_IO 0x00020000 1415 #define DL_DEFAULT (DL_ERR|DL_VIT) 1418 extern ULONG DebugFilter;
1427 #define DEBUG(_DL, arg) do {if ((_DL) & DebugFilter) Ext2Printf arg;} while(0) 1428 #define DEBUGNI(_DL, arg) do {if ((_DL) & DebugFilter) Ext2NiPrintf arg;} while(0) 1430 #define Ext2CompleteRequest(Irp, bPrint, PriorityBoost) \ 1431 Ext2DbgPrintComplete(Irp, bPrint); \ 1432 IoCompleteRequest(Irp, PriorityBoost) 1436 #define DEBUG(_DL, arg) do {if ((_DL) & DL_ERR) DbgPrint arg;} while(0) 1438 #define Ext2CompleteRequest(Irp, bPrint, PriorityBoost) \ 1439 IoCompleteRequest(Irp, PriorityBoost) 1441 #endif // EXT2_DEBUG 1452 #define Ext2GetCurrentProcessName() ( \ 1453 (PUCHAR) PsGetCurrentProcess() + ProcessNameOffset \ 2475 #define ext3_error ext3_warning 2476 #define ext4_error ext3_error 2499 #if !defined(__REACTOS__) || (defined(_MSC_VER) && !defined(__clang__)) 2504 struct dx_hash_info *hinfo,
int *
error);
3077 #define EXT2_RW_CONTEXT_WRITE 1 static unsigned int block
void ext4_block_bitmap_set(struct super_block *sb, struct ext4_group_desc *bg, ext4_fsblk_t blk)
NTSTATUS Ext2WinntError(int rc)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
struct _EXT2_FCB * PEXT2_FCB
_In_ PLARGE_INTEGER EndingOffset
struct _EXT2_EXTENT * Next
NTSTATUS Ext2LoadSuper(IN PEXT2_VCB Vcb, IN BOOLEAN bVerify, OUT PEXT2_SUPER_BLOCK *Sb)
BOOLEAN Ext2RemoveVcbExtent(IN PEXT2_VCB Vcb, IN LONGLONG Vbn, IN LONGLONG Length)
DISK_GEOMETRY DiskGeometry
ULONG_PTR ERESOURCE_THREAD
NTSTATUS Ext2NewBlock(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG GroupHint, IN ULONG BlockHint, OUT PULONG Block, IN OUT PULONG Number)
NTSTATUS Ext2QueryRetrievalPointers(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2FreeFcb(IN PEXT2_FCB Fcb)
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)
PEXT2_CCB Ext2AllocateCcb(ULONG Flags, PEXT2_MCB SymLink)
ext4_fsblk_t ext4_inode_table(struct super_block *sb, struct ext4_group_desc *bg)
PEXT2_INODE Ext2AllocateInode(PEXT2_VCB Vcb)
NPAGED_LOOKASIDE_LIST Ext2McbLookasideList
NTSTATUS Ext2DeleteFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_MCB Mcb)
BOOLEAN NTAPI 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)
struct _FCB_LIST_ENTRY * PFCB_LIST_ENTRY
NTSTATUS Ext2FollowLink(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Parent, IN PEXT2_MCB Mcb, IN ULONG Linkdep)
NTSTATUS Ext2NotifyChangeDirectory(IN PEXT2_IRP_CONTEXT IrpContext)
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST NPAGED_LOOKASIDE_LIST
_In_ ULONG _In_ ULONG _In_ ULONG Length
NTSTATUS Ext2Cleanup(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2RefreshSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
unsigned long ext4_count_free_inodes(struct super_block *sb)
NTSTATUS Ext2DismountVolume(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2DiskIoControl(IN PDEVICE_OBJECT DeviceOjbect, IN ULONG IoctlCode, IN PVOID InputBuffer, IN ULONG InputBufferSize, IN OUT PVOID OutputBuffer, IN OUT PULONG OutputBufferSize)
NTSTATUS Ext2DiskShutDown(PEXT2_VCB Vcb)
NTSTATUS Ext2OplockRequest(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2SaveInodeXattr(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN struct inode *Inode, IN PEXT2_INODE InodeXattr)
PEXT2_MCB Ext2AllocateMcb(IN PEXT2_VCB Vcb, IN PUNICODE_STRING FileName, IN PUNICODE_STRING Parent, IN ULONG FileAttr)
__inline ULONG DEC_OBJ_CNT(PULONG _C)
unsigned ext4_init_block_bitmap(struct super_block *sb, struct buffer_head *bh, ext4_group_t block_group, struct ext4_group_desc *gdp)
struct nls_table * PageTable
struct buffer_head * ext3_dx_find_entry(struct ext2_icb *, struct dentry *dentry, struct ext3_dir_entry_2 **res_dir, int *err)
NTSTATUS Ext2FileSystemControl(IN PEXT2_IRP_CONTEXT IrpContext)
void ext4_free_blks_set(struct super_block *sb, struct ext4_group_desc *bg, __u32 count)
BOOLEAN Ext2IsHandleCountZero(IN PEXT2_VCB Vcb)
#define DEC_MEM_COUNT(_i, _p, _s)
ULONG Ext2TotalBlocks(PEXT2_VCB Vcb, PLARGE_INTEGER Size, PULONG pMeta)
_Must_inspect_result_ __drv_aliasesMem PDEVICE_OBJECT _In_ PDEVICE_OBJECT TargetDevice
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)
void ext3_update_dx_flag(struct inode *inode)
BOOLEAN Ext2SaveSuper(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
VOID Ext2SetVpbFlag(IN PVPB Vpb, IN USHORT Flag)
struct ext3_inode * PEXT2_INODE
static GLenum _GLUfuncptr fn
LARGE_INTEGER Ext2NtTime(IN ULONG i_time)
struct ext3_dir_entry * PEXT2_DIR_ENTRY
enum _FAST_IO_POSSIBLE FAST_IO_POSSIBLE
VOID(NTAPI * EXT2_REAPER_RELEASE)(PVOID)
int ext4_check_descriptors(struct super_block *sb)
_In_ PLARGE_INTEGER _Out_ struct _ERESOURCE ** ResourceToRelease
loff_t ext3_max_size(int blkbits, int has_huge_files)
BOOLEAN Ext2LoadGroupBH(IN PEXT2_VCB Vcb)
VOID Ext2DropGroupBH(IN PEXT2_VCB Vcb)
SECTION_OBJECT_POINTERS SectionObject
NPAGED_LOOKASIDE_LIST Ext2IrpContextLookasideList
VOID NTAPI Ext2StopReaper(PEXT2_REAPER Reaper)
ext4_fsblk_t ext4_inode_bitmap(struct super_block *sb, struct ext4_group_desc *bg)
VOID NTAPI DriverUnload(IN PDRIVER_OBJECT DriverObject)
PDEVICE_OBJECT DeviceObject
struct _EXT2_GLOBAL::@671 Codepage
_In_ WDFDPC _In_ BOOLEAN Wait
ULONG Ext2InodeType(PEXT2_MCB Mcb)
GLuint GLuint GLsizei count
PEXT2_MCB Ext2LoadInternalJournal(PEXT2_VCB Vcb, ULONG jNo)
unsigned long ext4_bg_num_gdb(struct super_block *sb, ext4_group_t group)
int(* filldir_t)(void *, const char *, int, unsigned long, __u32, unsigned)
VOID Ext2ClearAllExtents(PLARGE_MCB Zone)
ULONG Ext2CountExtents(IN PEXT2_EXTENT Chain)
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
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 Ext2ReadDisk(IN PEXT2_VCB Vcb, IN ULONGLONG Offset, IN ULONG Size, IN PVOID Buffer, IN BOOLEAN bVerify)
struct buffer_head * ext3_bread(struct ext2_icb *icb, struct inode *inode, unsigned long block, int *err)
struct _EXT2_RW_CONTEXT EXT2_RW_CONTEXT
_Must_inspect_result_ _In_ LONGLONG _In_ LONGLONG Lbn
ext3_fsblk_t descriptor_loc(struct super_block *sb, ext3_fsblk_t logical_sb_block, unsigned int nr)
BOOLEAN NTAPI Ext2AcquireForLazyWrite(IN PVOID Context, IN BOOLEAN Wait)
VOID NTAPI Ext2ReaperThread(PVOID Context)
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)
PDEVICE_OBJECT DeviceObject
NPAGED_LOOKASIDE_LIST Ext2FcbLookasideList
NTSTATUS Ext2FlushFile(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_FCB Fcb, IN PEXT2_CCB Ccb)
VOID Ext2DestroyVcb(IN PEXT2_VCB Vcb)
IN PVOID IN PVOID IN USHORT IN USHORT Size
VOID Ext2FreeMcb(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
NTSTATUS Ext2LockUserBuffer(IN PIRP Irp, IN ULONG Length, IN LOCK_OPERATION Operation)
VOID Ext2JointExtents(IN PEXT2_EXTENT Chain, IN PEXT2_EXTENT Extent)
VOID Ext2DbgPrintComplete(IN PIRP Irp, IN BOOLEAN bPrint)
BOOLEAN Ext2IsDirectoryEmpty(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
NTSTATUS Ext2CreateFile(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, OUT PBOOLEAN OpPostIrp)
ext4_fsblk_t ext4_count_free_blocks(struct super_block *sb)
NTSTATUS Ext2SetEa(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)
EXT2_PERF_STATISTICS_V2 PerfStat
NTSTATUS Ext2FlushVolume(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bShutDown)
static OUT PIO_STATUS_BLOCK OUT PVOID IN ULONG IN FILE_INFORMATION_CLASS FileInformationClass
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical 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
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG IoctlCode
EXT2_IDENTIFIER Identifier
BOOLEAN Ext2SaveBlock(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG dwBlk, IN PVOID Buf)
NTSTATUS Ext2CreateVolume(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
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)
NTSTATUS Ext2ProcessVolumeProperty(IN PEXT2_VCB Vcb, IN PEXT2_VOLUME_PROPERTY3 Property, IN ULONG Length)
NTSTATUS Ext2FlushVcb(IN PEXT2_VCB Vcb)
VOID Ext2QueueCloseRequest(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2ReadSync(IN PEXT2_VCB Vcb, IN ULONGLONG Offset, IN ULONG Length, OUT PVOID Buffer, IN BOOLEAN bVerify)
BOOLEAN Ext2IsEaNameValid(IN OEM_STRING Name)
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
BOOLEAN Ext2CheckSetBlock(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, LONGLONG Block)
NTSTATUS NTAPI Ext2AcquireFileForModWrite(IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER EndingOffset, OUT PERESOURCE *ResourceToRelease, IN PDEVICE_OBJECT DeviceObject)
ERESOURCE_THREAD ThreadId
VOID Ext2UnlinkMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb)
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG IN BOOLEAN CheckForReadOperation
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
BOOLEAN Ext2IsDot(PUNICODE_STRING name)
struct _EXT2_FCBVCB EXT2_FCBVCB
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
NPAGED_LOOKASIDE_LIST Ext2CcbLookasideList
NTSTATUS Ext2LockVcb(IN PEXT2_VCB Vcb, IN PFILE_OBJECT FileObject)
unsigned long long ext4_fsblk_t
void ext3_dec_count(struct inode *inode)
NTSTATUS Ext2TruncateFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER AllocationSize)
VOID Ext2SyncUninitializeCacheMap(IN PFILE_OBJECT FileObject)
NTSTATUS Ext2LockControl(IN PEXT2_IRP_CONTEXT IrpContext)
EXT2_IDENTIFIER_TYPE Type
NTSTATUS Ext2QueryEa(IN PEXT2_IRP_CONTEXT IrpContext)
int ext3_inode_blocks_set(struct ext3_inode *raw_inode, struct inode *inode)
BOOLEAN Ext2RemoveMcbMetaExts(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Block, IN ULONG Length)
NPAGED_LOOKASIDE_LIST Ext2DentryLookasideList
UCHAR AnsiName[CODEPAGE_MAXLEN]
PDEVICE_OBJECT RealDevice
__GNU_EXTENSION typedef __int64 * PLONGLONG
NTSTATUS Ext2DispatchRequest(IN PEXT2_IRP_CONTEXT IrpContext)
CHAR sHidingPrefix[HIDINGPAT_LEN]
VOID Ext2FreeEntry(IN struct dentry *de)
CHAR sHidingSuffix[HIDINGPAT_LEN]
BOOLEAN Ext2CheckDismount(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bForce)
_In_ PDEVICE_OBJECT DeviceObject
int ext3_dx_readdir(struct file *filp, filldir_t filldir, void *context)
NTSTATUS Ext2GetRetrievalPointers(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ex2ProcessMountPoint(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_MOUNT_POINT MountPoint, IN ULONG Length)
int Ext2CheckFileAccess(PEXT2_VCB Vcb, PEXT2_MCB Mcb, int attempt)
VOID Ext2InsertMcb(PEXT2_VCB Vcb, PEXT2_MCB Parent, PEXT2_MCB Child)
NPAGED_LOOKASIDE_LIST Ext2ExtLookasideList
BOOLEAN NTAPI 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)
BOOLEAN NTAPI 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 Ext2QueueRequest(IN PEXT2_IRP_CONTEXT IrpContext)
VOID NTAPI Ext2bhReaperThread(PVOID Context)
PEXT2_SUPER_BLOCK SuperBlock
struct _EXT2_GLOBAL * PEXT2_GLOBAL
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
VOID NTAPI Ext2DeQueueRequest(IN PVOID Context)
NTSTATUS Ext2IsFileRemovable(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Fcb, IN PEXT2_CCB Ccb)
int ext3_mark_inode_dirty(struct ext2_icb *icb, struct inode *in)
BOOLEAN Ext2LookupBlockExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Start, IN PULONG Block, IN PULONG Mapped)
BOOLEAN Ext2QueryRegistrySettings(IN PUNICODE_STRING RegistryPath)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFDEVICE Child
NTSTATUS NTAPI Ext2ReleaseFileForCcFlush(IN PFILE_OBJECT FileObject, IN PDEVICE_OBJECT DeviceObject)
LARGE_INTEGER CreationTime
void ext4_used_dirs_set(struct super_block *sb, struct ext4_group_desc *bg, __u32 count)
BOOLEAN Ext2LoadGroup(IN PEXT2_VCB Vcb)
VOID Ext2FreeIrpContext(IN PEXT2_IRP_CONTEXT IrpContext)
EXT2_IDENTIFIER Identifier
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)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN FailImmediately
unsigned __int64 blkcnt_t
IO_STACK_LOCATION EXTENDED_IO_STACK_LOCATION
void ext4_free_inodes_set(struct super_block *sb, struct ext4_group_desc *bg, __u32 count)
NTSTATUS Ext2FreeInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG Inode, IN ULONG Type)
VOID Ext2CheckExtent(PLARGE_MCB Zone, LONGLONG Vbn, LONGLONG Lbn, LONGLONG Length, BOOLEAN bAdded)
BOOLEAN Ext2BuildName(IN OUT PUNICODE_STRING Target, IN PUNICODE_STRING File, IN PUNICODE_STRING Parent)
void ext4_itable_unused_set(struct super_block *sb, struct ext4_group_desc *bg, __u32 count)
struct _FCB_LIST_ENTRY FCB_LIST_ENTRY
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)
VOID Ext2NotifyReportChange(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Filter, IN ULONG Action)
VOID Ext2UnlinkFcb(IN PEXT2_FCB Fcb)
VOID Ext2StartFloppyFlushDpc(PEXT2_VCB Vcb, PEXT2_FCB Fcb, PFILE_OBJECT FileObject)
NTSTATUS Ext2UnicodeToOEM(IN PEXT2_VCB Vcb, IN OUT POEM_STRING Oem, IN PUNICODE_STRING Unicode)
NTSTATUS Ext2PnpRemove(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
VOID Ext2DropBH(IN PEXT2_VCB Vcb)
WCHAR wHidingPrefix[HIDINGPAT_LEN]
PDEVICE_OBJECT DiskdevObject
NTSTATUS Ext2FreeBlock(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG Block, IN ULONG Number)
#define INC_MEM_COUNT(_i, _p, _s)
BOOLEAN Ext2RemoveMcbExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN LONGLONG Vbn, IN LONGLONG Length)
NTSTATUS NTAPI Ext2BuildRequest(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
static void ext3_blocks_count_set(struct ext3_super_block *es, ext3_fsblk_t blk)
int ext3_bg_has_super(struct super_block *sb, ext3_group_t group)
PEXT2_FCB Ext2AllocateFcb(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
struct _EXT2_CCB EXT2_CCB
BOOLEAN Ext2LoadInode(IN PEXT2_VCB Vcb, IN struct inode *Inode)
FAST_IO_DISPATCH FastIoDispatch
NTSTATUS Ext2DeviceControl(IN PEXT2_IRP_CONTEXT IrpContext)
struct _EXT2_IDENTIFIER EXT2_IDENTIFIER
static ext3_fsblk_t ext3_r_blocks_count(struct ext3_super_block *es)
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 Ext2SetLinkInfo(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_CCB Ccb)
FAST_IO_POSSIBLE Ext2IsFastIoPossible(IN PEXT2_FCB Fcb)
struct _EXT2_ALLOC_HEADER EXT2_ALLOC_HEADER
VOID Ext2CleanupAllMcbs(PEXT2_VCB Vcb)
BOOLEAN Ext2LoadInodeXattr(IN PEXT2_VCB Vcb, IN struct inode *Inode, IN PEXT2_INODE InodeXattr)
NTSTATUS Ext2IsVolumeMounted(IN PEXT2_IRP_CONTEXT IrpContext)
BOOLEAN Ext2IsNameValid(PUNICODE_STRING FileName)
NTSTATUS Ex2ProcessUserPerfStat(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_QUERY_PERFSTAT QueryPerf, IN ULONG Length)
PDEVICE_OBJECT CdromdevObject
ERESOURCE PagingIoResource
NTSTATUS Ext2UnlockVcb(IN PEXT2_VCB Vcb, IN PFILE_OBJECT FileObject)
#define InterlockedExchangeAdd
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
NTSTATUS Ext2QueryVolumeInformation(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2Write(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2QueryFileInformation(IN PEXT2_IRP_CONTEXT IrpContext)
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
BOOLEAN Ext2RemoveBlockExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Start, IN ULONG Number)
ULONG Ext2OEMToUnicodeSize(IN PEXT2_VCB Vcb, IN PANSI_STRING Oem)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
NTSTATUS Ext2SetRenameInfo(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_CCB Ccb)
EXT2_IDENTIFIER Identifier
int ext4_group_desc_csum_verify(struct ext3_sb_info *sbi, __u32 block_group, struct ext4_group_desc *gdp)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
struct ext4_group_desc * ext4_get_group_desc(struct super_block *sb, ext4_group_t block_group, struct buffer_head **bh)
ULONG Slot[PS_MAX_TYPE_V2]
NTSTATUS Ext2VerifyVolume(IN PEXT2_IRP_CONTEXT IrpContext)
struct _EXT2_FCB EXT2_FCB
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)
IN PLARGE_INTEGER IN ULONG IN BOOLEAN IN ULONG LockKey
NTSTATUS Ext2ShutDown(IN PEXT2_IRP_CONTEXT IrpContext)
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
NTSTATUS Ext2InitializeZone(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb)
NTSTATUS Ext2DeviceControlNormal(IN PEXT2_IRP_CONTEXT IrpContext)
NPAGED_LOOKASIDE_LIST InodeLookasideList
NTSTATUS Ext2Close(IN PEXT2_IRP_CONTEXT IrpContext)
_Must_inspect_result_ _In_ ULONG Flags
BOOLEAN Ext2LookupMcbExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN LONGLONG Vbn, OUT PLONGLONG Lbn, OUT PLONGLONG Length)
BOOLEAN Ext2AddMcbExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN LONGLONG Vbn, IN LONGLONG Lbn, IN LONGLONG Length)
FILE_INFORMATION_CLASS efc_fi
NTSTATUS Ext2ProcessGlobalProperty(IN PDEVICE_OBJECT DeviceObject, IN PEXT2_VOLUME_PROPERTY3 Property, IN ULONG Length)
CHAR sHidingPrefix[HIDINGPAT_LEN]
volatile char *const const char modify _InterlockedAnd
NTSTATUS Ext2DirectoryControl(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2ExceptionHandler(IN PEXT2_IRP_CONTEXT IrpContext)
struct ext2_icb EXT2_IRP_CONTEXT
NTSTATUS Ext2QueryGlobalParameters(IN PUNICODE_STRING RegistryPath)
NTSTATUS Ext2Read(IN PEXT2_IRP_CONTEXT IrpContext)
void ext3_warning(struct super_block *sb, const char *function, char *fmt,...)
_In_ WDFCOLLECTION _In_ ULONG Index
PETHREAD LazyWriterThread
NTSTATUS Ext2ExceptionFilter(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXCEPTION_POINTERS ExceptionPointer)
BOOLEAN Ext2ZeroData(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER Start, IN PLARGE_INTEGER End)
BOOLEAN Ext2RefreshGroup(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
__le16 ext4_group_desc_csum(struct ext3_sb_info *sbi, __u32 block_group, struct ext4_group_desc *gdp)
WORK_QUEUE_ITEM WorkQueueItem
SECTION_OBJECT_POINTERS SectionObject
struct _EXT2_VCB EXT2_VCB
struct ext3_dir_entry_2 * PEXT2_DIR_ENTRY2
BOOLEAN Ext2AddVcbExtent(IN PEXT2_VCB Vcb, IN LONGLONG Vbn, IN LONGLONG Length)
VOID Ext2UpdateVcbStat(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
PVOID Alloc(IN DWORD dwFlags, IN SIZE_T dwBytes)
ULONG Ext2GetInfoLength(IN FILE_INFORMATION_CLASS FileInformationClass)
BOOLEAN Ext2GetInodeLba(IN PEXT2_VCB Vcb, IN ULONG inode, OUT PLONGLONG offset)
ULONG Ext2UnicodeToOEMSize(IN PEXT2_VCB Vcb, IN PUNICODE_STRING Unicode)
NTSTATUS Ext2ExpandIndirect(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, ULONG Start, ULONG End, PLARGE_INTEGER Size)
struct _EXT2_FCBVCB * PEXT2_FCBVCB
VOID __cdecl Ext2Printf(PCHAR DebugMessage,...)
VOID Ext2LinkHeadMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb)
__u32 ext3_current_time(struct inode *in)
NTSTATUS Ext2PnpCancelRemove(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
PARTITION_INFORMATION PartitionInformation
NTSTATUS Ext2LockVolume(IN PEXT2_IRP_CONTEXT IrpContext)
EXT2_IDENTIFIER Identifier
NTSTATUS Ext2InitializeLabel(IN PEXT2_VCB Vcb, IN PEXT2_SUPER_BLOCK Sb)
VOID Ext2LinkTailMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb)
NTSTATUS Ext2PurgeFile(IN PEXT2_FCB Fcb, IN BOOLEAN FlushBeforePurge)
PMDL Ext2CreateMdl(IN PVOID Buffer, IN ULONG Length, IN LOCK_OPERATION Operation)
struct _EXT2_FILLDIR_CONTEXT EXT2_FILLDIR_CONTEXT
NTSTATUS Ext2UserFsRequest(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2InsertVcb(PEXT2_VCB Vcb)
PEXT2_IRP_CONTEXT efc_irp
struct _EXT2_PERF_STATISTICS_V2::@668 Irps[IRP_MJ_MAXIMUM_FUNCTION+1]
BOOLEAN Ext2IsSpecialSystemFile(IN PUNICODE_STRING FileName, IN BOOLEAN bDirectory)
loff_t ext3_max_bitmap_size(int bits, int has_huge_files)
VOID Ext2FreeExtent(IN PEXT2_EXTENT Extent)
unsigned int ext3_group_t
blkcnt_t ext3_inode_blocks(struct ext3_inode *raw_inode, struct inode *inode)
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)
static ext3_fsblk_t ext3_free_blocks_count(struct ext3_super_block *es)
PDEVICE_OBJECT RealDevice
PEXT2_MCB Ext2FirstUnusedMcb(PEXT2_VCB Vcb, BOOLEAN Wait, ULONG Number)
struct buffer_head * ext3_find_entry(struct ext2_icb *icb, struct dentry *dentry, struct ext3_dir_entry_2 **res_dir)
#define InterlockedDecrement
NTSTATUS Ext2CompleteIrpContext(IN PEXT2_IRP_CONTEXT IrpContext, IN NTSTATUS Status)
void ext3_inc_count(struct inode *inode)
int ext3_add_entry(struct ext2_icb *icb, struct dentry *dentry, struct inode *inode)
void ext2_destroy_linux()
void ext4_inode_table_set(struct super_block *sb, struct ext4_group_desc *bg, ext4_fsblk_t blk)
NTSTATUS NTAPI Ext2ReleaseFileForModWrite(IN PFILE_OBJECT FileObject, IN PERESOURCE ResourceToRelease, IN PDEVICE_OBJECT DeviceObject)
VOID Ext2TearDownStream(IN PEXT2_VCB Vcb)
struct ext4_group_desc * PEXT2_GROUP_DESC
BOOLEAN NTAPI Ext2FastIoUnlockAllByKey(IN PFILE_OBJECT FileObject, IN PEPROCESS Process, IN ULONG Key, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
BOOLEAN NTAPI Ext2FastIoUnlockAll(IN PFILE_OBJECT FileObject, IN PEPROCESS Process, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
PEXT2_MCB Ext2SearchMcb(PEXT2_VCB Vcb, PEXT2_MCB Parent, PUNICODE_STRING FileName)
VOID NTAPI Ext2DeQueueCloseRequest(IN PVOID Context)
BOOLEAN Ext2ListExtents(PLARGE_MCB Extents)
NTSTATUS Ext2PurgeVolume(IN PEXT2_VCB Vcb, IN BOOLEAN FlushBeforePurge)
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
EXT2_IDENTIFIER Identifier
NTSTATUS Ext2GetRetrievalPointerBase(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2AllowExtendedDasdIo(IN PEXT2_IRP_CONTEXT IrpContext)
VOID NTAPI Ext2ReleaseForCreateSection(IN PFILE_OBJECT FileObject)
static void ext3_free_blocks_count_set(struct ext3_super_block *es, ext3_fsblk_t blk)
static void ext3_r_blocks_count_set(struct ext3_super_block *es, ext3_fsblk_t blk)
NTSTATUS Ext2SetDispositionInfo(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_FCB Fcb, PEXT2_CCB Ccb, BOOLEAN bDelete)
NTSTATUS Ext2NewInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG GroupHint, IN ULONG Type, OUT PULONG Inode)
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
__u32 ext4_used_dirs_count(struct super_block *sb, struct ext4_group_desc *bg)
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
BOOLEAN NTAPI Ext2FastIoQueryStandardInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_STANDARD_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
VOID Ext2DestroyInode(IN PEXT2_VCB Vcb, IN PEXT2_INODE inode)
NTSTATUS Ext2OEMToUnicode(IN PEXT2_VCB Vcb, IN OUT PUNICODE_STRING Oem, IN POEM_STRING Unicode)
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)
BOOLEAN Ext2RemoveMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb)
struct _EXT2_VCB::@672 Codepage
NTSTATUS Ext2StartReaper(PEXT2_REAPER, EXT2_REAPER_RELEASE)
BOOLEAN Ext2ZeroBuffer(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN LONGLONG Offset, IN ULONG Size)
__u32 ext4_free_inodes_count(struct super_block *sb, struct ext4_group_desc *bg)
LARGE_INTEGER LastAccessTime
BOOLEAN NTAPI Ext2NoOpAcquire(IN PVOID Fcb, IN BOOLEAN Wait)
VOID Ext2RemoveVcb(PEXT2_VCB Vcb)
BOOLEAN NTAPI Ext2FastIoQueryBasicInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_BASIC_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
BOOLEAN Ext2CheckBitmapConsistency(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
_In_ ULONG _In_ ULONG Offset
int ext3_delete_entry(struct ext2_icb *icb, struct inode *dir, struct ext3_dir_entry_2 *de_del, struct buffer_head *bh)
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)
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
FSRTL_ADVANCED_FCB_HEADER Header
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)
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
BOOLEAN Ext2SaveBuffer(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN LONGLONG Offset, IN ULONG Size, IN PVOID Buf)
NTSTATUS Ext2SetParentEntry(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Dcb, IN ULONG OldParent, IN ULONG NewParent)
ULONG Ext2GetProcessNameOffset(VOID)
BOOLEAN NTAPI Ext2AcquireForReadAhead(IN PVOID Context, IN BOOLEAN Wait)
PEXT2_EXTENT Ext2AllocateExtent()
NTSTATUS NTAPI Ext2AcquireFileForCcFlush(IN PFILE_OBJECT FileObject, IN PDEVICE_OBJECT DeviceObject)
PDEVICE_OBJECT TargetDeviceObject
struct _EXT2_ALLOC_HEADER * PEXT2_ALLOC_HEADER
unsigned int ext4_group_t
NTSTATUS Ext2ProcessUserProperty(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VOLUME_PROPERTY3 Property, IN ULONG Length)
ext4_fsblk_t ext4_block_bitmap(struct super_block *sb, struct ext4_group_desc *bg)
struct ext3_dir_entry_2 * ext3_next_entry(struct ext3_dir_entry_2 *p)
struct ext3_super_block * PEXT2_SUPER_BLOCK
BOOLEAN Ext2ClearInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG inode)
#define InterlockedIncrement
NTSTATUS Ext2FlushFiles(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bShutDown)
ULONG max_blocks_per_layer[EXT2_BLOCK_TYPES]
enum _LOCK_OPERATION LOCK_OPERATION
NTSTATUS NTAPI Ext2PreAcquireForCreateSection(IN PFS_FILTER_CALLBACK_DATA cd, OUT PVOID *cc)
PEXT2_MCB Ext2SearchMcbWithoutLock(PEXT2_MCB Parent, PUNICODE_STRING FileName)
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
NTSTATUS Ext2MountVolume(IN PEXT2_IRP_CONTEXT IrpContext)
NTSTATUS Ext2Create(IN PEXT2_IRP_CONTEXT IrpContext)
struct nls_table * PageTable
BOOLEAN NTAPI 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)
ULONG Ext2Log2(ULONG Value)
NTSTATUS Ext2ExpandFile(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER Size)
VOID NTAPI Ext2AcquireForCreateSection(IN PFILE_OBJECT FileObject)
_In_ PFCB _In_ LONGLONG FileOffset
LARGE_INTEGER LastWriteTime
IN PVCB IN ULONG IN OUT PULONG IN BOOLEAN OUT PLARGE_MCB Mcb
VOID Ext2MediaEjectControl(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN BOOLEAN bPrevent)
NTSTATUS Ext2UpdateGroupDirStat(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG Group)
int ext3_is_dir_empty(struct ext2_icb *icb, struct inode *inode)
struct ext2_icb * PEXT2_IRP_CONTEXT
NTSTATUS Ext2QueryDirectory(IN PEXT2_IRP_CONTEXT IrpContext)
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
PUCHAR Ext2NtStatusToString(IN NTSTATUS Status)
int Ext2LinuxError(NTSTATUS Status)
BOOLEAN Ext2LoadBlock(IN PEXT2_VCB Vcb, IN ULONG dwBlk, IN PVOID Buffer)
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)
struct buffer_head * ext3_append(struct ext2_icb *icb, struct inode *inode, ext3_lblk_t *block, int *err)
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)
unsigned ext4_init_inode_bitmap(struct super_block *sb, struct buffer_head *bh, ext4_group_t block_group, struct ext4_group_desc *gdp)
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN BOOLEAN ExclusiveLock
VOID NTAPI Ext2McbReaperThread(PVOID Context)
UNICODE_STRING DirectorySearchPattern
VOID NTAPI Ext2LockIrp(IN PVOID Context, IN PIRP Irp)
NTSTATUS Ext2ReadWriteBlocks(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_EXTENT Extent, IN ULONG Length)
VOID NTAPI Ext2ReleaseFromLazyWrite(IN PVOID Context)
__inline VOID Ext2TraceMemory(BOOLEAN _n, int _i, PVOID _p, LONG _s)
NTSTATUS Ext2SetVolumeInformation(IN PEXT2_IRP_CONTEXT IrpContext)
struct _EXT2_REAPER EXT2_REAPER
NTSTATUS Ext2PrepareToUnload(IN PEXT2_IRP_CONTEXT IrpContext)
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
__u32 ext4_free_blks_count(struct super_block *sb, struct ext4_group_desc *bg)
VOID Ext2ReleaseFcb(IN PEXT2_FCB Fcb)
NTSTATUS Ext2SetFileInformation(IN PEXT2_IRP_CONTEXT IrpContext)
int Ext2CheckInodeAccess(PEXT2_VCB Vcb, struct inode *in, int attempt)
NTSTATUS Ext2WriteSymlink(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN PVOID Buffer, IN ULONG Size, OUT PULONG BytesWritten)
__u32 ext4_itable_unused_count(struct super_block *sb, struct ext4_group_desc *bg)
VOID Ext2PutGroup(IN PEXT2_VCB Vcb)
BOOLEAN Ext2SaveGroup(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN ULONG Group)
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
struct _EXT2_IDENTIFIER * PEXT2_IDENTIFIER
PDRIVER_OBJECT DriverObject
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
NTSTATUS Ext2InitializeVcb(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_SUPER_BLOCK Ext2Sb, PDEVICE_OBJECT TargetDevice, PDEVICE_OBJECT VolumeDevice, PVPB Vpb)
UNICODE_STRING RegistryPath
INT Ext2RecoverJournal(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
NTSTATUS Ext2Flush(IN PEXT2_IRP_CONTEXT IrpContext)
_In_ FLT_SET_CONTEXT_OPERATION Operation
WCHAR PageName[CODEPAGE_MAXLEN]
BOOLEAN Ext2LookupVcbExtent(IN PEXT2_VCB Vcb, IN LONGLONG Vbn, OUT PLONGLONG Lbn, OUT PLONGLONG Length)
NTSTATUS Ext2RemoveEntry(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Dcb, IN PEXT2_MCB Mcb)
NTSTATUS Ext2UnlockVolume(IN PEXT2_IRP_CONTEXT IrpContext)
VOID Ext2FreePool(IN PVOID P, IN ULONG Tag)
UCHAR AnsiName[CODEPAGE_MAXLEN]
PEXT2_IRP_CONTEXT Ext2AllocateIrpContext(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS Ext2PnpQueryRemove(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)
struct _EXT2_VCB * PEXT2_VCB
NTSTATUS Ext2SetFileType(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Dcb, IN PEXT2_MCB Mcb, IN umode_t mode)
BOOLEAN Ext2AddMcbMetaExts(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Block, IN ULONG Length)
unsigned long long ext3_fsblk_t
VOID Ext2DestroyExtentChain(IN PEXT2_EXTENT Chain)
CACHE_MANAGER_CALLBACKS CacheManagerNoOpCallbacks
BOOLEAN NTAPI 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)
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)
WCHAR wHidingSuffix[HIDINGPAT_LEN]
IO_STACK_LOCATION * PEXTENDED_IO_STACK_LOCATION
VOID Ext2FreeCcb(IN PEXT2_VCB Vcb, IN PEXT2_CCB Ccb)
BOOLEAN Ext2IsDotDot(PUNICODE_STRING name)
void ext4_inode_bitmap_set(struct super_block *sb, struct ext4_group_desc *bg, ext4_fsblk_t blk)
NTSTATUS Ext2Pnp(IN PEXT2_IRP_CONTEXT IrpContext)
struct _EXT2_MCB * PEXT2_MCB
struct _EXT2_EXTENT EXT2_EXTENT
INT Ext2CheckJournal(PEXT2_VCB Vcb, PULONG jNo)
NTSTATUS Ext2TruncateExtent(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER Size)
struct _EXT2_RW_CONTEXT * PEXT2_RW_CONTEXT
static ext3_fsblk_t ext3_blocks_count(struct ext3_super_block *es)
__inline VOID Ext2TraceIrpContext(BOOLEAN _n, PEXT2_IRP_CONTEXT IrpContext)
CHAR sHidingSuffix[HIDINGPAT_LEN]
struct _EXT2_CCB * PEXT2_CCB
PVOID Ext2AllocatePool(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag)
NTSTATUS Ext2TruncateSymlink(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, ULONG Size)
CACHE_MANAGER_CALLBACKS CacheManagerCallbacks
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 Ext2QueryExtentMappings(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN PEXT2_FCB Fcb, IN PLARGE_INTEGER RequestVbn, OUT PLARGE_INTEGER *pMappedRuns)
VOID Ext2DestroyMdl(IN PMDL Mdl)
BOOLEAN NTAPI Ext2FastIoQueryNetworkOpenInfo(IN PFILE_OBJECT FileObject, IN BOOLEAN Wait, OUT PFILE_NETWORK_OPEN_INFORMATION Buffer, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
NTSTATUS Ext2TruncateIndirect(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, PLARGE_INTEGER Size)
VOID Ext2DbgPrintCall(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB * Dcb
struct _EXT2_EXTENT * PEXT2_EXTENT
VOID NTAPI Ext2OplockComplete(IN PVOID Context, IN PIRP Irp)
struct _EXT2_REAPER * PEXT2_REAPER
BOOLEAN Ext2SaveInode(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN struct inode *Inode)
BOOLEAN Ext2AddBlockExtent(IN PEXT2_VCB Vcb, IN PEXT2_MCB Mcb, IN ULONG Start, IN ULONG Block, IN ULONG Number)
BOOLEAN Ext2LoadBuffer(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb, IN LONGLONG Offset, IN ULONG Size, IN PVOID Buf)
VOID Ext2VerifyVcb(IN PEXT2_IRP_CONTEXT IrpContext, IN PEXT2_VCB Vcb)
VOID Ext2ClearVpbFlag(IN PVPB Vpb, IN USHORT Flag)
struct _EXT2_GLOBAL EXT2_GLOBAL
ULONG Ext2LinuxTime(IN LARGE_INTEGER SysTime)
PVOID Ext2GetUserBuffer(IN PIRP Irp)
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
enum _EXT2_IDENTIFIER_TYPE EXT2_IDENTIFIER_TYPE
struct _EXT2_FILLDIR_CONTEXT * PEXT2_FILLDIR_CONTEXT
VOID Ext2InsertFcb(PEXT2_VCB Vcb, PEXT2_FCB Fcb)
void ext3_set_de_type(struct super_block *sb, struct ext3_dir_entry_2 *de, umode_t mode)
BOOLEAN Ext2IsMediaWriteProtected(IN PEXT2_IRP_CONTEXT IrpContext, IN PDEVICE_OBJECT TargetDevice)
static unsigned(__cdecl *hash_bstr)(bstr_t s)
struct dentry * Ext2AllocateEntry()
VOID NTAPI Ext2FcbReaperThread(PVOID Context)
VOID NTAPI Ext2ReleaseFromReadAhead(IN PVOID Context)
FS_FILTER_CALLBACKS FilterCallbacks
NTSTATUS Ext2ExpandExtent(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb, PEXT2_MCB Mcb, ULONG Start, ULONG End, PLARGE_INTEGER Size)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
struct dentry * Ext2BuildEntry(PEXT2_VCB Vcb, PEXT2_MCB Dcb, PUNICODE_STRING FileName)
BOOLEAN ExceptionInProgress
VOID NTAPI Ext2NoOpRelease(IN PVOID Fcb)
BOOLEAN Ext2IsWearingCloak(IN PEXT2_VCB Vcb, IN POEM_STRING OeName)
NTSTATUS Ext2PnpSurpriseRemove(PEXT2_IRP_CONTEXT IrpContext, PEXT2_VCB Vcb)