Adaptation/GUID-2607CCFA-3D24-4716-A447-74304F861C44.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
permissions -rw-r--r--
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-2607CCFA-3D24-4716-A447-74304F861C44" xml:lang="en"><title>DSDIORegisterInterface
Class Tutorial</title><shortdesc>Describes the DSDIORegisterInterface API class.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-22A35782-49B5-4646-9125-042578A010C1"><title>Description</title><p>This
class provides the main client API between the SDIO implementation and the
rest of the system.</p><p>For portability reasons, it is recommended that
this class is allocated on behalf of the client by the appropriate function
class after the client has been registered with the SDIO function.</p><p><note> Unless
stated otherwise, all the register offsets are defined to be relative to offsets
within the SDIO function.</note></p><table id="GUID-F453D4C2-EECF-4BE4-9776-922C009BB246">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p>Header file</p></entry>
<entry><p><filepath>regifc.h</filepath></p></entry>
</row>
<row>
<entry><p>Source code file</p></entry>
<entry><p><filepath>regifc.cpp</filepath></p></entry>
</row>
<row>
<entry><p>Required libraries</p></entry>
<entry><p>EPBUSSDIO</p></entry>
</row>
<row>
<entry><p>Class declaration</p></entry>
<entry><p><codeph>class DSDIORegisterInterface: public DSDIOSession</codeph></p></entry>
</row>
</tbody>
</tgroup>
</table> </section>
<section id="GUID-76BC7A1A-A54A-47D3-ADAC-9D075A7A667F"><title>Read8()</title><p>The
function declaration for the <xref href="GUID-53280C38-1734-332D-A432-0A56AB16CD04.dita"><apiname>Read8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Read8(TUint32 aReg, TUint8* aReadDataP);</codeblock><p><b>Description</b></p><p>This method reads a single 8 bit value from the
specified register.</p><p><b>Parameters</b></p><table id="GUID-DC782836-BB2D-4A01-9A94-CEDB655FB269">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReq</codeph></p></entry>
<entry><p>The Source register address.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8* aReadDataP</codeph></p></entry>
<entry><p>The location of the byte to read into.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-F5165642-EAE8-4E66-AD96-5185D337F716">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. KErrNone if the operation was successful,
otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-3DAF62F4-4A57-4BB1-B32A-6F623A1A17B6"><title>Write8()</title><p>The
function declaration for the <xref href="GUID-BF2E636A-FA49-39F6-9A52-A09E4879F3FC.dita"><apiname>Write8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Write8(TUint32 aReg, TUint8  aWriteVal);</codeblock><p><b>Description</b></p><p>This method writes a single 8 bit value to the
register specified.</p><p><b>Parameters</b></p><table id="GUID-620A412A-44B3-4B73-B2D1-3DD588F93BED">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The destination register address.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8 aWriteVal</codeph></p></entry>
<entry><p>The 8 bit value to be written.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-954C9104-569D-4E48-A7E0-9AFF93CD267A">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-17DAC528-073D-4981-B908-529156DD5329"><title>Modify8()</title><p>The
function declaration for the <xref href="GUID-312948B9-5338-3030-9130-821E9BDDCE62.dita"><apiname>Modify8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Modify8(TUint32 aReg, TUint8 aSet, TUint8 aClr);
</codeblock><p><b>Description</b></p><p>This method performs a bitwise read-modify-write
operation on the specified register.</p><p><b>Parameters</b></p><table id="GUID-9DC3C571-7270-4306-B3B2-2CF35AC0B643">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The destination register address.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8 aSet</codeph></p></entry>
<entry><p>A bitmask of the values to be set.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8 aClr</codeph></p></entry>
<entry><p>A bitmask of the values to be cleared.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-A7BB8C27-B5DD-4FB2-9225-78877E5F7255">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-44105A9A-C2E6-4A8C-B6F7-04A154A11EE1"><title>Modify8() with
read-after-write</title><p>The function declaration for the <xref href="GUID-312948B9-5338-3030-9130-821E9BDDCE62.dita"><apiname>Modify8()</apiname></xref> with
read-after-write method is:</p><codeblock xml:space="preserve">IMPORT_C TInt Modify8(TUint32 aReg, TUint8 aSet, TUint8 aClr, TUint8* aReadDataP);</codeblock><p><b>Description</b></p><p>This method performs a bitwise read-modify-write operation on the
specified register.</p><p><b>Parameters</b></p><table id="GUID-9F7DB1E5-C679-4D25-AB28-313CE2EF5802">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The destination register address.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8 aSet</codeph></p></entry>
<entry><p>A bitmask of the values to be set.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8 aClr</codeph></p></entry>
<entry><p>A bitmask of the values to be cleared.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8* aReadDataP</codeph></p></entry>
<entry><p>The address of the byte to read into. The result of the operation
is stored in this buffer.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-78F38934-81F8-4E93-8400-09AED7138883">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-C079E54E-24B3-488B-BAB2-7625565871C1"><title>ReadMultiple8()</title><p>The
function declaration for the <xref href="GUID-2E0277CD-3CB8-3A8C-AAD3-8083E8BA7B60.dita"><apiname>ReadMultiple8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt ReadMultiple8(TUint32 aReg, TUint8* aDataP, TUint32 aLen);
</codeblock><p><b>Description</b></p><p>This method reads the specified number
of bytes starting at the specified register offset.</p><p><b>Parameters</b></p><table id="GUID-1FC8E85C-821E-4123-BF5C-7F163D4C31C0">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The source register address.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8* aDataP</codeph></p></entry>
<entry><p>The start address of the destination buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aLen</codeph></p></entry>
<entry><p>The number of bytes to be read.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-0A75AC37-3D8A-4F75-BE0D-FBC2BADD84FE">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-06A354DC-92E9-426E-BCEA-8B141731A4E8"><title>ReadMultiple8()
with auto-increment</title><p>The function declaration for the <xref href="GUID-2E0277CD-3CB8-3A8C-AAD3-8083E8BA7B60.dita"><apiname>ReadMultiple8()</apiname></xref> 
method with auto-increment is:</p><codeblock xml:space="preserve">IMPORT_C TInt ReadMultiple8(TUint32 aReg, TUint8* aDataP, TUint32 aLen, TBool aAutoInc);
</codeblock><p><b>Description</b></p><p>This method reads the specified number
of bytes starting at the specified register offset.</p><p><b>Parameters</b></p><table id="GUID-6DAFE385-A10D-4FE1-BD9F-73DF32C57317">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The source register address.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8* aDataP</codeph></p></entry>
<entry><p>The start address of the destination buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aLen</codeph></p></entry>
<entry><p>The number of bytes that are to be read.</p></entry>
</row>
<row>
<entry><p><codeph>TBool aAutoInc</codeph></p></entry>
<entry><p>Enable or disable the auto-increment functionality.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-A2B48766-0BD9-468F-8840-7AF6EF74E886">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-2F0B67C8-AB5F-4224-B1DB-328FBB17DC7B"><title>ReadMultiple8()
using shared chunks</title><p>The function declaration for the <xref href="GUID-2E0277CD-3CB8-3A8C-AAD3-8083E8BA7B60.dita"><apiname>ReadMultiple8()</apiname></xref>method
using shared chunks is:</p><codeblock xml:space="preserve">IMPORT_C TInt ReadMultiple8(TUint32 aReg, DChunk* aChunk, TUint32 aOffset, TUint32 aLen);
</codeblock><p><b>Description</b></p><p>This method reads the specified number
of bytes starting at the specified register offset.</p><p><b>Parameters</b></p><table id="GUID-C8BB983E-3625-4F75-A7C3-8392D3D83115">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The source register address.</p></entry>
</row>
<row>
<entry><p><codeph>DChunk* aChunk</codeph></p></entry>
<entry><p>The chunk that hosts the destination buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aOffset</codeph></p></entry>
<entry><p>The offset from the start of the chunk to the start of the destination
buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aLen</codeph></p></entry>
<entry><p>The number of bytes to be read.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-33386AAB-BDAE-4469-9C57-7B5C1B111B93">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p>TInt</p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-84D13B57-DB1B-47DB-A1F5-9AF23BE62D35"><title>ReadMultiple8()
with auto-increment using shared chunks</title><p>The function declaration
for the <xref href="GUID-2E0277CD-3CB8-3A8C-AAD3-8083E8BA7B60.dita"><apiname>ReadMultiple8()</apiname></xref> method with auto-increment using
shared chunks is:</p><codeblock xml:space="preserve">IMPORT_C TInt ReadMultiple8(TUint32 aReg, DChunk* aChunk, TUint32 aOffset, TUint32 aLen, TBool aAutoInc);</codeblock><p><b>Description</b></p><p>This method reads the specified number of bytes
starting at the specified register offset.</p><p><b>Parameters</b></p><table id="GUID-BF998853-26C6-45C7-86A2-C8497D0CB2AB">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The source register address.</p></entry>
</row>
<row>
<entry><p><codeph>DChunk* aChunk</codeph></p></entry>
<entry><p>The chunk that hosts the destination buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aOffset</codeph></p></entry>
<entry><p>The offset from the start of the chunk to the start of the destination
buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aLen</codeph></p></entry>
<entry><p>The number of bytes to be read.</p></entry>
</row>
<row>
<entry><p><codeph>TBool aAutoInc</codeph></p></entry>
<entry><p>Enable or disable the auto-increment functionality.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-99B8EF1A-3E0B-4F1A-897F-1161AF7DC4F6">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-05558100-F758-4167-B8DD-55DD9D804A96"><title>WriteMultiple8()</title><p>The
function declaration for the <xref href="GUID-F29DFD6B-9CA4-3170-B829-F3881B152614.dita"><apiname>WriteMultiple8()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TInt WriteMultiple8(TUint32 aReg, TUint8* aDataP, TUint32 aLen);
</codeblock><p><b>Description</b></p><p>This method writes the specified length
of bytes starting at the specified register.</p><p><b>Parameters</b></p><table id="GUID-601B2EDB-99F9-4166-A3A4-66FDFA4875B7">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The destination register address.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8* aDataP</codeph></p></entry>
<entry><p>The start address of the source buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aLen</codeph></p></entry>
<entry><p>The number of bytes to be written.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-73063CCB-18C7-4989-AE97-64F3C851FE38">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-38B1302E-4410-4230-9AE9-E6ABD84F4EF1"><title>WriteMultiple8()
with auto-increment</title><p>The function declaration for the <xref href="GUID-F29DFD6B-9CA4-3170-B829-F3881B152614.dita"><apiname>WriteMultiple8()</apiname></xref> method
with auto-increment is:</p><codeblock xml:space="preserve">IMPORT_C TInt WriteMultiple8(TUint32 aReg, TUint8* aDataP, TUint32 aLen, TBool aAutoInc);
</codeblock><p><b>Description</b></p><p>This method writes the specified length
of bytes starting at the specified register.</p><p><b>Parameters</b></p><table id="GUID-FFA05F8A-2459-4581-8B0F-0E5636C53BEE">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The destination register address.</p></entry>
</row>
<row>
<entry><p><codeph>TUint8* aDataP</codeph></p></entry>
<entry><p>The start address of the source buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aLen</codeph></p></entry>
<entry><p>The number of bytes to be written.</p></entry>
</row>
<row>
<entry><p><codeph>TBool aAutoInc</codeph></p></entry>
<entry><p>Enable or disable the auto-increment functionality.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-BCF4DAA6-7BF8-41F1-9406-40B15363A545">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-8A745F5C-9EF4-413E-9E55-AF74FB95B507"><title>WriteMultiple8()
using shared chunks</title><p>The function declaration for the <xref href="GUID-F29DFD6B-9CA4-3170-B829-F3881B152614.dita"><apiname>WriteMultiple8()</apiname></xref> method
using shared chunks is:</p><codeblock xml:space="preserve">IMPORT_C TInt WriteMultiple8(TUint32 aReg, DChunk* aChunk, TUint32 aOffset, TUint32 aLen);
</codeblock><p><b>Description</b></p><p>This method writes the specified length
of bytes starting at the specified register.</p><p><b>Parameters</b></p><table id="GUID-F545CC9C-B098-402C-B940-9994E6CA2FC3-GENID-1-2-1-10-1-5-1-9-1-1-7-1-4-1-5-1-3-12-7">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The destination register address.</p></entry>
</row>
<row>
<entry><p><codeph>DChunk* aChunk</codeph></p></entry>
<entry><p>The chunk that hosts the source buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aOffset</codeph></p></entry>
<entry><p>The offset from the start of the chunk and the start address of
the source buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aLen</codeph></p></entry>
<entry><p>The number of bytes to be written.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-47EC4DFC-65B0-4AD8-806C-2AEF74F58217">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-2481C7F9-C9ED-4EE1-B7FA-C8274CDE78E6"><title>WriteMultiple8(
) with auto-increment using shared chunks</title><p>The function declaration
for the <xref href="GUID-F29DFD6B-9CA4-3170-B829-F3881B152614.dita"><apiname>WriteMultiple8()</apiname></xref> method with autoincrement using
shared chunks is:</p><codeblock xml:space="preserve">IMPORT_C TInt WriteMultiple8(TUint32 aReg, DChunk* aChunk, TUint32 aOffset, TUint32 aLen, TBool aAutoInc);</codeblock><p><b>Description</b></p><p>This method writes the specified length of bytes
starting at the specified register.</p><p><b>Parameters</b></p><table id="GUID-F545CC9C-B098-402C-B940-9994E6CA2FC3-GENID-1-2-1-10-1-5-1-9-1-1-7-1-4-1-5-1-3-13-7">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TUint32 aReg</codeph></p></entry>
<entry><p>The destination register address.</p></entry>
</row>
<row>
<entry><p><codeph>DChunk* aChunk</codeph></p></entry>
<entry><p>The chunk that hosts the source buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aOffset</codeph></p></entry>
<entry><p>The offset from the start of the chunk and the start address of
the source buffer.</p></entry>
</row>
<row>
<entry><p><codeph>TUint32 aLen</codeph></p></entry>
<entry><p>The number of bytes to be written.</p></entry>
</row>
<row>
<entry><p><codeph>TBool aAutoInc</codeph></p></entry>
<entry><p>Enable or disable the auto-increment functionality.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-281E7616-B0AC-49BE-9D62-3A69F1D8FBF8">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TInt</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-43FDE59E-0B10-4F29-8604-E097B183E233"><title>SetAsync()</title><p>The
function declaration for the <xref href="GUID-AB2D8414-3C4D-3660-A426-6826DC11F37A.dita"><apiname>SetAsync()</apiname></xref>  method is:</p><codeblock xml:space="preserve">IMPORT_C TBool SetAsync(TMMCCallBack&amp; aCallback);
</codeblock><p><b>Description</b></p><p>This function allows the user to disable
the synchronous nature of the DSDIORegInterface class, by using the specified
callback function to indicate the completion of an operation.</p><p><b>Parameters</b></p><table id="GUID-875A5023-8E1B-4823-94AB-69C0732AC2AB">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TMMCCallback&amp; aCallback</codeph></p></entry>
<entry><p>Reference to the callback function.</p></entry>
</row>
</tbody>
</tgroup>
</table><p><b>Return value</b></p><table id="GUID-D745AAFF-6647-4243-95D6-5E8CA44F2397">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TBool</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-B47D146E-458A-4340-8C9B-F73BEDBE171F"><title>SetSync()</title><p>The
function declaration for the <xref href="GUID-6B24ACA7-87A3-3477-97F9-1F13BA53AE0D.dita"><apiname>SetSync()</apiname></xref> method is:</p><codeblock xml:space="preserve">IMPORT_C TBool SetSync();</codeblock><p><b>Description</b></p><p>Allows the synchronous nature of the DSDIORegInterface class to be enabled.</p><p>When
the synchronous nature of the DSDIORegInterface class is enabled, then completion
of an operation is specified by waiting on a semaphore.</p><p><b>Parameters</b></p><p>None</p><p><b>Return
value</b></p><table id="GUID-B8033632-5CF2-4C1D-B778-D75F209F3153">
<tgroup cols="2"><colspec colname="col1"/><colspec colname="col2"/>
<tbody>
<row>
<entry><p><codeph>TBool</codeph></p></entry>
<entry><p>The result of the operation. <codeph>KErrNone</codeph> if the operation
was successful, otherwise a system wide error code.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
</conbody></concept>