kernel/eka/include/e32btrace.h
branchRCL_3
changeset 256 c1f20ce4abcf
parent 31 56f325a607ea
child 257 3e88ff8f41d5
--- a/kernel/eka/include/e32btrace.h	Thu Aug 19 11:14:22 2010 +0300
+++ b/kernel/eka/include/e32btrace.h	Tue Aug 31 16:34:26 2010 +0300
@@ -59,11 +59,11 @@
 					typically will contain the same values as would be returned by
 					User::FastCounter() or NKern::FastCounter().
 					This value is only present if the ETimestampPresent flag is set.
--#	Timestamp2.		Additional timestamp information. E.g. the most significant
+-#	Timestamp2. 	Additional timestamp information. E.g. the most significant
 					half of a 64bit timestamp value. Note, it is valid for a Timestamp2 value
 					to be present even if the previous Timestamp is absent.
 					This value is only present if the ETimestamp2Present flag is set.
--#	Context ID.		This value indicates the context in which the trace was generated.
+-#	Context ID. 	This value indicates the context in which the trace was generated.
 					The meaning of the id is dependent on the contents of the two
 					least significant bits:
 					-	00	indicates the value is the address of the NThread object for
@@ -207,7 +207,7 @@
 		/**
 		Header2 is present in the trace record.
 		*/
-		EHeader2Present		= 1<<0,
+		EHeader2Present 	= 1<<0,
 
 		/**
 		A timestamp value is present in the trace record.
@@ -260,7 +260,7 @@
 		/**
 		Masks out the bits for the CPU ID for SMP systems (zero if present on non SMP systems)
 		*/
-		ECpuIdMask			= 0xfff<<20,
+		ECpuIdMask			= 0xfffU<<20,
 		};
 
 	/**
@@ -308,7 +308,7 @@
 		/**
 		Indicates that this trace is the first part of a multipart trace.
 		*/
-		EMultipartFirst			= 1,
+		EMultipartFirst 		= 1,
 
 		/**
 		Indicates that this trace is a middle part of a multipart trace.
@@ -379,28 +379,27 @@
 		*/
 		ECpuUsage = 4,
 
-        /**
-        Category used for profiling device drivers, kernel extensions etc.
-        Used by PERF_LOG macro.
-        @prototype 9.3
-        */
-        EKernPerfLog = 5,
-
-        /**
+		/**
+		Category used for profiling device drivers, kernel extensions etc.
+		Used by PERF_LOG macro.
+		@prototype 9.3
+		*/
+		EKernPerfLog = 5,
+
+		/**
 		Trace generated when client-server activity takes place such as server creation,
 		session management, message handling, etc.
-
 		If #Prime is called with this category, traces will be generated for all
 		servers currently running and their sessions.
-        */
-        EClientServer = 6,
-
-        /**
+		*/
+		EClientServer = 6,
+
+		/**
 		Trace generated on thread request completion.
-        */
-        ERequests = 7,
-
-        /**
+		*/
+		ERequests = 7,
+
+		/**
 		Trace generated when chunks are created and destroyed, and when memory
 		is committed and decommitted to and from chunks.
 
@@ -408,10 +407,10 @@
 		chunks currently extant.
 
 		@see TChunks
-        */
-        EChunks = 8,
-
-        /**
+		*/
+		EChunks = 8,
+
+		/**
 		Trace generated when code segments are created and destroyed, mapped
 		into out of processes, and when memory is committed and decommitted to
 		and from them.
@@ -420,8 +419,8 @@
 		code segments currently extant.
 
 		@see TCodeSegs
-        */
-        ECodeSegs = 9,
+		*/
+		ECodeSegs = 9,
 
 		/**
 		Trace generated by Demand Paging.
@@ -442,7 +441,7 @@
 
 		@see enum TThreadPriority
 		@internalTechnology
-        @prototype 9.3
+		@prototype 9.3
 		*/
 		EThreadPriority = 11,
 
@@ -512,17 +511,17 @@
 		EProfiling = 18,
 
 		/**
-        Trace generated by Power Resource Manager.
-        @prototype 9.5
-        */
-        EResourceManager = 19,
-
-
-        /**
-        Trace generated by Power Resource Manager User-Side API.
-        @prototype 9.5
-        */
-        EResourceManagerUs = 20,
+		Trace generated by Power Resource Manager.
+		@prototype 9.5
+		*/
+		EResourceManager = 19,
+
+
+		/**
+		Trace generated by Power Resource Manager User-Side API.
+		@prototype 9.5
+		*/
+		EResourceManagerUs = 20,
 
 		/**
 		Trace generated by Raw Event subsystem APIs
@@ -536,13 +535,13 @@
 		of standard logging (conditional Kern::Printf() calls) is sufficiently
 		time-consuming that the required device timings mandated by the core
 		USB standards cannot be achieved
-        @prototype 9.5
+		@prototype 9.5
 		*/
 		EUsb = 22,
 
 		/**
 		Trace generated by Symbian OS kernel synchronization objects.
-        @prototype 9.5
+		@prototype 9.5
 		*/
 		ESymbianKernelSync = 23,
 
