// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "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:
//
// Description:
// Hosts the service-providing protocol modules and network interfaces
// esocksvr.dll Esock Server dll
//
//
/**
@file
*/
TARGET esocksvr.dll
TARGETTYPE DLL
// speed optimisations
#ifdef MARM_ARMV5
OPTION ARMCC -O3 -Otime
#endif
// UID: CommsServerModuleDll EsockSvr
UID 0x101f7417 0x101F7482
VENDORID 0x70000001
SOURCEPATH ../ssock
SOURCE es_enum.cpp
SOURCE ss_api_ext.cpp
SOURCE ss_apiext_messages.cpp
SOURCE ss_apiext_register.cpp
SOURCE ss_datamon_apiext.cpp
SOURCE ss_mobility_apiext.cpp
SOURCE ss_platsec_apiext.cpp
SOURCE ss_commsprov.cpp
SOURCE ss_conn.cpp
SOURCE ss_connstates.cpp
SOURCE ss_connectionserver.cpp
SOURCE ss_connectionsession.cpp
SOURCE ss_connLegacy.cpp
SOURCE ss_connprov.cpp
SOURCE ss_connselect.cpp
SOURCE ss_connsettings.cpp
SOURCE ss_DataMonitoringProvider.cpp
SOURCE ss_datatransfer.cpp
SOURCE SS_EXTN.CPP
SOURCE ss_fact.cpp
SOURCE ss_factorycontainermap.cpp
SOURCE ss_flowbinders.cpp
SOURCE ss_flowrequest.cpp
SOURCE ss_flowrequeststates.cpp
SOURCE SS_GLOB.CPP
SOURCE ss_intsock.cpp
SOURCE ss_nodemessages_legacy.cpp
SOURCE ss_legacyinterfaces.cpp
SOURCE ss_log.cpp
SOURCE SS_MAIN.CPP
SOURCE SS_MAN.CPP
SOURCE ss_mbufif.cpp
SOURCE ss_mcprnodemessages.cpp
SOURCE ss_metaconnprov.cpp
SOURCE ss_mmcommsprov.cpp
SOURCE ss_mmnode.cpp
SOURCE ss_mmnode_subsess.cpp
SOURCE ss_nodeinterfaces.cpp
SOURCE ss_nodemessages.cpp
SOURCE ss_commsdataobject.cpp
SOURCE ss_parameterfamilybundle.cpp
SOURCE SS_PROT.CPP
SOURCE ss_prot2.cpp
SOURCE ss_protcfgldr.cpp
SOURCE ss_protprov.cpp
SOURCE ss_roles.cpp
SOURCE SS_RSLV.CPP
SOURCE ss_sap.cpp
SOURCE ss_sapfactshim.cpp
SOURCE ss_sapshim.cpp
SOURCE ss_secpol.cpp
SOURCE SS_SES.CPP
SOURCE SS_SOCK.CPP
SOURCE ss_subconn.cpp
SOURCE ss_subconnflow.cpp
SOURCE ss_subconnprov.cpp
SOURCE ss_subconnstates.cpp
SOURCE SS_SVR.CPP
SOURCE ss_thread.cpp
SOURCE ss_tiermanager.cpp
SOURCE ss_tiermanagerutils.cpp
SOURCE SS_TIMER.CPP
SOURCE ss_transporthook.cpp
SOURCE SS_UTL.CPP
SOURCE ss_protocolparameterset.cpp
SOURCE ss_cmetaextensioncontainer.cpp
SOURCE ss_rmetaextensioncontainer.cpp
SOURCEPATH ../core_states
SOURCE ss_esockactivities.cpp
SOURCE ss_esockstates.cpp
SOURCE ss_corepractivities.cpp
SOURCE ss_coreprstates.cpp
SOURCEPATH ../eintsock
SOURCE ss_eintsock.cpp
SOURCE ss_eintsockimpl.cpp
SOURCE ss_eintutil.cpp
SOURCE ss_eintsocklog.cpp
SOURCE ss_eintsock_msgs.cpp
USERINCLUDE ../csock
USERINCLUDE ../ssock
USERINCLUDE ../inc
USERINCLUDE ../eintsock
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib esock.lib mbufmgr.lib efsrv.lib commdb.lib ecom.lib
LIBRARY commsfw.lib netmeta.lib responsemsg.lib netsm.lib commsdat.lib
LIBRARY netinterfaces.lib esock_api_ext.lib
LIBRARY commsdataobjects.lib
LIBRARY nodemessages.lib
LIBRARY meshmachine.lib
LIBRARY virtualconstructors.lib
LIBRARY factories.lib
LIBRARY serverden.lib
#ifdef SYMBIAN_ZERO_COPY_NETWORKING
LIBRARY commsbufs.lib
#endif
deffile esocksvr.DEF
//MI support
#include <elements/sd_mintercept.mmh>
#include <comms-infras/commsdebugutility.mmh>
#include <cflog.mmh>
CAPABILITY All -Tcb
// Define this to avoid getting a breakpoint from memory leaks, etc.
//MACRO ESOCKV3_TEMPORARY_PAIN_RELIEF
/**
Define SYMBIAN_ENABLE_NETWORKING_PERFMETRICS to enable the slow, low-volume logging of performance data.
Need to recompile COMMSFW + individual client projects
*/
//MACRO SYMBIAN_ENABLE_NETWORKING_PERFMETRICS
/**
UNDER NO CIRCUMSTANCES SHOULD THIS BE USED IN A PRODUCTION DEVICE - THE IMPLEMENTATION IS UNFINISHED & UNTESTED!
Define ESOCK_GULP to enable experimental performance optimisation whereby tcp stack is drained of new data
irrespective of an outstanding blocking client read request. Note - implementation not finished; fails for;
a) urgent data - verified
b) data peeking - unverified (but very likely)
*/
//MACRO ESOCK_GULP
MACRO AVAILABILITY_READY
UNPAGED
SMPSAFE