epoc32/include/variant/symbian_os.hrh
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
--- a/epoc32/include/variant/symbian_os.hrh	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/variant/symbian_os.hrh	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,1260 @@
-symbian_os.hrh
+// 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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Symbian_OS.hrh
+// Configuration options for Symbian OS
+// This file is managed by the Master Codeline Forum
+// SYMBIAN_JAVA_NOT_INCLUDED
+// For TB9.1 and later versions, J2ME will no longer be included in the 
+// build.  
+// This #define supports PREQ2545
+// 
+//
+
+#include "platform_paths.hrh"
+#define SMPSAFE   /* SMPSAFE keyword removed */
+
+
+/**
+ @publishedPartner
+*/
+#define SYMBIAN_JAVA_NOT_INCLUDED
+   
+/**
+@publishedAll
+
+__WATCHER_API_V2__
+
+If __WATCHER_API_V2__ is defined then the 
+watcher framework supports ECOM watcher plugins.
+*/
+#define __WATCHER_API_V2__
+
+/**
+@publishedAll
+
+__HIDE_WATCHER_API_V1__
+
+Hides support APIs for loading non-ECOM watcher plugins. Non-ECOM watcher 
+plugins are still loaded. The associated define __REMOVE_WATCHER_API_V1__
+removes the implementation of the support APIs.
+
+Assumes that __WATCHER_API_V2__ has been defined.
+*/
+#define __HIDE_WATCHER_API_V1__
+#define __REMOVE_WATCHER_API_V1__
+
+/**
+SYMBIAN_TIMEZONE_SUPPORT_V1
+
+@publishedAll
+
+When SYMBIAN_TIMEZONE_SUPPORT_V1 is defined the App-services TzClient.dll 
+module (and accompanying import library) is made available for client 
+application use.
+
+This #define supports PREQ663
+*/
+#define SYMBIAN_TIMEZONE_SUPPORT_V1
+
+/** 
+@publishedAll
+
+SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
+
+If SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT is defined then 
+the Multimedia Framework (MMF) can support video playback on 
+a secondary display. The default screen will be the screen 
+number in the cone environment.
+
+@see CVideoPlayerUtility
+*/
+#define SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
+
+/**
+@publishedAll
+
+SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
+
+If  SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM is defined, the Composite
+File System allows more than one ROFS partition to be included in
+the composite Z: drive.
+
+This #define supports PREQ1085
+*/
+#define SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
+
+/**
+@publishedPartner
+
+__SECURE_BIN__
+
+When __SECURE_BIN__ is defined, executable files stored as
+"data" in the XIP ROM are assumed to be in their data-caged 
+locations. The presence of this #define does not imply that 
+data-caging is enforced, and does not imply that binaries have 
+been relocated to sys\bin.
+
+This #define supports PREQ537 "Platform security - file system layout".
+*/
+#define __SECURE_BIN__
+
+/**
+@publishedAll
+
+SYMBIAN_COREAPPS_API_V2
+
+If SYMBIAN_COREAPPS_API_V2 is defined then new functionality is available within 
+the Core Apps sub-system (Contacts Model, Agenda Model and World Server) to 
+support a platform secured OS.
+*/
+#define SYMBIAN_COREAPPS_API_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_APPARC_APPINFO_CACHE
+
+If SYMBIAN_APPARC_APPINFO_CACHE is defined then apparc creates 
+a file of application information on the first boot, which is 
+used during subsequent boots for application information.
+*/
+#define SYMBIAN_APPARC_APPINFO_CACHE
+
+/**
+@publishedPartner
+
+SYMBIAN_NETWORKING_IPSEC_IKE_V2
+
+If SYMBIAN_NETWORKING_IPSEC_IKE_V2 is defined, IPSEC will 
+be able to support Internet Key Exchange version 2 in 
+addition to IKE v1. This involves a change in the size of 
+the TPfkeyMsgBase class - see BR1736.1.
+
+Actual support for IKE v2 will depend on the provision 
+of a suitable plugin to the Key Management Daemon.
+
+This #define supports PREQ1223.
+*/
+#define SYMBIAN_NETWORKING_IPSEC_IKE_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_UIKON_UNIFICATION
+
+When SYMBIAN_UIKON_UNIFICATION is defined, the existing 
+CEikSrvAppUiBase class is replaced with a customisable class
+provided by the System GUI. 
+
+This #define supports PREQ819 and PREQ826
+*/
+#define SYMBIAN_UIKON_UNIFICATION
+
+/**
+@publishedAll
+
+__SECURITY_PLATSEC_ARCH__
+
+If this macro is defined, then platform security aware security services 
+APIs will be present.  This includes architectural changes to several 
+components.
+
+If this macro is not defined, the original version (since 8.0) of the 
+security services APIs will be present. 
+
+The following components are affected:
+  cryptotokens
+  certman
+  filetokens
+
+*/
+#define __SECURITY_PLATSEC_ARCH__
+
+/**
+SYMBIAN_ECAM_CHUNKAPI
+
+@publishedAll
+@released
+
+Specifies that an extended API will be used in the multimedia 
+camera interface. This has a v2 observer which allows camera data 
+to be returned without buffer copy, and also allows clients to set 
+camera access priority
+
+@see CCamera
+@see MCameraObserver2
+
+This #define supports PREQ799.
+*/
+#define SYMBIAN_ECAM_CHUNKAPI
+
+/**
+@publishedAll
+
+SYMBIAN_SECURE_ECOM
+
+When SYMBIAN_SECURE_ECOM is not defined, ECOM plugins are discovered by 
+searching for DLLs in System\libs\plugins, and inferring the name of 
+the resource file from the UID3 of the DLL.
+
+When SYMBIAN_SECURE_ECOM is defined, ECOM plugins will also be discovered
+by searching for resource files in \Resource\Plugins, and inferring the
+name of the DLL from the name of the resource file. When platform security
+is fully enforced, only this new style of discovery will work.
+*/
+#define SYMBIAN_SECURE_ECOM
+
+/**
+@publishedAll
+
+SYMBIAN_INETPROTUTILS_RFC3986
+
+Description:
+If SYMBIAN_INETPROTUTILS_RFC3986 is defined, the Internet 
+Protocol Utility Library supports RFC 3986, which increases 
+the set of reserved characters.
+
+@see EscapeUtils::IsExcludedChar
+
+This #define implements BR2009.
+*/
+#define SYMBIAN_INETPROTUTILS_RFC3986
+
+/**
+@publishedPartner
+
+SYMBIAN_FONT_METRICS_V2 
+
+If this is defined, then classes which derive from COpenFont (usually 
+these are part of a font rasterizer implementation) must set the 
+protected member variables:
+iFontAscentOfCapitals
+iFontAscentIncAccents
+iFontDescent
+iFontLineGap
+to appropriate values during the creation of a font. 
+If this macro is not defined then these member variables do not exist.
+
+@see COpenFont
+*/
+#define SYMBIAN_FONT_METRICS_V2
+
+/**
+@publishedAll
+
+__OBEX_USER_DEFINED_HEADERS__
+
+If __OBEX_USER_DEFINED_HEADERS__ is defined then the new API support for extended Headers will be available.
+This new support includes USER DEFINED HEADERS and the COUNT header.
+If this functionality is compiled out then the old API is available as before.
+For more information on see documents shown below.
+
+@see SGL.GT171.097 - Obex Header Extension how to
+@see SGL.GT171.095 - Obex Extension Design Document
+*/
+#define __OBEX_USER_DEFINED_HEADERS__
+
+/**
+@publishedPartner
+
+SYMBIAN_CENTREP_NOC
+
+If SYMBIAN_CENTREP_NOC is defined, the Central Repository 
+includes Notify-Only Client Optimization. This will cause 
+repositories to be unloaded after a timeout even if the 
+connection is still open.
+
+This #define supports PREQ1228. 
+*/
+#define SYMBIAN_CENTREP_NOC
+
+/**
+@publishedPartner
+@since 8.1
+
+SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT 
+
+If this is defined, the MHCIEventObserver class must implement
+the FlushCompleteEvent virtual function, which will be used by 
+the link manager to send Flush Complete events up to the stack. 
+If this macro is not defined, Flush Complete events will be discarded.
+
+@see MHCIEventObserver
+@see CHCIFacade
+*/
+#define SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT
+
+/**
+@publishedAll
+
+SYMBIAN_MULTIMEDIA_CODEC_API
+
+If SYMBIAN_MULTIMEDIA_CODEC_API is defined then support is 
+available for PREQ1024 delivered Processing Unit or 
+OpenMAX based codecs and Multimedia hardware devices.
+*/
+#define SYMBIAN_MULTIMEDIA_CODEC_API
+
+/**
+@publishedAll
+
+__MESSAGING_API_V2__
+
+If __MESSAGING_API_V2__ is defined then new functionality 
+is available within the Messaging sub-system to support a 
+platform secured OS, e.g. the Attachment API.
+*/
+#define __MESSAGING_API_V2__
+#define __HIDE_MESSAGING_API_V1__
+#define __REMOVE_MESSAGING_API_V1__
+
+/**
+@publishedPartner
+
+SYMBIAN_BOOKMARK_DATABASE
+
+The Bookmark Database is an API used to provide system-wide 
+storage and management functionality for URI bookmarks. 
+If defined, this macro indicates that the Bookmark Database 
+API is present in the platform.
+*/
+#define SYMBIAN_BOOKMARK_DATABASE
+
+/**
+@publishedPartner
+
+SYMBIAN_NETWORKING_UMTSR5
+
+If SYMBIAN_NETWORKING_UMTSR5 is defined support for the QoS 
+and IMS parameters introduced by Release 5 of the 3GPP 
+specification will be enabled. This involves a BC break in 
+TContextConfig - see BR1582.1 for details.
+
+@see TContextConfig
+
+This #define supports PREQ192 and PREQ635.
+*/
+#define SYMBIAN_NETWORKING_UMTSR5
+
+/**
+@publishedPartner
+
+SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+If SYMBIAN_NETWORKING_3GPPDEFAULTQOS is defined, support 
+for QoS modification on the default PDP context will be 
+enabled via the RSubconnection API.
+
+This #define supports PREQ870.
+*/
+#define SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+
+/**
+SYMBIAN_STAGED_SYSTEM_STARTUP
+
+@publishedPartner
+
+When SYMBIAN_STAGED_SYSTEM_STARTUP is defined, the staged 
+start-up architecture has been introduced into the OS and 
+'Start-up State Aware' components can make use of the 
+architecture.
+
+This #define supports PREQ 810.
+*/
+#define SYMBIAN_STAGED_SYSTEM_STARTUP
+
+/**
+@publishedAll
+
+__HIDE_IPC_V1__
+
+If __HIDE_IPC_V1__ is defined then the deprecated insecure IPC APIs will be removed from various Symbian OS header files. Classes affected include CSession, CServer, RMessage and RMessageptr.
+
+For more information see the document listed below.
+
+@see SMG.SM0005.004 - Platform Security Development for Zephyr
+@see CSession
+@see CServer
+@see RMessage
+@see RMessagePtr
+*/
+#define __HIDE_IPC_V1__
+
+/**
+@publishedPartner
+
+SYMBIAN_NETWORKING_DHCPSERVER
+
+If SYMBIAN_NETWORKING_DHCPSERVER is defined, Symbian OS includes a
+simplified DHCPv4 server capable of dealing with single client.
+
+This #define provides functionality to support PREQ749.
+*/
+#define SYMBIAN_NETWORKING_DHCPSERVER
+
+/**  
+@publishedAll 
+
+SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
+
+This macro removes the trivial encryption APIs that are exported by EUSER. 
+
+See BR1320 for more details
+
+*/
+#define SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
+
+/**
+@internalTechnology
+
+SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
+
+Description:
+If SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST is defined, the WAP Push
+watcher compares the origin of Push messages against URIs in a
+"White list" and "Black list".
+
+This #define supports PREQ1505
+*/
+#define SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
+
+/**
+@publishedPartner
+
+SYMBIAN_FLEXIBLE_ALARM
+
+When this macro is defined, Calendar Interim API, Alarm server and UIKON 
+Alert Server will support additional functionality.
+- Extra data can be attached to calendar alarm and allow UI app 
+to retrieve the associated data.
+- The Alarm server can send multiple expired alarms to Alert Server without 
+waiting for the previous alarm acknowledged first
+- A Resource file can be used to configure alarm play intervals and durations, 
+or to disable alarm sound control.
+
+This #define supports PREQ1118
+*/
+#define SYMBIAN_FLEXIBLE_ALARM
+
+/**
+@publishedPartner
+
+SYMBIAN_PKCS12
+
+If SYMBIAN_PKCS12 is defined, the PKCS#12 Key Derivation 
+Algorithm is supplied.
+
+This #define supports PREQ1054. 
+*/
+#define SYMBIAN_PKCS12
+
+/**
+@publishedAll
+
+SYMBIAN_MMF_AUTOPAUSE_RESUME
+
+This #define enables extra features in the MMF APIs for auto pause 
+and resume of audio streams.
+*/
+#define SYMBIAN_MMF_AUTOPAUSE_RESUME
+
+/**
+@publishedAll
+
+__SECURE_BACKUP__
+
+If __SECURE_BACKUP__ is defined, the Secure Backup server replaces
+the use of SCRemFs for backup and restore, changing the backup protocol.
+Applications which have private data need to provide additional backup 
+registration files, and may use Publish & Subscribe to receive 
+notification of backup requests.
+
+This #define supports PREQ716 - Provide support for secure backup and 
+restore for licensee PC Connectivity software 
+*/
+#define __SECURE_BACKUP__
+
+/** 
+@publishedAll
+
+SYMBIAN_NETWORKING_REMOVE_RGENERIC
+
+If this macro is defined the deprecated APIs RGenericAgent, 
+RNif, RNifMonitor and Nifman are removed. All of these APIs, 
+exported by NIFMAN, have been deprecated and replaced by 
+the RConnection API exported by ESOCK.
+
+@see Break request BR1070 
+*/ 
+#define SYMBIAN_NETWORKING_REMOVE_RGENERIC
+
+/**
+@publishedPartner
+@released 9.0
+
+SYMBIAN_NETWORKING_RSUBCONNECTION
+
+If SYMBIAN_NETWORKING_RSUBCONNECTION is defined, the RQosChannel API is
+removed, and the RSubConnection API exported by ESOCK must be used instead.
+
+This #define supports PREQ 26.
+*/ 
+#define SYMBIAN_NETWORKING_RSUBCONNECTION
+
+/**
+@publishedAll
+
+SYMBIAN_HIDE_COREAPPS_API_V1
+
+If SYMBIAN_HIDE_COREAPPS_API_V1 is defined then the insecure CoreApps APIs
+will be removed from various Symbian OS header files. Components affected are 
+Contacts Model, Agenda Model and World Server.
+
+The related define SYMBIAN_REMOVE_COREAPPS_API_V1 removes the underlying implementations,
+causing a binary compatibility break to match the source compatibility break.
+*/
+#define SYMBIAN_HIDE_COREAPPS_API_V1
+#define SYMBIAN_REMOVE_COREAPPS_API_V1
+
+/**
+@publishedAll
+
+__UI_FRAMEWORKS_V2__
+
+If __UI_FRAMEWORKS_V2__ is defined then PlatSec aware UI Frameworks API's will be available. 
+The following frameworks will be affected:
+
+Applications 
+File Recognizers
+Data Recognizers
+Notifiers
+Control Panel Plugins
+Feps
+App-initialization (CEikLibrary)
+Converters
+Error-Resolving
+*/
+#define __UI_FRAMEWORKS_V2__
+#define SYMBIAN_HIDE_UI_FRAMEWORKS_V1
+#define SYMBIAN_REMOVE_UI_FRAMEWORKS_V1
+
+/**
+@internalAll
+
+__BC_FUTURE_PROOFING__
+
+Support for the implementation of PREQ743 "Introduction of interface 
+robustness patterns to support future binary compatibility".
+*/
+#define __BC_FUTURE_PROOFING__
+
+/** 
+@publishedPartner 
+  
+SYMBIAN_TELEPHONY_USAT5 
+
+If SYMBIAN_TELEPHONY_USAT5 is defined then support for 3GPP 
+Release 5 (U)SAT will be enabled. 
+
+@see RSat::TCallControlV5
+
+This #define supports PREQ1234.
+*/ 
+#define SYMBIAN_TELEPHONY_USAT5
+
+/**
+SYMBIAN_GENERIC_SYSTEM_STARTUP
+
+@publishedPartner
+
+This #define enables the generic start-up architecture in
+which the System Starter process is responsible for the
+controlled startup of the system. 
+
+The #define supports PREQ808 and PREQ809.
+*/
+#define SYMBIAN_GENERIC_SYSTEM_STARTUP
+
+/**
+@publishedAll
+
+SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
+
+If this macro is defined, then the Bluetooth stack reconfigures to take
+advantage of security mechanisms in Publish and Subscribe. Any other
+components requiring reconfiguration to make use of Publish and Subscribe
+can also use this macro.
+
+*/
+#define SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
+
+/**
+@publishedAll
+
+SYMBIAN_SECURITY_CAF_RFILE_HANDLE
+
+If SYMBIAN_SECURITY_CAF_RFILE_HANDLE is defined then it enables the Content Access 
+Framework to read from files passed to it as an open RFile handles instead of CAF 
+opening the file itself. This allows files stored in a data caged directory to be 
+read by CAF.  
+
+*/
+#define SYMBIAN_SECURITY_CAF_RFILE_HANDLE
+
+/**
+@publishedAll
+
+__JAVACUSTOMINSTALL__
+
+If __JAVACUSTOMINSTALL__ is defined then an additional UI callback is made after MIDlet
+installation has succeeded or failed. This callback is intended for information only and the 
+information passed can be licensee customised. The intention would be that the device user
+can use this information to diagnose install problems in conjunction with network operators.
+If this #define is not present then the callback is not present and is not called.
+For more information on see documents shown below.
+
+@see SGL.GT0188.253 CDMA Java MIDlet Installer Component Design
+*/
+#define __JAVACUSTOMINSTALL__
+
+/**  
+@publishedAll 
+
+SYMBIAN_MDF_API_V2 
+
+This macro selects the Symbian OS 9.x phase of development in 
+the Media Device Framework API, including changes to enable 
+MDF Video Decoder Hardware devices to support applications, 
+streaming and demux.
+
+@see CMMFVideoPlayHwDevice
+*/ 
+#define SYMBIAN_MDF_API_V2
+
+/**
+@publishedPartner
+
+SYMBIAN_SMS_REL6_SUPPORT
+
+SMS Release 6 support is defined in the 3GPP specifications
+(3GPP TS 23.040 V6.5.0 and 3GPP TS 23.038 V6.1.0).
+If defined, this macro indicates that Symbian OS SMS APIs
+shall support Release 6 functionality.
+*/
+#define SYMBIAN_SMS_REL6_SUPPORT
+
+/**
+@publishedPartner
+
+SYMBIAN_SWI_POST_INSTALL_REVOCATION
+
+When SYMBIAN_SWI_POST_INSTALL_REVOCATION is defined, 
+support for the SWI post install revocation service is enabled.
+
+This #define supports PREQ919
+*/
+#define SYMBIAN_SWI_POST_INSTALL_REVOCATION
+
+/**
+@publishedPartner
+
+SYMBIAN_TELEPHONY_IMS
+
+If SYMBIAN_TELEPHONY_IMS is defined then IMS related APIs are included 
+in Telephony components.
+
+This #define supports PREQ61.
+*/
+#define SYMBIAN_TELEPHONY_IMS
+
+/**
+@publishedPartner
+
+SYMBIAN_IGNORE_BIN_TARGETPATH
+
+When SYMBIAN_IGNORE_BIN_TARGETPATH is defined the TARGETPATH keyword in MMP files is ignored for executables. 
+Executables for the emulator instead get built to the default location.
+e.g. \epoc32\release\winscw\udeb
+*/
+#define SYMBIAN_IGNORE_BIN_TARGETPATH
+
+/**
+@publishedAll 
+
+SYMBIAN_COMMS_REPOSITORY
+
+Comms data is now stored in the Central Repository rather than the DBMS server.  
+A new module, CommsDat.dll, replaces Commdb.dll as the interface for comms data stored on a device. 
+CommsDat has a different API to Commdb, but provides equivalent functionality. 
+There is no longer an SQL API for access to Comms Data. 
+Commdb tools have been migrated for use with CommsDat 
+Commdb is deprecated and should not be used, though it remains as a temporary BC shim on top of CommsDat.   
+*/
+#define SYMBIAN_COMMS_REPOSITORY
+
+/**
+@publishedAll
+
+SYMBIAN_VARIABLE_BITRATE_CODEC
+
+If SYMBIAN_VARIABLE_BITRATE_CODEC is defined then 
+CMMFSwCodecWrapper based audio hardware devices in the 
+Multimedia Framework (MMF) can support variable bitrate codecs.
+
+@see CMMFSwCodecWrapper
+*/
+#define SYMBIAN_VARIABLE_BITRATE_CODEC
+
+/**
+@publishedAll
+
+__SECURE_TELEPHONY__
+
+If __SECURE_TELEPHONY__ is defined, all Platform Security functionality 
+within the Telephony subsystem will be enabled.
+If __SECURE_TELEPHONY__ is not defined, no Platform Security functionality 
+within the Telephony subsystem is enabled.
+*/
+#define __SECURE_TELEPHONY__
+
+/**
+@publishedPartner
+
+SYMBIAN_CAF_V2
+
+The SYMBIAN_CAF_V2 flag indicates the CAF API v2 is present. 
+CAF v2 supports files containing multiple content objects, which requires 
+a change of API for CAF agents: agents written for CAF v1 will not compile
+against CAF v2. See BR.1219.2 for migration information.
+
+This #define supports PREQ780.
+*/
+#define SYMBIAN_CAF_V2
+
+/**
+SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
+
+@publishedPartner
+ 
+This macro enables a consolidation phase in the ROM building 
+process to generate additional metadata for each ROM drive.  
+The metadata describes the content and structure of the ROM 
+conveniently filtered for any component that requires it.
+
+Components supply metadata with the "spidata" BUILDROM keyword.
+
+This macro supports PREQ806 and other requirements that 
+eliminate run-time scanning of ROM content.
+*/
+#define SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
+
+/**
+@publishedPartner
+
+SYMBIAN_BLUETOOTH_ESCO_ENABLED
+
+Enable support for Bluetooth eSCO synchronous links.  
+Defining this macro extends the interface to CHCIBase to support 
+the Synchronous connection commands added in Bluetooth 1.2.
+*/
+#define SYMBIAN_BLUETOOTH_ESCO_ENABLED
+
+/**
+@publishedPartner
+
+SYMBIAN_SECURE_MIDLET_INSTALL
+
+If SYMBIAN_SECURE_MIDLET_INSTALL is defined then the Java MIDlet 
+Installer supports installation under Platform Security policies, 
+using the interface published by security\JavaMIDletInstaller.
+
+If SYMBIAN_SECURE_MIDLET_INSTALL is not defined then Java MIDlet 
+installation is achieved through the security\appinst interfaces.
+*/
+#define SYMBIAN_SECURE_MIDLET_INSTALL
+
+/**
+@publishedAll
+
+SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
+
+If SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2 is defined then 
+the following additional features will be available in CONE.
+1) Functions to set and get the background of a control.
+2) Functions to add components to a compound control in a simpler way.
+3) Hooks for the support of layout managers.
+4) A component that will provide fonts and cache them for easier use 
+   of these fonts by controls.
+
+@see CCoeControl
+*/
+#define SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
+
+/**
+@publishedAll
+
+SYMBIAN_CNTMODEL_V2
+
+If SYMBIAN_CNTMODEL_V2 is defined, clients of the
+Contacts Model can exploit the efficiency improvements
+introduced by PREQ811, e.g. efficient use of transactions. 
+
+This #define supports PREQ811
+*/
+#define SYMBIAN_CNTMODEL_V2
+
+/**
+@publishedAll
+
+SYMBIAN_COREAPPS_PLUGIN_API_V2
+
+If SYMBIAN_COREAPPS_PLUGIN_API_V2 is defined then  Ecom solely is used as loading 
+mechanism.The legacy plugin loading mechanism is used otherwise.
+*/
+#define SYMBIAN_COREAPPS_PLUGIN_API_V2
+
+/**
+@internalAll
+
+DO_NOT_USE_THIS_MACRO
+
+If DO_NOT_USE_THIS_MACRO is defined, assume the Cedar platform.
+If DO_NOT_USE_THIS_MACRO is not defined, assume the Beech platform.
+
+This macro was originally introduced as a stopgap measure, to
+identify differences between Symbian OS v7.0s and Symbian OS v8.0b
+which were not specifically to do with the change from Kernel
+Architecture 1 to Kernel Architecture 2.
+
+This macro will be deprecated when a suitable alternative is provided.
+*/
+#ifndef DO_NOT_USE_THIS_MACRO
+#define DO_NOT_USE_THIS_MACRO
+#endif
+
+/** 
+@publishedPartner
+
+SYMBIAN_C32ROOT_API_V2
+
+Strengthens the C32Root API and extends it to include 
+configuration of queue length for bindings. 
+
+This #define supports PREQ318.
+*/
+#define SYMBIAN_C32ROOT_API_V2
+
+/**
+@publishedAll
+
+__SECURE_API__
+
+Hides unsecure APIs. Many of these have been replaced by Secure variants 
+but some are no longer available in a Secure platform.
+
+e.g.
+
+@see User::RenameThread
+@see User::CommandLine
+
+*/
+#define __SECURE_API__
+#define SYMBIAN_REMOVE_INSECURE_API
+
+/**
+@publishedAll
+
+__CNF_FORMAT_V2__
+
+If __CNF_FORMAT_V2__ is defined, assume that Epoccnf.pl generates
+files in version 2 of the CNF format, and that both versions 1
+and 2 of this file format can be read by Conarc.
+If __CNF_FORMAT_V2__ is not defined, assume that Epoccnf.pl
+generates files in version 1 of the CNF format, and that only
+version 1 of this file format can be read by Conarc.
+*/
+#define __CNF_FORMAT_V2__
+
+/** 
+@publishedPartner 
+
+SYMBIAN_SUPPORT_LINKED_FONTS 
+
+If SYMBIAN_SUPPORT_LINKED_FONTS is defined then APIs are provided 
+to create 'linked' font instances which combine glyph sets from 
+multiple existing font glyph sets.
+
+@see CLinkedTypefaceElement
+@see CLinkedTypefaceSpecification
+
+This #define supports PREQ1431.
+*/ 
+#define SYMBIAN_SUPPORT_LINKED_FONTS
+
+/**
+@publishedPartner
+
+SYMBIAN_SECURE_DBMS
+
+When SYMBIAN_SECURE_DBMS is defined, support for secure 
+shared databases is enabled within DBMS.  
+When not defined, all secure-shared-database-specific APIs 
+take the form of dummy implementations which return KErrNone.
+*/
+#define SYMBIAN_SECURE_DBMS
+
+/**
+@publishedAll
+
+SYMBIAN_ASSUME_SECURE_DATA
+
+When this macro is defined, all data files are assumed to be in their secure
+locations, and all code which provided backward compatibility for the
+insecure locations is removed. For example, ICL extended resource files
+will not be loaded from System\Libs\Plugins, only from \Resource\ICL.
+
+This macro only makes sense if __SECURE_DATA__ is defined.
+*/
+#define SYMBIAN_ASSUME_SECURE_DATA
+
+/**
+@publishedAll
+@deprecated
+@since 8.0
+
+__KEYSTORE_API_V2__
+
+*/
+#define __KEYSTORE_API_V2__
+
+/**
+@publishedAll
+
+__SECURE_DATA__
+
+When __SECURE_DATA__ is defined, public read-only files are
+assumed to be in their data-caged locations. The presence of
+this #define does not imply that data-caging is enforced, and
+does not imply that binaries have been relocated to sys\bin.
+
+This #define supports PREQ537 "Platform security - file system layout".
+*/
+#define __SECURE_DATA__
+
+/**
+@publishedAll
+
+SYMBIAN_NETWORKING_PLATSEC
+
+If SYMBIAN_NETWORKING_PLATSEC is defined, additional platform security 
+related functionality in enabled in the Comms-Infras and Networking 
+subsystems (e.g. API policing).
+*/
+#define SYMBIAN_NETWORKING_PLATSEC
+
+/**
+@publishedAll
+
+__CONDITIONS_SCHEDULES_VALID__
+
+If __CONDITIONS_SCHEDULES_VALID__ is defined then the Task Scheduler component 
+supports creating persistent schedules based on a set of conditions and a 
+timeout. The schedule is run when either all the conditions are met or the 
+timeout is reached.
+
+This functionality is part of PREQ694 - PREQ 694 - Automatic sending of SMS on
+network reconnection.
+*/
+#define __CONDITIONS_SCHEDULES_VALID__
+
+/**
+@internalComponent
+
+__LEAVE_EQUALS_THROW__
+
+If __LEAVE_EQUALS_THROW__ is defined, User::Leave() and TRAP() are 
+implemented in terms of C++ exceptions where the compiler supports this.
+If __LEAVE_EQUALS_THROW__ is not defined, the legacy Symbian exception 
+mechanism is used instead.
+
+Support for C++ exceptions by the compiler is indicated by the 
+internal macro __SUPPORT_CPP_EXCEPTIONS__ supplied by the tools.  
+Where this macro is not present, __LEAVE_EQUALS_THROW__ is automatically 
+undefined.
+
+This macro supports PREQ519 "Implement User::Leave() in terms of throw()".
+*/
+#define __LEAVE_EQUALS_THROW__
+
+/**
+@publishedAll
+
+__BLUETOOTH_API_V2__
+
+If __BLUETOOTH_API_V2__ is defined assume that version 2 of the bluetooth
+subsystem will be built.  This is binary compatible with version 1 for all
+published-all APIs but is not source compatible.  Users of classes defined
+in BTDevice.h and BTManClient.h may need to make source changes.
+
+The BTRegistry.dll is removed, users should link instead against BTManClient.lib.
+The APIs provided by that DLL were classified as published-partner.
+
+@see CBTDevice
+@see SGL.GT172.103 - Bluetooth Compatibility Specification
+
+If __BLUETOOTH_API_V2__ is not defined then version 1 of the bluetooth subsystem
+will be built.
+
+*/
+#define __BLUETOOTH_API_V2__
+
+/**
+@publishedAll
+
+__BLUETOOTH_HCI_ALLOWS_AFH__
+
+If __BLUETOOTH_HCI_ALLOWS_AFH__ is defined the HCI interface will require the Adaptive Frequency Hopping CHCIBase pure virtual functions to be implemented in any derived class in Licensee produced host controller interface (HCI) code. 
+If this is not defined no AFH commands may be sent to the host controller, and no AFH events will be received from the host controller. 
+The APIs provided by the HCI DLL were classified as published-partner.
+
+@see CHCIBase
+@see MHCIEventObserver
+
+*/
+#define __BLUETOOTH_HCI_ALLOWS_AFH__
+
+/**
+@publishedAll
+
+EKA2
+
+If EKA2 is defined, assume Kernel Architecture 2.
+If EKA2 is not defined, assume Kernel Architecture 1
+
+Kernel Architecture 2 is a defining property of the Cedar platform.
+Kernel Architecture 1 is a defining property of the Beech platform.
+*/
+#ifndef EKA2
+#define EKA2
+#endif
+
+/**
+@publishedPartner
+
+SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
+
+When SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1 is defined a new EColor16MA 
+display mode is available, having an alpha channel. The alpha support 
+is tailored to the needs of wserv server-side, although some alpha 
+support will also be available to client applications.
+
+This #define supports PREQ915.
+*/
+#define SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
+
+/**
+@publishedPartner
+
+__SECURE_SOFTWARE_INSTALL__
+
+When __SECURE_SOFTWARE_INSTALL__ is defined, the Software
+Install APIs are replaced with versions appropriate to
+the Secure Platform.
+
+This #define supports PREQ56 "Software install enhancements"
+*/
+#define __SECURE_SOFTWARE_INSTALL__
+
+/**
+@publishedPartner
+
+SYMBIAN_ESOCK_V3
+
+If SYMBIAN_ESOCK_V3 is defined, the socket server allows protocol 
+families to run in individual threads to protect one protocol family 
+from the behaviour of another. The allocation of protocol families to
+threads is determined by a naming convention on the ESK files.
+
+This #define supports PREQ318.
+*/
+#define SYMBIAN_ESOCK_V3
+
+/**
+@publishedAll
+
+SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
+
+If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is defined, threads at 
+priority SystemServer/More (i.e. process priorities EPriorityFileServer, 
+EPriorityWindowServer or EPrioritySupervisor with relative thread priority 
+EPriorityMore) are mapped to absolute priority 23, equal to the highest 
+priority available to normal applications. This lowers the Window Server 
+and File Server priorities so application threads can timeslice with them, 
+benefitting audio and other pseudo real-time applications.
+
+If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is not defined, these system server 
+priorities remain at 24, preempting all normal user application threads.
+
+This #define supports PREQ955, and BR1821.
+*/
+#define SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
+
+/**
+@publishedAll
+@deprecated
+@since 8.0
+
+SYMBIAN_CRYPTO
+
+*/
+#define SYMBIAN_CRYPTO
+
+
+/**
+@publishedPartner
+
+SYMBIAN_GRAPHICS_BUILD_WSERV2
+
+If SYMBIAN_GRAPHICS_BUILD_WSERV2 is defined WServ2 binaries are built and can be used instead of WSERV1 versions
+*/
+#define SYMBIAN_GRAPHICS_BUILD_WSERV2
+
+/**
+@publishedPartner
+
+SYMBIAN_HCI_API_V2
+
+If SYMBIAN_HCI_API_V2 is defined then the HCI APIs provided in PREQ750 (Bluetooth HCI improvements) will be required for use by a version 2 Bluetooth Stack and a version 2 HCI. These APIs are neither binary nor source compatible with the previous version 1 HCI APIs. Both the original version 1  Bluetooth stack and HCI, and the new version 2 Bluetooth stack and HCI will be built, but both rombuild and the emulator will be configured to use the version 2 binaries. The version 2 HCI will support all commands and events listed in Bluetooth v2.0 specification.
+
+If SYMBIAN_HCI_API_V2 is not defined then only the version 1 Bluetooth stack and HCI will be built and used by rombuild and the emulator.
+The version 1 HCI supports most but NOT all commands and events listed in Bluetooth v2.0 specification.
+
+See BR1613 for more information.
+*/
+#define SYMBIAN_HCI_API_V2
+
+/**
+@publishedAll
+@released
+
+SYMBIAN_BAFL_SYSUTIL
+
+If SYMBIAN_BAFL_SYSUTIL is defined, the bafl sysutil.dll is present, 
+providing APIs for obtaining system version information and 
+APIs for monitoring free disk space.
+
+@see SysUtil::GetSWVersion
+@see SysUtil::DiskSpaceBelowCriticalLevelL
+
+This #define supports PREQ1802.
+*/
+#define SYMBIAN_BAFL_SYSUTIL 
+
+/**
+@publishedPartner
+@released
+
+SYMBIAN_BAFL_ACTIVITYMGR
+ 
+If SYMBIAN_BAFL_ACTIVITYMGR is defined, the bafl activitymgr.dll is 
+presentand provides an API that allows the client to take action at the 
+start and/or end of a period of user inactivity.
+
+@see CUserActivityManager::Start
+
+This #define supports PREQ1802.
+*/
+#define SYMBIAN_BAFL_ACTIVITYMGR 
+
+/**
+@publishedPartner
+
+SYMBIAN_CENREPNOTIFIERHANDLER
+
+If SYMBIAN_CENREPNOTIFIERHANDLER is defined, the Central 
+Repository notifier handler is present.
+
+@see CCenRepNotifyHandler
+@see MCenRepNotifyHandlerCallback
+
+This #define supports PREQ1802. 
+*/
+#define SYMBIAN_CENREPNOTIFIERHANDLER
+/**
+@publishedPartner 
+
+SYMBIAN_C32_SERCOMMS_V2
+
+Description: 
+If SYMBIAN_C32_SERCOMMS_V2 is defined, the Comms Server allows grouped CSYs
+to get loaded into individual threads in order to avoid CSY blocking. 
+The allocation of CSYs to threads is determined by naming convention from 
+the configurator/INI file. 
+This #define supports PREQ890
+
+*/
+#define SYMBIAN_C32_SERCOMMS_V2
+
+/**
+@internalAll
+
+SYMBIAN_J2ME_USE_CALENDAR
+
+Internal macro - do not use outside Symbian code.
+*/
+#define SYMBIAN_J2ME_USE_CALENDAR
+
+/** 
+@publishedPartner 
+
+SYMBIAN_LOCATION_PRIVACY_V2 
+
+If SYMBIAN_LOCATION_PRIVACY_V2 is defined, the Symbian LBS sub-system 
+includes support for the advanced privacy dialogs and standalone 
+privacy components.
+
+This #define supports PREQ1660. 
+*/
+#define SYMBIAN_LOCATION_PRIVACY_V2
+
+/** 
+@publishedPartner 
+
+SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
+
+If SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER is defined, the Media Device
+Framework (MDF) will use the RSoundSc sound driver interface.
+If this macro is not defined, MDF will use the older RMdaDevSound interface.
+
+BR2079 gives further details of the migration needed by customers who 
+are using the Symbian reference DevSound with their own implementation
+of RMdaDevSound.
+
+@see RMdaDevSound
+@see RSoundSc
+*/
+#define SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
+
+/** 
+@publishedPartnerProto 
+
+SYMBIAN_MULTIMEDIA_A3FDEVSOUND 
+
+If SYMBIAN_MULTIMEDIA_A3FDEVSOUND is defined, the PREQ1540 DevSound API is 
+present in the Advanced Audio Adaptation Framework
+
+This #define supports PREQ1540. 
+*/
+#define SYMBIAN_MULTIMEDIA_A3FDEVSOUND