@@ -552,10 +551,22 @@
 		EFlexibleMemModel = 24,
 
 		/**
-        Trace generated by IIC bus.
-        @prototype 9.6
-        */
-        EIic = 25,
+		Trace generated by IIC bus.
+		@prototype 9.6
+		*/
+		EIic = 25,
+
+		/**
+		Trace generated by load balancing or higher-level scheduling
+		@prototype 9.6
+		*/
+		EHSched = 26,
+
+		/**
+		Trace generated by the nanokernel
+		@prototype 9.6
+		*/
+		ENKern = 27,
 
 		/**
 		First category value in the range reserved for platform specific use;
@@ -768,10 +779,10 @@
 		ENewThreadContext
 		};
 
-    /**
+	/**
 	@internalTechnology
-    @prototype 9.3
-    */
+	@prototype 9.3
+	*/
 	enum TClientServer
 		{
 		/**
@@ -845,7 +856,7 @@
 		Trace data format:
 		- 4 bytes containing the message handle.
 		- 4 bytes containing the completion reason, or object handle, value.
-		    (The object handle value is that which is delivered to the sender of the
+			(The object handle value is that which is delivered to the sender of the
 			message, not that supplied by the server actually completing the request.)
 
 		The context id (NThread*) in this trace is that of the thread which completed the message.
@@ -854,10 +865,10 @@
 		};
 
 
-    /**
+	/**
 	@internalTechnology
-    @prototype 9.3
-    */
+	@prototype 9.3
+	*/
 	enum TRequests
 		{
 		/**
@@ -1427,461 +1438,499 @@
 		};
 
     /**
-	Enumeration of sub-category values for trace category EResourceManager.
-	@see EResourceManager
+    Enumeration of sub-category values for trace category EResourceManager.
+    @see EResourceManager
     @prototype 9.5
-	*/
-	enum TResourceManager
-		{
-		/**
-		Trace output for resource registration.
-
-		Trace data format:
-		- 4 bytes containing the Resource Id.
-		- 4 bytes containing the Resource address.
-		- N bytes containing the Resource name, where 0 < N < 32
-		- 4 bytes containing the Resource Minimum Level
-		- 4 bytes containing the Resource Maximum Level
-		- 4 bytes containing the Resource Default Level
-		*/
-		ERegisterResource = 0,
-
-		/**
-		Trace output for client registration
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing client address
-		- N bytes containing client name, where 0 < N < 32
-		*/
-		ERegisterClient,
-
-		/**
-		Trace output for client deregistration
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing client address
-		- N bytes containing client name, where 0 < N < 32
-		*/
-		EDeRegisterClient,
-
-		/**
-		Trace output for resource state change start operation
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- N bytes containing client name, where 0 < N < 32
-		- N bytes containing the Resource name, where 0 < N < 32
-		- 4 bytes containing the Resource state
-		*/
-		ESetResourceStateStart,
-
-		/**
-		Trace output for resource state change end operation
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- N bytes containing client name, where 0 < N < 32
-		- N bytes containing the Resource name, where 0 < N < 32
-		- 4 bytes containing return value.
-		- 4 bytes containing the Resource state.
-		*/
-		ESetResourceStateEnd,
-
-		/**
-		Trace output for registration for post notification
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- 4 bytest containing the callback address
-		- 4 bytes containing return value.
-		*/
-		EPostNotificationRegister,
-
-		/**
-		Trace output for deregistration for post notification
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- 4 bytes containing the callback address
-		- 4 bytes containing the return value.
-		*/
-		EPostNotificationDeRegister,
-
-		/**
-		Trace output for post notification sent.
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		*/
-		EPostNotificationSent,
-
-		/**
-		Trace output for Callback complete
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		*/
-		ECallbackComplete,
-
-		/**
-		Trace output for resource manager memory usage
-
-		Trace data format:
-		- 4 bytes containing memory allocated in bytes.
-		*/
-		EMemoryUsage,
-
-		/**
-		Trace output for get resource state start operation
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- N bytes containing client name, where 0 < N < 32
-		- N bytes containing the Resource name, where 0 < N < 32
-		*/
-		EGetResourceStateStart,
-
-		/**
-		Trace output for get resource state end operation
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- N bytes containing client name, where 0 < N < 32
-		- N bytes containing the Resource name, where 0 < N < 32
-		- 4 bytes containing the Resource state
-		- 4 bytes containing return value.
-		*/
-		EGetResourceStateEnd,
-
-		/**
-		Trace output for cancellation of long latency operation
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- N bytes containing client name, where 0 < N < 32
-		- N bytes containing the Resource name, where 0 < N < 32
-		- 4 bytes containing return value
-		*/
-		ECancelLongLatencyOperation,
-
-		/**
-		Trace output for booting of resource manager
-
-		Trace data format:
-		- 4 bytes containing entry point
-		*/
-		EBooting,
-
-		/**
-		Trace output for PSL resource state change operation
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- N bytes containing the Resource name, where 0 < N < 32
-		- 4 bytes containing the Resource current state
-		- 4 bytes containing the resource requested state
-		*/
-		EPslChangeResourceStateStart,
-
-		/**
-		Trace output for PSL resource state change operation
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- N bytes containing the Resource name, where 0 < N < 32
-		- 4 bytes containing the Resource current state
-		- 4 bytes containing the resource requested state
-		- 4 bytes containing return value
-		*/
-		EPslChangeResourceStateEnd,
-
-		/**
-		Trace output for get resource state start operation in PSL
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- N bytes containing the Resource name, where 0 < N < 32
-		*/
-		EPslGetResourceStateStart,
-
-		/**
-		Trace output for get resource state end operation in PSL
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id.
-		- N bytes containing the Resource name, where 0 < N < 32
-		- 4 bytes containing the Resource state
-		- 4 bytes containing return value.
-		*/
-		EPslGetResourceStateEnd,
-
-		/**
-		Trace output for resource creation
-
-		Trace data format:
-		- 4 bytes containing minimum value of resource
-		- 4 bytes containing maximum value of resource
-		- 4 bytes containing the default value of resource
-		- 4 bytes containing the properties of the resource
-		- N bytes containing the Resource name, where 0 < N < 32
-		*/
-		EPslResourceCreate,
-
-		/**
-		Trace output for static resource with dependency registration
-
-		Trace data format:
-		- 4 bytes containing the Resource Id
-		- 4 bytes containing the Resource address
-		- N bytes containing the Resource name, where 0 < N < 32
-		- 4 bytes containing the minimum value of resource
-		- 4 bytes containing the maximum value of resource
-		- 4 bytes containing the default value of resource
-		*/
-		ERegisterStaticResourceWithDependency,
-
-		/**
-		Trace output for dynamic resource registration
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id
-		- N bytes containing the client name, where 0 < N < 32
-		- N bytes containing the resource name, where 0 < N < 32
-		- 4 bytes containing the resouce address
-		*/
-		ERegisterDynamicResource,
-
-		/**
-		Trace output for dynamic resource deregistration
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id
-		- N bytes containing the client name, where 0 < N < 32
-		- N bytes containing the resource name, where 0 < N < 32
-		- 4 bytes containing the resource address
-		- 4 bytes containing the resource level.
-		*/
-		EDeRegisterDynamicResource,
-
-		/**
-		Trace output for resource dependency registration
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id of first dependent resource
-		- N bytes containing the client name, where 0 < N < 32
-		- N bytes containing the resource name of first dependent resource, where 0 < N < 32
-		- 4 bytes containing the Resource Id of second dependent resource
-		- N bytes containing the resource name of second dependent resource, where 0 < N < 32
-		- 4 bytes containing the address of first dependent resource
-		- 4 bytes containing the address of second dependent resource
-		*/
-		ERegisterResourceDependency,
-
-		/**
-		Trace output for resource dependency deregistration
-
-		Trace data format:
-		- 4 bytes containing clientId
-		- 4 bytes containing the Resource Id of first dependent resource
-		- N bytes containing the client name, where 0 < N < 32
-		- N bytes containing the resource name of first dependent resource, where 0 < N < 32
-		- 4 bytes containing the resource id of second dependent resource
-		- N bytes containing the resource name of second dependent resource, where 0 < N < 32
-		- 4 bytes containing the address of first dependent resource
-		- 4 bytes containing the address of second dependent resource
-		*/
-		EDeRegisterResourceDependency
-		};
+    */
+    enum TResourceManager
+        {
+        /**
+        Trace output for resource registration.
+
+        Trace data format:
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing the Resource address.
+        - 4 bytes containing the Resource Minimum Level
+        - 4 bytes containing the Resource Maximum Level
+        - 4 bytes containing the Resource Default Level
+        - 4 bytes containing the length of resource name
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        ERegisterResource = 0,
+
+        /**
+        Trace output for client registration
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing client address
+        - 4 bytes containing the length of client name
+        - N bytes containing client name, where 0 < N < 32
+        */
+        ERegisterClient,
+
+        /**
+        Trace output for client deregistration
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing client address
+        - 4 bytes containing the length of client name
+        - N bytes containing client name, where 0 < N < 32
+        */
+        EDeRegisterClient,
+
+        /**
+        Trace output for resource state change start operation
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing the Resource state
+        - 4 bytes containing the length of client name
+        - N bytes containing client name, where 0 < N < 32
+        - 4 bytes containing the length of resource name
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        ESetResourceStateStart,
+
+        /**
+        Trace output for resource state change end operation
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing return value.
+        - 4 bytes containing the Resource state.
+        - 4 bytes containing the length of client name
+        - N bytes containing client name, where 0 < N < 32
+        - 4 bytes containing the length of resource name        
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        ESetResourceStateEnd,
+
+        /**
+        Trace output for registration for post notification
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytest containing the callback address
+        - 4 bytes containing return value.
+        */
+        EPostNotificationRegister,
+
+        /**
+        Trace output for deregistration for post notification
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing the callback address
+        - 4 bytes containing the return value.
+        */
+        EPostNotificationDeRegister,
+
+        /**
+        Trace output for post notification sent.
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        */
+        EPostNotificationSent,
+
+        /**
+        Trace output for Callback complete
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        */
+        ECallbackComplete,
+
+        /**
+        Trace output for resource manager memory usage
+
+        Trace data format:
+        - 4 bytes containing memory allocated in bytes.
+        */
+        EMemoryUsage,
+
+        /**
+        Trace output for get resource state start operation
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing the length of client name.
+        - N bytes containing client name, where 0 < N < 32
+        - 4 bytes containing the length of resource name.
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        EGetResourceStateStart,
+
+        /**
+        Trace output for get resource state end operation
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing the Resource state
+        - 4 bytes containing return value.
+        - 4 bytes containing the length of client name.
+        - N bytes containing client name, where 0 < N < 32
+        - 4 bytes containing the length of resource name.
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        EGetResourceStateEnd,
+
+        /**
+        Trace output for cancellation of long latency operation
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing return value
+        - 4 bytes containing the length of client name.
+        - N bytes containing client name, where 0 < N < 32
+        - 4 bytes containing the length of resource name.
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        ECancelLongLatencyOperation,
+
+        /**
+        Trace output for booting of resource manager
+
+        Trace data format:
+        - 4 bytes containing entry point
+        */
+        EBooting,
+
+        /**
+        Trace output for PSL resource state change operation
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing the Resource current state
+        - 4 bytes containing the resource requested state
+        - 4 bytes containing the length of resource name.
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        EPslChangeResourceStateStart,
+
+        /**
+        Trace output for PSL resource state change operation
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing the Resource current state
+        - 4 bytes containing the resource requested state
+        - 4 bytes containing return value
+        - 4 bytes containing the length of resource name.
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        EPslChangeResourceStateEnd,
+
+        /**
+        Trace output for get resource state start operation in PSL
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing the length of resource name.
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        EPslGetResourceStateStart,
+
+        /**
+        Trace output for get resource state end operation in PSL
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id.
+        - 4 bytes containing the Resource state
+        - 4 bytes containing return value.
+        - 4 bytes containing the length of resource name.
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        EPslGetResourceStateEnd,
+
+        /**
+        Trace output for resource creation
+
+        Trace data format:
+        - 4 bytes containing minimum value of resource
+        - 4 bytes containing maximum value of resource
+        - 4 bytes containing the default value of resource
+        - 4 bytes containing the properties of the resource
+        - 4 bytes containing the length of resource name.
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        EPslResourceCreate,
+
+        /**
+        Trace output for static resource with dependency registration
+
+        Trace data format:
+        - 4 bytes containing the Resource Id
+        - 4 bytes containing the Resource address
+        - 4 bytes containing the minimum value of resource
+        - 4 bytes containing the maximum value of resource
+        - 4 bytes containing the default value of resource
+        - 4 bytes containing the length of resource name
+        - N bytes containing the Resource name, where 0 < N < 32
+        */
+        ERegisterStaticResourceWithDependency,
+
+        /**
+        Trace output for dynamic resource registration
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id
+        - 4 bytes containing the resouce address
+        - 4 bytes containing the length of client name
+        - N bytes containing the client name, where 0 < N < 32
+        - 4 bytes containing the length of resource name
+        - N bytes containing the resource name, where 0 < N < 32
+        */
+        ERegisterDynamicResource,
+
+        /**
+        Trace output for dynamic resource deregistration
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id
+        - 4 bytes containing the resource address
+        - 4 bytes containing the resource level.
+        - 4 bytes containing the length of client name
+        - N bytes containing the client name, where 0 < N < 32
+        - 4 bytes containing the length of resource name
+        - N bytes containing the resource name, where 0 < N < 32
+        */
+        EDeRegisterDynamicResource,
+
+        /**
+        Trace output for resource dependency registration
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id of first dependent resource
+        - 4 bytes containing the Resource Id of second dependent resource
+        - 4 bytes containing the address of first dependent resource
+        - 4 bytes containing the address of second dependent resource
+        - 4 bytes containing the length of client name
+        - N bytes containing the client name, where 0 < N < 32
+        - 4 bytes containing the length of resource name of first dependent resource
+        - N bytes containing the resource name of first dependent resource, where 0 < N < 32
+        - 4 bytes containing the length of resource name of second dependent resource
+        - N bytes containing the resource name of second dependent resource, where 0 < N < 32
+        */
+        ERegisterResourceDependency,
+
+        /**
+        Trace output for resource dependency deregistration
+
+        Trace data format:
+        - 4 bytes containing clientId
+        - 4 bytes containing the Resource Id of first dependent resource
+        - 4 bytes containing the resource id of second dependent resource
+        - 4 bytes containing the address of first dependent resource
+        - 4 bytes containing the address of second dependent resource
+        - 4 bytes containing the length of client name
+        - N bytes containing the client name, where 0 < N < 32
+        - 4 bytes containing the length of resource name of first dependent resource
+        - N bytes containing the resource name of first dependent resource, where 0 < N < 32
+        - 4 bytes containing the length of resource name of second dependent resource
+        - N bytes containing the resource name of second dependent resource, where 0 < N < 32
+        */
+        EDeRegisterResourceDependency
+        };
     /**
-	Enumeration of sub-category values for trace category EResourceManagerUs.
-	@see EResourceManagerUs
+    Enumeration of sub-category values for trace category EResourceManagerUs.
+    @see EResourceManagerUs
     @prototype 9.5
-	*/
-	enum TResourceManagerUs
-		{
-		/**
-		Trace output for the start of opening a channel to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes unused (displays 0)
-		- 4 bytes containing the client thread identifier.
-		- N bytes containing the client name, where 0 < N < 32
-		*/
-		EOpenChannelUsStart = 0,
-		/**
-		Trace output for the end of opening a channel to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes unused (displays 0)
-		- 4 bytes containing the client identifier provided by the Resource Controller
-		- N bytes containing the client name, where 0 < N < 32
-		*/
-		EOpenChannelUsEnd,
-		/**
-		Trace output for the start of registering a client with the Resource Controller.
-
-		Trace data format:
-		- 4 bytes the number of concurrent change resource state operations to be supported
-		- 4 bytes the number of concurrent notification requests to be supported
-		- N bytes containing the client name, where 0 < N < 32
-		- 4 bytes the number of concurrent get resource state operations to be supported
-		*/
-		ERegisterClientUsStart,
-		/**
-		Trace output for the end of registering a client with the Resource Controller.
-
-		Trace data format:
-		- 4 bytes containing the client identifier provided by the Resource Controller.
-		- 4 bytes specifying the value returned from the call to Resource Controller's AllocReserve method
-		*/
-		ERegisterClientUsEnd,
-		/**
-		Trace output for the start of de-registering a client with the Resource Controller.
-
-		Trace data format:
-		- 4 bytes unused (displays 0)
-		- 4 bytes containing the client identifier provided by the Resource Controller.
-		- N bytes containing the client name, where 0 < N < 32
-		*/
-		EDeRegisterClientUsStart,
-		/**
-		Trace output for the end of registering a client with the Resource Controller.
-
-		Trace data format:
-		- 4 bytes containing the client identifier provided by the Resource Controller.
-		*/
-		EDeRegisterClientUsEnd,
-		/**
-		Trace output for the start of a GetResourceState request to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes specifying the resource ID
-		- 4 bytes containing the client identifier provided by the Resource Controller.
-		- N bytes containing the client name, where 0 < N < 32
-		*/
-		EGetResourceStateUsStart,
-		/**
-		Trace output for the end of a GetResourceState request to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes specifying the resource ID
-		- 4 bytes specifying the resource level
-		- 4 bytes containing the client identifier
-		- 4 bytes specifying the success code returned by the Resource Controller.
-		*/
-		EGetResourceStateUsEnd,
-		/**
-		Trace output for the start of a ChangeResourceState request to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes specifying the resource ID
-		- 4 bytes specifying the required state
-		- N bytes containing the client name, where 0 < N < 32
-		- 4 bytes containing the client identifier provided by the Resource Controller.
-		*/
-		ESetResourceStateUsStart,
-		/**
-		Trace output for the end of a ChangeResourceState request to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes specifying the resource ID
-		- 4 bytes specifying the requested state
-		- 4 bytes containing the client identifier
-		- 4 bytes specifying the success code returned by the Resource Controller.
-		*/
-		ESetResourceStateUsEnd,
-		/**
-		Trace output for the start of a cancel GetResourceState request to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes specifying the resource ID
-		- 4 bytes containing the client identifier provided by the Resource Controller.
-		- N bytes containing the client name, where 0 < N < 32
-		*/
-		ECancelGetResourceStateUsStart,
-		/**
-		Trace output for the end of a cancel GetResourceState request to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes specifying the resource ID
-		- 4 bytes containing the client identifier provided by the Resource Controller.
-		- N bytes containing the client name, where 0 < N < 32
-		*/
-		ECancelGetResourceStateUsEnd,
-		/**
-		Trace output for the start of a cancel ChangeResourceState request to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes specifying the resource ID
-		- 4 bytes containing the client identifier provided by the Resource Controller.
-		- N bytes containing the client name, where 0 < N < 32
-		*/
-		ECancelSetResourceStateUsStart,
-		/**
-		Trace output for the end of a cancel ChangeResourceState request to the Resource Controller.
-
-		Trace data format:
-		- 4 bytes specifying the resource ID
-		- 4 bytes containing the client identifier provided by the Resource Controller.
-		- N bytes containing the client name, where 0 < N < 32
-		*/
-		ECancelSetResourceStateUsEnd
-		};
-
-	/**
-	Enumeration of sub-category values for trace category EThreadPriority.
-	@see EThreadPriority
-	@internalTechnology
+    */
+    enum TResourceManagerUs
+        {
+        /**
+        Trace output for the start of opening a channel to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes containing the client thread identifier.
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        EOpenChannelUsStart = 0,
+        /**
+        Trace output for the end of opening a channel to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes containing the client identifier provided by the Resource Controller
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        EOpenChannelUsEnd,
+        /**
+        Trace output for the start of registering a client with the Resource Controller.
+
+        Trace data format:
+        - 4 bytes containing the client identifier provided by the Resource Controller
+        - 1 bytes the number of concurrent change resource state operations to be supported
+        - 1 bytes the number of concurrent notification requests to be supported        
+        - 1 bytes the number of concurrent get resource state operations to be supported
+        - 1 bytes unused        
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        ERegisterClientUsStart,
+        /**
+        Trace output for the end of registering a client with the Resource Controller.
+
+        Trace data format:
+        - 4 bytes containing the client identifier provided by the Resource Controller.
+        - 4 bytes specifying the value returned from the call to Resource Controller's AllocReserve method
+        */
+        ERegisterClientUsEnd,
+        /**
+        Trace output for the start of de-registering a client with the Resource Controller.
+
+        Trace data format:
+        - 4 bytes containing the client identifier provided by the Resource Controller.
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        EDeRegisterClientUsStart,
+        /**
+        Trace output for the end of registering a client with the Resource Controller.
+
+        Trace data format:
+        - 4 bytes containing the client identifier provided by the Resource Controller.
+        */
+        EDeRegisterClientUsEnd,
+        /**
+        Trace output for the start of a GetResourceState request to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes specifying the resource ID
+        - 4 bytes containing the client identifier provided by the Resource Controller.
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        EGetResourceStateUsStart,
+        /**
+        Trace output for the end of a GetResourceState request to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes specifying the resource ID
+        - 4 bytes specifying the resource level
+        - 4 bytes containing the client identifier
+        - 4 bytes specifying the success code returned by the Resource Controller.
+        */
+        EGetResourceStateUsEnd,
+        /**
+        Trace output for the start of a ChangeResourceState request to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes specifying the resource ID
+        - 4 bytes specifying the required state
+        - 4 bytes containing the client identifier provided by the Resource Controller.
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        ESetResourceStateUsStart,
+        /**
+        Trace output for the end of a ChangeResourceState request to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes specifying the resource ID
+        - 4 bytes specifying the requested state
+        - 4 bytes containing the client identifier
+        - 4 bytes specifying the success code returned by the Resource Controller.
+        */
+        ESetResourceStateUsEnd,
+        /**
+        Trace output for the start of a cancel GetResourceState request to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes specifying the resource ID
+        - 4 bytes containing the client identifier provided by the Resource Controller.
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        ECancelGetResourceStateUsStart,
+        /**
+        Trace output for the end of a cancel GetResourceState request to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes specifying the resource ID
+        - 4 bytes containing the client identifier provided by the Resource Controller.
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        ECancelGetResourceStateUsEnd,
+        /**
+        Trace output for the start of a cancel ChangeResourceState request to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes specifying the resource ID
+        - 4 bytes containing the client identifier provided by the Resource Controller.
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        ECancelSetResourceStateUsStart,
+        /**
+        Trace output for the end of a cancel ChangeResourceState request to the Resource Controller.
+
+        Trace data format:
+        - 4 bytes specifying the resource ID
+        - 4 bytes containing the client identifier provided by the Resource Controller.
+        - 4 bytes containing the length of client name.
+        - N bytes containing the client name, where 0 < N < 32
+        */
+        ECancelSetResourceStateUsEnd
+        };
+
+    /**
+    Enumeration of sub-category values for trace category EThreadPriority.
+    @see EThreadPriority
+    @internalTechnology
     @prototype 9.3
-	*/
-	enum TThreadPriority
-		{
-		/**
-		Trace output when a nanothread priority is changed.
-
-		Trace data format:
-		- 4 bytes containing the context id (an NThread*) for the thread whose priority is changing.
-		- 4 bytes containing the new absolute priority.
-		*/
-		ENThreadPriority=0,
-
-		/**
-		Trace output when a DThread's default priority is set.
-
-		Trace data format:
-		- 4 bytes containing the context id (an NThread*) for the thread whose priority is changing.
-		- 4 bytes containing the iThreadPriority member - a value from enum ::TThrdPriority.
-		- 4 bytes containing the new default absolute priority.
-		*/
-		EDThreadPriority=1,
-
-		/**
-		Trace output when a DProcess priority is changed.
-
-		Trace data format:
-		- 4 bytes containing trace id (a DProcess*) for process.
-		- 4 bytes containing the new process priority, a value from enum ::TProcPriority
-		*/
-		EProcessPriority=2
-		};
+    */
+    enum TThreadPriority
+        {
+        /**
+        Trace output when a nanothread priority is changed.
+
+        Trace data format:
+        - 4 bytes containing the context id (an NThread*) for the thread whose priority is changing.
+        - 4 bytes containing the new absolute priority.
+        */
+        ENThreadPriority=0,
+
+        /**
+        Trace output when a DThread's default priority is set.
+
+        Trace data format:
+        - 4 bytes containing the context id (an NThread*) for the thread whose priority is changing.
+        - 4 bytes containing the iThreadPriority member - a value from enum ::TThrdPriority.
+        - 4 bytes containing the new default absolute priority.
+        */
+        EDThreadPriority=1,
+
+        /**
+        Trace output when a DProcess priority is changed.
+
+        Trace data format:
+        - 4 bytes containing trace id (a DProcess*) for process.
+        - 4 bytes containing the new process priority, a value from enum ::TProcPriority
+        */
+        EProcessPriority=2
+        };
 
 	/**
 	Enumeration of sub-category values for trace category EPagingMedia.
@@ -2489,7 +2538,7 @@
 
 		/**
 		Event generated when DRamAllocator::ZoneAllocRamPages has successfully
-		allocated all the requested RAM pages.  If DRamAllocator::ZoneAllocRamPages
+		allocated all the requested RAM pages.	If DRamAllocator::ZoneAllocRamPages
 		couldn't allocate all the requested pages then this event is not generated.
 
 		Trace data format:
@@ -2589,7 +2638,7 @@
 		/**
 		CPU sample from non-Symbian thread.
 
-  		Trace data format:
+		Trace data format:
 		- no extra bytes are sent
 		*/
 		ECpuNonSymbianThreadSample
@@ -2634,7 +2683,7 @@
 		--4 bytes containining the Z co-ordinate
 		--4 bytes containining the PointerNumber
 
-  		if there are  7*4 byte data
+		if there are  7*4 byte data
 		- 4 bytes containing the event type
 		--4 bytes containining the X co-ordinate
 		--4 bytes containining the Y co-ordinate
@@ -2880,7 +2929,7 @@
 		// The following traces associate memory model objects with the kernel objects that use them
 
 		/**
-	    A memory object is being used for the contents of a chunk.
+		A memory object is being used for the contents of a chunk.
 
 		Trace data format:
 		- 4 bytes containing the memory object id (a DMemoryObject*).
@@ -2889,7 +2938,7 @@
 		EMemoryObjectIsChunk,
 
 		/**
-	    A memory object is being used for the contents of a code segment.
+		A memory object is being used for the contents of a code segment.
 
 		Trace data format:
 		- 4 bytes containing the memory object id (a DMemoryObject*).
@@ -2898,7 +2947,7 @@
 		EMemoryObjectIsCodeSeg,
 
 		/**
-	    A memory object is being used for process static data.
+		A memory object is being used for process static data.
 
 		Trace data format:
 		- 4 bytes containing the memory object id (a DMemoryObject*).
@@ -2907,7 +2956,7 @@
 		EMemoryObjectIsProcessStaticData,
 
 		/**
-	    A memory object is being used for DLL static data.
+		A memory object is being used for DLL static data.
 
 		Trace data format:
 		- 4 bytes containing the memory object id (a DMemoryObject*).
@@ -2917,7 +2966,7 @@
 		EMemoryObjectIsDllStaticData,
 
 		/**
-	    A memory object is being used for a thread's supervisor stack.
+		A memory object is being used for a thread's supervisor stack.
 
 		Trace data format:
 		- 4 bytes containing the memory object id (a DMemoryObject*).
@@ -2926,7 +2975,7 @@
 		EMemoryObjectIsSupervisorStack,
 
 		/**
-	    A memory object is being used for a thread's user stack.
+		A memory object is being used for a thread's user stack.
 
 		Trace data format:
 		- 4 bytes containing the memory object id (a DMemoryObject*).
@@ -2945,10 +2994,10 @@
 		EAddressSpaceId
 		};
 
-    /**
+	/**
 	Enumeration of sub-category values for trace category EIic.
 	@see EIic
-    @prototype 9.6
+	@prototype 9.6
 	*/
 	enum TIic
 		{
@@ -3444,6 +3493,22 @@
 		};
 
 	/**
+	Enumeration of sub-category values for trace category EHSched.
+	@see EHSched
+	@prototype 9.6
+	*/
+	enum THSched
+		{
+		/**
+		Trace output when a thread has been processed by the load balancer
+		Trace data format:
+		- 4 bytes containing pointer to thread
+		- 4 bytes containing flags indicating result of balancing
+		*/
+		ELbDone = 0,
+		};
+
+	/**
 	Calculate the address of the next trace record.
 	@param aCurrentRecord A pointer to a trace record.
 	@return The address of the trace record which follows aCurrentRecord.
@@ -3472,9 +3537,9 @@
 	trace as specified in aHeader.
 
 	@param aHeader	The 4 bytes for the trace header.
-	@param aHeader2	The second header word.
+	@param aHeader2 The second header word.
 					(If EHeader2Present is set in the header flags.)
-	@param aContext	The context id.
+	@param aContext The context id.
 					(If EContextIdPresent is set in the header flags.)
 	@param a1		The first four bytes of trace data.
 					(Only if the header size indicates that this is present.)
@@ -3490,7 +3555,7 @@
 	@param aPc		The Program Counter value.
 					(If EPcPresent is set in the header flags.)
 
-	@return			True, if the trace handler is enabled and outputting trace.
+	@return 		True, if the trace handler is enabled and outputting trace.
 					False otherwise.
 
 	Here is an example implementation of a trace handler:
@@ -3606,7 +3671,7 @@
 	/**
 	Set the secondary trace filter to include only the specified UIDs.
 
-	@param aUids    Pointer to array of UIDs.
+	@param aUids	Pointer to array of UIDs.
 	@param aNumUids Number of UID values pointer to by \a aUid.
 
 	@return KErrNone on success.
@@ -3643,7 +3708,7 @@
 	/**
 	Get the contents of the secondary trace filter.
 
-	@param[out] aUids   Pointer to array of UIDs contained in the secondary filter.
+	@param[out] aUids	Pointer to array of UIDs contained in the secondary filter.
 						Ownership of this array is passed to the caller of this
 						function, which is then responsible for deleting it.
 						If filter is empty, \a aUid equals zero.
@@ -3656,7 +3721,7 @@
 
 
 	@pre Call in a thread context.
-    @pre Calling thread must be in a critical section.
+	@pre Calling thread must be in a critical section.
 
 	@publishedPartner
 	@released
@@ -3808,7 +3873,7 @@
 	@param aCategory  A category value from enum BTrace::TCategory.
 					  Only the 8 least significant bits in this value are used;
 					  other bits are ignored.
-	@param aUid       A UID to filter on.
+	@param aUid 	  A UID to filter on.
 
 	@return True if a trace with this specification would be passed by the filters.
 			False if a trace with this specification would be dropped by the filters.
@@ -3886,26 +3951,11 @@
 	/**
 	@internalComponent
 	*/
-	typedef TBool(*TBTrace1)(TUint32);
-
-	/**
-	@internalComponent
-	*/
-	typedef TBool(*TBTrace2)(TUint32,TUint32);
-
-	/**
-	@internalComponent
-	*/
-	typedef TBool(*TBTrace3)(TUint32,TUint32,TUint32);
-
-	/**
-	@internalComponent
-	*/
 	struct SExecExtension
 		{
-		TUint32	iA2;
-		TUint32	iA3;
-		TUint32	iPc;
+		TUint32 iA2;
+		TUint32 iA3;
+		TUint32 iPc;
 		};
 
 	/**
@@ -3974,7 +4024,7 @@
 /**
 @internalComponent
 */
-#define BTRACE_HEADER(aSize,aCategory,aSubCategory)			\
+#define BTRACE_HEADER(aSize,aCategory,aSubCategory) 		\
 	(((aSize)<<BTrace::ESizeIndex*8)							\
 	+((aCategory)<<BTrace::ECategoryIndex*8)					\
 	+((aSubCategory)<<BTrace::ESubCategoryIndex*8))
@@ -4022,8 +4072,8 @@
 @released
 */
 #define BTrace0(aCategory,aSubCategory) \
-	((BTrace::TBTrace1)BTrace::Out) \
-		(BTRACE_HEADER(4,(aCategory),(aSubCategory)))
+	BTrace::Out \
+		(BTRACE_HEADER(4,(aCategory),(aSubCategory)),0,0,0)
 
 /**
 Output a trace record of the specified category.
@@ -4040,8 +4090,8 @@
 @released
 */
 #define BTrace4(aCategory,aSubCategory,a1) \
-	((BTrace::TBTrace2)BTrace::Out) \
-		(BTRACE_HEADER(8,(aCategory),(aSubCategory)),(TUint32)(a1))
+	BTrace::Out \
+		(BTRACE_HEADER(8,(aCategory),(aSubCategory)),(TUint32)(a1),0,0)
 
 /**
 Output a trace record of the specified category.
@@ -4059,8 +4109,8 @@
 @released
 */
 #define BTrace8(aCategory,aSubCategory,a1,a2) \
-	((BTrace::TBTrace3)BTrace::Out) \
-		(BTRACE_HEADER(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2))
+	BTrace::Out \
+		(BTRACE_HEADER(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2),0)
 
 /**
 Output a trace record of the specified category.
@@ -4142,8 +4192,8 @@
 @released
 */
 #define BTraceContext0(aCategory,aSubCategory) \
-	((BTrace::TBTrace1)BTrace::OutX) \
-		(BTRACE_HEADER_C(4,(aCategory),(aSubCategory)))
+	BTrace::OutX \
+		(BTRACE_HEADER_C(4,(aCategory),(aSubCategory)),0,0,0)
 
 /**
 Output a trace record of the specified category which also includes a Context ID.
@@ -4160,8 +4210,8 @@
 @released
 */
 #define BTraceContext4(aCategory,aSubCategory,a1) \
-	((BTrace::TBTrace2)BTrace::OutX) \
-		(BTRACE_HEADER_C(8,(aCategory),(aSubCategory)),(TUint32)(a1))
+	BTrace::OutX \
+		(BTRACE_HEADER_C(8,(aCategory),(aSubCategory)),(TUint32)(a1),0,0)
 
 /**
 Output a trace record of the specified category which also includes a Context ID.
@@ -4179,8 +4229,8 @@
 @released
 */
 #define BTraceContext8(aCategory,aSubCategory,a1,a2) \
-	((BTrace::TBTrace3)BTrace::OutX) \
-		(BTRACE_HEADER_C(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2))
+	BTrace::OutX \
+		(BTRACE_HEADER_C(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2),0)
 
 /**
 Output a trace record of the specified category which also includes a Context ID.
@@ -4262,8 +4312,8 @@
 @released
 */
 #define BTracePc0(aCategory,aSubCategory) \
-	((BTrace::TBTrace1)BTrace::Out) \
-		(BTRACE_HEADER_P(4,(aCategory),(aSubCategory)))
+	BTrace::Out \
+		(BTRACE_HEADER_P(4,(aCategory),(aSubCategory)),0,0,0)
 
 /**
 Output a trace record of the specified category which also includes a Program Counter value.
@@ -4280,8 +4330,8 @@
 @released
 */
 #define BTracePc4(aCategory,aSubCategory,a1)	\
-	((BTrace::TBTrace2)BTrace::Out) \
-		(BTRACE_HEADER_P(8,(aCategory),(aSubCategory)),(TUint32)(a1))
+	BTrace::Out \
+		(BTRACE_HEADER_P(8,(aCategory),(aSubCategory)),(TUint32)(a1),0,0)
 
 /**
 Output a trace record of the specified category which also includes a Program Counter value.
@@ -4299,8 +4349,8 @@
 @released
 */
 #define BTracePc8(aCategory,aSubCategory,a1,a2) \
-	((BTrace::TBTrace3)BTrace::Out) \
-		(BTRACE_HEADER_P(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2))
+	BTrace::Out \
+		(BTRACE_HEADER_P(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2),0)
 
 /**
 Output a trace record of the specified category which also includes a Program Counter value.
@@ -4384,8 +4434,8 @@
 @released
 */
 #define BTraceContextPc0(aCategory,aSubCategory)	\
-	((BTrace::TBTrace1)BTrace::OutX) \
-		(BTRACE_HEADER_CP(4,(aCategory),(aSubCategory)))
+	BTrace::OutX \
+		(BTRACE_HEADER_CP(4,(aCategory),(aSubCategory)),0,0,0)
 
 /**
 Output a trace record of the specified category which also includes
@@ -4402,9 +4452,9 @@
 @publishedPartner
 @released
 */
-#define BTraceContextPc4(aCategory,aSubCategory,a1)	\
-	((BTrace::TBTrace2)BTrace::OutX) \
-		(BTRACE_HEADER_CP(8,(aCategory),(aSubCategory)),(TUint32)(a1))
+#define BTraceContextPc4(aCategory,aSubCategory,a1) \
+	BTrace::OutX \
+		(BTRACE_HEADER_CP(8,(aCategory),(aSubCategory)),(TUint32)(a1),0,0)
 
 /**
 Output a trace record of the specified category which also includes
@@ -4423,8 +4473,8 @@
 @released
 */
 #define BTraceContextPc8(aCategory,aSubCategory,a1,a2) \
-	((BTrace::TBTrace3)BTrace::OutX) \
-		(BTRACE_HEADER_CP(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2))
+	BTrace::OutX \
+		(BTRACE_HEADER_CP(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2),0)
 
 /**
 Output a trace record of the specified category which also includes
@@ -4505,15 +4555,15 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The 32bit quantity which forms the data of this trace record.
+@param aUid 		The 32bit quantity which forms the data of this trace record.
 
 @return True if trace is enabled for aCategory and aUid, false otherwise.
 @publishedPartner
 @released
 */
 #define BTraceFiltered4(aCategory,aSubCategory,aUid) \
-	((BTrace::TBTrace2)BTrace::OutFiltered) \
-		(BTRACE_HEADER(8,(aCategory),(aSubCategory)),(TUint32)(aUid))
+	BTrace::OutFiltered \
+		(BTRACE_HEADER(8,(aCategory),(aSubCategory)),(TUint32)(aUid),0,0)
 
 /**
 Output a trace record of the specified category.
@@ -4525,7 +4575,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 
 @return True if trace is enabled for aCategory and aUid, false otherwise.
@@ -4533,8 +4583,8 @@
 @released
 */
 #define BTraceFiltered8(aCategory,aSubCategory,aUid,a1) \
-	((BTrace::TBTrace3)BTrace::OutFiltered) \
-		(BTRACE_HEADER(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1))
+	BTrace::OutFiltered \
+		(BTRACE_HEADER(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1),0)
 
 /**
 Output a trace record of the specified category.
@@ -4546,7 +4596,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 @param a2			The third 32bit quantity which forms the data of this trace record.
 
@@ -4566,7 +4616,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 @param aData		Address of addition data to add to trace.
 					Must be word aligned, i.e. a multiple of 4.
@@ -4593,7 +4643,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param aData		Address of addition data to add to trace.
 					Must be word aligned, i.e. a multiple of 4.
 @param aDataSize	Number of bytes of additional data.
@@ -4618,15 +4668,15 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The 32bit quantity which forms the data of this trace record.
+@param aUid 		The 32bit quantity which forms the data of this trace record.
 
 @return True if trace is enabled for aCategory and aUid, false otherwise.
 @publishedPartner
 @released
 */
 #define BTraceFilteredContext4(aCategory,aSubCategory,aUid) \
-	((BTrace::TBTrace2)BTrace::OutFilteredX) \
-		(BTRACE_HEADER_C(8,(aCategory),(aSubCategory)),(TUint32)(aUid))
+	BTrace::OutFilteredX \
+		(BTRACE_HEADER_C(8,(aCategory),(aSubCategory)),(TUint32)(aUid),0,0)
 
 /**
 Output a trace record of the specified category which also includes a Context ID.
@@ -4638,7 +4688,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 
 @return True if trace is enabled for aCategory and aUid, false otherwise.
@@ -4646,8 +4696,8 @@
 @released
 */
 #define BTraceFilteredContext8(aCategory,aSubCategory,aUid,a1) \
-	((BTrace::TBTrace3)BTrace::OutFilteredX) \
-		(BTRACE_HEADER_C(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1))
+	BTrace::OutFilteredX \
+		(BTRACE_HEADER_C(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1),0)
 
 /**
 Output a trace record of the specified category which also includes a Context ID.
@@ -4659,7 +4709,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 @param a2			The third 32bit quantity which forms the data of this trace record.
 
@@ -4679,7 +4729,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 @param aData		Address of addition data to add to trace.
 					Must be word aligned, i.e. a multiple of 4.
@@ -4706,7 +4756,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param aData		Address of addition data to add to trace.
 					Must be word aligned, i.e. a multiple of 4.
 @param aDataSize	Number of bytes of additional data.
@@ -4731,15 +4781,15 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The 32bit quantity which forms the data of this trace record.
+@param aUid 		The 32bit quantity which forms the data of this trace record.
 
 @return True if trace is enabled for aCategory and aUid, false otherwise.
 @publishedPartner
 @released
 */
 #define BTraceFilteredPc4(aCategory,aSubCategory,aUid)	\
-	((BTrace::TBTrace2)BTrace::OutFiltered) \
-		(BTRACE_HEADER_P(8,(aCategory),(aSubCategory)),(TUint32)(aUid))
+	BTrace::OutFiltered \
+		(BTRACE_HEADER_P(8,(aCategory),(aSubCategory)),(TUint32)(aUid),0,0)
 
 /**
 Output a trace record of the specified category which also includes a Program Counter value.
@@ -4751,7 +4801,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 
 @return True if trace is enabled for aCategory and aUid, false otherwise.
@@ -4759,8 +4809,8 @@
 @released
 */
 #define BTraceFilteredPc8(aCategory,aSubCategory,aUid,a1) \
-	((BTrace::TBTrace3)BTrace::OutFiltered) \
-		(BTRACE_HEADER_P(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1))
+	BTrace::OutFiltered \
+		(BTRACE_HEADER_P(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1),0)
 
 /**
 Output a trace record of the specified category which also includes a Program Counter value.
@@ -4772,7 +4822,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 @param a2			The third 32bit quantity which forms the data of this trace record.
 
@@ -4792,7 +4842,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 @param aData		Address of addition data to add to trace.
 					Must be word aligned, i.e. a multiple of 4.
@@ -4819,7 +4869,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param aData		Address of addition data to add to trace.
 					Must be word aligned, i.e. a multiple of 4.
 @param aDataSize	Number of bytes of additional data.
@@ -4846,15 +4896,15 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The 32bit quantity which forms the data of this trace record.
+@param aUid 		The 32bit quantity which forms the data of this trace record.
 
 @return True if trace is enabled for aCategory and aUid, false otherwise.
 @publishedPartner
 @released
 */
 #define BTraceFilteredContextPc4(aCategory,aSubCategory,aUid)	\
-	((BTrace::TBTrace2)BTrace::OutFilteredX) \
-		(BTRACE_HEADER_CP(8,(aCategory),(aSubCategory)),(TUint32)(aUid))
+	BTrace::OutFilteredX \
+		(BTRACE_HEADER_CP(8,(aCategory),(aSubCategory)),(TUint32)(aUid),0,0)
 
 /**
 Output a trace record of the specified category which also includes
@@ -4867,7 +4917,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 
 @return True if trace is enabled for aCategory and aUid, false otherwise.
@@ -4875,8 +4925,8 @@
 @released
 */
 #define BTraceFilteredContextPc8(aCategory,aSubCategory,aUid,a1) \
-	((BTrace::TBTrace3)BTrace::OutFilteredX) \
-		(BTRACE_HEADER_CP(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1))
+	BTrace::OutFilteredX \
+		(BTRACE_HEADER_CP(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1),0)
 
 /**
 Output a trace record of the specified category which also includes
@@ -4889,7 +4939,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 @param a2			The third 32bit quantity which forms the data of this trace record.
 
@@ -4910,7 +4960,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param a1			The second 32bit quantity which forms the data of this trace record.
 @param aData		Address of addition data to add to trace.
 					Must be word aligned, i.e. a multiple of 4.
@@ -4938,7 +4988,7 @@
 @param aCategory	A value from enum BTrace::TCategory,
 @param aSubCategory Sub-category value between 0 and 255.
 					The meaning of this is dependent on the Category.
-@param aUid			The first 32bit quantity which forms the data of this trace record.
+@param aUid 		The first 32bit quantity which forms the data of this trace record.
 @param aData		Address of addition data to add to trace.
 					Must be word aligned, i.e. a multiple of 4.
 @param aDataSize	Number of bytes of additional data.