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