Initial contribution of the Adaptation Documentation.
<?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-04F076C4-AFFF-571C-8B73-B8589B58EC56" xml:lang="en"><title>Limitations
of Clocks and Timers</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The following are some of the limitations of the clocks and timers feature
supported on the Symbian platform: </p>
<ul>
<li id="GUID-5998F7A9-741F-51C8-8942-5B7BB05BE1C9"><p>The clock and timer
APIs of the Librt library provide the same level of resolution
as that of the Symbian platform APIs, such as <xref href="GUID-8A423EA2-4264-30C9-9579-0466994E6E88.dita#GUID-8A423EA2-4264-30C9-9579-0466994E6E88/GUID-3F302410-5CC2-3CCB-82F4-47E953E7A29B"><apiname>RTimer::At()</apiname></xref>, <xref href="GUID-8A423EA2-4264-30C9-9579-0466994E6E88.dita#GUID-8A423EA2-4264-30C9-9579-0466994E6E88/GUID-C2BD996C-81E3-3309-917A-731B0BD2C450"><apiname>RTimer::After()</apiname></xref> and <xref href="GUID-8A423EA2-4264-30C9-9579-0466994E6E88.dita#GUID-8A423EA2-4264-30C9-9579-0466994E6E88/GUID-EB3B05D9-5EEF-34A2-99F9-9FEA31EF3005"><apiname>RTimer::HighRes()</apiname></xref>. Any requests beyond the functionality provided by these APIs will be considered
as invalid. </p> </li>
<li id="GUID-91D21D58-8590-5498-9F1E-C8720AAC96DB"><p>The Symbian platform
does not support process level clocks and therefore all clock and timer solutions
are based on the clock available to the user level process. The clock has
a <codeph>clock_id</codeph> of <codeph>CLOCK_REALTIME</codeph>, and can be
retrieved using <xref href="GUID-D4D30F8D-82D9-3919-9711-DFEE78946DBE.dita"><apiname>clock_getcpuclockid()</apiname></xref> by passing <b>0</b> in
the <codeph>pid_t</codeph> parameter. </p> </li>
<li id="GUID-F4E57415-4006-520A-9FA1-71BBE7EBFC06"><p>An application or library
that uses the Librt library clock functions must link to <filepath>librt.dll</filepath> prior
to all other libraries in the link order. This is because both <filepath>libc.dll</filepath> and <filepath>librt.dll</filepath> provide
similar clock interfaces but only the Librt library is modified to behave
according to the LSB 3.1 specification. </p> </li>
</ul>
</conbody><related-links>
<link href="GUID-9AC6774A-41E9-5298-8696-0A317A09E1E9.dita"><linktext>Librt Overview</linktext>
</link>
<link href="GUID-29AE56A8-DA08-5FB3-89F1-26B4308336BC.dita"><linktext>Modifying
a Clock Time</linktext></link>
<link href="GUID-B4039418-6499-555D-AC24-9B49161299F2.dita"><linktext>Raising a
Periodic Timer Request</linktext></link>
<link href="GUID-21740D07-5F49-5D9C-9FEA-92958AF3805B.dita"><linktext>Raising an
Absolute Timer Request</linktext></link>
<link href="GUID-8B37D53D-77E1-58C6-9A44-3376A450228B.dita"><linktext>Shared Memory
Tutorial</linktext></link>
</related-links></concept>