ReactOS 0.4.16-dev-297-gc569aee
|
Go to the source code of this file.
Classes | |
struct | _W_CACHE_ASYNC |
Macros | |
#define | ASYNC_STATE_NONE 0 |
#define | ASYNC_STATE_READ_PRE 1 |
#define | ASYNC_STATE_READ 2 |
#define | ASYNC_STATE_WRITE_PRE 3 |
#define | ASYNC_STATE_WRITE 4 |
#define | ASYNC_STATE_DONE 5 |
#define | ASYNC_CMD_NONE 0 |
#define | ASYNC_CMD_READ 1 |
#define | ASYNC_CMD_UPDATE 2 |
#define | WCACHE_MAX_CHAIN (0x10) |
#define | MEM_WCCTX_TAG 'xtCW' |
#define | MEM_WCFRM_TAG 'rfCW' |
#define | MEM_WCBUF_TAG 'fbCW' |
#define | USE_WC_PRINT |
#define | WcPrint UDFPrint |
#define | WCLOCK_RES 1 |
#define | WCacheSetModFlag(block_array, i) *((PULONG)&(block_array[i].Sector)) |= WCACHE_FLAG_MODIFIED |
#define | WCacheClrModFlag(block_array, i) *((PULONG)&(block_array[i].Sector)) &= ~WCACHE_FLAG_MODIFIED |
#define | WCacheGetModFlag(block_array, i) (*((PULONG)&(block_array[i].Sector)) & WCACHE_FLAG_MODIFIED) |
#define | WCacheSectorAddr(block_array, i) ((ULONG_PTR)(block_array[i].Sector) & WCACHE_ADDR_MASK) |
#define | WCacheFreeSector(frame, offs) |
Typedefs | |
typedef struct _W_CACHE_ASYNC | W_CACHE_ASYNC |
typedef struct _W_CACHE_ASYNC * | PW_CACHE_ASYNC |
Variables | |
ULONG | WCache_random |
#define ASYNC_CMD_NONE 0 |
Definition at line 48 of file wcache_lib.cpp.
#define ASYNC_CMD_READ 1 |
Definition at line 49 of file wcache_lib.cpp.
#define ASYNC_CMD_UPDATE 2 |
Definition at line 50 of file wcache_lib.cpp.
#define ASYNC_STATE_DONE 5 |
Definition at line 46 of file wcache_lib.cpp.
#define ASYNC_STATE_NONE 0 |
Definition at line 41 of file wcache_lib.cpp.
#define ASYNC_STATE_READ 2 |
Definition at line 43 of file wcache_lib.cpp.
#define ASYNC_STATE_READ_PRE 1 |
Definition at line 42 of file wcache_lib.cpp.
#define ASYNC_STATE_WRITE 4 |
Definition at line 45 of file wcache_lib.cpp.
#define ASYNC_STATE_WRITE_PRE 3 |
Definition at line 44 of file wcache_lib.cpp.
#define MEM_WCBUF_TAG 'fbCW' |
Definition at line 56 of file wcache_lib.cpp.
#define MEM_WCCTX_TAG 'xtCW' |
Definition at line 54 of file wcache_lib.cpp.
#define MEM_WCFRM_TAG 'rfCW' |
Definition at line 55 of file wcache_lib.cpp.
#define USE_WC_PRINT |
Definition at line 58 of file wcache_lib.cpp.
#define WCACHE_MAX_CHAIN (0x10) |
Definition at line 52 of file wcache_lib.cpp.
#define WCacheClrModFlag | ( | block_array, | |
i | |||
) | *((PULONG)&(block_array[i].Sector)) &= ~WCACHE_FLAG_MODIFIED |
Definition at line 819 of file wcache_lib.cpp.
#define WCacheFreeSector | ( | frame, | |
offs | |||
) |
Definition at line 873 of file wcache_lib.cpp.
#define WCacheGetModFlag | ( | block_array, | |
i | |||
) | (*((PULONG)&(block_array[i].Sector)) & WCACHE_FLAG_MODIFIED) |
Definition at line 828 of file wcache_lib.cpp.
#define WCacheSectorAddr | ( | block_array, | |
i | |||
) | ((ULONG_PTR)(block_array[i].Sector) & WCACHE_ADDR_MASK) |
Definition at line 864 of file wcache_lib.cpp.
#define WCacheSetModFlag | ( | block_array, | |
i | |||
) | *((PULONG)&(block_array[i].Sector)) |= WCACHE_FLAG_MODIFIED |
Definition at line 811 of file wcache_lib.cpp.
#define WCLOCK_RES 1 |
Definition at line 61 of file wcache_lib.cpp.
typedef struct _W_CACHE_ASYNC * PW_CACHE_ASYNC |
typedef struct _W_CACHE_ASYNC W_CACHE_ASYNC |
PW_CACHE_ASYNC WCacheAllocAsyncEntry | ( | IN PW_CACHE | Cache, |
IN OUT PW_CACHE_ASYNC * | FirstWContext, | ||
IN OUT PW_CACHE_ASYNC * | PrevWContext, | ||
IN ULONG | BufferSize | ||
) |
Definition at line 890 of file wcache_lib.cpp.
Referenced by WCacheUpdatePacket().
OSSTATUS __fastcall WCacheCheckLimits | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN lba_t | ReqLba, | ||
IN ULONG | BCount | ||
) |
Definition at line 1300 of file wcache_lib.cpp.
Referenced by WCacheDirect__(), WCacheInitFrame(), WCacheReadBlocks__(), and WCacheWriteBlocks__().
OSSTATUS __fastcall WCacheCheckLimitsR | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN lba_t | ReqLba, | ||
IN ULONG | BCount | ||
) |
Definition at line 3189 of file wcache_lib.cpp.
Referenced by WCacheCheckLimits().
OSSTATUS __fastcall WCacheCheckLimitsRAM | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN lba_t | ReqLba, | ||
IN ULONG | BCount | ||
) |
Definition at line 1631 of file wcache_lib.cpp.
Referenced by WCacheCheckLimits().
OSSTATUS __fastcall WCacheCheckLimitsRW | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN lba_t | ReqLba, | ||
IN ULONG | BCount | ||
) |
Definition at line 1361 of file wcache_lib.cpp.
Referenced by WCacheCheckLimits().
Definition at line 3635 of file wcache_lib.cpp.
Referenced by UDFMountVolume(), and UDFVerifyVolume().
Definition at line 3586 of file wcache_lib.cpp.
Referenced by WCacheUpdatePacket().
Definition at line 3606 of file wcache_lib.cpp.
Referenced by WCacheChFlags__(), and WCacheInit__().
OSSTATUS WCacheDirect__ | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN lba_t | Lba, | ||
IN BOOLEAN | Modified, | ||
OUT PCHAR * | CachedBlock, | ||
IN BOOLEAN | CachedOnly | ||
) |
Definition at line 2949 of file wcache_lib.cpp.
Referenced by UDFWriteInSector().
VOID WCacheDiscardBlocks__ | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN lba_t | ReqLba, | ||
IN ULONG | BCount | ||
) |
Definition at line 3520 of file wcache_lib.cpp.
Referenced by UDFMarkSpaceAsXXXNoProtect_().
Definition at line 3083 of file wcache_lib.cpp.
Referenced by UDFCommonRead(), UDFCommonWrite(), UDFIsExtentCached(), UDFVWorkItem(), and UDFWriteInSector().
lba_t __fastcall WCacheFindFrameToRelease | ( | IN PW_CACHE | Cache | ) |
Definition at line 386 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsRAM(), and WCacheCheckLimitsRW().
lba_t __fastcall WCacheFindLbaToRelease | ( | IN PW_CACHE | Cache | ) |
Definition at line 352 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsR(), WCacheCheckLimitsRAM(), and WCacheCheckLimitsRW().
lba_t __fastcall WCacheFindModifiedLbaToRelease | ( | IN PW_CACHE | Cache | ) |
Definition at line 369 of file wcache_lib.cpp.
Definition at line 2560 of file wcache_lib.cpp.
Referenced by UDFEjectReqWaiter(), UDFFlushLogicalVolume(), UDFLoadPartDesc(), UDFRecordVAT(), UDFReleaseVCB(), UDFUmount__(), and UDFVerifyVolume().
Definition at line 1810 of file wcache_lib.cpp.
Referenced by WCacheFlushAll__().
Definition at line 2689 of file wcache_lib.cpp.
Referenced by WCacheFlushAll__().
Definition at line 2899 of file wcache_lib.cpp.
Referenced by UDFCommonDeviceControl(), UDFEjectReqWaiter(), UDFFlushLogicalVolume(), UDFUmount__(), and UDFUpdateLogicalVolInt().
OSSTATUS __fastcall WCacheFlushBlocksRAM | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
PW_CACHE_ENTRY | block_array, | ||
lba_t * | List, | ||
ULONG | firstPos, | ||
ULONG | lastPos, | ||
BOOLEAN | Purge | ||
) |
Definition at line 1537 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsRAM(), WCacheFlushAllRAM(), WCachePurgeAllRAM(), and WCacheWriteBlocks__().
OSSTATUS WCacheFlushBlocksRW | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN lba_t | _Lba, | ||
IN ULONG | BCount | ||
) |
Definition at line 2825 of file wcache_lib.cpp.
Referenced by WCacheFlushBlocks__().
VOID WCacheFreeAsyncEntry | ( | IN PW_CACHE | Cache, |
PW_CACHE_ASYNC | WContext | ||
) |
Definition at line 934 of file wcache_lib.cpp.
Referenced by WCacheUpdatePacketComplete().
VOID WCacheFreePacket | ( | IN PW_CACHE | Cache, |
IN ULONG | frame, | ||
IN PW_CACHE_ENTRY | block_array, | ||
IN ULONG | offs, | ||
IN ULONG | PSs | ||
) |
Definition at line 1186 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsRW(), WCacheFlushBlocksRAM(), WCachePurgeAllRW(), and WCacheUpdatePacketComplete().
Definition at line 3441 of file wcache_lib.cpp.
Definition at line 449 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsR(), WCacheCheckLimitsRAM(), WCacheCheckLimitsRW(), WCacheDiscardBlocks__(), WCacheFlushAllRAM(), WCacheInsertItemToList(), WCacheInsertRangeToList(), WCachePurgeAllRAM(), WCacheRemoveItemFromList(), WCacheRemoveRangeFromList(), and WCacheWriteBlocks__().
Definition at line 3455 of file wcache_lib.cpp.
Referenced by UDFRecordVAT(), and UDFUmount__().
OSSTATUS WCacheInit__ | ( | IN PW_CACHE | Cache, |
IN ULONG | MaxFrames, | ||
IN ULONG | MaxBlocks, | ||
IN SIZE_T | MaxBytesToRead, | ||
IN ULONG | PacketSizeSh, | ||
IN ULONG | BlockSizeSh, | ||
IN ULONG | BlocksPerFrameSh, | ||
IN lba_t | FirstLba, | ||
IN lba_t | LastLba, | ||
IN ULONG | Mode, | ||
IN ULONG | Flags, | ||
IN ULONG | FramesToKeepFree, | ||
IN PWRITE_BLOCK | WriteProc, | ||
IN PREAD_BLOCK | ReadProc, | ||
IN PWRITE_BLOCK_ASYNC | WriteProcAsync, | ||
IN PREAD_BLOCK_ASYNC | ReadProcAsync, | ||
IN PCHECK_BLOCK | CheckUsedProc, | ||
IN PUPDATE_RELOC | UpdateRelocProc, | ||
IN PWC_ERROR_HANDLER | ErrorHandlerProc | ||
) |
Definition at line 116 of file wcache_lib.cpp.
Referenced by UDFMountVolume(), and UDFVerifyVolume().
PW_CACHE_ENTRY __fastcall WCacheInitFrame | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN ULONG | frame | ||
) |
Definition at line 731 of file wcache_lib.cpp.
Referenced by WCacheDirect__(), WCachePreReadPacket__(), WCacheReadBlocks__(), and WCacheWriteBlocks__().
Definition at line 637 of file wcache_lib.cpp.
Referenced by WCacheDirect__(), and WCacheInitFrame().
VOID __fastcall WCacheInsertRangeToList | ( | IN lba_t * | List, |
IN PULONG | BlockCount, | ||
IN lba_t | Lba, | ||
IN ULONG | BCount | ||
) |
Definition at line 588 of file wcache_lib.cpp.
Referenced by WCachePreReadPacket__(), WCacheReadBlocks__(), and WCacheWriteBlocks__().
WCacheGetBadFlag(block_array, i)
(Cache->CheckUsedProc(Context, Lba) & WCACHE_BLOCK_BAD)
Definition at line 3127 of file wcache_lib.cpp.
Definition at line 2817 of file wcache_lib.cpp.
Referenced by UDFVerifyVolume(), and UDFWriteInSector().
Definition at line 1856 of file wcache_lib.cpp.
Referenced by WCacheReadBlocks__().
Definition at line 2590 of file wcache_lib.cpp.
Referenced by UDFFindAnchor().
Definition at line 3312 of file wcache_lib.cpp.
Referenced by WCacheFlushAll__(), and WCachePurgeAll__().
Definition at line 1762 of file wcache_lib.cpp.
Referenced by WCachePurgeAll__().
Definition at line 2622 of file wcache_lib.cpp.
Referenced by WCachePurgeAll__().
OSSTATUS WCacheRaiseIoError | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN OSSTATUS | Status, | ||
IN ULONG | Lba, | ||
IN ULONG | BCount, | ||
IN PVOID | Buffer, | ||
IN BOOLEAN | ReadOp, | ||
IN PBOOLEAN | Retry | ||
) |
Definition at line 946 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsR(), WCacheFlushBlocksRAM(), WCachePreReadPacket__(), WCachePurgeAllR(), WCacheReadBlocks__(), WCacheUpdatePacket(), and WCacheWriteBlocks__().
Definition at line 339 of file wcache_lib.cpp.
Referenced by WCacheFindFrameToRelease(), WCacheFindLbaToRelease(), and WCacheFindModifiedLbaToRelease().
OSSTATUS WCacheReadBlocks__ | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN PCHAR | Buffer, | ||
IN lba_t | Lba, | ||
IN ULONG | BCount, | ||
OUT PSIZE_T | ReadBytes, | ||
IN BOOLEAN | CachedOnly | ||
) |
Definition at line 2012 of file wcache_lib.cpp.
Referenced by WCacheReadBlocks__().
Definition at line 2768 of file wcache_lib.cpp.
Referenced by UDFDoDismountSequence(), UDFReleaseVCB(), and UDFVerifyVolume().
Definition at line 780 of file wcache_lib.cpp.
Referenced by WCacheCheckLimits(), WCacheCheckLimitsR(), WCacheCheckLimitsRAM(), WCacheCheckLimitsRW(), WCacheDiscardBlocks__(), WCachePurgeAllR(), WCachePurgeAllRAM(), and WCachePurgeAllRW().
Definition at line 704 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsR(), WCacheDiscardBlocks__(), WCachePurgeAllR(), and WCacheRemoveFrame().
VOID __fastcall WCacheRemoveRangeFromList | ( | IN lba_t * | List, |
IN PULONG | BlockCount, | ||
IN lba_t | Lba, | ||
IN ULONG | BCount | ||
) |
Definition at line 675 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsRAM(), WCacheCheckLimitsRW(), WCacheFlushAllRAM(), WCacheFlushAllRW(), WCacheFlushBlocksRW(), WCachePurgeAllRAM(), WCachePurgeAllRW(), and WCacheWriteBlocks__().
Definition at line 3426 of file wcache_lib.cpp.
Referenced by UDFLoadPartDesc(), UDFMountVolume(), and UDFVerifyVolume().
Definition at line 3101 of file wcache_lib.cpp.
Referenced by UDFIsExtentCached(), and UDFVWorkItem().
Definition at line 3470 of file wcache_lib.cpp.
Referenced by UDFRecordVAT().
OSSTATUS WCacheUpdatePacket | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN OUT PW_CACHE_ASYNC * | FirstWContext, | ||
IN OUT PW_CACHE_ASYNC * | PrevWContext, | ||
IN PW_CACHE_ENTRY | block_array, | ||
IN lba_t | firstLba, | ||
IN lba_t | Lba, | ||
IN ULONG | BSh, | ||
IN ULONG | BS, | ||
IN ULONG | PS, | ||
IN ULONG | PSs, | ||
IN PSIZE_T | ReadBytes, | ||
IN BOOLEAN | PrefereWrite, | ||
IN ULONG | State | ||
) |
Definition at line 986 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsRW(), WCacheFlushAllRW(), WCacheFlushBlocksRW(), WCachePurgeAllRW(), and WCacheUpdatePacketComplete().
VOID WCacheUpdatePacketComplete | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN OUT PW_CACHE_ASYNC * | FirstWContext, | ||
IN OUT PW_CACHE_ASYNC * | PrevWContext, | ||
IN BOOLEAN | FreePacket = TRUE |
||
) |
Definition at line 1213 of file wcache_lib.cpp.
Referenced by WCacheCheckLimitsRW(), WCacheFlushAllRW(), WCacheFlushBlocksRW(), and WCachePurgeAllRW().
OSSTATUS WCacheWriteBlocks__ | ( | IN PW_CACHE | Cache, |
IN PVOID | Context, | ||
IN PCHAR | Buffer, | ||
IN lba_t | Lba, | ||
IN ULONG | BCount, | ||
OUT PSIZE_T | WrittenBytes, | ||
IN BOOLEAN | CachedOnly | ||
) |
Definition at line 2281 of file wcache_lib.cpp.
Referenced by UDFWriteSectors(), and WCacheWriteBlocks__().
ULONG WCache_random |
Definition at line 90 of file wcache_lib.cpp.
Referenced by WCacheInit__(), and WCacheRandom().