kernel/eka/include/e32btrace.h
branchRCL_3
changeset 257 3e88ff8f41d5
parent 256 c1f20ce4abcf
equal deleted inserted replaced
256:c1f20ce4abcf 257:3e88ff8f41d5
    57 -#	Timestamp.		A timestamp value indicating when the trace was generated.
    57 -#	Timestamp.		A timestamp value indicating when the trace was generated.
    58 					The format and resolution of this value are platform-dependent, but
    58 					The format and resolution of this value are platform-dependent, but
    59 					typically will contain the same values as would be returned by
    59 					typically will contain the same values as would be returned by
    60 					User::FastCounter() or NKern::FastCounter().
    60 					User::FastCounter() or NKern::FastCounter().
    61 					This value is only present if the ETimestampPresent flag is set.
    61 					This value is only present if the ETimestampPresent flag is set.
    62 -#	Timestamp2. 	Additional timestamp information. E.g. the most significant
    62 -#	Timestamp2.		Additional timestamp information. E.g. the most significant
    63 					half of a 64bit timestamp value. Note, it is valid for a Timestamp2 value
    63 					half of a 64bit timestamp value. Note, it is valid for a Timestamp2 value
    64 					to be present even if the previous Timestamp is absent.
    64 					to be present even if the previous Timestamp is absent.
    65 					This value is only present if the ETimestamp2Present flag is set.
    65 					This value is only present if the ETimestamp2Present flag is set.
    66 -#	Context ID. 	This value indicates the context in which the trace was generated.
    66 -#	Context ID.		This value indicates the context in which the trace was generated.
    67 					The meaning of the id is dependent on the contents of the two
    67 					The meaning of the id is dependent on the contents of the two
    68 					least significant bits:
    68 					least significant bits:
    69 					-	00	indicates the value is the address of the NThread object for
    69 					-	00	indicates the value is the address of the NThread object for
    70 							the currently executing thread.
    70 							the currently executing thread.
    71 					-	01	indicates Fast Interrupt (FIQ) context.
    71 					-	01	indicates Fast Interrupt (FIQ) context.
   205 	enum TFlags
   205 	enum TFlags
   206 		{
   206 		{
   207 		/**
   207 		/**
   208 		Header2 is present in the trace record.
   208 		Header2 is present in the trace record.
   209 		*/
   209 		*/
   210 		EHeader2Present 	= 1<<0,
   210 		EHeader2Present		= 1<<0,
   211 
   211 
   212 		/**
   212 		/**
   213 		A timestamp value is present in the trace record.
   213 		A timestamp value is present in the trace record.
   214 		*/
   214 		*/
   215 		ETimestampPresent	= 1<<1,
   215 		ETimestampPresent	= 1<<1,
   258 		EMultipartFlagMask		= 3<<0,
   258 		EMultipartFlagMask		= 3<<0,
   259 
   259 
   260 		/**
   260 		/**
   261 		Masks out the bits for the CPU ID for SMP systems (zero if present on non SMP systems)
   261 		Masks out the bits for the CPU ID for SMP systems (zero if present on non SMP systems)
   262 		*/
   262 		*/
   263 		ECpuIdMask			= 0xfffU<<20,
   263 		ECpuIdMask			= 0xfff<<20,
   264 		};
   264 		};
   265 
   265 
   266 	/**
   266 	/**
   267 	Values for multipart trace indicator. These values are stored in Flags2 an
   267 	Values for multipart trace indicator. These values are stored in Flags2 an
   268 	are obtained by ANDing with the value EMultipartFlagMask.
   268 	are obtained by ANDing with the value EMultipartFlagMask.
   306 	enum TMultiPart
   306 	enum TMultiPart
   307 		{
   307 		{
   308 		/**
   308 		/**
   309 		Indicates that this trace is the first part of a multipart trace.
   309 		Indicates that this trace is the first part of a multipart trace.
   310 		*/
   310 		*/
   311 		EMultipartFirst 		= 1,
   311 		EMultipartFirst			= 1,
   312 
   312 
   313 		/**
   313 		/**
   314 		Indicates that this trace is a middle part of a multipart trace.
   314 		Indicates that this trace is a middle part of a multipart trace.
   315 		I.e. it is not the first or last part.
   315 		I.e. it is not the first or last part.
   316 		*/
   316 		*/
   377 
   377 
   378 		@see enum TCpuUsage
   378 		@see enum TCpuUsage
   379 		*/
   379 		*/
   380 		ECpuUsage = 4,
   380 		ECpuUsage = 4,
   381 
   381 
   382 		/**
   382         /**
   383 		Category used for profiling device drivers, kernel extensions etc.
   383         Category used for profiling device drivers, kernel extensions etc.
   384 		Used by PERF_LOG macro.
   384         Used by PERF_LOG macro.
   385 		@prototype 9.3
   385         @prototype 9.3
   386 		*/
   386         */
   387 		EKernPerfLog = 5,
   387         EKernPerfLog = 5,
   388 
   388 
   389 		/**
   389         /**
   390 		Trace generated when client-server activity takes place such as server creation,
   390 		Trace generated when client-server activity takes place such as server creation,
   391 		session management, message handling, etc.
   391 		session management, message handling, etc.
       
   392 
   392 		If #Prime is called with this category, traces will be generated for all
   393 		If #Prime is called with this category, traces will be generated for all
   393 		servers currently running and their sessions.
   394 		servers currently running and their sessions.
   394 		*/
   395         */
   395 		EClientServer = 6,
   396         EClientServer = 6,
   396 
   397 
   397 		/**
   398         /**
   398 		Trace generated on thread request completion.
   399 		Trace generated on thread request completion.
   399 		*/
   400         */
   400 		ERequests = 7,
   401         ERequests = 7,
   401 
   402 
   402 		/**
   403         /**
   403 		Trace generated when chunks are created and destroyed, and when memory
   404 		Trace generated when chunks are created and destroyed, and when memory
   404 		is committed and decommitted to and from chunks.
   405 		is committed and decommitted to and from chunks.
   405 
   406 
   406 		If #Prime is called with this category, traces will be generated for all
   407 		If #Prime is called with this category, traces will be generated for all
   407 		chunks currently extant.
   408 		chunks currently extant.
   408 
   409 
   409 		@see TChunks
   410 		@see TChunks
   410 		*/
   411         */
   411 		EChunks = 8,
   412         EChunks = 8,
   412 
   413 
   413 		/**
   414         /**
   414 		Trace generated when code segments are created and destroyed, mapped
   415 		Trace generated when code segments are created and destroyed, mapped
   415 		into out of processes, and when memory is committed and decommitted to
   416 		into out of processes, and when memory is committed and decommitted to
   416 		and from them.
   417 		and from them.
   417 
   418 
   418 		If #Prime is called with this category, traces will be generated for all
   419 		If #Prime is called with this category, traces will be generated for all
   419 		code segments currently extant.
   420 		code segments currently extant.
   420 
   421 
   421 		@see TCodeSegs
   422 		@see TCodeSegs
   422 		*/
   423         */
   423 		ECodeSegs = 9,
   424         ECodeSegs = 9,
   424 
   425 
   425 		/**
   426 		/**
   426 		Trace generated by Demand Paging.
   427 		Trace generated by Demand Paging.
   427 		@prototype 9.3
   428 		@prototype 9.3
   428 		*/
   429 		*/
   439 		If #Prime is called with this category, traces will be generated for all
   440 		If #Prime is called with this category, traces will be generated for all
   440 		threads currently extant.
   441 		threads currently extant.
   441 
   442 
   442 		@see enum TThreadPriority
   443 		@see enum TThreadPriority
   443 		@internalTechnology
   444 		@internalTechnology
   444 		@prototype 9.3
   445         @prototype 9.3
   445 		*/
   446 		*/
   446 		EThreadPriority = 11,
   447 		EThreadPriority = 11,
   447 
   448 
   448 		/**
   449 		/**
   449 		Trace generated by processing Paging requests in the Media subsystem and Media drivers.
   450 		Trace generated by processing Paging requests in the Media subsystem and Media drivers.
   509 		@see enum TProfiling
   510 		@see enum TProfiling
   510 		*/
   511 		*/
   511 		EProfiling = 18,
   512 		EProfiling = 18,
   512 
   513 
   513 		/**
   514 		/**
   514 		Trace generated by Power Resource Manager.
   515         Trace generated by Power Resource Manager.
   515 		@prototype 9.5
   516         @prototype 9.5
   516 		*/
   517         */
   517 		EResourceManager = 19,
   518         EResourceManager = 19,
   518 
   519 
   519 
   520 
   520 		/**
   521         /**
   521 		Trace generated by Power Resource Manager User-Side API.
   522         Trace generated by Power Resource Manager User-Side API.
   522 		@prototype 9.5
   523         @prototype 9.5
   523 		*/
   524         */
   524 		EResourceManagerUs = 20,
   525         EResourceManagerUs = 20,
   525 
   526 
   526 		/**
   527 		/**
   527 		Trace generated by Raw Event subsystem APIs
   528 		Trace generated by Raw Event subsystem APIs
   528 		@see enum TRawEventTrace
   529 		@see enum TRawEventTrace
   529 		@prototype 9.5
   530 		@prototype 9.5
   533 		/**
   534 		/**
   534 		Trace generated by USB communications (Client, Host and OTG) where use
   535 		Trace generated by USB communications (Client, Host and OTG) where use
   535 		of standard logging (conditional Kern::Printf() calls) is sufficiently
   536 		of standard logging (conditional Kern::Printf() calls) is sufficiently
   536 		time-consuming that the required device timings mandated by the core
   537 		time-consuming that the required device timings mandated by the core
   537 		USB standards cannot be achieved
   538 		USB standards cannot be achieved
   538 		@prototype 9.5
   539         @prototype 9.5
   539 		*/
   540 		*/
   540 		EUsb = 22,
   541 		EUsb = 22,
   541 
   542 
   542 		/**
   543 		/**
   543 		Trace generated by Symbian OS kernel synchronization objects.
   544 		Trace generated by Symbian OS kernel synchronization objects.
   544 		@prototype 9.5
   545         @prototype 9.5
   545 		*/
   546 		*/
   546 		ESymbianKernelSync = 23,
   547 		ESymbianKernelSync = 23,
   547 
   548 
   548 		/**
   549 		/**
   549 		Trace generated by the flexible memory model.
   550 		Trace generated by the flexible memory model.
   550 		*/
   551 		*/
   551 		EFlexibleMemModel = 24,
   552 		EFlexibleMemModel = 24,
   552 
   553 
   553 		/**
   554 		/**
   554 		Trace generated by IIC bus.
   555         Trace generated by IIC bus.
   555 		@prototype 9.6
   556         @prototype 9.6
   556 		*/
   557         */
   557 		EIic = 25,
   558         EIic = 25,
   558 
       
   559 		/**
       
   560 		Trace generated by load balancing or higher-level scheduling
       
   561 		@prototype 9.6
       
   562 		*/
       
   563 		EHSched = 26,
       
   564 
       
   565 		/**
       
   566 		Trace generated by the nanokernel
       
   567 		@prototype 9.6
       
   568 		*/
       
   569 		ENKern = 27,
       
   570 
   559 
   571 		/**
   560 		/**
   572 		First category value in the range reserved for platform specific use;
   561 		First category value in the range reserved for platform specific use;
   573 		the end of this range is #EPlatformSpecificLast.
   562 		the end of this range is #EPlatformSpecificLast.
   574 		Symbian's code will not generate any traces with categories in this range.
   563 		Symbian's code will not generate any traces with categories in this range.
   777 		The context id (NThread*) in this trace is that of the thread being scheduled.
   766 		The context id (NThread*) in this trace is that of the thread being scheduled.
   778 		*/
   767 		*/
   779 		ENewThreadContext
   768 		ENewThreadContext
   780 		};
   769 		};
   781 
   770 
   782 	/**
   771     /**
   783 	@internalTechnology
   772 	@internalTechnology
   784 	@prototype 9.3
   773     @prototype 9.3
   785 	*/
   774     */
   786 	enum TClientServer
   775 	enum TClientServer
   787 		{
   776 		{
   788 		/**
   777 		/**
   789 		Trace generated whenever a server is created and during prime.
   778 		Trace generated whenever a server is created and during prime.
   790 
   779 
   854 		Trace generated whenever a message is completed using RMessagePtr2::Complete.
   843 		Trace generated whenever a message is completed using RMessagePtr2::Complete.
   855 
   844 
   856 		Trace data format:
   845 		Trace data format:
   857 		- 4 bytes containing the message handle.
   846 		- 4 bytes containing the message handle.
   858 		- 4 bytes containing the completion reason, or object handle, value.
   847 		- 4 bytes containing the completion reason, or object handle, value.
   859 			(The object handle value is that which is delivered to the sender of the
   848 		    (The object handle value is that which is delivered to the sender of the
   860 			message, not that supplied by the server actually completing the request.)
   849 			message, not that supplied by the server actually completing the request.)
   861 
   850 
   862 		The context id (NThread*) in this trace is that of the thread which completed the message.
   851 		The context id (NThread*) in this trace is that of the thread which completed the message.
   863 		*/
   852 		*/
   864 		EMessageComplete
   853 		EMessageComplete
   865 		};
   854 		};
   866 
   855 
   867 
   856 
   868 	/**
   857     /**
   869 	@internalTechnology
   858 	@internalTechnology
   870 	@prototype 9.3
   859     @prototype 9.3
   871 	*/
   860     */
   872 	enum TRequests
   861 	enum TRequests
   873 		{
   862 		{
   874 		/**
   863 		/**
   875 		Trace generated whenever a request status is completed.
   864 		Trace generated whenever a request status is completed.
   876 
   865 
  1436 		*/
  1425 		*/
  1437 		EPagingPageTableAlloc,
  1426 		EPagingPageTableAlloc,
  1438 		};
  1427 		};
  1439 
  1428 
  1440     /**
  1429     /**
  1441     Enumeration of sub-category values for trace category EResourceManager.
  1430 	Enumeration of sub-category values for trace category EResourceManager.
  1442     @see EResourceManager
  1431 	@see EResourceManager
  1443     @prototype 9.5
  1432     @prototype 9.5
  1444     */
  1433 	*/
  1445     enum TResourceManager
  1434 	enum TResourceManager
  1446         {
  1435 		{
  1447         /**
  1436 		/**
  1448         Trace output for resource registration.
  1437 		Trace output for resource registration.
  1449 
  1438 
  1450         Trace data format:
  1439 		Trace data format:
  1451         - 4 bytes containing the Resource Id.
  1440 		- 4 bytes containing the Resource Id.
  1452         - 4 bytes containing the Resource address.
  1441 		- 4 bytes containing the Resource address.
  1453         - 4 bytes containing the Resource Minimum Level
  1442 		- N bytes containing the Resource name, where 0 < N < 32
  1454         - 4 bytes containing the Resource Maximum Level
  1443 		- 4 bytes containing the Resource Minimum Level
  1455         - 4 bytes containing the Resource Default Level
  1444 		- 4 bytes containing the Resource Maximum Level
  1456         - 4 bytes containing the length of resource name
  1445 		- 4 bytes containing the Resource Default Level
  1457         - N bytes containing the Resource name, where 0 < N < 32
  1446 		*/
  1458         */
  1447 		ERegisterResource = 0,
  1459         ERegisterResource = 0,
  1448 
  1460 
  1449 		/**
  1461         /**
  1450 		Trace output for client registration
  1462         Trace output for client registration
  1451 
  1463 
  1452 		Trace data format:
  1464         Trace data format:
  1453 		- 4 bytes containing clientId
  1465         - 4 bytes containing clientId
  1454 		- 4 bytes containing client address
  1466         - 4 bytes containing client address
  1455 		- N bytes containing client name, where 0 < N < 32
  1467         - 4 bytes containing the length of client name
  1456 		*/
  1468         - N bytes containing client name, where 0 < N < 32
  1457 		ERegisterClient,
  1469         */
  1458 
  1470         ERegisterClient,
  1459 		/**
  1471 
  1460 		Trace output for client deregistration
  1472         /**
  1461 
  1473         Trace output for client deregistration
  1462 		Trace data format:
  1474 
  1463 		- 4 bytes containing clientId
  1475         Trace data format:
  1464 		- 4 bytes containing client address
  1476         - 4 bytes containing clientId
  1465 		- N bytes containing client name, where 0 < N < 32
  1477         - 4 bytes containing client address
  1466 		*/
  1478         - 4 bytes containing the length of client name
  1467 		EDeRegisterClient,
  1479         - N bytes containing client name, where 0 < N < 32
  1468 
  1480         */
  1469 		/**
  1481         EDeRegisterClient,
  1470 		Trace output for resource state change start operation
  1482 
  1471 
  1483         /**
  1472 		Trace data format:
  1484         Trace output for resource state change start operation
  1473 		- 4 bytes containing clientId
  1485 
  1474 		- 4 bytes containing the Resource Id.
  1486         Trace data format:
  1475 		- N bytes containing client name, where 0 < N < 32
  1487         - 4 bytes containing clientId
  1476 		- N bytes containing the Resource name, where 0 < N < 32
  1488         - 4 bytes containing the Resource Id.
  1477 		- 4 bytes containing the Resource state
  1489         - 4 bytes containing the Resource state
  1478 		*/
  1490         - 4 bytes containing the length of client name
  1479 		ESetResourceStateStart,
  1491         - N bytes containing client name, where 0 < N < 32
  1480 
  1492         - 4 bytes containing the length of resource name
  1481 		/**
  1493         - N bytes containing the Resource name, where 0 < N < 32
  1482 		Trace output for resource state change end operation
  1494         */
  1483 
  1495         ESetResourceStateStart,
  1484 		Trace data format:
  1496 
  1485 		- 4 bytes containing clientId
  1497         /**
  1486 		- 4 bytes containing the Resource Id.
  1498         Trace output for resource state change end operation
  1487 		- N bytes containing client name, where 0 < N < 32
  1499 
  1488 		- N bytes containing the Resource name, where 0 < N < 32
  1500         Trace data format:
  1489 		- 4 bytes containing return value.
  1501         - 4 bytes containing clientId
  1490 		- 4 bytes containing the Resource state.
  1502         - 4 bytes containing the Resource Id.
  1491 		*/
  1503         - 4 bytes containing return value.
  1492 		ESetResourceStateEnd,
  1504         - 4 bytes containing the Resource state.
  1493 
  1505         - 4 bytes containing the length of client name
  1494 		/**
  1506         - N bytes containing client name, where 0 < N < 32
  1495 		Trace output for registration for post notification
  1507         - 4 bytes containing the length of resource name        
  1496 
  1508         - N bytes containing the Resource name, where 0 < N < 32
  1497 		Trace data format:
  1509         */
  1498 		- 4 bytes containing clientId
  1510         ESetResourceStateEnd,
  1499 		- 4 bytes containing the Resource Id.
  1511 
  1500 		- 4 bytest containing the callback address
  1512         /**
  1501 		- 4 bytes containing return value.
  1513         Trace output for registration for post notification
  1502 		*/
  1514 
  1503 		EPostNotificationRegister,
  1515         Trace data format:
  1504 
  1516         - 4 bytes containing clientId
  1505 		/**
  1517         - 4 bytes containing the Resource Id.
  1506 		Trace output for deregistration for post notification
  1518         - 4 bytest containing the callback address
  1507 
  1519         - 4 bytes containing return value.
  1508 		Trace data format:
  1520         */
  1509 		- 4 bytes containing clientId
  1521         EPostNotificationRegister,
  1510 		- 4 bytes containing the Resource Id.
  1522 
  1511 		- 4 bytes containing the callback address
  1523         /**
  1512 		- 4 bytes containing the return value.
  1524         Trace output for deregistration for post notification
  1513 		*/
  1525 
  1514 		EPostNotificationDeRegister,
  1526         Trace data format:
  1515 
  1527         - 4 bytes containing clientId
  1516 		/**
  1528         - 4 bytes containing the Resource Id.
  1517 		Trace output for post notification sent.
  1529         - 4 bytes containing the callback address
  1518 
  1530         - 4 bytes containing the return value.
  1519 		Trace data format:
  1531         */
  1520 		- 4 bytes containing clientId
  1532         EPostNotificationDeRegister,
  1521 		- 4 bytes containing the Resource Id.
  1533 
  1522 		*/
  1534         /**
  1523 		EPostNotificationSent,
  1535         Trace output for post notification sent.
  1524 
  1536 
  1525 		/**
  1537         Trace data format:
  1526 		Trace output for Callback complete
  1538         - 4 bytes containing clientId
  1527 
  1539         - 4 bytes containing the Resource Id.
  1528 		Trace data format:
  1540         */
  1529 		- 4 bytes containing clientId
  1541         EPostNotificationSent,
  1530 		- 4 bytes containing the Resource Id.
  1542 
  1531 		*/
  1543         /**
  1532 		ECallbackComplete,
  1544         Trace output for Callback complete
  1533 
  1545 
  1534 		/**
  1546         Trace data format:
  1535 		Trace output for resource manager memory usage
  1547         - 4 bytes containing clientId
  1536 
  1548         - 4 bytes containing the Resource Id.
  1537 		Trace data format:
  1549         */
  1538 		- 4 bytes containing memory allocated in bytes.
  1550         ECallbackComplete,
  1539 		*/
  1551 
  1540 		EMemoryUsage,
  1552         /**
  1541 
  1553         Trace output for resource manager memory usage
  1542 		/**
  1554 
  1543 		Trace output for get resource state start operation
  1555         Trace data format:
  1544 
  1556         - 4 bytes containing memory allocated in bytes.
  1545 		Trace data format:
  1557         */
  1546 		- 4 bytes containing clientId
  1558         EMemoryUsage,
  1547 		- 4 bytes containing the Resource Id.
  1559 
  1548 		- N bytes containing client name, where 0 < N < 32
  1560         /**
  1549 		- N bytes containing the Resource name, where 0 < N < 32
  1561         Trace output for get resource state start operation
  1550 		*/
  1562 
  1551 		EGetResourceStateStart,
  1563         Trace data format:
  1552 
  1564         - 4 bytes containing clientId
  1553 		/**
  1565         - 4 bytes containing the Resource Id.
  1554 		Trace output for get resource state end operation
  1566         - 4 bytes containing the length of client name.
  1555 
  1567         - N bytes containing client name, where 0 < N < 32
  1556 		Trace data format:
  1568         - 4 bytes containing the length of resource name.
  1557 		- 4 bytes containing clientId
  1569         - N bytes containing the Resource name, where 0 < N < 32
  1558 		- 4 bytes containing the Resource Id.
  1570         */
  1559 		- N bytes containing client name, where 0 < N < 32
  1571         EGetResourceStateStart,
  1560 		- N bytes containing the Resource name, where 0 < N < 32
  1572 
  1561 		- 4 bytes containing the Resource state
  1573         /**
  1562 		- 4 bytes containing return value.
  1574         Trace output for get resource state end operation
  1563 		*/
  1575 
  1564 		EGetResourceStateEnd,
  1576         Trace data format:
  1565 
  1577         - 4 bytes containing clientId
  1566 		/**
  1578         - 4 bytes containing the Resource Id.
  1567 		Trace output for cancellation of long latency operation
  1579         - 4 bytes containing the Resource state
  1568 
  1580         - 4 bytes containing return value.
  1569 		Trace data format:
  1581         - 4 bytes containing the length of client name.
  1570 		- 4 bytes containing clientId
  1582         - N bytes containing client name, where 0 < N < 32
  1571 		- 4 bytes containing the Resource Id.
  1583         - 4 bytes containing the length of resource name.
  1572 		- N bytes containing client name, where 0 < N < 32
  1584         - N bytes containing the Resource name, where 0 < N < 32
  1573 		- N bytes containing the Resource name, where 0 < N < 32
  1585         */
  1574 		- 4 bytes containing return value
  1586         EGetResourceStateEnd,
  1575 		*/
  1587 
  1576 		ECancelLongLatencyOperation,
  1588         /**
  1577 
  1589         Trace output for cancellation of long latency operation
  1578 		/**
  1590 
  1579 		Trace output for booting of resource manager
  1591         Trace data format:
  1580 
  1592         - 4 bytes containing clientId
  1581 		Trace data format:
  1593         - 4 bytes containing the Resource Id.
  1582 		- 4 bytes containing entry point
  1594         - 4 bytes containing return value
  1583 		*/
  1595         - 4 bytes containing the length of client name.
  1584 		EBooting,
  1596         - N bytes containing client name, where 0 < N < 32
  1585 
  1597         - 4 bytes containing the length of resource name.
  1586 		/**
  1598         - N bytes containing the Resource name, where 0 < N < 32
  1587 		Trace output for PSL resource state change operation
  1599         */
  1588 
  1600         ECancelLongLatencyOperation,
  1589 		Trace data format:
  1601 
  1590 		- 4 bytes containing clientId
  1602         /**
  1591 		- 4 bytes containing the Resource Id.
  1603         Trace output for booting of resource manager
  1592 		- N bytes containing the Resource name, where 0 < N < 32
  1604 
  1593 		- 4 bytes containing the Resource current state
  1605         Trace data format:
  1594 		- 4 bytes containing the resource requested state
  1606         - 4 bytes containing entry point
  1595 		*/
  1607         */
  1596 		EPslChangeResourceStateStart,
  1608         EBooting,
  1597 
  1609 
  1598 		/**
  1610         /**
  1599 		Trace output for PSL resource state change operation
  1611         Trace output for PSL resource state change operation
  1600 
  1612 
  1601 		Trace data format:
  1613         Trace data format:
  1602 		- 4 bytes containing clientId
  1614         - 4 bytes containing clientId
  1603 		- 4 bytes containing the Resource Id.
  1615         - 4 bytes containing the Resource Id.
  1604 		- N bytes containing the Resource name, where 0 < N < 32
  1616         - 4 bytes containing the Resource current state
  1605 		- 4 bytes containing the Resource current state
  1617         - 4 bytes containing the resource requested state
  1606 		- 4 bytes containing the resource requested state
  1618         - 4 bytes containing the length of resource name.
  1607 		- 4 bytes containing return value
  1619         - N bytes containing the Resource name, where 0 < N < 32
  1608 		*/
  1620         */
  1609 		EPslChangeResourceStateEnd,
  1621         EPslChangeResourceStateStart,
  1610 
  1622 
  1611 		/**
  1623         /**
  1612 		Trace output for get resource state start operation in PSL
  1624         Trace output for PSL resource state change operation
  1613 
  1625 
  1614 		Trace data format:
  1626         Trace data format:
  1615 		- 4 bytes containing clientId
  1627         - 4 bytes containing clientId
  1616 		- 4 bytes containing the Resource Id.
  1628         - 4 bytes containing the Resource Id.
  1617 		- N bytes containing the Resource name, where 0 < N < 32
  1629         - 4 bytes containing the Resource current state
  1618 		*/
  1630         - 4 bytes containing the resource requested state
  1619 		EPslGetResourceStateStart,
  1631         - 4 bytes containing return value
  1620 
  1632         - 4 bytes containing the length of resource name.
  1621 		/**
  1633         - N bytes containing the Resource name, where 0 < N < 32
  1622 		Trace output for get resource state end operation in PSL
  1634         */
  1623 
  1635         EPslChangeResourceStateEnd,
  1624 		Trace data format:
  1636 
  1625 		- 4 bytes containing clientId
  1637         /**
  1626 		- 4 bytes containing the Resource Id.
  1638         Trace output for get resource state start operation in PSL
  1627 		- N bytes containing the Resource name, where 0 < N < 32
  1639 
  1628 		- 4 bytes containing the Resource state
  1640         Trace data format:
  1629 		- 4 bytes containing return value.
  1641         - 4 bytes containing clientId
  1630 		*/
  1642         - 4 bytes containing the Resource Id.
  1631 		EPslGetResourceStateEnd,
  1643         - 4 bytes containing the length of resource name.
  1632 
  1644         - N bytes containing the Resource name, where 0 < N < 32
  1633 		/**
  1645         */
  1634 		Trace output for resource creation
  1646         EPslGetResourceStateStart,
  1635 
  1647 
  1636 		Trace data format:
  1648         /**
  1637 		- 4 bytes containing minimum value of resource
  1649         Trace output for get resource state end operation in PSL
  1638 		- 4 bytes containing maximum value of resource
  1650 
  1639 		- 4 bytes containing the default value of resource
  1651         Trace data format:
  1640 		- 4 bytes containing the properties of the resource
  1652         - 4 bytes containing clientId
  1641 		- N bytes containing the Resource name, where 0 < N < 32
  1653         - 4 bytes containing the Resource Id.
  1642 		*/
  1654         - 4 bytes containing the Resource state
  1643 		EPslResourceCreate,
  1655         - 4 bytes containing return value.
  1644 
  1656         - 4 bytes containing the length of resource name.
  1645 		/**
  1657         - N bytes containing the Resource name, where 0 < N < 32
  1646 		Trace output for static resource with dependency registration
  1658         */
  1647 
  1659         EPslGetResourceStateEnd,
  1648 		Trace data format:
  1660 
  1649 		- 4 bytes containing the Resource Id
  1661         /**
  1650 		- 4 bytes containing the Resource address
  1662         Trace output for resource creation
  1651 		- N bytes containing the Resource name, where 0 < N < 32
  1663 
  1652 		- 4 bytes containing the minimum value of resource
  1664         Trace data format:
  1653 		- 4 bytes containing the maximum value of resource
  1665         - 4 bytes containing minimum value of resource
  1654 		- 4 bytes containing the default value of resource
  1666         - 4 bytes containing maximum value of resource
  1655 		*/
  1667         - 4 bytes containing the default value of resource
  1656 		ERegisterStaticResourceWithDependency,
  1668         - 4 bytes containing the properties of the resource
  1657 
  1669         - 4 bytes containing the length of resource name.
  1658 		/**
  1670         - N bytes containing the Resource name, where 0 < N < 32
  1659 		Trace output for dynamic resource registration
  1671         */
  1660 
  1672         EPslResourceCreate,
  1661 		Trace data format:
  1673 
  1662 		- 4 bytes containing clientId
  1674         /**
  1663 		- 4 bytes containing the Resource Id
  1675         Trace output for static resource with dependency registration
  1664 		- N bytes containing the client name, where 0 < N < 32
  1676 
  1665 		- N bytes containing the resource name, where 0 < N < 32
  1677         Trace data format:
  1666 		- 4 bytes containing the resouce address
  1678         - 4 bytes containing the Resource Id
  1667 		*/
  1679         - 4 bytes containing the Resource address
  1668 		ERegisterDynamicResource,
  1680         - 4 bytes containing the minimum value of resource
  1669 
  1681         - 4 bytes containing the maximum value of resource
  1670 		/**
  1682         - 4 bytes containing the default value of resource
  1671 		Trace output for dynamic resource deregistration
  1683         - 4 bytes containing the length of resource name
  1672 
  1684         - N bytes containing the Resource name, where 0 < N < 32
  1673 		Trace data format:
  1685         */
  1674 		- 4 bytes containing clientId
  1686         ERegisterStaticResourceWithDependency,
  1675 		- 4 bytes containing the Resource Id
  1687 
  1676 		- N bytes containing the client name, where 0 < N < 32
  1688         /**
  1677 		- N bytes containing the resource name, where 0 < N < 32
  1689         Trace output for dynamic resource registration
  1678 		- 4 bytes containing the resource address
  1690 
  1679 		- 4 bytes containing the resource level.
  1691         Trace data format:
  1680 		*/
  1692         - 4 bytes containing clientId
  1681 		EDeRegisterDynamicResource,
  1693         - 4 bytes containing the Resource Id
  1682 
  1694         - 4 bytes containing the resouce address
  1683 		/**
  1695         - 4 bytes containing the length of client name
  1684 		Trace output for resource dependency registration
  1696         - N bytes containing the client name, where 0 < N < 32
  1685 
  1697         - 4 bytes containing the length of resource name
  1686 		Trace data format:
  1698         - N bytes containing the resource name, where 0 < N < 32
  1687 		- 4 bytes containing clientId
  1699         */
  1688 		- 4 bytes containing the Resource Id of first dependent resource
  1700         ERegisterDynamicResource,
  1689 		- N bytes containing the client name, where 0 < N < 32
  1701 
  1690 		- N bytes containing the resource name of first dependent resource, where 0 < N < 32
  1702         /**
  1691 		- 4 bytes containing the Resource Id of second dependent resource
  1703         Trace output for dynamic resource deregistration
  1692 		- N bytes containing the resource name of second dependent resource, where 0 < N < 32
  1704 
  1693 		- 4 bytes containing the address of first dependent resource
  1705         Trace data format:
  1694 		- 4 bytes containing the address of second dependent resource
  1706         - 4 bytes containing clientId
  1695 		*/
  1707         - 4 bytes containing the Resource Id
  1696 		ERegisterResourceDependency,
  1708         - 4 bytes containing the resource address
  1697 
  1709         - 4 bytes containing the resource level.
  1698 		/**
  1710         - 4 bytes containing the length of client name
  1699 		Trace output for resource dependency deregistration
  1711         - N bytes containing the client name, where 0 < N < 32
  1700 
  1712         - 4 bytes containing the length of resource name
  1701 		Trace data format:
  1713         - N bytes containing the resource name, where 0 < N < 32
  1702 		- 4 bytes containing clientId
  1714         */
  1703 		- 4 bytes containing the Resource Id of first dependent resource
  1715         EDeRegisterDynamicResource,
  1704 		- N bytes containing the client name, where 0 < N < 32
  1716 
  1705 		- N bytes containing the resource name of first dependent resource, where 0 < N < 32
  1717         /**
  1706 		- 4 bytes containing the resource id of second dependent resource
  1718         Trace output for resource dependency registration
  1707 		- N bytes containing the resource name of second dependent resource, where 0 < N < 32
  1719 
  1708 		- 4 bytes containing the address of first dependent resource
  1720         Trace data format:
  1709 		- 4 bytes containing the address of second dependent resource
  1721         - 4 bytes containing clientId
  1710 		*/
  1722         - 4 bytes containing the Resource Id of first dependent resource
  1711 		EDeRegisterResourceDependency
  1723         - 4 bytes containing the Resource Id of second dependent resource
  1712 		};
  1724         - 4 bytes containing the address of first dependent resource
       
  1725         - 4 bytes containing the address of second dependent resource
       
  1726         - 4 bytes containing the length of client name
       
  1727         - N bytes containing the client name, where 0 < N < 32
       
  1728         - 4 bytes containing the length of resource name of first dependent resource
       
  1729         - N bytes containing the resource name of first dependent resource, where 0 < N < 32
       
  1730         - 4 bytes containing the length of resource name of second dependent resource
       
  1731         - N bytes containing the resource name of second dependent resource, where 0 < N < 32
       
  1732         */
       
  1733         ERegisterResourceDependency,
       
  1734 
       
  1735         /**
       
  1736         Trace output for resource dependency deregistration
       
  1737 
       
  1738         Trace data format:
       
  1739         - 4 bytes containing clientId
       
  1740         - 4 bytes containing the Resource Id of first dependent resource
       
  1741         - 4 bytes containing the resource id of second dependent resource
       
  1742         - 4 bytes containing the address of first dependent resource
       
  1743         - 4 bytes containing the address of second dependent resource
       
  1744         - 4 bytes containing the length of client name
       
  1745         - N bytes containing the client name, where 0 < N < 32
       
  1746         - 4 bytes containing the length of resource name of first dependent resource
       
  1747         - N bytes containing the resource name of first dependent resource, where 0 < N < 32
       
  1748         - 4 bytes containing the length of resource name of second dependent resource
       
  1749         - N bytes containing the resource name of second dependent resource, where 0 < N < 32
       
  1750         */
       
  1751         EDeRegisterResourceDependency
       
  1752         };
       
  1753     /**
  1713     /**
  1754     Enumeration of sub-category values for trace category EResourceManagerUs.
  1714 	Enumeration of sub-category values for trace category EResourceManagerUs.
  1755     @see EResourceManagerUs
  1715 	@see EResourceManagerUs
  1756     @prototype 9.5
  1716     @prototype 9.5
  1757     */
  1717 	*/
  1758     enum TResourceManagerUs
  1718 	enum TResourceManagerUs
  1759         {
  1719 		{
  1760         /**
  1720 		/**
  1761         Trace output for the start of opening a channel to the Resource Controller.
  1721 		Trace output for the start of opening a channel to the Resource Controller.
  1762 
  1722 
  1763         Trace data format:
  1723 		Trace data format:
  1764         - 4 bytes containing the client thread identifier.
  1724 		- 4 bytes unused (displays 0)
  1765         - 4 bytes containing the length of client name.
  1725 		- 4 bytes containing the client thread identifier.
  1766         - N bytes containing the client name, where 0 < N < 32
  1726 		- N bytes containing the client name, where 0 < N < 32
  1767         */
  1727 		*/
  1768         EOpenChannelUsStart = 0,
  1728 		EOpenChannelUsStart = 0,
  1769         /**
  1729 		/**
  1770         Trace output for the end of opening a channel to the Resource Controller.
  1730 		Trace output for the end of opening a channel to the Resource Controller.
  1771 
  1731 
  1772         Trace data format:
  1732 		Trace data format:
  1773         - 4 bytes containing the client identifier provided by the Resource Controller
  1733 		- 4 bytes unused (displays 0)
  1774         - 4 bytes containing the length of client name.
  1734 		- 4 bytes containing the client identifier provided by the Resource Controller
  1775         - N bytes containing the client name, where 0 < N < 32
  1735 		- N bytes containing the client name, where 0 < N < 32
  1776         */
  1736 		*/
  1777         EOpenChannelUsEnd,
  1737 		EOpenChannelUsEnd,
  1778         /**
  1738 		/**
  1779         Trace output for the start of registering a client with the Resource Controller.
  1739 		Trace output for the start of registering a client with the Resource Controller.
  1780 
  1740 
  1781         Trace data format:
  1741 		Trace data format:
  1782         - 4 bytes containing the client identifier provided by the Resource Controller
  1742 		- 4 bytes the number of concurrent change resource state operations to be supported
  1783         - 1 bytes the number of concurrent change resource state operations to be supported
  1743 		- 4 bytes the number of concurrent notification requests to be supported
  1784         - 1 bytes the number of concurrent notification requests to be supported        
  1744 		- N bytes containing the client name, where 0 < N < 32
  1785         - 1 bytes the number of concurrent get resource state operations to be supported
  1745 		- 4 bytes the number of concurrent get resource state operations to be supported
  1786         - 1 bytes unused        
  1746 		*/
  1787         - 4 bytes containing the length of client name.
  1747 		ERegisterClientUsStart,
  1788         - N bytes containing the client name, where 0 < N < 32
  1748 		/**
  1789         */
  1749 		Trace output for the end of registering a client with the Resource Controller.
  1790         ERegisterClientUsStart,
  1750 
  1791         /**
  1751 		Trace data format:
  1792         Trace output for the end of registering a client with the Resource Controller.
  1752 		- 4 bytes containing the client identifier provided by the Resource Controller.
  1793 
  1753 		- 4 bytes specifying the value returned from the call to Resource Controller's AllocReserve method
  1794         Trace data format:
  1754 		*/
  1795         - 4 bytes containing the client identifier provided by the Resource Controller.
  1755 		ERegisterClientUsEnd,
  1796         - 4 bytes specifying the value returned from the call to Resource Controller's AllocReserve method
  1756 		/**
  1797         */
  1757 		Trace output for the start of de-registering a client with the Resource Controller.
  1798         ERegisterClientUsEnd,
  1758 
  1799         /**
  1759 		Trace data format:
  1800         Trace output for the start of de-registering a client with the Resource Controller.
  1760 		- 4 bytes unused (displays 0)
  1801 
  1761 		- 4 bytes containing the client identifier provided by the Resource Controller.
  1802         Trace data format:
  1762 		- N bytes containing the client name, where 0 < N < 32
  1803         - 4 bytes containing the client identifier provided by the Resource Controller.
  1763 		*/
  1804         - 4 bytes containing the length of client name.
  1764 		EDeRegisterClientUsStart,
  1805         - N bytes containing the client name, where 0 < N < 32
  1765 		/**
  1806         */
  1766 		Trace output for the end of registering a client with the Resource Controller.
  1807         EDeRegisterClientUsStart,
  1767 
  1808         /**
  1768 		Trace data format:
  1809         Trace output for the end of registering a client with the Resource Controller.
  1769 		- 4 bytes containing the client identifier provided by the Resource Controller.
  1810 
  1770 		*/
  1811         Trace data format:
  1771 		EDeRegisterClientUsEnd,
  1812         - 4 bytes containing the client identifier provided by the Resource Controller.
  1772 		/**
  1813         */
  1773 		Trace output for the start of a GetResourceState request to the Resource Controller.
  1814         EDeRegisterClientUsEnd,
  1774 
  1815         /**
  1775 		Trace data format:
  1816         Trace output for the start of a GetResourceState request to the Resource Controller.
  1776 		- 4 bytes specifying the resource ID
  1817 
  1777 		- 4 bytes containing the client identifier provided by the Resource Controller.
  1818         Trace data format:
  1778 		- N bytes containing the client name, where 0 < N < 32
  1819         - 4 bytes specifying the resource ID
  1779 		*/
  1820         - 4 bytes containing the client identifier provided by the Resource Controller.
  1780 		EGetResourceStateUsStart,
  1821         - 4 bytes containing the length of client name.
  1781 		/**
  1822         - N bytes containing the client name, where 0 < N < 32
  1782 		Trace output for the end of a GetResourceState request to the Resource Controller.
  1823         */
  1783 
  1824         EGetResourceStateUsStart,
  1784 		Trace data format:
  1825         /**
  1785 		- 4 bytes specifying the resource ID
  1826         Trace output for the end of a GetResourceState request to the Resource Controller.
  1786 		- 4 bytes specifying the resource level
  1827 
  1787 		- 4 bytes containing the client identifier
  1828         Trace data format:
  1788 		- 4 bytes specifying the success code returned by the Resource Controller.
  1829         - 4 bytes specifying the resource ID
  1789 		*/
  1830         - 4 bytes specifying the resource level
  1790 		EGetResourceStateUsEnd,
  1831         - 4 bytes containing the client identifier
  1791 		/**
  1832         - 4 bytes specifying the success code returned by the Resource Controller.
  1792 		Trace output for the start of a ChangeResourceState request to the Resource Controller.
  1833         */
  1793 
  1834         EGetResourceStateUsEnd,
  1794 		Trace data format:
  1835         /**
  1795 		- 4 bytes specifying the resource ID
  1836         Trace output for the start of a ChangeResourceState request to the Resource Controller.
  1796 		- 4 bytes specifying the required state
  1837 
  1797 		- N bytes containing the client name, where 0 < N < 32
  1838         Trace data format:
  1798 		- 4 bytes containing the client identifier provided by the Resource Controller.
  1839         - 4 bytes specifying the resource ID
  1799 		*/
  1840         - 4 bytes specifying the required state
  1800 		ESetResourceStateUsStart,
  1841         - 4 bytes containing the client identifier provided by the Resource Controller.
  1801 		/**
  1842         - 4 bytes containing the length of client name.
  1802 		Trace output for the end of a ChangeResourceState request to the Resource Controller.
  1843         - N bytes containing the client name, where 0 < N < 32
  1803 
  1844         */
  1804 		Trace data format:
  1845         ESetResourceStateUsStart,
  1805 		- 4 bytes specifying the resource ID
  1846         /**
  1806 		- 4 bytes specifying the requested state
  1847         Trace output for the end of a ChangeResourceState request to the Resource Controller.
  1807 		- 4 bytes containing the client identifier
  1848 
  1808 		- 4 bytes specifying the success code returned by the Resource Controller.
  1849         Trace data format:
  1809 		*/
  1850         - 4 bytes specifying the resource ID
  1810 		ESetResourceStateUsEnd,
  1851         - 4 bytes specifying the requested state
  1811 		/**
  1852         - 4 bytes containing the client identifier
  1812 		Trace output for the start of a cancel GetResourceState request to the Resource Controller.
  1853         - 4 bytes specifying the success code returned by the Resource Controller.
  1813 
  1854         */
  1814 		Trace data format:
  1855         ESetResourceStateUsEnd,
  1815 		- 4 bytes specifying the resource ID
  1856         /**
  1816 		- 4 bytes containing the client identifier provided by the Resource Controller.
  1857         Trace output for the start of a cancel GetResourceState request to the Resource Controller.
  1817 		- N bytes containing the client name, where 0 < N < 32
  1858 
  1818 		*/
  1859         Trace data format:
  1819 		ECancelGetResourceStateUsStart,
  1860         - 4 bytes specifying the resource ID
  1820 		/**
  1861         - 4 bytes containing the client identifier provided by the Resource Controller.
  1821 		Trace output for the end of a cancel GetResourceState request to the Resource Controller.
  1862         - 4 bytes containing the length of client name.
  1822 
  1863         - N bytes containing the client name, where 0 < N < 32
  1823 		Trace data format:
  1864         */
  1824 		- 4 bytes specifying the resource ID
  1865         ECancelGetResourceStateUsStart,
  1825 		- 4 bytes containing the client identifier provided by the Resource Controller.
  1866         /**
  1826 		- N bytes containing the client name, where 0 < N < 32
  1867         Trace output for the end of a cancel GetResourceState request to the Resource Controller.
  1827 		*/
  1868 
  1828 		ECancelGetResourceStateUsEnd,
  1869         Trace data format:
  1829 		/**
  1870         - 4 bytes specifying the resource ID
  1830 		Trace output for the start of a cancel ChangeResourceState request to the Resource Controller.
  1871         - 4 bytes containing the client identifier provided by the Resource Controller.
  1831 
  1872         - 4 bytes containing the length of client name.
  1832 		Trace data format:
  1873         - N bytes containing the client name, where 0 < N < 32
  1833 		- 4 bytes specifying the resource ID
  1874         */
  1834 		- 4 bytes containing the client identifier provided by the Resource Controller.
  1875         ECancelGetResourceStateUsEnd,
  1835 		- N bytes containing the client name, where 0 < N < 32
  1876         /**
  1836 		*/
  1877         Trace output for the start of a cancel ChangeResourceState request to the Resource Controller.
  1837 		ECancelSetResourceStateUsStart,
  1878 
  1838 		/**
  1879         Trace data format:
  1839 		Trace output for the end of a cancel ChangeResourceState request to the Resource Controller.
  1880         - 4 bytes specifying the resource ID
  1840 
  1881         - 4 bytes containing the client identifier provided by the Resource Controller.
  1841 		Trace data format:
  1882         - 4 bytes containing the length of client name.
  1842 		- 4 bytes specifying the resource ID
  1883         - N bytes containing the client name, where 0 < N < 32
  1843 		- 4 bytes containing the client identifier provided by the Resource Controller.
  1884         */
  1844 		- N bytes containing the client name, where 0 < N < 32
  1885         ECancelSetResourceStateUsStart,
  1845 		*/
  1886         /**
  1846 		ECancelSetResourceStateUsEnd
  1887         Trace output for the end of a cancel ChangeResourceState request to the Resource Controller.
  1847 		};
  1888 
  1848 
  1889         Trace data format:
  1849 	/**
  1890         - 4 bytes specifying the resource ID
  1850 	Enumeration of sub-category values for trace category EThreadPriority.
  1891         - 4 bytes containing the client identifier provided by the Resource Controller.
  1851 	@see EThreadPriority
  1892         - 4 bytes containing the length of client name.
  1852 	@internalTechnology
  1893         - N bytes containing the client name, where 0 < N < 32
       
  1894         */
       
  1895         ECancelSetResourceStateUsEnd
       
  1896         };
       
  1897 
       
  1898     /**
       
  1899     Enumeration of sub-category values for trace category EThreadPriority.
       
  1900     @see EThreadPriority
       
  1901     @internalTechnology
       
  1902     @prototype 9.3
  1853     @prototype 9.3
  1903     */
  1854 	*/
  1904     enum TThreadPriority
  1855 	enum TThreadPriority
  1905         {
  1856 		{
  1906         /**
  1857 		/**
  1907         Trace output when a nanothread priority is changed.
  1858 		Trace output when a nanothread priority is changed.
  1908 
  1859 
  1909         Trace data format:
  1860 		Trace data format:
  1910         - 4 bytes containing the context id (an NThread*) for the thread whose priority is changing.
  1861 		- 4 bytes containing the context id (an NThread*) for the thread whose priority is changing.
  1911         - 4 bytes containing the new absolute priority.
  1862 		- 4 bytes containing the new absolute priority.
  1912         */
  1863 		*/
  1913         ENThreadPriority=0,
  1864 		ENThreadPriority=0,
  1914 
  1865 
  1915         /**
  1866 		/**
  1916         Trace output when a DThread's default priority is set.
  1867 		Trace output when a DThread's default priority is set.
  1917 
  1868 
  1918         Trace data format:
  1869 		Trace data format:
  1919         - 4 bytes containing the context id (an NThread*) for the thread whose priority is changing.
  1870 		- 4 bytes containing the context id (an NThread*) for the thread whose priority is changing.
  1920         - 4 bytes containing the iThreadPriority member - a value from enum ::TThrdPriority.
  1871 		- 4 bytes containing the iThreadPriority member - a value from enum ::TThrdPriority.
  1921         - 4 bytes containing the new default absolute priority.
  1872 		- 4 bytes containing the new default absolute priority.
  1922         */
  1873 		*/
  1923         EDThreadPriority=1,
  1874 		EDThreadPriority=1,
  1924 
  1875 
  1925         /**
  1876 		/**
  1926         Trace output when a DProcess priority is changed.
  1877 		Trace output when a DProcess priority is changed.
  1927 
  1878 
  1928         Trace data format:
  1879 		Trace data format:
  1929         - 4 bytes containing trace id (a DProcess*) for process.
  1880 		- 4 bytes containing trace id (a DProcess*) for process.
  1930         - 4 bytes containing the new process priority, a value from enum ::TProcPriority
  1881 		- 4 bytes containing the new process priority, a value from enum ::TProcPriority
  1931         */
  1882 		*/
  1932         EProcessPriority=2
  1883 		EProcessPriority=2
  1933         };
  1884 		};
  1934 
  1885 
  1935 	/**
  1886 	/**
  1936 	Enumeration of sub-category values for trace category EPagingMedia.
  1887 	Enumeration of sub-category values for trace category EPagingMedia.
  1937 	@see EPagingMedia
  1888 	@see EPagingMedia
  1938 	*/
  1889 	*/
  2536 		*/
  2487 		*/
  2537 		ERamAllocZoneContiguousRam,
  2488 		ERamAllocZoneContiguousRam,
  2538 
  2489 
  2539 		/**
  2490 		/**
  2540 		Event generated when DRamAllocator::ZoneAllocRamPages has successfully
  2491 		Event generated when DRamAllocator::ZoneAllocRamPages has successfully
  2541 		allocated all the requested RAM pages.	If DRamAllocator::ZoneAllocRamPages
  2492 		allocated all the requested RAM pages.  If DRamAllocator::ZoneAllocRamPages
  2542 		couldn't allocate all the requested pages then this event is not generated.
  2493 		couldn't allocate all the requested pages then this event is not generated.
  2543 
  2494 
  2544 		Trace data format:
  2495 		Trace data format:
  2545 		- no extra bytes sent
  2496 		- no extra bytes sent
  2546 		*/
  2497 		*/
  2636 		ECpuIdfcSample,
  2587 		ECpuIdfcSample,
  2637 
  2588 
  2638 		/**
  2589 		/**
  2639 		CPU sample from non-Symbian thread.
  2590 		CPU sample from non-Symbian thread.
  2640 
  2591 
  2641 		Trace data format:
  2592   		Trace data format:
  2642 		- no extra bytes are sent
  2593 		- no extra bytes are sent
  2643 		*/
  2594 		*/
  2644 		ECpuNonSymbianThreadSample
  2595 		ECpuNonSymbianThreadSample
  2645 
  2596 
  2646 		};
  2597 		};
  2681 		--4 bytes containining the X co-ordinate
  2632 		--4 bytes containining the X co-ordinate
  2682 		--4 bytes containining the Y co-ordinate
  2633 		--4 bytes containining the Y co-ordinate
  2683 		--4 bytes containining the Z co-ordinate
  2634 		--4 bytes containining the Z co-ordinate
  2684 		--4 bytes containining the PointerNumber
  2635 		--4 bytes containining the PointerNumber
  2685 
  2636 
  2686 		if there are  7*4 byte data
  2637   		if there are  7*4 byte data
  2687 		- 4 bytes containing the event type
  2638 		- 4 bytes containing the event type
  2688 		--4 bytes containining the X co-ordinate
  2639 		--4 bytes containining the X co-ordinate
  2689 		--4 bytes containining the Y co-ordinate
  2640 		--4 bytes containining the Y co-ordinate
  2690 		--4 bytes containining the Z co-ordinate
  2641 		--4 bytes containining the Z co-ordinate
  2691 		--4 bytes containining the Phi polar coordinate.
  2642 		--4 bytes containining the Phi polar coordinate.
  2927 		EMemoryMappingDestroy,
  2878 		EMemoryMappingDestroy,
  2928 
  2879 
  2929 		// The following traces associate memory model objects with the kernel objects that use them
  2880 		// The following traces associate memory model objects with the kernel objects that use them
  2930 
  2881 
  2931 		/**
  2882 		/**
  2932 		A memory object is being used for the contents of a chunk.
  2883 	    A memory object is being used for the contents of a chunk.
  2933 
  2884 
  2934 		Trace data format:
  2885 		Trace data format:
  2935 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2886 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2936 		- 4 bytes containing the chunk id (a DChunk*)
  2887 		- 4 bytes containing the chunk id (a DChunk*)
  2937 		*/
  2888 		*/
  2938 		EMemoryObjectIsChunk,
  2889 		EMemoryObjectIsChunk,
  2939 
  2890 
  2940 		/**
  2891 		/**
  2941 		A memory object is being used for the contents of a code segment.
  2892 	    A memory object is being used for the contents of a code segment.
  2942 
  2893 
  2943 		Trace data format:
  2894 		Trace data format:
  2944 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2895 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2945 		- 4 bytes containing the code segment id (a DCodeSeg*)
  2896 		- 4 bytes containing the code segment id (a DCodeSeg*)
  2946 		*/
  2897 		*/
  2947 		EMemoryObjectIsCodeSeg,
  2898 		EMemoryObjectIsCodeSeg,
  2948 
  2899 
  2949 		/**
  2900 		/**
  2950 		A memory object is being used for process static data.
  2901 	    A memory object is being used for process static data.
  2951 
  2902 
  2952 		Trace data format:
  2903 		Trace data format:
  2953 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2904 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2954 		- 4 bytes containing the process id (a DProcess*)
  2905 		- 4 bytes containing the process id (a DProcess*)
  2955 		*/
  2906 		*/
  2956 		EMemoryObjectIsProcessStaticData,
  2907 		EMemoryObjectIsProcessStaticData,
  2957 
  2908 
  2958 		/**
  2909 		/**
  2959 		A memory object is being used for DLL static data.
  2910 	    A memory object is being used for DLL static data.
  2960 
  2911 
  2961 		Trace data format:
  2912 		Trace data format:
  2962 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2913 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2963 		- 4 bytes containing the code segment id (a DCodeSeg*)
  2914 		- 4 bytes containing the code segment id (a DCodeSeg*)
  2964 		- 4 bytes containing the process id (a DProcess*)
  2915 		- 4 bytes containing the process id (a DProcess*)
  2965 		*/
  2916 		*/
  2966 		EMemoryObjectIsDllStaticData,
  2917 		EMemoryObjectIsDllStaticData,
  2967 
  2918 
  2968 		/**
  2919 		/**
  2969 		A memory object is being used for a thread's supervisor stack.
  2920 	    A memory object is being used for a thread's supervisor stack.
  2970 
  2921 
  2971 		Trace data format:
  2922 		Trace data format:
  2972 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2923 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2973 		- 4 bytes containing the thread id (a DThread*)
  2924 		- 4 bytes containing the thread id (a DThread*)
  2974 		*/
  2925 		*/
  2975 		EMemoryObjectIsSupervisorStack,
  2926 		EMemoryObjectIsSupervisorStack,
  2976 
  2927 
  2977 		/**
  2928 		/**
  2978 		A memory object is being used for a thread's user stack.
  2929 	    A memory object is being used for a thread's user stack.
  2979 
  2930 
  2980 		Trace data format:
  2931 		Trace data format:
  2981 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2932 		- 4 bytes containing the memory object id (a DMemoryObject*).
  2982 		- 4 bytes containing the thread id (a DThread*)
  2933 		- 4 bytes containing the thread id (a DThread*)
  2983 		*/
  2934 		*/
  2992 		- 2 spare bytes, currently zero
  2943 		- 2 spare bytes, currently zero
  2993 		*/
  2944 		*/
  2994 		EAddressSpaceId
  2945 		EAddressSpaceId
  2995 		};
  2946 		};
  2996 
  2947 
  2997 	/**
  2948     /**
  2998 	Enumeration of sub-category values for trace category EIic.
  2949 	Enumeration of sub-category values for trace category EIic.
  2999 	@see EIic
  2950 	@see EIic
  3000 	@prototype 9.6
  2951     @prototype 9.6
  3001 	*/
  2952 	*/
  3002 	enum TIic
  2953 	enum TIic
  3003 		{
  2954 		{
  3004 		/**
  2955 		/**
  3005 		Trace output for the invocation by the PSL of registering an array of pointers to channels with the IIC bus controller.
  2956 		Trace output for the invocation by the PSL of registering an array of pointers to channels with the IIC bus controller.
  3491 		*/
  3442 		*/
  3492 		ESStatExtEndPil = 51
  3443 		ESStatExtEndPil = 51
  3493 		};
  3444 		};
  3494 
  3445 
  3495 	/**
  3446 	/**
  3496 	Enumeration of sub-category values for trace category EHSched.
       
  3497 	@see EHSched
       
  3498 	@prototype 9.6
       
  3499 	*/
       
  3500 	enum THSched
       
  3501 		{
       
  3502 		/**
       
  3503 		Trace output when a thread has been processed by the load balancer
       
  3504 		Trace data format:
       
  3505 		- 4 bytes containing pointer to thread
       
  3506 		- 4 bytes containing flags indicating result of balancing
       
  3507 		*/
       
  3508 		ELbDone = 0,
       
  3509 		};
       
  3510 
       
  3511 	/**
       
  3512 	Calculate the address of the next trace record.
  3447 	Calculate the address of the next trace record.
  3513 	@param aCurrentRecord A pointer to a trace record.
  3448 	@param aCurrentRecord A pointer to a trace record.
  3514 	@return The address of the trace record which follows aCurrentRecord.
  3449 	@return The address of the trace record which follows aCurrentRecord.
  3515 	*/
  3450 	*/
  3516 	inline static TUint8* NextRecord(TAny* aCurrentRecord);
  3451 	inline static TUint8* NextRecord(TAny* aCurrentRecord);
  3535 
  3470 
  3536 	The handler function should output all values which are appropriate for the
  3471 	The handler function should output all values which are appropriate for the
  3537 	trace as specified in aHeader.
  3472 	trace as specified in aHeader.
  3538 
  3473 
  3539 	@param aHeader	The 4 bytes for the trace header.
  3474 	@param aHeader	The 4 bytes for the trace header.
  3540 	@param aHeader2 The second header word.
  3475 	@param aHeader2	The second header word.
  3541 					(If EHeader2Present is set in the header flags.)
  3476 					(If EHeader2Present is set in the header flags.)
  3542 	@param aContext The context id.
  3477 	@param aContext	The context id.
  3543 					(If EContextIdPresent is set in the header flags.)
  3478 					(If EContextIdPresent is set in the header flags.)
  3544 	@param a1		The first four bytes of trace data.
  3479 	@param a1		The first four bytes of trace data.
  3545 					(Only if the header size indicates that this is present.)
  3480 					(Only if the header size indicates that this is present.)
  3546 	@param a2		The second four bytes of trace data.
  3481 	@param a2		The second four bytes of trace data.
  3547 					(Only if the header size indicates that this is present.)
  3482 					(Only if the header size indicates that this is present.)
  3553 	@param aExtra	The 'extra' value.
  3488 	@param aExtra	The 'extra' value.
  3554 					(If EExtraPresent is set in the header flags.)
  3489 					(If EExtraPresent is set in the header flags.)
  3555 	@param aPc		The Program Counter value.
  3490 	@param aPc		The Program Counter value.
  3556 					(If EPcPresent is set in the header flags.)
  3491 					(If EPcPresent is set in the header flags.)
  3557 
  3492 
  3558 	@return 		True, if the trace handler is enabled and outputting trace.
  3493 	@return			True, if the trace handler is enabled and outputting trace.
  3559 					False otherwise.
  3494 					False otherwise.
  3560 
  3495 
  3561 	Here is an example implementation of a trace handler:
  3496 	Here is an example implementation of a trace handler:
  3562 
  3497 
  3563 	@code
  3498 	@code
  3669 
  3604 
  3670 
  3605 
  3671 	/**
  3606 	/**
  3672 	Set the secondary trace filter to include only the specified UIDs.
  3607 	Set the secondary trace filter to include only the specified UIDs.
  3673 
  3608 
  3674 	@param aUids	Pointer to array of UIDs.
  3609 	@param aUids    Pointer to array of UIDs.
  3675 	@param aNumUids Number of UID values pointer to by \a aUid.
  3610 	@param aNumUids Number of UID values pointer to by \a aUid.
  3676 
  3611 
  3677 	@return KErrNone on success.
  3612 	@return KErrNone on success.
  3678 			Otherwise, a negative number representing a system wide error code.
  3613 			Otherwise, a negative number representing a system wide error code.
  3679 			(E.g. KErrNoMemory.)
  3614 			(E.g. KErrNoMemory.)
  3706 
  3641 
  3707 
  3642 
  3708 	/**
  3643 	/**
  3709 	Get the contents of the secondary trace filter.
  3644 	Get the contents of the secondary trace filter.
  3710 
  3645 
  3711 	@param[out] aUids	Pointer to array of UIDs contained in the secondary filter.
  3646 	@param[out] aUids   Pointer to array of UIDs contained in the secondary filter.
  3712 						Ownership of this array is passed to the caller of this
  3647 						Ownership of this array is passed to the caller of this
  3713 						function, which is then responsible for deleting it.
  3648 						function, which is then responsible for deleting it.
  3714 						If filter is empty, \a aUid equals zero.
  3649 						If filter is empty, \a aUid equals zero.
  3715 	@param[out] aGlobalFilter	Set to 1 if the secondary filter passes all traces.
  3650 	@param[out] aGlobalFilter	Set to 1 if the secondary filter passes all traces.
  3716 								Set to 0 if the secondary filter rejects all traces.
  3651 								Set to 0 if the secondary filter rejects all traces.
  3719 	@return Number of UIDs in returned array, if operation is successful.
  3654 	@return Number of UIDs in returned array, if operation is successful.
  3720 			Otherwise, a negative number representing a system wide error code.
  3655 			Otherwise, a negative number representing a system wide error code.
  3721 
  3656 
  3722 
  3657 
  3723 	@pre Call in a thread context.
  3658 	@pre Call in a thread context.
  3724 	@pre Calling thread must be in a critical section.
  3659     @pre Calling thread must be in a critical section.
  3725 
  3660 
  3726 	@publishedPartner
  3661 	@publishedPartner
  3727 	@released
  3662 	@released
  3728 	*/
  3663 	*/
  3729 	IMPORT_C static TInt Filter2(TUint32*& aUids, TInt& aGlobalFilter);
  3664 	IMPORT_C static TInt Filter2(TUint32*& aUids, TInt& aGlobalFilter);
  3871 	and filter UID would be output.
  3806 	and filter UID would be output.
  3872 
  3807 
  3873 	@param aCategory  A category value from enum BTrace::TCategory.
  3808 	@param aCategory  A category value from enum BTrace::TCategory.
  3874 					  Only the 8 least significant bits in this value are used;
  3809 					  Only the 8 least significant bits in this value are used;
  3875 					  other bits are ignored.
  3810 					  other bits are ignored.
  3876 	@param aUid 	  A UID to filter on.
  3811 	@param aUid       A UID to filter on.
  3877 
  3812 
  3878 	@return True if a trace with this specification would be passed by the filters.
  3813 	@return True if a trace with this specification would be passed by the filters.
  3879 			False if a trace with this specification would be dropped by the filters.
  3814 			False if a trace with this specification would be dropped by the filters.
  3880 
  3815 
  3881 	@publishedPartner
  3816 	@publishedPartner
  3949 	static void Init0();
  3884 	static void Init0();
  3950 
  3885 
  3951 	/**
  3886 	/**
  3952 	@internalComponent
  3887 	@internalComponent
  3953 	*/
  3888 	*/
       
  3889 	typedef TBool(*TBTrace1)(TUint32);
       
  3890 
       
  3891 	/**
       
  3892 	@internalComponent
       
  3893 	*/
       
  3894 	typedef TBool(*TBTrace2)(TUint32,TUint32);
       
  3895 
       
  3896 	/**
       
  3897 	@internalComponent
       
  3898 	*/
       
  3899 	typedef TBool(*TBTrace3)(TUint32,TUint32,TUint32);
       
  3900 
       
  3901 	/**
       
  3902 	@internalComponent
       
  3903 	*/
  3954 	struct SExecExtension
  3904 	struct SExecExtension
  3955 		{
  3905 		{
  3956 		TUint32 iA2;
  3906 		TUint32	iA2;
  3957 		TUint32 iA3;
  3907 		TUint32	iA3;
  3958 		TUint32 iPc;
  3908 		TUint32	iPc;
  3959 		};
  3909 		};
  3960 
  3910 
  3961 	/**
  3911 	/**
  3962 	@internalComponent
  3912 	@internalComponent
  3963 	*/
  3913 	*/
  4022 //
  3972 //
  4023 
  3973 
  4024 /**
  3974 /**
  4025 @internalComponent
  3975 @internalComponent
  4026 */
  3976 */
  4027 #define BTRACE_HEADER(aSize,aCategory,aSubCategory) 		\
  3977 #define BTRACE_HEADER(aSize,aCategory,aSubCategory)			\
  4028 	(((aSize)<<BTrace::ESizeIndex*8)							\
  3978 	(((aSize)<<BTrace::ESizeIndex*8)							\
  4029 	+((aCategory)<<BTrace::ECategoryIndex*8)					\
  3979 	+((aCategory)<<BTrace::ECategoryIndex*8)					\
  4030 	+((aSubCategory)<<BTrace::ESubCategoryIndex*8))
  3980 	+((aSubCategory)<<BTrace::ESubCategoryIndex*8))
  4031 
  3981 
  4032 /**
  3982 /**
  4070 @return True if trace is enabled for aCategory, false otherwise.
  4020 @return True if trace is enabled for aCategory, false otherwise.
  4071 @publishedPartner
  4021 @publishedPartner
  4072 @released
  4022 @released
  4073 */
  4023 */
  4074 #define BTrace0(aCategory,aSubCategory) \
  4024 #define BTrace0(aCategory,aSubCategory) \
  4075 	BTrace::Out \
  4025 	((BTrace::TBTrace1)BTrace::Out) \
  4076 		(BTRACE_HEADER(4,(aCategory),(aSubCategory)),0,0,0)
  4026 		(BTRACE_HEADER(4,(aCategory),(aSubCategory)))
  4077 
  4027 
  4078 /**
  4028 /**
  4079 Output a trace record of the specified category.
  4029 Output a trace record of the specified category.
  4080 
  4030 
  4081 The trace record data is 4 bytes in size.
  4031 The trace record data is 4 bytes in size.
  4088 @return True if trace is enabled for aCategory, false otherwise.
  4038 @return True if trace is enabled for aCategory, false otherwise.
  4089 @publishedPartner
  4039 @publishedPartner
  4090 @released
  4040 @released
  4091 */
  4041 */
  4092 #define BTrace4(aCategory,aSubCategory,a1) \
  4042 #define BTrace4(aCategory,aSubCategory,a1) \
  4093 	BTrace::Out \
  4043 	((BTrace::TBTrace2)BTrace::Out) \
  4094 		(BTRACE_HEADER(8,(aCategory),(aSubCategory)),(TUint32)(a1),0,0)
  4044 		(BTRACE_HEADER(8,(aCategory),(aSubCategory)),(TUint32)(a1))
  4095 
  4045 
  4096 /**
  4046 /**
  4097 Output a trace record of the specified category.
  4047 Output a trace record of the specified category.
  4098 
  4048 
  4099 The trace record data is 8 bytes in size.
  4049 The trace record data is 8 bytes in size.
  4107 @return True if trace is enabled for aCategory, false otherwise.
  4057 @return True if trace is enabled for aCategory, false otherwise.
  4108 @publishedPartner
  4058 @publishedPartner
  4109 @released
  4059 @released
  4110 */
  4060 */
  4111 #define BTrace8(aCategory,aSubCategory,a1,a2) \
  4061 #define BTrace8(aCategory,aSubCategory,a1,a2) \
  4112 	BTrace::Out \
  4062 	((BTrace::TBTrace3)BTrace::Out) \
  4113 		(BTRACE_HEADER(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2),0)
  4063 		(BTRACE_HEADER(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2))
  4114 
  4064 
  4115 /**
  4065 /**
  4116 Output a trace record of the specified category.
  4066 Output a trace record of the specified category.
  4117 
  4067 
  4118 The trace record data is 12 bytes in size.
  4068 The trace record data is 12 bytes in size.
  4190 @return True if trace is enabled for aCategory, false otherwise.
  4140 @return True if trace is enabled for aCategory, false otherwise.
  4191 @publishedPartner
  4141 @publishedPartner
  4192 @released
  4142 @released
  4193 */
  4143 */
  4194 #define BTraceContext0(aCategory,aSubCategory) \
  4144 #define BTraceContext0(aCategory,aSubCategory) \
  4195 	BTrace::OutX \
  4145 	((BTrace::TBTrace1)BTrace::OutX) \
  4196 		(BTRACE_HEADER_C(4,(aCategory),(aSubCategory)),0,0,0)
  4146 		(BTRACE_HEADER_C(4,(aCategory),(aSubCategory)))
  4197 
  4147 
  4198 /**
  4148 /**
  4199 Output a trace record of the specified category which also includes a Context ID.
  4149 Output a trace record of the specified category which also includes a Context ID.
  4200 
  4150 
  4201 The trace record data is 4 bytes in size.
  4151 The trace record data is 4 bytes in size.
  4208 @return True if trace is enabled for aCategory, false otherwise.
  4158 @return True if trace is enabled for aCategory, false otherwise.
  4209 @publishedPartner
  4159 @publishedPartner
  4210 @released
  4160 @released
  4211 */
  4161 */
  4212 #define BTraceContext4(aCategory,aSubCategory,a1) \
  4162 #define BTraceContext4(aCategory,aSubCategory,a1) \
  4213 	BTrace::OutX \
  4163 	((BTrace::TBTrace2)BTrace::OutX) \
  4214 		(BTRACE_HEADER_C(8,(aCategory),(aSubCategory)),(TUint32)(a1),0,0)
  4164 		(BTRACE_HEADER_C(8,(aCategory),(aSubCategory)),(TUint32)(a1))
  4215 
  4165 
  4216 /**
  4166 /**
  4217 Output a trace record of the specified category which also includes a Context ID.
  4167 Output a trace record of the specified category which also includes a Context ID.
  4218 
  4168 
  4219 The trace record data is 8 bytes in size.
  4169 The trace record data is 8 bytes in size.
  4227 @return True if trace is enabled for aCategory, false otherwise.
  4177 @return True if trace is enabled for aCategory, false otherwise.
  4228 @publishedPartner
  4178 @publishedPartner
  4229 @released
  4179 @released
  4230 */
  4180 */
  4231 #define BTraceContext8(aCategory,aSubCategory,a1,a2) \
  4181 #define BTraceContext8(aCategory,aSubCategory,a1,a2) \
  4232 	BTrace::OutX \
  4182 	((BTrace::TBTrace3)BTrace::OutX) \
  4233 		(BTRACE_HEADER_C(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2),0)
  4183 		(BTRACE_HEADER_C(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2))
  4234 
  4184 
  4235 /**
  4185 /**
  4236 Output a trace record of the specified category which also includes a Context ID.
  4186 Output a trace record of the specified category which also includes a Context ID.
  4237 
  4187 
  4238 The trace record data is 12 bytes in size.
  4188 The trace record data is 12 bytes in size.
  4310 @return True if trace is enabled for aCategory, false otherwise.
  4260 @return True if trace is enabled for aCategory, false otherwise.
  4311 @publishedPartner
  4261 @publishedPartner
  4312 @released
  4262 @released
  4313 */
  4263 */
  4314 #define BTracePc0(aCategory,aSubCategory) \
  4264 #define BTracePc0(aCategory,aSubCategory) \
  4315 	BTrace::Out \
  4265 	((BTrace::TBTrace1)BTrace::Out) \
  4316 		(BTRACE_HEADER_P(4,(aCategory),(aSubCategory)),0,0,0)
  4266 		(BTRACE_HEADER_P(4,(aCategory),(aSubCategory)))
  4317 
  4267 
  4318 /**
  4268 /**
  4319 Output a trace record of the specified category which also includes a Program Counter value.
  4269 Output a trace record of the specified category which also includes a Program Counter value.
  4320 
  4270 
  4321 The trace record data is 4 bytes in size.
  4271 The trace record data is 4 bytes in size.
  4328 @return True if trace is enabled for aCategory, false otherwise.
  4278 @return True if trace is enabled for aCategory, false otherwise.
  4329 @publishedPartner
  4279 @publishedPartner
  4330 @released
  4280 @released
  4331 */
  4281 */
  4332 #define BTracePc4(aCategory,aSubCategory,a1)	\
  4282 #define BTracePc4(aCategory,aSubCategory,a1)	\
  4333 	BTrace::Out \
  4283 	((BTrace::TBTrace2)BTrace::Out) \
  4334 		(BTRACE_HEADER_P(8,(aCategory),(aSubCategory)),(TUint32)(a1),0,0)
  4284 		(BTRACE_HEADER_P(8,(aCategory),(aSubCategory)),(TUint32)(a1))
  4335 
  4285 
  4336 /**
  4286 /**
  4337 Output a trace record of the specified category which also includes a Program Counter value.
  4287 Output a trace record of the specified category which also includes a Program Counter value.
  4338 
  4288 
  4339 The trace record data is 8 bytes in size.
  4289 The trace record data is 8 bytes in size.
  4347 @return True if trace is enabled for aCategory, false otherwise.
  4297 @return True if trace is enabled for aCategory, false otherwise.
  4348 @publishedPartner
  4298 @publishedPartner
  4349 @released
  4299 @released
  4350 */
  4300 */
  4351 #define BTracePc8(aCategory,aSubCategory,a1,a2) \
  4301 #define BTracePc8(aCategory,aSubCategory,a1,a2) \
  4352 	BTrace::Out \
  4302 	((BTrace::TBTrace3)BTrace::Out) \
  4353 		(BTRACE_HEADER_P(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2),0)
  4303 		(BTRACE_HEADER_P(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2))
  4354 
  4304 
  4355 /**
  4305 /**
  4356 Output a trace record of the specified category which also includes a Program Counter value.
  4306 Output a trace record of the specified category which also includes a Program Counter value.
  4357 
  4307 
  4358 The trace record data is 12 bytes in size.
  4308 The trace record data is 12 bytes in size.
  4432 @return True if trace is enabled for aCategory, false otherwise.
  4382 @return True if trace is enabled for aCategory, false otherwise.
  4433 @publishedPartner
  4383 @publishedPartner
  4434 @released
  4384 @released
  4435 */
  4385 */
  4436 #define BTraceContextPc0(aCategory,aSubCategory)	\
  4386 #define BTraceContextPc0(aCategory,aSubCategory)	\
  4437 	BTrace::OutX \
  4387 	((BTrace::TBTrace1)BTrace::OutX) \
  4438 		(BTRACE_HEADER_CP(4,(aCategory),(aSubCategory)),0,0,0)
  4388 		(BTRACE_HEADER_CP(4,(aCategory),(aSubCategory)))
  4439 
  4389 
  4440 /**
  4390 /**
  4441 Output a trace record of the specified category which also includes
  4391 Output a trace record of the specified category which also includes
  4442 Context ID and Program Counter values.
  4392 Context ID and Program Counter values.
  4443 
  4393 
  4450 
  4400 
  4451 @return True if trace is enabled for aCategory, false otherwise.
  4401 @return True if trace is enabled for aCategory, false otherwise.
  4452 @publishedPartner
  4402 @publishedPartner
  4453 @released
  4403 @released
  4454 */
  4404 */
  4455 #define BTraceContextPc4(aCategory,aSubCategory,a1) \
  4405 #define BTraceContextPc4(aCategory,aSubCategory,a1)	\
  4456 	BTrace::OutX \
  4406 	((BTrace::TBTrace2)BTrace::OutX) \
  4457 		(BTRACE_HEADER_CP(8,(aCategory),(aSubCategory)),(TUint32)(a1),0,0)
  4407 		(BTRACE_HEADER_CP(8,(aCategory),(aSubCategory)),(TUint32)(a1))
  4458 
  4408 
  4459 /**
  4409 /**
  4460 Output a trace record of the specified category which also includes
  4410 Output a trace record of the specified category which also includes
  4461 Context ID and Program Counter values.
  4411 Context ID and Program Counter values.
  4462 
  4412 
  4471 @return True if trace is enabled for aCategory, false otherwise.
  4421 @return True if trace is enabled for aCategory, false otherwise.
  4472 @publishedPartner
  4422 @publishedPartner
  4473 @released
  4423 @released
  4474 */
  4424 */
  4475 #define BTraceContextPc8(aCategory,aSubCategory,a1,a2) \
  4425 #define BTraceContextPc8(aCategory,aSubCategory,a1,a2) \
  4476 	BTrace::OutX \
  4426 	((BTrace::TBTrace3)BTrace::OutX) \
  4477 		(BTRACE_HEADER_CP(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2),0)
  4427 		(BTRACE_HEADER_CP(12,(aCategory),(aSubCategory)),(TUint32)(a1),(TUint32)(a2))
  4478 
  4428 
  4479 /**
  4429 /**
  4480 Output a trace record of the specified category which also includes
  4430 Output a trace record of the specified category which also includes
  4481 Context ID and Program Counter values.
  4431 Context ID and Program Counter values.
  4482 
  4432 
  4553 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4503 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4554 
  4504 
  4555 @param aCategory	A value from enum BTrace::TCategory,
  4505 @param aCategory	A value from enum BTrace::TCategory,
  4556 @param aSubCategory Sub-category value between 0 and 255.
  4506 @param aSubCategory Sub-category value between 0 and 255.
  4557 					The meaning of this is dependent on the Category.
  4507 					The meaning of this is dependent on the Category.
  4558 @param aUid 		The 32bit quantity which forms the data of this trace record.
  4508 @param aUid			The 32bit quantity which forms the data of this trace record.
  4559 
  4509 
  4560 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4510 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4561 @publishedPartner
  4511 @publishedPartner
  4562 @released
  4512 @released
  4563 */
  4513 */
  4564 #define BTraceFiltered4(aCategory,aSubCategory,aUid) \
  4514 #define BTraceFiltered4(aCategory,aSubCategory,aUid) \
  4565 	BTrace::OutFiltered \
  4515 	((BTrace::TBTrace2)BTrace::OutFiltered) \
  4566 		(BTRACE_HEADER(8,(aCategory),(aSubCategory)),(TUint32)(aUid),0,0)
  4516 		(BTRACE_HEADER(8,(aCategory),(aSubCategory)),(TUint32)(aUid))
  4567 
  4517 
  4568 /**
  4518 /**
  4569 Output a trace record of the specified category.
  4519 Output a trace record of the specified category.
  4570 
  4520 
  4571 The trace record data is 8 bytes in size.
  4521 The trace record data is 8 bytes in size.
  4573 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4523 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4574 
  4524 
  4575 @param aCategory	A value from enum BTrace::TCategory,
  4525 @param aCategory	A value from enum BTrace::TCategory,
  4576 @param aSubCategory Sub-category value between 0 and 255.
  4526 @param aSubCategory Sub-category value between 0 and 255.
  4577 					The meaning of this is dependent on the Category.
  4527 					The meaning of this is dependent on the Category.
  4578 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4528 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4579 @param a1			The second 32bit quantity which forms the data of this trace record.
  4529 @param a1			The second 32bit quantity which forms the data of this trace record.
  4580 
  4530 
  4581 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4531 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4582 @publishedPartner
  4532 @publishedPartner
  4583 @released
  4533 @released
  4584 */
  4534 */
  4585 #define BTraceFiltered8(aCategory,aSubCategory,aUid,a1) \
  4535 #define BTraceFiltered8(aCategory,aSubCategory,aUid,a1) \
  4586 	BTrace::OutFiltered \
  4536 	((BTrace::TBTrace3)BTrace::OutFiltered) \
  4587 		(BTRACE_HEADER(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1),0)
  4537 		(BTRACE_HEADER(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1))
  4588 
  4538 
  4589 /**
  4539 /**
  4590 Output a trace record of the specified category.
  4540 Output a trace record of the specified category.
  4591 
  4541 
  4592 The trace record data is 12 bytes in size.
  4542 The trace record data is 12 bytes in size.
  4594 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4544 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4595 
  4545 
  4596 @param aCategory	A value from enum BTrace::TCategory,
  4546 @param aCategory	A value from enum BTrace::TCategory,
  4597 @param aSubCategory Sub-category value between 0 and 255.
  4547 @param aSubCategory Sub-category value between 0 and 255.
  4598 					The meaning of this is dependent on the Category.
  4548 					The meaning of this is dependent on the Category.
  4599 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4549 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4600 @param a1			The second 32bit quantity which forms the data of this trace record.
  4550 @param a1			The second 32bit quantity which forms the data of this trace record.
  4601 @param a2			The third 32bit quantity which forms the data of this trace record.
  4551 @param a2			The third 32bit quantity which forms the data of this trace record.
  4602 
  4552 
  4603 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4553 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4604 @publishedPartner
  4554 @publishedPartner
  4614 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4564 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4615 
  4565 
  4616 @param aCategory	A value from enum BTrace::TCategory,
  4566 @param aCategory	A value from enum BTrace::TCategory,
  4617 @param aSubCategory Sub-category value between 0 and 255.
  4567 @param aSubCategory Sub-category value between 0 and 255.
  4618 					The meaning of this is dependent on the Category.
  4568 					The meaning of this is dependent on the Category.
  4619 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4569 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4620 @param a1			The second 32bit quantity which forms the data of this trace record.
  4570 @param a1			The second 32bit quantity which forms the data of this trace record.
  4621 @param aData		Address of addition data to add to trace.
  4571 @param aData		Address of addition data to add to trace.
  4622 					Must be word aligned, i.e. a multiple of 4.
  4572 					Must be word aligned, i.e. a multiple of 4.
  4623 @param aDataSize	Number of bytes of additional data. If this value is greater than
  4573 @param aDataSize	Number of bytes of additional data. If this value is greater than
  4624 					KMaxBTraceDataArray then data is truncated to this size and the
  4574 					KMaxBTraceDataArray then data is truncated to this size and the
  4641 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4591 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4642 
  4592 
  4643 @param aCategory	A value from enum BTrace::TCategory,
  4593 @param aCategory	A value from enum BTrace::TCategory,
  4644 @param aSubCategory Sub-category value between 0 and 255.
  4594 @param aSubCategory Sub-category value between 0 and 255.
  4645 					The meaning of this is dependent on the Category.
  4595 					The meaning of this is dependent on the Category.
  4646 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4596 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4647 @param aData		Address of addition data to add to trace.
  4597 @param aData		Address of addition data to add to trace.
  4648 					Must be word aligned, i.e. a multiple of 4.
  4598 					Must be word aligned, i.e. a multiple of 4.
  4649 @param aDataSize	Number of bytes of additional data.
  4599 @param aDataSize	Number of bytes of additional data.
  4650 
  4600 
  4651 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4601 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4666 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4616 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4667 
  4617 
  4668 @param aCategory	A value from enum BTrace::TCategory,
  4618 @param aCategory	A value from enum BTrace::TCategory,
  4669 @param aSubCategory Sub-category value between 0 and 255.
  4619 @param aSubCategory Sub-category value between 0 and 255.
  4670 					The meaning of this is dependent on the Category.
  4620 					The meaning of this is dependent on the Category.
  4671 @param aUid 		The 32bit quantity which forms the data of this trace record.
  4621 @param aUid			The 32bit quantity which forms the data of this trace record.
  4672 
  4622 
  4673 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4623 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4674 @publishedPartner
  4624 @publishedPartner
  4675 @released
  4625 @released
  4676 */
  4626 */
  4677 #define BTraceFilteredContext4(aCategory,aSubCategory,aUid) \
  4627 #define BTraceFilteredContext4(aCategory,aSubCategory,aUid) \
  4678 	BTrace::OutFilteredX \
  4628 	((BTrace::TBTrace2)BTrace::OutFilteredX) \
  4679 		(BTRACE_HEADER_C(8,(aCategory),(aSubCategory)),(TUint32)(aUid),0,0)
  4629 		(BTRACE_HEADER_C(8,(aCategory),(aSubCategory)),(TUint32)(aUid))
  4680 
  4630 
  4681 /**
  4631 /**
  4682 Output a trace record of the specified category which also includes a Context ID.
  4632 Output a trace record of the specified category which also includes a Context ID.
  4683 
  4633 
  4684 The trace record data is 8 bytes in size.
  4634 The trace record data is 8 bytes in size.
  4686 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4636 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4687 
  4637 
  4688 @param aCategory	A value from enum BTrace::TCategory,
  4638 @param aCategory	A value from enum BTrace::TCategory,
  4689 @param aSubCategory Sub-category value between 0 and 255.
  4639 @param aSubCategory Sub-category value between 0 and 255.
  4690 					The meaning of this is dependent on the Category.
  4640 					The meaning of this is dependent on the Category.
  4691 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4641 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4692 @param a1			The second 32bit quantity which forms the data of this trace record.
  4642 @param a1			The second 32bit quantity which forms the data of this trace record.
  4693 
  4643 
  4694 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4644 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4695 @publishedPartner
  4645 @publishedPartner
  4696 @released
  4646 @released
  4697 */
  4647 */
  4698 #define BTraceFilteredContext8(aCategory,aSubCategory,aUid,a1) \
  4648 #define BTraceFilteredContext8(aCategory,aSubCategory,aUid,a1) \
  4699 	BTrace::OutFilteredX \
  4649 	((BTrace::TBTrace3)BTrace::OutFilteredX) \
  4700 		(BTRACE_HEADER_C(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1),0)
  4650 		(BTRACE_HEADER_C(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1))
  4701 
  4651 
  4702 /**
  4652 /**
  4703 Output a trace record of the specified category which also includes a Context ID.
  4653 Output a trace record of the specified category which also includes a Context ID.
  4704 
  4654 
  4705 The trace record data is 12 bytes in size.
  4655 The trace record data is 12 bytes in size.
  4707 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4657 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4708 
  4658 
  4709 @param aCategory	A value from enum BTrace::TCategory,
  4659 @param aCategory	A value from enum BTrace::TCategory,
  4710 @param aSubCategory Sub-category value between 0 and 255.
  4660 @param aSubCategory Sub-category value between 0 and 255.
  4711 					The meaning of this is dependent on the Category.
  4661 					The meaning of this is dependent on the Category.
  4712 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4662 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4713 @param a1			The second 32bit quantity which forms the data of this trace record.
  4663 @param a1			The second 32bit quantity which forms the data of this trace record.
  4714 @param a2			The third 32bit quantity which forms the data of this trace record.
  4664 @param a2			The third 32bit quantity which forms the data of this trace record.
  4715 
  4665 
  4716 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4666 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4717 @publishedPartner
  4667 @publishedPartner
  4727 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4677 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4728 
  4678 
  4729 @param aCategory	A value from enum BTrace::TCategory,
  4679 @param aCategory	A value from enum BTrace::TCategory,
  4730 @param aSubCategory Sub-category value between 0 and 255.
  4680 @param aSubCategory Sub-category value between 0 and 255.
  4731 					The meaning of this is dependent on the Category.
  4681 					The meaning of this is dependent on the Category.
  4732 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4682 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4733 @param a1			The second 32bit quantity which forms the data of this trace record.
  4683 @param a1			The second 32bit quantity which forms the data of this trace record.
  4734 @param aData		Address of addition data to add to trace.
  4684 @param aData		Address of addition data to add to trace.
  4735 					Must be word aligned, i.e. a multiple of 4.
  4685 					Must be word aligned, i.e. a multiple of 4.
  4736 @param aDataSize	Number of bytes of additional data. If this value is greater than
  4686 @param aDataSize	Number of bytes of additional data. If this value is greater than
  4737 					KMaxBTraceDataArray then data is truncated to this size and the
  4687 					KMaxBTraceDataArray then data is truncated to this size and the
  4754 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4704 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4755 
  4705 
  4756 @param aCategory	A value from enum BTrace::TCategory,
  4706 @param aCategory	A value from enum BTrace::TCategory,
  4757 @param aSubCategory Sub-category value between 0 and 255.
  4707 @param aSubCategory Sub-category value between 0 and 255.
  4758 					The meaning of this is dependent on the Category.
  4708 					The meaning of this is dependent on the Category.
  4759 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4709 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4760 @param aData		Address of addition data to add to trace.
  4710 @param aData		Address of addition data to add to trace.
  4761 					Must be word aligned, i.e. a multiple of 4.
  4711 					Must be word aligned, i.e. a multiple of 4.
  4762 @param aDataSize	Number of bytes of additional data.
  4712 @param aDataSize	Number of bytes of additional data.
  4763 
  4713 
  4764 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4714 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4779 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4729 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4780 
  4730 
  4781 @param aCategory	A value from enum BTrace::TCategory,
  4731 @param aCategory	A value from enum BTrace::TCategory,
  4782 @param aSubCategory Sub-category value between 0 and 255.
  4732 @param aSubCategory Sub-category value between 0 and 255.
  4783 					The meaning of this is dependent on the Category.
  4733 					The meaning of this is dependent on the Category.
  4784 @param aUid 		The 32bit quantity which forms the data of this trace record.
  4734 @param aUid			The 32bit quantity which forms the data of this trace record.
  4785 
  4735 
  4786 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4736 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4787 @publishedPartner
  4737 @publishedPartner
  4788 @released
  4738 @released
  4789 */
  4739 */
  4790 #define BTraceFilteredPc4(aCategory,aSubCategory,aUid)	\
  4740 #define BTraceFilteredPc4(aCategory,aSubCategory,aUid)	\
  4791 	BTrace::OutFiltered \
  4741 	((BTrace::TBTrace2)BTrace::OutFiltered) \
  4792 		(BTRACE_HEADER_P(8,(aCategory),(aSubCategory)),(TUint32)(aUid),0,0)
  4742 		(BTRACE_HEADER_P(8,(aCategory),(aSubCategory)),(TUint32)(aUid))
  4793 
  4743 
  4794 /**
  4744 /**
  4795 Output a trace record of the specified category which also includes a Program Counter value.
  4745 Output a trace record of the specified category which also includes a Program Counter value.
  4796 
  4746 
  4797 The trace record data is 8 bytes in size.
  4747 The trace record data is 8 bytes in size.
  4799 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4749 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4800 
  4750 
  4801 @param aCategory	A value from enum BTrace::TCategory,
  4751 @param aCategory	A value from enum BTrace::TCategory,
  4802 @param aSubCategory Sub-category value between 0 and 255.
  4752 @param aSubCategory Sub-category value between 0 and 255.
  4803 					The meaning of this is dependent on the Category.
  4753 					The meaning of this is dependent on the Category.
  4804 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4754 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4805 @param a1			The second 32bit quantity which forms the data of this trace record.
  4755 @param a1			The second 32bit quantity which forms the data of this trace record.
  4806 
  4756 
  4807 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4757 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4808 @publishedPartner
  4758 @publishedPartner
  4809 @released
  4759 @released
  4810 */
  4760 */
  4811 #define BTraceFilteredPc8(aCategory,aSubCategory,aUid,a1) \
  4761 #define BTraceFilteredPc8(aCategory,aSubCategory,aUid,a1) \
  4812 	BTrace::OutFiltered \
  4762 	((BTrace::TBTrace3)BTrace::OutFiltered) \
  4813 		(BTRACE_HEADER_P(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1),0)
  4763 		(BTRACE_HEADER_P(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1))
  4814 
  4764 
  4815 /**
  4765 /**
  4816 Output a trace record of the specified category which also includes a Program Counter value.
  4766 Output a trace record of the specified category which also includes a Program Counter value.
  4817 
  4767 
  4818 The trace record data is 12 bytes in size.
  4768 The trace record data is 12 bytes in size.
  4820 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4770 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4821 
  4771 
  4822 @param aCategory	A value from enum BTrace::TCategory,
  4772 @param aCategory	A value from enum BTrace::TCategory,
  4823 @param aSubCategory Sub-category value between 0 and 255.
  4773 @param aSubCategory Sub-category value between 0 and 255.
  4824 					The meaning of this is dependent on the Category.
  4774 					The meaning of this is dependent on the Category.
  4825 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4775 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4826 @param a1			The second 32bit quantity which forms the data of this trace record.
  4776 @param a1			The second 32bit quantity which forms the data of this trace record.
  4827 @param a2			The third 32bit quantity which forms the data of this trace record.
  4777 @param a2			The third 32bit quantity which forms the data of this trace record.
  4828 
  4778 
  4829 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4779 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4830 @publishedPartner
  4780 @publishedPartner
  4840 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4790 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4841 
  4791 
  4842 @param aCategory	A value from enum BTrace::TCategory,
  4792 @param aCategory	A value from enum BTrace::TCategory,
  4843 @param aSubCategory Sub-category value between 0 and 255.
  4793 @param aSubCategory Sub-category value between 0 and 255.
  4844 					The meaning of this is dependent on the Category.
  4794 					The meaning of this is dependent on the Category.
  4845 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4795 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4846 @param a1			The second 32bit quantity which forms the data of this trace record.
  4796 @param a1			The second 32bit quantity which forms the data of this trace record.
  4847 @param aData		Address of addition data to add to trace.
  4797 @param aData		Address of addition data to add to trace.
  4848 					Must be word aligned, i.e. a multiple of 4.
  4798 					Must be word aligned, i.e. a multiple of 4.
  4849 @param aDataSize	Number of bytes of additional data. If this value is greater than
  4799 @param aDataSize	Number of bytes of additional data. If this value is greater than
  4850 					KMaxBTraceDataArray then data is truncated to this size and the
  4800 					KMaxBTraceDataArray then data is truncated to this size and the
  4867 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4817 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4868 
  4818 
  4869 @param aCategory	A value from enum BTrace::TCategory,
  4819 @param aCategory	A value from enum BTrace::TCategory,
  4870 @param aSubCategory Sub-category value between 0 and 255.
  4820 @param aSubCategory Sub-category value between 0 and 255.
  4871 					The meaning of this is dependent on the Category.
  4821 					The meaning of this is dependent on the Category.
  4872 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4822 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4873 @param aData		Address of addition data to add to trace.
  4823 @param aData		Address of addition data to add to trace.
  4874 					Must be word aligned, i.e. a multiple of 4.
  4824 					Must be word aligned, i.e. a multiple of 4.
  4875 @param aDataSize	Number of bytes of additional data.
  4825 @param aDataSize	Number of bytes of additional data.
  4876 
  4826 
  4877 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4827 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4894 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4844 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4895 
  4845 
  4896 @param aCategory	A value from enum BTrace::TCategory,
  4846 @param aCategory	A value from enum BTrace::TCategory,
  4897 @param aSubCategory Sub-category value between 0 and 255.
  4847 @param aSubCategory Sub-category value between 0 and 255.
  4898 					The meaning of this is dependent on the Category.
  4848 					The meaning of this is dependent on the Category.
  4899 @param aUid 		The 32bit quantity which forms the data of this trace record.
  4849 @param aUid			The 32bit quantity which forms the data of this trace record.
  4900 
  4850 
  4901 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4851 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4902 @publishedPartner
  4852 @publishedPartner
  4903 @released
  4853 @released
  4904 */
  4854 */
  4905 #define BTraceFilteredContextPc4(aCategory,aSubCategory,aUid)	\
  4855 #define BTraceFilteredContextPc4(aCategory,aSubCategory,aUid)	\
  4906 	BTrace::OutFilteredX \
  4856 	((BTrace::TBTrace2)BTrace::OutFilteredX) \
  4907 		(BTRACE_HEADER_CP(8,(aCategory),(aSubCategory)),(TUint32)(aUid),0,0)
  4857 		(BTRACE_HEADER_CP(8,(aCategory),(aSubCategory)),(TUint32)(aUid))
  4908 
  4858 
  4909 /**
  4859 /**
  4910 Output a trace record of the specified category which also includes
  4860 Output a trace record of the specified category which also includes
  4911 Context ID and Program Counter values.
  4861 Context ID and Program Counter values.
  4912 
  4862 
  4915 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4865 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4916 
  4866 
  4917 @param aCategory	A value from enum BTrace::TCategory,
  4867 @param aCategory	A value from enum BTrace::TCategory,
  4918 @param aSubCategory Sub-category value between 0 and 255.
  4868 @param aSubCategory Sub-category value between 0 and 255.
  4919 					The meaning of this is dependent on the Category.
  4869 					The meaning of this is dependent on the Category.
  4920 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4870 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4921 @param a1			The second 32bit quantity which forms the data of this trace record.
  4871 @param a1			The second 32bit quantity which forms the data of this trace record.
  4922 
  4872 
  4923 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4873 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4924 @publishedPartner
  4874 @publishedPartner
  4925 @released
  4875 @released
  4926 */
  4876 */
  4927 #define BTraceFilteredContextPc8(aCategory,aSubCategory,aUid,a1) \
  4877 #define BTraceFilteredContextPc8(aCategory,aSubCategory,aUid,a1) \
  4928 	BTrace::OutFilteredX \
  4878 	((BTrace::TBTrace3)BTrace::OutFilteredX) \
  4929 		(BTRACE_HEADER_CP(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1),0)
  4879 		(BTRACE_HEADER_CP(12,(aCategory),(aSubCategory)),(TUint32)(aUid),(TUint32)(a1))
  4930 
  4880 
  4931 /**
  4881 /**
  4932 Output a trace record of the specified category which also includes
  4882 Output a trace record of the specified category which also includes
  4933 Context ID and Program Counter values.
  4883 Context ID and Program Counter values.
  4934 
  4884 
  4937 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4887 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4938 
  4888 
  4939 @param aCategory	A value from enum BTrace::TCategory,
  4889 @param aCategory	A value from enum BTrace::TCategory,
  4940 @param aSubCategory Sub-category value between 0 and 255.
  4890 @param aSubCategory Sub-category value between 0 and 255.
  4941 					The meaning of this is dependent on the Category.
  4891 					The meaning of this is dependent on the Category.
  4942 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4892 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4943 @param a1			The second 32bit quantity which forms the data of this trace record.
  4893 @param a1			The second 32bit quantity which forms the data of this trace record.
  4944 @param a2			The third 32bit quantity which forms the data of this trace record.
  4894 @param a2			The third 32bit quantity which forms the data of this trace record.
  4945 
  4895 
  4946 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4896 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4947 @publishedPartner
  4897 @publishedPartner
  4958 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4908 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4959 
  4909 
  4960 @param aCategory	A value from enum BTrace::TCategory,
  4910 @param aCategory	A value from enum BTrace::TCategory,
  4961 @param aSubCategory Sub-category value between 0 and 255.
  4911 @param aSubCategory Sub-category value between 0 and 255.
  4962 					The meaning of this is dependent on the Category.
  4912 					The meaning of this is dependent on the Category.
  4963 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4913 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4964 @param a1			The second 32bit quantity which forms the data of this trace record.
  4914 @param a1			The second 32bit quantity which forms the data of this trace record.
  4965 @param aData		Address of addition data to add to trace.
  4915 @param aData		Address of addition data to add to trace.
  4966 					Must be word aligned, i.e. a multiple of 4.
  4916 					Must be word aligned, i.e. a multiple of 4.
  4967 @param aDataSize	Number of bytes of additional data. If this value is greater than
  4917 @param aDataSize	Number of bytes of additional data. If this value is greater than
  4968 					KMaxBTraceDataArray then data is truncated to this size and the
  4918 					KMaxBTraceDataArray then data is truncated to this size and the
  4986 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4936 If the value of \a aUid is not contained in the secondary filter then the trace is discarded.
  4987 
  4937 
  4988 @param aCategory	A value from enum BTrace::TCategory,
  4938 @param aCategory	A value from enum BTrace::TCategory,
  4989 @param aSubCategory Sub-category value between 0 and 255.
  4939 @param aSubCategory Sub-category value between 0 and 255.
  4990 					The meaning of this is dependent on the Category.
  4940 					The meaning of this is dependent on the Category.
  4991 @param aUid 		The first 32bit quantity which forms the data of this trace record.
  4941 @param aUid			The first 32bit quantity which forms the data of this trace record.
  4992 @param aData		Address of addition data to add to trace.
  4942 @param aData		Address of addition data to add to trace.
  4993 					Must be word aligned, i.e. a multiple of 4.
  4943 					Must be word aligned, i.e. a multiple of 4.
  4994 @param aDataSize	Number of bytes of additional data.
  4944 @param aDataSize	Number of bytes of additional data.
  4995 
  4945 
  4996 @return True if trace is enabled for aCategory and aUid, false otherwise.
  4946 @return True if trace is enabled for aCategory and aUid, false otherwise.