|
ReactOS 0.4.16-dev-1946-g52006dd
|

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().