Adaptation/GUID-F9051D21-3E4C-4645-BD04-06606E849AEF.dita
changeset 15 307f4279f433
equal deleted inserted replaced
14:578be2adaf3e 15:307f4279f433
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-F9051D21-3E4C-4645-BD04-06606E849AEF" xml:lang="en"><title>Interrupt Interface Overview</title><shortdesc>Provides a summary of the Interrupt platform service interface.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    13 <p>The Interrupt interface is provided by functions of the <xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita"><apiname>Interrupt</apiname></xref> class. The class is defined in the <filepath>os/kernelhwsrv/kernel/eka/include/kernel/arm/assp.h</filepath> file.
       
    14 The <codeph>Interrupt</codeph> class functions must be implemented
       
    15 by the baseport variant to enable device drivers and other kernel
       
    16 side code to handle the interrupts.</p>
       
    17 <section id="GUID-77EF021F-41F9-4126-A8C6-B93885B64C27">         
       
    18    <title>Interrupt handling functions</title>   <table id="GUID-08A082CA-81EA-4B50-8901-BE0DB06093EA">
       
    19 <tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
       
    20 <thead>
       
    21 <row>
       
    22 <entry valign="top">API</entry>
       
    23 <entry valign="top">Description</entry>
       
    24 </row>
       
    25 </thead>
       
    26 <tbody>
       
    27 <row>
       
    28 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-B594B453-899D-3066-9E45-A9A1AE54CAE4"><apiname>Interrupt::Bind(TInt anId, TIsr anIsr, TAny* aPtr)</apiname></xref></entry>
       
    29 <entry>Allows an Interrupt Service Routine (ISR) to be associated
       
    30 with a specified interrupt ID in the <codeph>anId </codeph> parameter.</entry>
       
    31 </row>
       
    32 <row>
       
    33 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-AE029812-8220-3970-80F6-6322B9D933BC"><apiname>Interrupt::Unbind(TInt anId)</apiname></xref></entry>
       
    34 <entry>Unbinds an ISR from a specified interrupt ID.</entry>
       
    35 </row>
       
    36 <row>
       
    37 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-A0D94710-E832-36F9-B324-823BFA537C2E"><apiname>Interrupt::Enable(TInt anId)</apiname></xref></entry>
       
    38 <entry>Enables a specified interrupt to be active and allows the associated
       
    39 ISR to handle the interrupts.</entry>
       
    40 </row>
       
    41 <row>
       
    42 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-410A0ED1-CA83-396C-921B-766C4D0BEFF6"><apiname>Interrupt::Disable(TInt anId)</apiname></xref></entry>
       
    43 <entry>Disable a specified interrupt.</entry>
       
    44 </row>
       
    45 <row>
       
    46 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-63C93F0D-F236-35D0-8E21-9FF1F96074B3"><apiname>Interrupt::Clear(TInt anId)</apiname></xref></entry>
       
    47 <entry>Clears the interrupt pending condition in the interrupt controller
       
    48 hardware.</entry>
       
    49 </row>
       
    50 <row>
       
    51 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-CD40CF24-7732-34FB-8FA1-34E0DCB9B474"><apiname>Interrupt::SetPriority(TInt anId, TInt aPriority)</apiname></xref></entry>
       
    52 <entry>Change the priority of a specified interrupt.</entry>
       
    53 </row>
       
    54 <row>
       
    55 <entry><xref href="GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3.dita#GUID-E7A7083C-97B9-39B9-A147-4A6E314EE3A3/GUID-C46E48EE-6F4A-3A61-A3C9-84B145119541"><apiname>Interrupt::AddTimingEntropy()</apiname></xref></entry>
       
    56 <entry>Adds high resolution timestamp to the interrupt. This function
       
    57 should be called by the device driver where the timing of the interrupts
       
    58 are considered to be random. </entry>
       
    59 </row>
       
    60 </tbody>
       
    61 </tgroup>
       
    62 </table> <p>The header file for the Interrupt platform service can
       
    63 be found <xref href="http://developer.symbian.org/xref/oss/xref/MCL/sf/os/kernelhwsrv/kernel/eka/include/kernel/arm/assp.h.dita">here</xref>.</p>        <note> The Interrupt platform service is
       
    64 only used to associate an interrupt with an ISR. The Interrupt platform
       
    65 service is not used to dispatch interrupts.</note></section>
       
    66 </conbody></concept>