Symbian3/PDK/Source/GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 13 Aug 2010 16:47:46 +0100
changeset 14 578be2adaf3e
parent 5 f345bda72bc4
permissions -rw-r--r--
Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     6
<!-- Initial Contributors:
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     7
    Nokia Corporation - initial contribution.
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     8
Contributors: 
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     9
-->
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    10
<!DOCTYPE concept
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    12
<concept xml:lang="en" id="GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702"><title> IPHook</title><shortdesc>IPHooks are plug-in modules that increase the use of the TCP/IP stack. IPHooks enable you to process incoming and outgoing data packets at the IP level. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>IPHooks are associated with socket servers. The socket server loads the IPHook to limit other protocols and is specified in an <codeph>ESK</codeph> file. The <codeph>inhook6.dll</codeph> is the library file used by developers to write hooks. All hooks must be derived from <xref href="GUID-1A52EC87-DAD1-32C8-B530-295A65EB7292.dita"><apiname>CIp6Hook()</apiname></xref> base class and provide a family base class object that is derived from <codeph>CProtocolFamilyBase</codeph> </p> <p>The hooks are also known as protocol modules (prt). The hooks are called at different levels of data processing within the TCP/IP stack. </p> <section id="GUID-AF679B6D-9F0E-51AF-B0D7-C79A7AB54DDA"><title>Types of IPHook</title> <p>IPHooks are protocol modules used to process incoming and outgoing data packets. The hooks are called at different levels of data processing within the TCP/IP stack. The 4 types of IPHooks are: </p> <ul><li id="GUID-42258B75-0927-58DA-BFCB-166D1B891FCF"><p> <xref href="GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702.dita#GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702/GUID-D09DA878-25EB-5B6F-B4E2-040ED1311F2E"> Inbound hooks</xref> </p> </li> <li id="GUID-55CB119E-B33B-5BAF-B41F-FD2CB6F01419"><p> <xref href="GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702.dita#GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702/GUID-D61AA606-BBE6-5DE4-8FC8-56A2FF2DC5E5">Outbound flow hooks</xref> </p> </li> <li id="GUID-7C6290F5-7380-51CC-AD49-1EB9683690D0"><p> <xref href="GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702.dita#GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702/GUID-11980DAB-4275-544D-8E2F-10273591A4D4">Pre-processing hooks</xref> </p> </li> <li id="GUID-DDDF74A0-2649-526A-8202-3F3AF06AFF4F"><p> <xref href="GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702.dita#GUID-B9B506DD-356F-5E04-A8CA-34874F3BD702/GUID-BF6C4707-2D52-5A6B-B2AC-7A5C7D95587D">Post-processing hooks</xref> </p> </li> </ul> </section> <section id="GUID-D09DA878-25EB-5B6F-B4E2-040ED1311F2E"><title>Inbound hooks</title> <p>The inbound hooks are used to add new headers or modify the existing headers in the incoming packets. The inbound hooks are called at IP level. The hooks process the incoming data packets. The TCP/IP stack calls all registered inbound hooks, after processing the data packets to the next hook or upper layer protocols. </p> </section> <section id="GUID-D61AA606-BBE6-5DE4-8FC8-56A2FF2DC5E5"><title>Outbound flow hooks</title> <p>A flow is created for each type of data to optimise the data packets. A flow is a calculated path between the upper layer protocol and the interface. The upper layer protocols use the IP address parameter and packet length to maximize the performance of data packets. The hooks called during the flow are outbound flow hooks. The outbound flow hooks changes the data packets in the outbound direction. There can be any number of flow hooks registered with the socket server. The socket server loads the protocols and TCP/IP stack calls the hook modules. </p> </section> <section id="GUID-11980DAB-4275-544D-8E2F-10273591A4D4"><title>Pre-processing hooks</title> <p>The pre-processing hooks are called when the data packets are between the network interface (NIF) and the IP. The pre-processing hooks are called before processing is done by the IP stack. The pre-processing hooks are used as a packet sniffer. The pre-processing hook reads the incoming data packets and forward to other hooks or upper layer protocols. </p> </section> <section id="GUID-BF6C4707-2D52-5A6B-B2AC-7A5C7D95587D"><title>Post-processing hooks</title> <p>The hooks called after the IP level processing, but before forwarding the packets to the interface are known as post-processing hooks. The post processing hooks are also known as outbound post hooks. There can be any number of post-processing hooks. The TCP/IP stack calls all the registered hooks until a terminator is reached. When a terminator is reached, the data packets are forwarded to the interface. </p> </section> </conbody><related-links><link href="GUID-340C57A4-B799-502D-8B86-39955E2F4268.dita"><linktext>Creating an ESK File</linktext> </link> <link href="GUID-6998404B-CC51-5337-B04F-8444C32B99C9.dita"><linktext>Writing an Inbound
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    13
                Hook</linktext> </link> <link href="GUID-88AB6957-6D2B-5668-8CC3-4E426E68C9B7.dita"><linktext>Writing an Outflow
1
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    14
                Hook</linktext> </link> </related-links></concept>