Symbian3/PDK/Source/GUID-88AB6957-6D2B-5668-8CC3-4E426E68C9B7.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     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 task
       
    11   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
       
    12 <task id="GUID-88AB6957-6D2B-5668-8CC3-4E426E68C9B7" xml:lang="en"><title> Writing
       
    13 an Outflow Hook Tutorial</title><shortdesc>This topic describes how to write an outflow hook. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
       
    14 <steps id="GUID-D4E429B8-3A1C-588C-9EE6-F775E0313136">
       
    15 <step id="GUID-8717451F-4919-56FB-B138-F345D33302E0"><cmd>The <xref href="GUID-1A52EC87-DAD1-32C8-B530-295A65EB7292.dita"><apiname>CIp6Hook()</apiname></xref> is
       
    16 a base class for all hook protocols. </cmd>
       
    17 </step>
       
    18 <step id="GUID-E4679FA1-3277-5EC6-B626-19E5C4478A02"><cmd/>
       
    19 <info>The <xref href="GUID-AA660261-7FCC-3F15-A105-56A3B4227F69.dita"><apiname>OpenL()</apiname></xref> function is used to open a hook for a
       
    20 data flow </info>
       
    21 </step>
       
    22 <step id="GUID-17AFBFA2-AC47-58CA-9FDB-119983B4E78F"><cmd/>
       
    23 <info>The following are the parameters of <codeph>OpenL()</codeph> function: </info>
       
    24 
       
    25 <substeps id="GUID-C1E8AD02-7B40-5B25-869E-BA56463957C9">
       
    26 <substep id="GUID-3E005B91-6025-5792-A4D3-42E5159770D8"><cmd/>
       
    27 <info>aHead – Contains the address information of the flow </info>
       
    28 </substep>
       
    29 <substep id="GUID-482AA3EE-996F-5697-A818-F9AB2FDE11CE"><cmd/>
       
    30 <info>aFlow – Flow for the active hook </info>
       
    31 </substep>
       
    32 </substeps>
       
    33 </step>
       
    34 <step id="GUID-70020D9B-F194-51D8-9E6B-C15F31EDE828"><cmd/>
       
    35 <info>The <xref href="GUID-CC13332D-76B3-3991-AF40-1E5E949A2A39.dita"><apiname>ReadyL()</apiname></xref> function sets the data packet in a ready
       
    36 state. </info>
       
    37 </step>
       
    38 <step id="GUID-1F43DE42-67CE-58A5-8C9F-744EA1C9006D"><cmd/>
       
    39 <info>The IP protocol calls the <xref href="GUID-10F2F06B-003E-3F29-AE09-6A85D3682729.dita"><apiname>ApplyL()</apiname></xref> function to create
       
    40 an outflow hook. The following are the parameters of an <codeph>ApplyL()</codeph> function: </info>
       
    41 
       
    42 <substeps id="GUID-3CE4ED97-5233-5E44-A7EC-84DD3997F9C7">
       
    43 <substep id="GUID-0ECFBF5A-C7EF-546F-9AF8-10EF2849C9C4"><cmd/>
       
    44 <info>aPacket – A complete packet to be processed by the hook. It includes
       
    45 the IP header </info>
       
    46 </substep>
       
    47 <substep id="GUID-AC6BEE87-5A0F-5B8C-9042-70EB01E572A4"><cmd/>
       
    48 <info>aInfo - Information block associated with the packet </info>
       
    49 </substep>
       
    50 </substeps>
       
    51 </step>
       
    52 </steps>
       
    53 <example><title>How to write an Outflow Hook example </title> <p>The following
       
    54 is an example code for how to write an outflow hook: </p> <codeblock id="GUID-9FD24324-3B1C-5B2B-A811-79791E6DA0E7" xml:space="preserve">
       
    55 MFlowHook* OpenL(TPacketHead &amp;aHead, CFlowContext *aFlow);
       
    56 TInt ReadyL(TPacketHead&amp; aHead);
       
    57 TInt ApplyL(RMBufSendPacket&amp; aPacket, RMBufSendInfo&amp; aInfo);
       
    58 </codeblock> </example>
       
    59 </taskbody><related-links>
       
    60 <link href="GUID-340C57A4-B799-502D-8B86-39955E2F4268.dita"><linktext>Creating
       
    61 an ESK File</linktext></link>
       
    62 <link href="GUID-6998404B-CC51-5337-B04F-8444C32B99C9.dita"><linktext>Writing an
       
    63 Inbound                 Hook</linktext></link>
       
    64 </related-links></task>