Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
<?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-535C66C9-8B45-4DF3-8404-8ED03ABB4799" xml:lang="en"><title>TSDIOInterrupt
Class</title><shortdesc>Describes the TSDIOInterrupt API class.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-26C82435-8FB9-422E-B6D0-302CB1E4B5F5"><title>Description</title><p>The <xref href="GUID-5A5218D4-E8AD-322F-BE5B-597137623B3F.dita"><apiname>TSDIOInterrupt</apiname></xref> class
provides the client with the ability to enable, disable, bind and unbind to
an SDIO interrupt. There is no Clear() method provided as it is the responsibility
of the client device driver to clear the appropriate interrupt through its <xref href="GUID-CC5352E2-DB21-393F-A7A4-108AA3684460.dita"><apiname>DSDIORegInterface</apiname></xref> class
documented <xref href="GUID-2607CCFA-3D24-4716-A447-74304F861C44.dita">here</xref>.</p><table id="GUID-8047BB14-2519-4421-B6BD-41B078CAC404">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p>Header file</p></entry>
<entry><p><filepath>interrupt.h</filepath></p></entry>
</row>
<row>
<entry><p>Source code file</p></entry>
<entry><p><filepath>interrupt.cpp</filepath></p></entry>
</row>
<row>
<entry><p>Required libraries</p></entry>
<entry><p>epbussdio.lib</p></entry>
</row>
<row>
<entry><p>Class declaration</p></entry>
<entry><p><codeph>class TSDIOInterrupt</codeph></p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-ACEDEF93-FD3F-4F19-9641-36F4FAC8FE66-GENID-1-10-1-15-1-1-7-1-1-6-1-6-1-8-1-3-2"><title>Bind()</title><p>The
function declaration for the <xref href="GUID-8DAB6465-BCDE-35FE-8C31-861C13A34526.dita"><apiname>Bind()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Bind(TSDIOIsr aIsr, TAny* aPtr);</codeblock><p><b>Description</b></p><p>Binds the <xref href="GUID-5E00A59F-9316-3522-B152-EA8F8BC429B3.dita"><apiname>TSDIOIsr</apiname></xref> callback to the function's interrupt.
Once bound, the interrupt should be enabled for the function by a call to
Enable().</p><p><b>Parameters</b></p><p><table id="GUID-8F76FE85-D8EF-4FBF-974F-CB5CD7FF76FB">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TSDIOIsr aIsr</codeph></p></entry>
<entry>The ISR used to handle the function's interrupt.</entry>
</row>
<row>
<entry><p><codeph>TAny* aPtr</codeph></p></entry>
<entry>User defined data for use within the ISR.</entry>
</row>
</tbody>
</tgroup>
</table></p><p><b>Return value</b></p><p><codeph>KErrNone</codeph> if successful,
KErrAlreadyExists if an ISR already bound to the function's interrupt, or
a standard Symbian platform error code.</p></section>
<section id="GUID-ACEDEF93-FD3F-4F19-9641-36F4FAC8FE66-GENID-1-10-1-15-1-1-7-1-1-6-1-6-1-8-1-3-3"><title>Unbind()</title><p>The
function declaration for the <xref href="GUID-EAED145E-E4BE-3A0F-BC25-78E1FC13FB55.dita"><apiname>Unbind()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Unbind();</codeblock><p><b>Description</b></p><p>Unbinds
the callback from the interrupt controller, replacing the callback with a
dummy handler.</p><p><b>Parameters</b></p><p>None.</p><p><b>Return value</b></p><p><codeph>KErrNone</codeph> if
successful, otherwise a standard Symbian platform error code.</p></section>
<section id="GUID-ACEDEF93-FD3F-4F19-9641-36F4FAC8FE66-GENID-1-10-1-15-1-1-7-1-1-6-1-6-1-8-1-3-4"><title>Enable()</title><p>The
function declaration for the <xref href="GUID-1B8F9258-D611-39DC-B0A7-8BB634915752.dita"><apiname>Enable()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Enable();</codeblock><p><b>Description</b></p><p>Enables
the function's interrupt by setting the appropriate IEN bit in the CCCR. Note
that this only unmasks the global function interrupt. It is the responsibility
of the client to perform any function-specific interrupt enabling that may
be required.</p><p><b>Parameters</b></p><p>None.</p><p><b>Return value</b></p><p><codeph>KErrNone</codeph> if
successful, otherwise a standard Symbian platform error code.</p></section>
<section id="GUID-ACEDEF93-FD3F-4F19-9641-36F4FAC8FE66-GENID-1-10-1-15-1-1-7-1-1-6-1-6-1-8-1-3-5"><title>Disable()</title><p>The
function declaration for the <xref href="GUID-229B7E6B-EF06-3C54-8D92-F1075B04D585.dita"><apiname>Disable()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Disable();</codeblock><p><b>Description</b></p><p>Disables the function's interrupt by clearing the appropriate IEN bit in
the CCCR. Note that this only masks the global function interrupt. It is
the responsibility of the client to perform any function-specific interrupt
disabling that may be required.</p><p><b>Parameters</b></p><p>None.</p><p><b>return
value</b></p><p><codeph>KErrNone</codeph> if successful, otherwise a standard
Symbian platform error code.</p></section>
</conbody></concept>