Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-7EA3FAD3-9A41-5B2D-8F46-8C8965CE8B97" xml:lang="en"><title>Kernel
Trace Tool Variant Device Driver Overview </title><shortdesc>The kernel trace tool variant device driver exists to implement
the handler function of the kernel side <codeph>BTrace</codeph> class. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-25E68A64-8A40-4E45-8B55-DCDF36DAB7BF"><title>Intended audience</title><p>This document is intended to be
used by Symbian platform developers implementing a kernel side trace handler.</p></section>
<section id="GUID-21FD29D6-1E04-4B8D-AFDD-F16E6E8840CA"><title>Kernel Trace tool variant device driver library details</title><p>The
DLL that provides the functionality and the library to which <filepath>kernel.exe</filepath> must
link is identified below. </p> <table id="GUID-4B8C0DBC-0529-5BF2-9D26-2B6740F83F70">
<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
<thead>
<row>
<entry>DLL</entry>
<entry>LIB</entry>
<entry>Short Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><p> <filepath>btracex.ldd</filepath> </p> </entry>
<entry><p>No export library </p> </entry>
<entry><p>Kernel side implementation of BTraceC </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-0B9802B1-8F65-4CC0-94D5-A6BDB0962276"><title>Architectural
Relationship</title> <p>The kernel trace tool variant device driver implements
the handler function of the kernel side BTrace class. It is the kernel side
implementation of BTraceC. </p> </section>
<section id="GUID-B394471C-9295-4A6F-93C9-E8E71904CF0C"><title>Description</title> <p>The kernel trace tool variant device
driver is a kernel side component which reads trace data from a buffer. </p> </section>
<section id="GUID-F086B2FA-D7F8-47D0-A4A4-6979B15EDCE7"><title>Kernel Trace tool variant device driver functionality</title> <p>The
kernel trace tool variant device driver exists purely to implement kernel
side trace handling functionality. </p> </section>
<section id="GUID-51BDAA1B-3FF4-4148-92B8-34F6ACDECF4A"><title>Trace handling</title><ul>
<li id="GUID-AC3B26B1-E4B5-5E34-ACB5-528094440EBE"><p>The kernel trace tool
variant device driver exists to handle trace data generated kernel side by
the BTrace framework. </p> </li>
</ul></section>
<section id="GUID-8A529574-A718-4D6A-BA10-D94F273E6647"><title>Key Kernel
Trace tool variant device driver classes</title> <p>The key classes that make
up the kernel trace tool variant device driver module are as follows: </p> <ul>
<li id="GUID-E1D5E0F9-483B-5171-A793-436CC8C845F1"><p> <xref href="GUID-FA78F6F1-578A-3680-99D9-DDBAD31EB74F.dita"><apiname>TBTraceBufferK</apiname></xref> </p> <p>A
class representing the buffer to which trace data is written. </p> </li>
<li id="GUID-BA0D2BC1-51E8-581D-A058-3380176D3DB4"><p> <xref href="GUID-BB07514D-BCA1-366A-9736-1EE6CCAA8BED.dita"><apiname>DBTraceFactory</apiname></xref> </p> <p>A
factory class for trace channels. </p> </li>
<li id="GUID-6F547C51-D00E-5052-A710-6789A97E36F0"><p> <xref href="GUID-04EA4E53-0845-3B32-8329-867B5D89CBEE.dita"><apiname>DBTraceChannel</apiname></xref> </p> <p>A
class representing trace channels. </p> </li>
</ul> </section>
<section id="GUID-D35E8C48-D110-4C08-BDA3-CA88331DEDA2"><title>Using Kernel
Trace tool variant device driver</title> <p>The kernel trace tool variant
device driver is a kernel side executable and thus not called directly from
user side. BTraceC communicates with it by passing members of its <xref href="GUID-34BC5B12-1793-36C0-9469-7E2A5BE58811.dita"><apiname>TControl</apiname></xref> enumeration
to the <xref href="GUID-C37796B1-2C3D-36BB-B889-179FC39C9346.dita"><apiname>DoControl</apiname></xref> function. Its function <xref href="GUID-CEC48CAD-A0E5-3C4B-B5DC-3D0D1CCFD51B.dita"><apiname>Trace_Impl</apiname></xref> implements
the handler function of the <xref href="GUID-5BF17780-AD31-30CF-AFD9-915CBDA74441.dita"><apiname>BTrace</apiname></xref> kernel class. </p> </section>
</conbody><related-links>
<link href="GUID-7EA3FAD3-9A41-5B2D-8F46-8C8965CE8B97.dita"><linktext>BTraceX Overview</linktext>
</link>
<link href="GUID-7B477BA5-CC5B-56A2-82BC-E1BC0049FECB.dita"><linktext>BTraceC Overview</linktext>
</link>
<link href="GUID-55C05441-33B5-5057-971D-4200345E941E.dita"><linktext>BTraceC Tutorial</linktext>
</link>
<link href="GUID-F27F49B3-4AC1-5517-AF3A-1ADBA1E87A0B.dita"><linktext> Command
Line Kernel Trace Tool Overview</linktext></link>
<link href="GUID-9E0957A1-0691-5741-ABCA-3EA61B4AC0CD.dita"><linktext>Command Line
Kernel Trace Tool Tutorial</linktext></link>
<link href="GUID-5CEA46BA-5AA2-51B4-8BBA-5B6EF141D68A.dita"><linktext> Reading
Kernel Trace Data From Chunks Tutorial</linktext></link>
<link href="GUID-7195C3C2-6DF4-56DE-B3C7-00CC10A22AD2.dita"><linktext>Writing Trace
Data to Buffers Tutorial</linktext></link>
<link href="GUID-625A116D-185D-57A3-9FB7-B8257F4AB1B2.dita"><linktext> Setting
Trace Filters Tutorial</linktext></link>
<link href="GUID-2341CFE1-1CDF-537A-99FB-78C59FFA30CE.dita"><linktext> Requesting
Data Notification Tutorial</linktext></link>
</related-links></concept>