epoc32/include/variant/symbian_os.hrh
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // 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
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // Symbian_OS.hrh
    15 // Configuration options for Symbian OS
    16 // This file is managed by the Master Codeline Forum
    17 // SYMBIAN_JAVA_NOT_INCLUDED
    18 // For TB9.1 and later versions, J2ME will no longer be included in the 
    19 // build.  
    20 // This #define supports PREQ2545
    21 // 
    22 //
    23 
    24 #include "platform_paths.hrh"
    25 #define SMPSAFE   /* SMPSAFE keyword removed */
    26 
    27 
    28 /**
    29  @publishedPartner
    30 */
    31 #define SYMBIAN_JAVA_NOT_INCLUDED
    32    
    33 /**
    34 @publishedAll
    35 
    36 __WATCHER_API_V2__
    37 
    38 If __WATCHER_API_V2__ is defined then the 
    39 watcher framework supports ECOM watcher plugins.
    40 */
    41 #define __WATCHER_API_V2__
    42 
    43 /**
    44 @publishedAll
    45 
    46 __HIDE_WATCHER_API_V1__
    47 
    48 Hides support APIs for loading non-ECOM watcher plugins. Non-ECOM watcher 
    49 plugins are still loaded. The associated define __REMOVE_WATCHER_API_V1__
    50 removes the implementation of the support APIs.
    51 
    52 Assumes that __WATCHER_API_V2__ has been defined.
    53 */
    54 #define __HIDE_WATCHER_API_V1__
    55 #define __REMOVE_WATCHER_API_V1__
    56 
    57 /**
    58 SYMBIAN_TIMEZONE_SUPPORT_V1
    59 
    60 @publishedAll
    61 
    62 When SYMBIAN_TIMEZONE_SUPPORT_V1 is defined the App-services TzClient.dll 
    63 module (and accompanying import library) is made available for client 
    64 application use.
    65 
    66 This #define supports PREQ663
    67 */
    68 #define SYMBIAN_TIMEZONE_SUPPORT_V1
    69 
    70 /** 
    71 @publishedAll
    72 
    73 SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
    74 
    75 If SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT is defined then 
    76 the Multimedia Framework (MMF) can support video playback on 
    77 a secondary display. The default screen will be the screen 
    78 number in the cone environment.
    79 
    80 @see CVideoPlayerUtility
    81 */
    82 #define SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
    83 
    84 /**
    85 @publishedAll
    86 
    87 SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
    88 
    89 If  SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM is defined, the Composite
    90 File System allows more than one ROFS partition to be included in
    91 the composite Z: drive.
    92 
    93 This #define supports PREQ1085
    94 */
    95 #define SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
    96 
    97 /**
    98 @publishedPartner
    99 
   100 __SECURE_BIN__
   101 
   102 When __SECURE_BIN__ is defined, executable files stored as
   103 "data" in the XIP ROM are assumed to be in their data-caged 
   104 locations. The presence of this #define does not imply that 
   105 data-caging is enforced, and does not imply that binaries have 
   106 been relocated to sys\bin.
   107 
   108 This #define supports PREQ537 "Platform security - file system layout".
   109 */
   110 #define __SECURE_BIN__
   111 
   112 /**
   113 @publishedAll
   114 
   115 SYMBIAN_COREAPPS_API_V2
   116 
   117 If SYMBIAN_COREAPPS_API_V2 is defined then new functionality is available within 
   118 the Core Apps sub-system (Contacts Model, Agenda Model and World Server) to 
   119 support a platform secured OS.
   120 */
   121 #define SYMBIAN_COREAPPS_API_V2
   122 
   123 /**
   124 @publishedPartner
   125 
   126 SYMBIAN_APPARC_APPINFO_CACHE
   127 
   128 If SYMBIAN_APPARC_APPINFO_CACHE is defined then apparc creates 
   129 a file of application information on the first boot, which is 
   130 used during subsequent boots for application information.
   131 */
   132 #define SYMBIAN_APPARC_APPINFO_CACHE
   133 
   134 /**
   135 @publishedPartner
   136 
   137 SYMBIAN_NETWORKING_IPSEC_IKE_V2
   138 
   139 If SYMBIAN_NETWORKING_IPSEC_IKE_V2 is defined, IPSEC will 
   140 be able to support Internet Key Exchange version 2 in 
   141 addition to IKE v1. This involves a change in the size of 
   142 the TPfkeyMsgBase class - see BR1736.1.
   143 
   144 Actual support for IKE v2 will depend on the provision 
   145 of a suitable plugin to the Key Management Daemon.
   146 
   147 This #define supports PREQ1223.
   148 */
   149 #define SYMBIAN_NETWORKING_IPSEC_IKE_V2
   150 
   151 /**
   152 @publishedPartner
   153 
   154 SYMBIAN_UIKON_UNIFICATION
   155 
   156 When SYMBIAN_UIKON_UNIFICATION is defined, the existing 
   157 CEikSrvAppUiBase class is replaced with a customisable class
   158 provided by the System GUI. 
   159 
   160 This #define supports PREQ819 and PREQ826
   161 */
   162 #define SYMBIAN_UIKON_UNIFICATION
   163 
   164 /**
   165 @publishedAll
   166 
   167 __SECURITY_PLATSEC_ARCH__
   168 
   169 If this macro is defined, then platform security aware security services 
   170 APIs will be present.  This includes architectural changes to several 
   171 components.
   172 
   173 If this macro is not defined, the original version (since 8.0) of the 
   174 security services APIs will be present. 
   175 
   176 The following components are affected:
   177   cryptotokens
   178   certman
   179   filetokens
   180 
   181 */
   182 #define __SECURITY_PLATSEC_ARCH__
   183 
   184 /**
   185 SYMBIAN_ECAM_CHUNKAPI
   186 
   187 @publishedAll
   188 @released
   189 
   190 Specifies that an extended API will be used in the multimedia 
   191 camera interface. This has a v2 observer which allows camera data 
   192 to be returned without buffer copy, and also allows clients to set 
   193 camera access priority
   194 
   195 @see CCamera
   196 @see MCameraObserver2
   197 
   198 This #define supports PREQ799.
   199 */
   200 #define SYMBIAN_ECAM_CHUNKAPI
   201 
   202 /**
   203 @publishedAll
   204 
   205 SYMBIAN_SECURE_ECOM
   206 
   207 When SYMBIAN_SECURE_ECOM is not defined, ECOM plugins are discovered by 
   208 searching for DLLs in System\libs\plugins, and inferring the name of 
   209 the resource file from the UID3 of the DLL.
   210 
   211 When SYMBIAN_SECURE_ECOM is defined, ECOM plugins will also be discovered
   212 by searching for resource files in \Resource\Plugins, and inferring the
   213 name of the DLL from the name of the resource file. When platform security
   214 is fully enforced, only this new style of discovery will work.
   215 */
   216 #define SYMBIAN_SECURE_ECOM
   217 
   218 /**
   219 @publishedAll
   220 
   221 SYMBIAN_INETPROTUTILS_RFC3986
   222 
   223 Description:
   224 If SYMBIAN_INETPROTUTILS_RFC3986 is defined, the Internet 
   225 Protocol Utility Library supports RFC 3986, which increases 
   226 the set of reserved characters.
   227 
   228 @see EscapeUtils::IsExcludedChar
   229 
   230 This #define implements BR2009.
   231 */
   232 #define SYMBIAN_INETPROTUTILS_RFC3986
   233 
   234 /**
   235 @publishedPartner
   236 
   237 SYMBIAN_FONT_METRICS_V2 
   238 
   239 If this is defined, then classes which derive from COpenFont (usually 
   240 these are part of a font rasterizer implementation) must set the 
   241 protected member variables:
   242 iFontAscentOfCapitals
   243 iFontAscentIncAccents
   244 iFontDescent
   245 iFontLineGap
   246 to appropriate values during the creation of a font. 
   247 If this macro is not defined then these member variables do not exist.
   248 
   249 @see COpenFont
   250 */
   251 #define SYMBIAN_FONT_METRICS_V2
   252 
   253 /**
   254 @publishedAll
   255 
   256 __OBEX_USER_DEFINED_HEADERS__
   257 
   258 If __OBEX_USER_DEFINED_HEADERS__ is defined then the new API support for extended Headers will be available.
   259 This new support includes USER DEFINED HEADERS and the COUNT header.
   260 If this functionality is compiled out then the old API is available as before.
   261 For more information on see documents shown below.
   262 
   263 @see SGL.GT171.097 - Obex Header Extension how to
   264 @see SGL.GT171.095 - Obex Extension Design Document
   265 */
   266 #define __OBEX_USER_DEFINED_HEADERS__
   267 
   268 /**
   269 @publishedPartner
   270 
   271 SYMBIAN_CENTREP_NOC
   272 
   273 If SYMBIAN_CENTREP_NOC is defined, the Central Repository 
   274 includes Notify-Only Client Optimization. This will cause 
   275 repositories to be unloaded after a timeout even if the 
   276 connection is still open.
   277 
   278 This #define supports PREQ1228. 
   279 */
   280 #define SYMBIAN_CENTREP_NOC
   281 
   282 /**
   283 @publishedPartner
   284 @since 8.1
   285 
   286 SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT 
   287 
   288 If this is defined, the MHCIEventObserver class must implement
   289 the FlushCompleteEvent virtual function, which will be used by 
   290 the link manager to send Flush Complete events up to the stack. 
   291 If this macro is not defined, Flush Complete events will be discarded.
   292 
   293 @see MHCIEventObserver
   294 @see CHCIFacade
   295 */
   296 #define SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT
   297 
   298 /**
   299 @publishedAll
   300 
   301 SYMBIAN_MULTIMEDIA_CODEC_API
   302 
   303 If SYMBIAN_MULTIMEDIA_CODEC_API is defined then support is 
   304 available for PREQ1024 delivered Processing Unit or 
   305 OpenMAX based codecs and Multimedia hardware devices.
   306 */
   307 #define SYMBIAN_MULTIMEDIA_CODEC_API
   308 
   309 /**
   310 @publishedAll
   311 
   312 __MESSAGING_API_V2__
   313 
   314 If __MESSAGING_API_V2__ is defined then new functionality 
   315 is available within the Messaging sub-system to support a 
   316 platform secured OS, e.g. the Attachment API.
   317 */
   318 #define __MESSAGING_API_V2__
   319 #define __HIDE_MESSAGING_API_V1__
   320 #define __REMOVE_MESSAGING_API_V1__
   321 
   322 /**
   323 @publishedPartner
   324 
   325 SYMBIAN_BOOKMARK_DATABASE
   326 
   327 The Bookmark Database is an API used to provide system-wide 
   328 storage and management functionality for URI bookmarks. 
   329 If defined, this macro indicates that the Bookmark Database 
   330 API is present in the platform.
   331 */
   332 #define SYMBIAN_BOOKMARK_DATABASE
   333 
   334 /**
   335 @publishedPartner
   336 
   337 SYMBIAN_NETWORKING_UMTSR5
   338 
   339 If SYMBIAN_NETWORKING_UMTSR5 is defined support for the QoS 
   340 and IMS parameters introduced by Release 5 of the 3GPP 
   341 specification will be enabled. This involves a BC break in 
   342 TContextConfig - see BR1582.1 for details.
   343 
   344 @see TContextConfig
   345 
   346 This #define supports PREQ192 and PREQ635.
   347 */
   348 #define SYMBIAN_NETWORKING_UMTSR5
   349 
   350 /**
   351 @publishedPartner
   352 
   353 SYMBIAN_NETWORKING_3GPPDEFAULTQOS
   354 
   355 If SYMBIAN_NETWORKING_3GPPDEFAULTQOS is defined, support 
   356 for QoS modification on the default PDP context will be 
   357 enabled via the RSubconnection API.
   358 
   359 This #define supports PREQ870.
   360 */
   361 #define SYMBIAN_NETWORKING_3GPPDEFAULTQOS
   362 
   363 
   364 /**
   365 SYMBIAN_STAGED_SYSTEM_STARTUP
   366 
   367 @publishedPartner
   368 
   369 When SYMBIAN_STAGED_SYSTEM_STARTUP is defined, the staged 
   370 start-up architecture has been introduced into the OS and 
   371 'Start-up State Aware' components can make use of the 
   372 architecture.
   373 
   374 This #define supports PREQ 810.
   375 */
   376 #define SYMBIAN_STAGED_SYSTEM_STARTUP
   377 
   378 /**
   379 @publishedAll
   380 
   381 __HIDE_IPC_V1__
   382 
   383 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.
   384 
   385 For more information see the document listed below.
   386 
   387 @see SMG.SM0005.004 - Platform Security Development for Zephyr
   388 @see CSession
   389 @see CServer
   390 @see RMessage
   391 @see RMessagePtr
   392 */
   393 #define __HIDE_IPC_V1__
   394 
   395 /**
   396 @publishedPartner
   397 
   398 SYMBIAN_NETWORKING_DHCPSERVER
   399 
   400 If SYMBIAN_NETWORKING_DHCPSERVER is defined, Symbian OS includes a
   401 simplified DHCPv4 server capable of dealing with single client.
   402 
   403 This #define provides functionality to support PREQ749.
   404 */
   405 #define SYMBIAN_NETWORKING_DHCPSERVER
   406 
   407 /**  
   408 @publishedAll 
   409 
   410 SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
   411 
   412 This macro removes the trivial encryption APIs that are exported by EUSER. 
   413 
   414 See BR1320 for more details
   415 
   416 */
   417 #define SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
   418 
   419 /**
   420 @internalTechnology
   421 
   422 SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
   423 
   424 Description:
   425 If SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST is defined, the WAP Push
   426 watcher compares the origin of Push messages against URIs in a
   427 "White list" and "Black list".
   428 
   429 This #define supports PREQ1505
   430 */
   431 #define SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
   432 
   433 /**
   434 @publishedPartner
   435 
   436 SYMBIAN_FLEXIBLE_ALARM
   437 
   438 When this macro is defined, Calendar Interim API, Alarm server and UIKON 
   439 Alert Server will support additional functionality.
   440 - Extra data can be attached to calendar alarm and allow UI app 
   441 to retrieve the associated data.
   442 - The Alarm server can send multiple expired alarms to Alert Server without 
   443 waiting for the previous alarm acknowledged first
   444 - A Resource file can be used to configure alarm play intervals and durations, 
   445 or to disable alarm sound control.
   446 
   447 This #define supports PREQ1118
   448 */
   449 #define SYMBIAN_FLEXIBLE_ALARM
   450 
   451 /**
   452 @publishedPartner
   453 
   454 SYMBIAN_PKCS12
   455 
   456 If SYMBIAN_PKCS12 is defined, the PKCS#12 Key Derivation 
   457 Algorithm is supplied.
   458 
   459 This #define supports PREQ1054. 
   460 */
   461 #define SYMBIAN_PKCS12
   462 
   463 /**
   464 @publishedAll
   465 
   466 SYMBIAN_MMF_AUTOPAUSE_RESUME
   467 
   468 This #define enables extra features in the MMF APIs for auto pause 
   469 and resume of audio streams.
   470 */
   471 #define SYMBIAN_MMF_AUTOPAUSE_RESUME
   472 
   473 /**
   474 @publishedAll
   475 
   476 __SECURE_BACKUP__
   477 
   478 If __SECURE_BACKUP__ is defined, the Secure Backup server replaces
   479 the use of SCRemFs for backup and restore, changing the backup protocol.
   480 Applications which have private data need to provide additional backup 
   481 registration files, and may use Publish & Subscribe to receive 
   482 notification of backup requests.
   483 
   484 This #define supports PREQ716 - Provide support for secure backup and 
   485 restore for licensee PC Connectivity software 
   486 */
   487 #define __SECURE_BACKUP__
   488 
   489 /** 
   490 @publishedAll
   491 
   492 SYMBIAN_NETWORKING_REMOVE_RGENERIC
   493 
   494 If this macro is defined the deprecated APIs RGenericAgent, 
   495 RNif, RNifMonitor and Nifman are removed. All of these APIs, 
   496 exported by NIFMAN, have been deprecated and replaced by 
   497 the RConnection API exported by ESOCK.
   498 
   499 @see Break request BR1070 
   500 */ 
   501 #define SYMBIAN_NETWORKING_REMOVE_RGENERIC
   502 
   503 /**
   504 @publishedPartner
   505 @released 9.0
   506 
   507 SYMBIAN_NETWORKING_RSUBCONNECTION
   508 
   509 If SYMBIAN_NETWORKING_RSUBCONNECTION is defined, the RQosChannel API is
   510 removed, and the RSubConnection API exported by ESOCK must be used instead.
   511 
   512 This #define supports PREQ 26.
   513 */ 
   514 #define SYMBIAN_NETWORKING_RSUBCONNECTION
   515 
   516 /**
   517 @publishedAll
   518 
   519 SYMBIAN_HIDE_COREAPPS_API_V1
   520 
   521 If SYMBIAN_HIDE_COREAPPS_API_V1 is defined then the insecure CoreApps APIs
   522 will be removed from various Symbian OS header files. Components affected are 
   523 Contacts Model, Agenda Model and World Server.
   524 
   525 The related define SYMBIAN_REMOVE_COREAPPS_API_V1 removes the underlying implementations,
   526 causing a binary compatibility break to match the source compatibility break.
   527 */
   528 #define SYMBIAN_HIDE_COREAPPS_API_V1
   529 #define SYMBIAN_REMOVE_COREAPPS_API_V1
   530 
   531 /**
   532 @publishedAll
   533 
   534 __UI_FRAMEWORKS_V2__
   535 
   536 If __UI_FRAMEWORKS_V2__ is defined then PlatSec aware UI Frameworks API's will be available. 
   537 The following frameworks will be affected:
   538 
   539 Applications 
   540 File Recognizers
   541 Data Recognizers
   542 Notifiers
   543 Control Panel Plugins
   544 Feps
   545 App-initialization (CEikLibrary)
   546 Converters
   547 Error-Resolving
   548 */
   549 #define __UI_FRAMEWORKS_V2__
   550 #define SYMBIAN_HIDE_UI_FRAMEWORKS_V1
   551 #define SYMBIAN_REMOVE_UI_FRAMEWORKS_V1
   552 
   553 /**
   554 @internalAll
   555 
   556 __BC_FUTURE_PROOFING__
   557 
   558 Support for the implementation of PREQ743 "Introduction of interface 
   559 robustness patterns to support future binary compatibility".
   560 */
   561 #define __BC_FUTURE_PROOFING__
   562 
   563 /** 
   564 @publishedPartner 
   565   
   566 SYMBIAN_TELEPHONY_USAT5 
   567 
   568 If SYMBIAN_TELEPHONY_USAT5 is defined then support for 3GPP 
   569 Release 5 (U)SAT will be enabled. 
   570 
   571 @see RSat::TCallControlV5
   572 
   573 This #define supports PREQ1234.
   574 */ 
   575 #define SYMBIAN_TELEPHONY_USAT5
   576 
   577 /**
   578 SYMBIAN_GENERIC_SYSTEM_STARTUP
   579 
   580 @publishedPartner
   581 
   582 This #define enables the generic start-up architecture in
   583 which the System Starter process is responsible for the
   584 controlled startup of the system. 
   585 
   586 The #define supports PREQ808 and PREQ809.
   587 */
   588 #define SYMBIAN_GENERIC_SYSTEM_STARTUP
   589 
   590 /**
   591 @publishedAll
   592 
   593 SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
   594 
   595 If this macro is defined, then the Bluetooth stack reconfigures to take
   596 advantage of security mechanisms in Publish and Subscribe. Any other
   597 components requiring reconfiguration to make use of Publish and Subscribe
   598 can also use this macro.
   599 
   600 */
   601 #define SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
   602 
   603 /**
   604 @publishedAll
   605 
   606 SYMBIAN_SECURITY_CAF_RFILE_HANDLE
   607 
   608 If SYMBIAN_SECURITY_CAF_RFILE_HANDLE is defined then it enables the Content Access 
   609 Framework to read from files passed to it as an open RFile handles instead of CAF 
   610 opening the file itself. This allows files stored in a data caged directory to be 
   611 read by CAF.  
   612 
   613 */
   614 #define SYMBIAN_SECURITY_CAF_RFILE_HANDLE
   615 
   616 /**
   617 @publishedAll
   618 
   619 __JAVACUSTOMINSTALL__
   620 
   621 If __JAVACUSTOMINSTALL__ is defined then an additional UI callback is made after MIDlet
   622 installation has succeeded or failed. This callback is intended for information only and the 
   623 information passed can be licensee customised. The intention would be that the device user
   624 can use this information to diagnose install problems in conjunction with network operators.
   625 If this #define is not present then the callback is not present and is not called.
   626 For more information on see documents shown below.
   627 
   628 @see SGL.GT0188.253 CDMA Java MIDlet Installer Component Design
   629 */
   630 #define __JAVACUSTOMINSTALL__
   631 
   632 /**  
   633 @publishedAll 
   634 
   635 SYMBIAN_MDF_API_V2 
   636 
   637 This macro selects the Symbian OS 9.x phase of development in 
   638 the Media Device Framework API, including changes to enable 
   639 MDF Video Decoder Hardware devices to support applications, 
   640 streaming and demux.
   641 
   642 @see CMMFVideoPlayHwDevice
   643 */ 
   644 #define SYMBIAN_MDF_API_V2
   645 
   646 /**
   647 @publishedPartner
   648 
   649 SYMBIAN_SMS_REL6_SUPPORT
   650 
   651 SMS Release 6 support is defined in the 3GPP specifications
   652 (3GPP TS 23.040 V6.5.0 and 3GPP TS 23.038 V6.1.0).
   653 If defined, this macro indicates that Symbian OS SMS APIs
   654 shall support Release 6 functionality.
   655 */
   656 #define SYMBIAN_SMS_REL6_SUPPORT
   657 
   658 /**
   659 @publishedPartner
   660 
   661 SYMBIAN_SWI_POST_INSTALL_REVOCATION
   662 
   663 When SYMBIAN_SWI_POST_INSTALL_REVOCATION is defined, 
   664 support for the SWI post install revocation service is enabled.
   665 
   666 This #define supports PREQ919
   667 */
   668 #define SYMBIAN_SWI_POST_INSTALL_REVOCATION
   669 
   670 /**
   671 @publishedPartner
   672 
   673 SYMBIAN_TELEPHONY_IMS
   674 
   675 If SYMBIAN_TELEPHONY_IMS is defined then IMS related APIs are included 
   676 in Telephony components.
   677 
   678 This #define supports PREQ61.
   679 */
   680 #define SYMBIAN_TELEPHONY_IMS
   681 
   682 /**
   683 @publishedPartner
   684 
   685 SYMBIAN_IGNORE_BIN_TARGETPATH
   686 
   687 When SYMBIAN_IGNORE_BIN_TARGETPATH is defined the TARGETPATH keyword in MMP files is ignored for executables. 
   688 Executables for the emulator instead get built to the default location.
   689 e.g. \epoc32\release\winscw\udeb
   690 */
   691 #define SYMBIAN_IGNORE_BIN_TARGETPATH
   692 
   693 /**
   694 @publishedAll 
   695 
   696 SYMBIAN_COMMS_REPOSITORY
   697 
   698 Comms data is now stored in the Central Repository rather than the DBMS server.  
   699 A new module, CommsDat.dll, replaces Commdb.dll as the interface for comms data stored on a device. 
   700 CommsDat has a different API to Commdb, but provides equivalent functionality. 
   701 There is no longer an SQL API for access to Comms Data. 
   702 Commdb tools have been migrated for use with CommsDat 
   703 Commdb is deprecated and should not be used, though it remains as a temporary BC shim on top of CommsDat.   
   704 */
   705 #define SYMBIAN_COMMS_REPOSITORY
   706 
   707 /**
   708 @publishedAll
   709 
   710 SYMBIAN_VARIABLE_BITRATE_CODEC
   711 
   712 If SYMBIAN_VARIABLE_BITRATE_CODEC is defined then 
   713 CMMFSwCodecWrapper based audio hardware devices in the 
   714 Multimedia Framework (MMF) can support variable bitrate codecs.
   715 
   716 @see CMMFSwCodecWrapper
   717 */
   718 #define SYMBIAN_VARIABLE_BITRATE_CODEC
   719 
   720 /**
   721 @publishedAll
   722 
   723 __SECURE_TELEPHONY__
   724 
   725 If __SECURE_TELEPHONY__ is defined, all Platform Security functionality 
   726 within the Telephony subsystem will be enabled.
   727 If __SECURE_TELEPHONY__ is not defined, no Platform Security functionality 
   728 within the Telephony subsystem is enabled.
   729 */
   730 #define __SECURE_TELEPHONY__
   731 
   732 /**
   733 @publishedPartner
   734 
   735 SYMBIAN_CAF_V2
   736 
   737 The SYMBIAN_CAF_V2 flag indicates the CAF API v2 is present. 
   738 CAF v2 supports files containing multiple content objects, which requires 
   739 a change of API for CAF agents: agents written for CAF v1 will not compile
   740 against CAF v2. See BR.1219.2 for migration information.
   741 
   742 This #define supports PREQ780.
   743 */
   744 #define SYMBIAN_CAF_V2
   745 
   746 /**
   747 SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
   748 
   749 @publishedPartner
   750  
   751 This macro enables a consolidation phase in the ROM building 
   752 process to generate additional metadata for each ROM drive.  
   753 The metadata describes the content and structure of the ROM 
   754 conveniently filtered for any component that requires it.
   755 
   756 Components supply metadata with the "spidata" BUILDROM keyword.
   757 
   758 This macro supports PREQ806 and other requirements that 
   759 eliminate run-time scanning of ROM content.
   760 */
   761 #define SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
   762 
   763 /**
   764 @publishedPartner
   765 
   766 SYMBIAN_BLUETOOTH_ESCO_ENABLED
   767 
   768 Enable support for Bluetooth eSCO synchronous links.  
   769 Defining this macro extends the interface to CHCIBase to support 
   770 the Synchronous connection commands added in Bluetooth 1.2.
   771 */
   772 #define SYMBIAN_BLUETOOTH_ESCO_ENABLED
   773 
   774 /**
   775 @publishedPartner
   776 
   777 SYMBIAN_SECURE_MIDLET_INSTALL
   778 
   779 If SYMBIAN_SECURE_MIDLET_INSTALL is defined then the Java MIDlet 
   780 Installer supports installation under Platform Security policies, 
   781 using the interface published by security\JavaMIDletInstaller.
   782 
   783 If SYMBIAN_SECURE_MIDLET_INSTALL is not defined then Java MIDlet 
   784 installation is achieved through the security\appinst interfaces.
   785 */
   786 #define SYMBIAN_SECURE_MIDLET_INSTALL
   787 
   788 /**
   789 @publishedAll
   790 
   791 SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
   792 
   793 If SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2 is defined then 
   794 the following additional features will be available in CONE.
   795 1) Functions to set and get the background of a control.
   796 2) Functions to add components to a compound control in a simpler way.
   797 3) Hooks for the support of layout managers.
   798 4) A component that will provide fonts and cache them for easier use 
   799    of these fonts by controls.
   800 
   801 @see CCoeControl
   802 */
   803 #define SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
   804 
   805 /**
   806 @publishedAll
   807 
   808 SYMBIAN_CNTMODEL_V2
   809 
   810 If SYMBIAN_CNTMODEL_V2 is defined, clients of the
   811 Contacts Model can exploit the efficiency improvements
   812 introduced by PREQ811, e.g. efficient use of transactions. 
   813 
   814 This #define supports PREQ811
   815 */
   816 #define SYMBIAN_CNTMODEL_V2
   817 
   818 /**
   819 @publishedAll
   820 
   821 SYMBIAN_COREAPPS_PLUGIN_API_V2
   822 
   823 If SYMBIAN_COREAPPS_PLUGIN_API_V2 is defined then  Ecom solely is used as loading 
   824 mechanism.The legacy plugin loading mechanism is used otherwise.
   825 */
   826 #define SYMBIAN_COREAPPS_PLUGIN_API_V2
   827 
   828 /**
   829 @internalAll
   830 
   831 DO_NOT_USE_THIS_MACRO
   832 
   833 If DO_NOT_USE_THIS_MACRO is defined, assume the Cedar platform.
   834 If DO_NOT_USE_THIS_MACRO is not defined, assume the Beech platform.
   835 
   836 This macro was originally introduced as a stopgap measure, to
   837 identify differences between Symbian OS v7.0s and Symbian OS v8.0b
   838 which were not specifically to do with the change from Kernel
   839 Architecture 1 to Kernel Architecture 2.
   840 
   841 This macro will be deprecated when a suitable alternative is provided.
   842 */
   843 #ifndef DO_NOT_USE_THIS_MACRO
   844 #define DO_NOT_USE_THIS_MACRO
   845 #endif
   846 
   847 /** 
   848 @publishedPartner
   849 
   850 SYMBIAN_C32ROOT_API_V2
   851 
   852 Strengthens the C32Root API and extends it to include 
   853 configuration of queue length for bindings. 
   854 
   855 This #define supports PREQ318.
   856 */
   857 #define SYMBIAN_C32ROOT_API_V2
   858 
   859 /**
   860 @publishedAll
   861 
   862 __SECURE_API__
   863 
   864 Hides unsecure APIs. Many of these have been replaced by Secure variants 
   865 but some are no longer available in a Secure platform.
   866 
   867 e.g.
   868 
   869 @see User::RenameThread
   870 @see User::CommandLine
   871 
   872 */
   873 #define __SECURE_API__
   874 #define SYMBIAN_REMOVE_INSECURE_API
   875 
   876 /**
   877 @publishedAll
   878 
   879 __CNF_FORMAT_V2__
   880 
   881 If __CNF_FORMAT_V2__ is defined, assume that Epoccnf.pl generates
   882 files in version 2 of the CNF format, and that both versions 1
   883 and 2 of this file format can be read by Conarc.
   884 If __CNF_FORMAT_V2__ is not defined, assume that Epoccnf.pl
   885 generates files in version 1 of the CNF format, and that only
   886 version 1 of this file format can be read by Conarc.
   887 */
   888 #define __CNF_FORMAT_V2__
   889 
   890 /** 
   891 @publishedPartner 
   892 
   893 SYMBIAN_SUPPORT_LINKED_FONTS 
   894 
   895 If SYMBIAN_SUPPORT_LINKED_FONTS is defined then APIs are provided 
   896 to create 'linked' font instances which combine glyph sets from 
   897 multiple existing font glyph sets.
   898 
   899 @see CLinkedTypefaceElement
   900 @see CLinkedTypefaceSpecification
   901 
   902 This #define supports PREQ1431.
   903 */ 
   904 #define SYMBIAN_SUPPORT_LINKED_FONTS
   905 
   906 /**
   907 @publishedPartner
   908 
   909 SYMBIAN_SECURE_DBMS
   910 
   911 When SYMBIAN_SECURE_DBMS is defined, support for secure 
   912 shared databases is enabled within DBMS.  
   913 When not defined, all secure-shared-database-specific APIs 
   914 take the form of dummy implementations which return KErrNone.
   915 */
   916 #define SYMBIAN_SECURE_DBMS
   917 
   918 /**
   919 @publishedAll
   920 
   921 SYMBIAN_ASSUME_SECURE_DATA
   922 
   923 When this macro is defined, all data files are assumed to be in their secure
   924 locations, and all code which provided backward compatibility for the
   925 insecure locations is removed. For example, ICL extended resource files
   926 will not be loaded from System\Libs\Plugins, only from \Resource\ICL.
   927 
   928 This macro only makes sense if __SECURE_DATA__ is defined.
   929 */
   930 #define SYMBIAN_ASSUME_SECURE_DATA
   931 
   932 /**
   933 @publishedAll
   934 @deprecated
   935 @since 8.0
   936 
   937 __KEYSTORE_API_V2__
   938 
   939 */
   940 #define __KEYSTORE_API_V2__
   941 
   942 /**
   943 @publishedAll
   944 
   945 __SECURE_DATA__
   946 
   947 When __SECURE_DATA__ is defined, public read-only files are
   948 assumed to be in their data-caged locations. The presence of
   949 this #define does not imply that data-caging is enforced, and
   950 does not imply that binaries have been relocated to sys\bin.
   951 
   952 This #define supports PREQ537 "Platform security - file system layout".
   953 */
   954 #define __SECURE_DATA__
   955 
   956 /**
   957 @publishedAll
   958 
   959 SYMBIAN_NETWORKING_PLATSEC
   960 
   961 If SYMBIAN_NETWORKING_PLATSEC is defined, additional platform security 
   962 related functionality in enabled in the Comms-Infras and Networking 
   963 subsystems (e.g. API policing).
   964 */
   965 #define SYMBIAN_NETWORKING_PLATSEC
   966 
   967 /**
   968 @publishedAll
   969 
   970 __CONDITIONS_SCHEDULES_VALID__
   971 
   972 If __CONDITIONS_SCHEDULES_VALID__ is defined then the Task Scheduler component 
   973 supports creating persistent schedules based on a set of conditions and a 
   974 timeout. The schedule is run when either all the conditions are met or the 
   975 timeout is reached.
   976 
   977 This functionality is part of PREQ694 - PREQ 694 - Automatic sending of SMS on
   978 network reconnection.
   979 */
   980 #define __CONDITIONS_SCHEDULES_VALID__
   981 
   982 /**
   983 @internalComponent
   984 
   985 __LEAVE_EQUALS_THROW__
   986 
   987 If __LEAVE_EQUALS_THROW__ is defined, User::Leave() and TRAP() are 
   988 implemented in terms of C++ exceptions where the compiler supports this.
   989 If __LEAVE_EQUALS_THROW__ is not defined, the legacy Symbian exception 
   990 mechanism is used instead.
   991 
   992 Support for C++ exceptions by the compiler is indicated by the 
   993 internal macro __SUPPORT_CPP_EXCEPTIONS__ supplied by the tools.  
   994 Where this macro is not present, __LEAVE_EQUALS_THROW__ is automatically 
   995 undefined.
   996 
   997 This macro supports PREQ519 "Implement User::Leave() in terms of throw()".
   998 */
   999 #define __LEAVE_EQUALS_THROW__
  1000 
  1001 /**
  1002 @publishedAll
  1003 
  1004 __BLUETOOTH_API_V2__
  1005 
  1006 If __BLUETOOTH_API_V2__ is defined assume that version 2 of the bluetooth
  1007 subsystem will be built.  This is binary compatible with version 1 for all
  1008 published-all APIs but is not source compatible.  Users of classes defined
  1009 in BTDevice.h and BTManClient.h may need to make source changes.
  1010 
  1011 The BTRegistry.dll is removed, users should link instead against BTManClient.lib.
  1012 The APIs provided by that DLL were classified as published-partner.
  1013 
  1014 @see CBTDevice
  1015 @see SGL.GT172.103 - Bluetooth Compatibility Specification
  1016 
  1017 If __BLUETOOTH_API_V2__ is not defined then version 1 of the bluetooth subsystem
  1018 will be built.
  1019 
  1020 */
  1021 #define __BLUETOOTH_API_V2__
  1022 
  1023 /**
  1024 @publishedAll
  1025 
  1026 __BLUETOOTH_HCI_ALLOWS_AFH__
  1027 
  1028 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. 
  1029 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. 
  1030 The APIs provided by the HCI DLL were classified as published-partner.
  1031 
  1032 @see CHCIBase
  1033 @see MHCIEventObserver
  1034 
  1035 */
  1036 #define __BLUETOOTH_HCI_ALLOWS_AFH__
  1037 
  1038 /**
  1039 @publishedAll
  1040 
  1041 EKA2
  1042 
  1043 If EKA2 is defined, assume Kernel Architecture 2.
  1044 If EKA2 is not defined, assume Kernel Architecture 1
  1045 
  1046 Kernel Architecture 2 is a defining property of the Cedar platform.
  1047 Kernel Architecture 1 is a defining property of the Beech platform.
  1048 */
  1049 #ifndef EKA2
  1050 #define EKA2
  1051 #endif
  1052 
  1053 /**
  1054 @publishedPartner
  1055 
  1056 SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
  1057 
  1058 When SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1 is defined a new EColor16MA 
  1059 display mode is available, having an alpha channel. The alpha support 
  1060 is tailored to the needs of wserv server-side, although some alpha 
  1061 support will also be available to client applications.
  1062 
  1063 This #define supports PREQ915.
  1064 */
  1065 #define SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
  1066 
  1067 /**
  1068 @publishedPartner
  1069 
  1070 __SECURE_SOFTWARE_INSTALL__
  1071 
  1072 When __SECURE_SOFTWARE_INSTALL__ is defined, the Software
  1073 Install APIs are replaced with versions appropriate to
  1074 the Secure Platform.
  1075 
  1076 This #define supports PREQ56 "Software install enhancements"
  1077 */
  1078 #define __SECURE_SOFTWARE_INSTALL__
  1079 
  1080 /**
  1081 @publishedPartner
  1082 
  1083 SYMBIAN_ESOCK_V3
  1084 
  1085 If SYMBIAN_ESOCK_V3 is defined, the socket server allows protocol 
  1086 families to run in individual threads to protect one protocol family 
  1087 from the behaviour of another. The allocation of protocol families to
  1088 threads is determined by a naming convention on the ESK files.
  1089 
  1090 This #define supports PREQ318.
  1091 */
  1092 #define SYMBIAN_ESOCK_V3
  1093 
  1094 /**
  1095 @publishedAll
  1096 
  1097 SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
  1098 
  1099 If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is defined, threads at 
  1100 priority SystemServer/More (i.e. process priorities EPriorityFileServer, 
  1101 EPriorityWindowServer or EPrioritySupervisor with relative thread priority 
  1102 EPriorityMore) are mapped to absolute priority 23, equal to the highest 
  1103 priority available to normal applications. This lowers the Window Server 
  1104 and File Server priorities so application threads can timeslice with them, 
  1105 benefitting audio and other pseudo real-time applications.
  1106 
  1107 If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is not defined, these system server 
  1108 priorities remain at 24, preempting all normal user application threads.
  1109 
  1110 This #define supports PREQ955, and BR1821.
  1111 */
  1112 #define SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
  1113 
  1114 /**
  1115 @publishedAll
  1116 @deprecated
  1117 @since 8.0
  1118 
  1119 SYMBIAN_CRYPTO
  1120 
  1121 */
  1122 #define SYMBIAN_CRYPTO
  1123 
  1124 
  1125 /**
  1126 @publishedPartner
  1127 
  1128 SYMBIAN_GRAPHICS_BUILD_WSERV2
  1129 
  1130 If SYMBIAN_GRAPHICS_BUILD_WSERV2 is defined WServ2 binaries are built and can be used instead of WSERV1 versions
  1131 */
  1132 #define SYMBIAN_GRAPHICS_BUILD_WSERV2
  1133 
  1134 /**
  1135 @publishedPartner
  1136 
  1137 SYMBIAN_HCI_API_V2
  1138 
  1139 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.
  1140 
  1141 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.
  1142 The version 1 HCI supports most but NOT all commands and events listed in Bluetooth v2.0 specification.
  1143 
  1144 See BR1613 for more information.
  1145 */
  1146 #define SYMBIAN_HCI_API_V2
  1147 
  1148 /**
  1149 @publishedAll
  1150 @released
  1151 
  1152 SYMBIAN_BAFL_SYSUTIL
  1153 
  1154 If SYMBIAN_BAFL_SYSUTIL is defined, the bafl sysutil.dll is present, 
  1155 providing APIs for obtaining system version information and 
  1156 APIs for monitoring free disk space.
  1157 
  1158 @see SysUtil::GetSWVersion
  1159 @see SysUtil::DiskSpaceBelowCriticalLevelL
  1160 
  1161 This #define supports PREQ1802.
  1162 */
  1163 #define SYMBIAN_BAFL_SYSUTIL 
  1164 
  1165 /**
  1166 @publishedPartner
  1167 @released
  1168 
  1169 SYMBIAN_BAFL_ACTIVITYMGR
  1170  
  1171 If SYMBIAN_BAFL_ACTIVITYMGR is defined, the bafl activitymgr.dll is 
  1172 presentand provides an API that allows the client to take action at the 
  1173 start and/or end of a period of user inactivity.
  1174 
  1175 @see CUserActivityManager::Start
  1176 
  1177 This #define supports PREQ1802.
  1178 */
  1179 #define SYMBIAN_BAFL_ACTIVITYMGR 
  1180 
  1181 /**
  1182 @publishedPartner
  1183 
  1184 SYMBIAN_CENREPNOTIFIERHANDLER
  1185 
  1186 If SYMBIAN_CENREPNOTIFIERHANDLER is defined, the Central 
  1187 Repository notifier handler is present.
  1188 
  1189 @see CCenRepNotifyHandler
  1190 @see MCenRepNotifyHandlerCallback
  1191 
  1192 This #define supports PREQ1802. 
  1193 */
  1194 #define SYMBIAN_CENREPNOTIFIERHANDLER
  1195 /**
  1196 @publishedPartner 
  1197 
  1198 SYMBIAN_C32_SERCOMMS_V2
  1199 
  1200 Description: 
  1201 If SYMBIAN_C32_SERCOMMS_V2 is defined, the Comms Server allows grouped CSYs
  1202 to get loaded into individual threads in order to avoid CSY blocking. 
  1203 The allocation of CSYs to threads is determined by naming convention from 
  1204 the configurator/INI file. 
  1205 This #define supports PREQ890
  1206 
  1207 */
  1208 #define SYMBIAN_C32_SERCOMMS_V2
  1209 
  1210 /**
  1211 @internalAll
  1212 
  1213 SYMBIAN_J2ME_USE_CALENDAR
  1214 
  1215 Internal macro - do not use outside Symbian code.
  1216 */
  1217 #define SYMBIAN_J2ME_USE_CALENDAR
  1218 
  1219 /** 
  1220 @publishedPartner 
  1221 
  1222 SYMBIAN_LOCATION_PRIVACY_V2 
  1223 
  1224 If SYMBIAN_LOCATION_PRIVACY_V2 is defined, the Symbian LBS sub-system 
  1225 includes support for the advanced privacy dialogs and standalone 
  1226 privacy components.
  1227 
  1228 This #define supports PREQ1660. 
  1229 */
  1230 #define SYMBIAN_LOCATION_PRIVACY_V2
  1231 
  1232 /** 
  1233 @publishedPartner 
  1234 
  1235 SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
  1236 
  1237 If SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER is defined, the Media Device
  1238 Framework (MDF) will use the RSoundSc sound driver interface.
  1239 If this macro is not defined, MDF will use the older RMdaDevSound interface.
  1240 
  1241 BR2079 gives further details of the migration needed by customers who 
  1242 are using the Symbian reference DevSound with their own implementation
  1243 of RMdaDevSound.
  1244 
  1245 @see RMdaDevSound
  1246 @see RSoundSc
  1247 */
  1248 #define SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
  1249 
  1250 /** 
  1251 @publishedPartnerProto 
  1252 
  1253 SYMBIAN_MULTIMEDIA_A3FDEVSOUND 
  1254 
  1255 If SYMBIAN_MULTIMEDIA_A3FDEVSOUND is defined, the PREQ1540 DevSound API is 
  1256 present in the Advanced Audio Adaptation Framework
  1257 
  1258 This #define supports PREQ1540. 
  1259 */
  1260 #define SYMBIAN_MULTIMEDIA_A3FDEVSOUND