williamr@2: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // f32\inc\f32dbg.h williamr@2: // williamr@2: // williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: @file williamr@2: @internalTechnology williamr@2: @released williamr@2: */ williamr@2: #if !defined(__F32DBG_H__) williamr@2: #define __F32DBG_H__ williamr@2: #include williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: williamr@2: A bit value indicating that tracing is to be active in williamr@2: file system code, when set through a call to RFs::SetDebugRegister() williamr@2: in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KFSYS 0x0001 williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: williamr@2: A bit value indicating that tracing is to be active in williamr@2: file server code, when set through a call to RFs::SetDebugRegister() williamr@2: in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KFSERV 0x0002 williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: williamr@2: A bit value indicating that tracing is to be active in williamr@2: the loader code, when set through a call to RFs::SetDebugRegister() williamr@2: in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KFLDR 0x0004 williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: williamr@2: A bit value indicating that the number of (simulated) allocation williamr@2: failures to complete a given function is to be printed, when set williamr@2: through a call to RFs::SetDebugRegister() in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KALLOC 0x0008 williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: williamr@2: A bit value indicating that tracing is to be active in williamr@2: LFFS code, when set through a call to RFs::SetDebugRegister() williamr@2: in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KLFFS 0x0010 williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: williamr@2: A bit value indicating that tracing is to be active in williamr@2: ISO9660 code, when set through a call to RFs::SetDebugRegister() williamr@2: in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KISO9660 0x0020 williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: williamr@2: A bit value indicating that tracing is to be active in williamr@2: NTFS code, when set through a call to RFs::SetDebugRegister() williamr@2: in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KNTFS 0x0040 williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: williamr@2: A bit value indicating that tracing is to be active in williamr@2: ROFS code, when set through a call to the function RFs::SetDebugRegister() williamr@2: in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KROFS 0x0080 williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedPartner williamr@2: @released williamr@2: williamr@2: A bit value indicating that tracing is to be active in williamr@2: concurrent file system code, when set through a call to the function RFs::SetDebugRegister() williamr@2: in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KTHRD 0x0100 williamr@2: williamr@2: /** williamr@2: @internalTechnology williamr@2: */ williamr@2: #define KCACHE 0x0200 williamr@2: williamr@2: williamr@2: /** williamr@2: @internalTechnology williamr@2: @prtototype williamr@2: williamr@2: A bit value indicating that tracing is to be active in williamr@2: COMPFS code, when set through a call to the function RFs::SetDebugRegister() williamr@2: in _DEBUG or _DEBUG_RELEASE mode. williamr@2: */ williamr@2: #define KCOMPFS 0x0400 williamr@2: williamr@2: williamr@2: williamr@2: // #define _DEBUG_RELEASE williamr@2: williamr@2: const TInt KAllocFailureOn=0; williamr@2: const TInt KAllocFailureOff=-1; williamr@2: williamr@2: williamr@2: #if defined(_DEBUG) || defined(_DEBUG_RELEASE) williamr@2: const TInt KControlIoCancelNCNotifier=KMaxTInt-1; williamr@2: const TInt KControlIoNCDebugNotifierOn=KMaxTInt-2; williamr@2: const TInt KControlIoNCDebugNotifierOff=KMaxTInt-3; williamr@2: const TInt KControlIoGetCorruptLogRecord=KMaxTInt-4; williamr@2: const TInt KControlIoGetNumberOfCorruptLogRecords=KMaxTInt-5; williamr@2: const TInt KControlIoGetCorruptListFile=KMaxTInt-6; williamr@2: const TInt KControlIoCorruptLogRecordReset=KMaxTInt-7; williamr@2: const TInt KControlIoCacheCount=KMaxTInt-8; williamr@2: const TInt KControlIoGetLocalDriveNumber=KMaxTInt-9; williamr@2: const TInt KControlIoCancelDeferredDismount=KMaxTInt-10; williamr@2: const TInt KControlIoFileCacheFlagsWrite=KMaxTInt-11; williamr@2: const TInt KControlIoFileCacheStats=KMaxTInt-12; williamr@2: const TInt KControlIoFlushClosedFiles=KMaxTInt-13; williamr@2: const TInt KControlIoSimulateLockFailureMode=KMaxTInt-14; williamr@2: const TInt KControlIoFileCacheDump=KMaxTInt-15; williamr@2: const TInt KControlIoAllocateMaxSegments=KMaxTInt-16; williamr@2: williamr@2: const TInt KControlIoDisableFatUtilityFunctions=KMaxTInt-17; williamr@2: const TInt KControlIoEnableFatUtilityFunctions=KMaxTInt-18; williamr@2: const TInt KControlIoFileCacheConfig=KMaxTInt-19; williamr@2: const TInt KControlIoSimulateFileCacheWriteFailure=KMaxTInt-20; williamr@2: williamr@2: const TInt KNCDebugNotifierValue=-500000; // between 0 and 1 second williamr@2: williamr@2: GLREF_D TInt DebugNCNotifier; williamr@2: williamr@2: class TIOCacheValues williamr@2: { williamr@2: public: williamr@2: TInt iFreeCount; // number of requests on free queue williamr@2: TInt iCloseCount; // number of requests on close queue williamr@2: TInt iAllocated; // number of dynamically allocated requests williamr@2: TInt iTotalCount; // number of permanently & dynamically allocated requests williamr@2: }; williamr@2: williamr@2: class TFileCacheStats williamr@2: { williamr@2: public: williamr@2: TInt iFreeCount; williamr@2: TInt iUsedCount; williamr@2: TInt iLockedSegmentCount; williamr@2: TInt iAllocatedSegmentCount; williamr@2: TInt iFileCount; williamr@2: TInt iFilesOnClosedQueue; williamr@2: TInt iHoleCount; williamr@2: williamr@2: TInt iUncachedPacketsRead; williamr@2: TInt iUncachedBytesRead; williamr@2: williamr@2: TInt iUncachedPacketsWritten; williamr@2: TInt iUncachedBytesWritten; williamr@2: williamr@2: TInt iCommitFailureCount; williamr@2: TInt iLockFailureCount; williamr@2: }; williamr@2: williamr@2: class TFileCacheConfig williamr@2: { williamr@2: public: williamr@2: TInt iDrive; williamr@2: TInt iFlags; williamr@2: TBool iFileCacheReadAsync; williamr@2: TInt32 iFairSchedulingLen; // in bytes williamr@2: TInt32 iCacheSize; // in bytes williamr@2: TInt32 iMaxReadAheadLen; // in bytes williamr@2: TInt32 iClosedFileKeepAliveTime; // in microseconds williamr@2: TInt32 iDirtyDataFlushTime; // in microseconds williamr@2: }; williamr@2: williamr@2: struct TFsDebugCorruptLogRecord williamr@2: { williamr@2: TFileName iProcessName; williamr@2: TFileName iFileName; williamr@2: TInt iError; williamr@2: }; williamr@2: williamr@2: typedef TPckgBuf TFsDebugCorruptLogRecordBuf; williamr@2: williamr@2: extern TBool EnableFatUtilityFunctions; williamr@2: williamr@2: #endif williamr@2: williamr@2: enum TLoaderDebugFunction williamr@2: { williamr@2: ELoaderDebug_SetHeapFail, williamr@2: ELoaderDebug_SetRFsFail williamr@2: }; williamr@2: williamr@2: williamr@2: enum TFsDebugFunction williamr@2: { williamr@2: EFsSetAllocFailure, williamr@2: EFsSetErrorCondition, williamr@2: EFsSetDebugRegister, williamr@2: EFsDebugNotify williamr@2: }; williamr@2: williamr@2: #endif