Symbian3/SDK/Source/GUID-9AC6774A-41E9-5298-8696-0A317A09E1E9.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?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-9AC6774A-41E9-5298-8696-0A317A09E1E9" xml:lang="en"><title>Librt
Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>Support for the Librt library on the Symbian platform enables
you to port Librt-based applications onto the Symbian platform quickly and
easily. With knowledge of the Librt library you can also develop Librt-based
applications on the Symbian platform with minimal coding effort and without
much knowledge of the native Symbian Utility C++ APIs. </p>
<section id="GUID-699E9C23-54DB-497E-A27A-260720FD18F6"><title>Librt library details</title> <p>The <filepath>librt.dll</filepath> provides
the Librt functionality and your code must link to <filepath>librt.lib</filepath>. </p> <p> <b>Important:</b> Your
application or library that uses the Librt library for the clock solutions
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> </section>
<section id="GUID-9E5D545A-0D4C-47A1-BC47-1B12162D0F49"><title>Architecture</title> <p>The following image illustrates how
the Librt library interacts with the components of the P.I.P.S. environment
and also with the Symbian platform: </p> <fig id="GUID-A29F100E-2726-501C-B141-BED577C50768">
<title>              The Librt library interacting with P.I.P.S. and the Symbian
platform           </title>
<image href="GUID-AE85751A-77CA-5C41-AF61-C9C9D776B066_d0e160811_href.png" placement="inline"/>
</fig> </section>
<section id="GUID-572AF6E2-9F24-4CEB-BCF8-CCE7BCFE4E77"><title>APIs</title> <p>The following table is a comprehensive list
of Librt APIs as per the <xref href="http://refspecs.linux-foundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/librt.html" scope="external">LSB 3.1 specification</xref>: </p> <table id="GUID-843027AF-D604-5C35-9879-BE79121EE94D">
<tgroup cols="1"><colspec colname="col0"/>
<thead>
<row>
<entry>API</entry>
</row>
</thead>
<tbody>
<row>
<entry><p> <b>Shared Memory APIs</b>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-FF8FD54D-4CD3-3DC7-9A48-56043F26E5DD.dita"><apiname>shm_open()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-BF359599-0088-3F3E-BD80-B09C1F5DA380.dita"><apiname>shm_unlink()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <b>Clock APIs</b>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-D4D30F8D-82D9-3919-9711-DFEE78946DBE.dita"><apiname>clock_getcpuclockid()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-B27CD3ED-C472-3226-8B9F-C920E42FA918.dita"><apiname>clock_getres()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-2E94C94E-6D65-3B18-959D-60E6224E6C40.dita"><apiname>clock_gettime()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-24155E9E-530A-3D43-9B71-CF59153B33C9.dita"><apiname>clock_nanosleep()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-7FA65BF7-2F4F-3AA9-A52F-2CF655053AB7.dita"><apiname>clock_settime()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <b>Timer APIs</b>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-FD961A81-8D92-38D6-A2CE-F3215D5CCF38.dita"><apiname>timer_create()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-3C9E5145-5A20-3AE6-88C1-2D76BD68B2F0.dita"><apiname>timer_delete()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-C77553E5-ABEA-3253-B119-2F71C6241EAA.dita"><apiname>timer_getoverrun()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-F2DCFCBA-65B7-3184-B870-A63C6CF7EBA9.dita"><apiname>timer_gettime()</apiname></xref>  </p> </entry>
</row>
<row>
<entry><p> <xref href="GUID-5FE65EC4-4F2A-30C1-BA89-A92B1F9B1B2E.dita"><apiname>timer_settime</apiname></xref>  </p> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-603A829A-AF5D-496D-9FFE-8EA3ADEAADBB"><title>Using Librt</title> <p>The following tutorials describe some
high-level usage scenarios of the Librt library functions: </p> <ul>
<li id="GUID-81EAC75C-5233-5440-95B9-E950AA7527BF"><p><xref href="GUID-8B37D53D-77E1-58C6-9A44-3376A450228B.dita">Shared
Memory Tutorial</xref>  </p> </li>
<li id="GUID-BA00DA3A-FD9A-52CA-AA40-F1CB0CC571A5"><p><xref href="GUID-66402932-5C44-556B-A7AC-1C2D245C8B05.dita">Clocks
and Timers Tutorial</xref>  </p> </li>
</ul> </section>
</conbody></concept>