1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/f32dbg.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,250 @@
1.4 +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// 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
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +// f32\inc\f32dbg.h
1.18 +//
1.19 +//
1.20 +
1.21 +
1.22 +
1.23 +/**
1.24 + @file
1.25 + @internalTechnology
1.26 + @released
1.27 +*/
1.28 +#if !defined(__F32DBG_H__)
1.29 +#define __F32DBG_H__
1.30 +#include <e32std.h>
1.31 +
1.32 +
1.33 +/**
1.34 +@publishedPartner
1.35 +@released
1.36 +
1.37 +A bit value indicating that tracing is to be active in
1.38 +file system code, when set through a call to RFs::SetDebugRegister()
1.39 +in _DEBUG or _DEBUG_RELEASE mode.
1.40 +*/
1.41 +#define KFSYS 0x0001
1.42 +
1.43 +
1.44 +/**
1.45 +@publishedPartner
1.46 +@released
1.47 +
1.48 +A bit value indicating that tracing is to be active in
1.49 +file server code, when set through a call to RFs::SetDebugRegister()
1.50 +in _DEBUG or _DEBUG_RELEASE mode.
1.51 +*/
1.52 +#define KFSERV 0x0002
1.53 +
1.54 +
1.55 +/**
1.56 +@publishedPartner
1.57 +@released
1.58 +
1.59 +A bit value indicating that tracing is to be active in
1.60 +the loader code, when set through a call to RFs::SetDebugRegister()
1.61 +in _DEBUG or _DEBUG_RELEASE mode.
1.62 +*/
1.63 +#define KFLDR 0x0004
1.64 +
1.65 +
1.66 +/**
1.67 +@publishedPartner
1.68 +@released
1.69 +
1.70 +A bit value indicating that the number of (simulated) allocation
1.71 +failures to complete a given function is to be printed, when set
1.72 +through a call to RFs::SetDebugRegister() in _DEBUG or _DEBUG_RELEASE mode.
1.73 +*/
1.74 +#define KALLOC 0x0008
1.75 +
1.76 +
1.77 +/**
1.78 +@publishedPartner
1.79 +@released
1.80 +
1.81 +A bit value indicating that tracing is to be active in
1.82 +LFFS code, when set through a call to RFs::SetDebugRegister()
1.83 +in _DEBUG or _DEBUG_RELEASE mode.
1.84 +*/
1.85 +#define KLFFS 0x0010
1.86 +
1.87 +
1.88 +/**
1.89 +@publishedPartner
1.90 +@released
1.91 +
1.92 +A bit value indicating that tracing is to be active in
1.93 +ISO9660 code, when set through a call to RFs::SetDebugRegister()
1.94 +in _DEBUG or _DEBUG_RELEASE mode.
1.95 +*/
1.96 +#define KISO9660 0x0020
1.97 +
1.98 +
1.99 +/**
1.100 +@publishedPartner
1.101 +@released
1.102 +
1.103 +A bit value indicating that tracing is to be active in
1.104 +NTFS code, when set through a call to RFs::SetDebugRegister()
1.105 +in _DEBUG or _DEBUG_RELEASE mode.
1.106 +*/
1.107 +#define KNTFS 0x0040
1.108 +
1.109 +
1.110 +/**
1.111 +@publishedPartner
1.112 +@released
1.113 +
1.114 +A bit value indicating that tracing is to be active in
1.115 +ROFS code, when set through a call to the function RFs::SetDebugRegister()
1.116 +in _DEBUG or _DEBUG_RELEASE mode.
1.117 +*/
1.118 +#define KROFS 0x0080
1.119 +
1.120 +
1.121 +/**
1.122 +@publishedPartner
1.123 +@released
1.124 +
1.125 +A bit value indicating that tracing is to be active in
1.126 +concurrent file system code, when set through a call to the function RFs::SetDebugRegister()
1.127 +in _DEBUG or _DEBUG_RELEASE mode.
1.128 +*/
1.129 +#define KTHRD 0x0100
1.130 +
1.131 +/**
1.132 +@internalTechnology
1.133 +*/
1.134 +#define KCACHE 0x0200
1.135 +
1.136 +
1.137 +/**
1.138 +@internalTechnology
1.139 +@prtototype
1.140 +
1.141 +A bit value indicating that tracing is to be active in
1.142 +COMPFS code, when set through a call to the function RFs::SetDebugRegister()
1.143 +in _DEBUG or _DEBUG_RELEASE mode.
1.144 +*/
1.145 +#define KCOMPFS 0x0400
1.146 +
1.147 +
1.148 +
1.149 +// #define _DEBUG_RELEASE
1.150 +
1.151 +const TInt KAllocFailureOn=0;
1.152 +const TInt KAllocFailureOff=-1;
1.153 +
1.154 +
1.155 +#if defined(_DEBUG) || defined(_DEBUG_RELEASE)
1.156 +const TInt KControlIoCancelNCNotifier=KMaxTInt-1;
1.157 +const TInt KControlIoNCDebugNotifierOn=KMaxTInt-2;
1.158 +const TInt KControlIoNCDebugNotifierOff=KMaxTInt-3;
1.159 +const TInt KControlIoGetCorruptLogRecord=KMaxTInt-4;
1.160 +const TInt KControlIoGetNumberOfCorruptLogRecords=KMaxTInt-5;
1.161 +const TInt KControlIoGetCorruptListFile=KMaxTInt-6;
1.162 +const TInt KControlIoCorruptLogRecordReset=KMaxTInt-7;
1.163 +const TInt KControlIoCacheCount=KMaxTInt-8;
1.164 +const TInt KControlIoGetLocalDriveNumber=KMaxTInt-9;
1.165 +const TInt KControlIoCancelDeferredDismount=KMaxTInt-10;
1.166 +const TInt KControlIoFileCacheFlagsWrite=KMaxTInt-11;
1.167 +const TInt KControlIoFileCacheStats=KMaxTInt-12;
1.168 +const TInt KControlIoFlushClosedFiles=KMaxTInt-13;
1.169 +const TInt KControlIoSimulateLockFailureMode=KMaxTInt-14;
1.170 +const TInt KControlIoFileCacheDump=KMaxTInt-15;
1.171 +const TInt KControlIoAllocateMaxSegments=KMaxTInt-16;
1.172 +
1.173 +const TInt KControlIoDisableFatUtilityFunctions=KMaxTInt-17;
1.174 +const TInt KControlIoEnableFatUtilityFunctions=KMaxTInt-18;
1.175 +const TInt KControlIoFileCacheConfig=KMaxTInt-19;
1.176 +const TInt KControlIoSimulateFileCacheWriteFailure=KMaxTInt-20;
1.177 +
1.178 +const TInt KNCDebugNotifierValue=-500000; // between 0 and 1 second
1.179 +
1.180 +GLREF_D TInt DebugNCNotifier;
1.181 +
1.182 +class TIOCacheValues
1.183 + {
1.184 +public:
1.185 + TInt iFreeCount; // number of requests on free queue
1.186 + TInt iCloseCount; // number of requests on close queue
1.187 + TInt iAllocated; // number of dynamically allocated requests
1.188 + TInt iTotalCount; // number of permanently & dynamically allocated requests
1.189 + };
1.190 +
1.191 +class TFileCacheStats
1.192 + {
1.193 +public:
1.194 + TInt iFreeCount;
1.195 + TInt iUsedCount;
1.196 + TInt iLockedSegmentCount;
1.197 + TInt iAllocatedSegmentCount;
1.198 + TInt iFileCount;
1.199 + TInt iFilesOnClosedQueue;
1.200 + TInt iHoleCount;
1.201 +
1.202 + TInt iUncachedPacketsRead;
1.203 + TInt iUncachedBytesRead;
1.204 +
1.205 + TInt iUncachedPacketsWritten;
1.206 + TInt iUncachedBytesWritten;
1.207 +
1.208 + TInt iCommitFailureCount;
1.209 + TInt iLockFailureCount;
1.210 + };
1.211 +
1.212 +class TFileCacheConfig
1.213 + {
1.214 +public:
1.215 + TInt iDrive;
1.216 + TInt iFlags;
1.217 + TBool iFileCacheReadAsync;
1.218 + TInt32 iFairSchedulingLen; // in bytes
1.219 + TInt32 iCacheSize; // in bytes
1.220 + TInt32 iMaxReadAheadLen; // in bytes
1.221 + TInt32 iClosedFileKeepAliveTime; // in microseconds
1.222 + TInt32 iDirtyDataFlushTime; // in microseconds
1.223 + };
1.224 +
1.225 +struct TFsDebugCorruptLogRecord
1.226 + {
1.227 + TFileName iProcessName;
1.228 + TFileName iFileName;
1.229 + TInt iError;
1.230 + };
1.231 +
1.232 +typedef TPckgBuf <TFsDebugCorruptLogRecord> TFsDebugCorruptLogRecordBuf;
1.233 +
1.234 +extern TBool EnableFatUtilityFunctions;
1.235 +
1.236 +#endif
1.237 +
1.238 +enum TLoaderDebugFunction
1.239 + {
1.240 + ELoaderDebug_SetHeapFail,
1.241 + ELoaderDebug_SetRFsFail
1.242 + };
1.243 +
1.244 +
1.245 +enum TFsDebugFunction
1.246 + {
1.247 + EFsSetAllocFailure,
1.248 + EFsSetErrorCondition,
1.249 + EFsSetDebugRegister,
1.250 + EFsDebugNotify
1.251 + };
1.252 +
1.253 +#endif