kernel/eka/drivers/hcr/hcr_hai.h
branchRCL_3
changeset 257 3e88ff8f41d5
parent 256 c1f20ce4abcf
equal deleted inserted replaced
256:c1f20ce4abcf 257:3e88ff8f41d5
     1 // Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    98         virtual TBool IgnoreCoreImgRepository () = 0;
    98         virtual TBool IgnoreCoreImgRepository () = 0;
    99         
    99         
   100     	/**
   100     	/**
   101         This method returns the address of the override repository that 
   101         This method returns the address of the override repository that 
   102         provides override values for the variant. Typically this repository
   102         provides override values for the variant. Typically this repository
   103         is held in local media and shadowed in RAM by the OS loader. It is
   103         is held in NAND flash and shadowed in RAM by the OS loader. It is
   104         a read-only settings repository. This repository is optional and may 
   104         a read-only settings repository. This repository is optional and may 
   105         be absent in which case 0 should be returned in aAddr.
   105         be absent in which case 0 should be returned in aAddr.
   106          
   106          
   107         @param aAddr out: a pointer to a HCR::SRepositoryFile
   107         @param aAddr out: a pointer to a HCR::SRepositoryFile
   108     	@return	KErrNone if successful, output parameters valid,
   108     	@return	KErrNone if successful, output parameters valid,
   152         UValueWord  iLit;
   152         UValueWord  iLit;
   153         UValueLarge iPtr;
   153         UValueLarge iPtr;
   154         };
   154         };
   155 
   155 
   156     /** Union type used to hold either the literal value or an offset from the 
   156     /** Union type used to hold either the literal value or an offset from the 
   157     start of the setting repository to the setting value. Used in file and RAM
   157     start if the setting repository to the setting value. Used in file and RAM
   158     mapped settings.   
   158     mapped settings.   
   159     */
   159     */
   160     union USettingValueF
   160     union USettingValueF
   161         {
   161         {
   162         UValueWord          iLit;
   162         UValueWord          iLit;
   202         {
   202         {
   203         SSettingBase    iName;  // Always the first member!
   203         SSettingBase    iName;  // Always the first member!
   204         USettingValueC  iValue;
   204         USettingValueC  iValue;
   205         };
   205         };
   206 
   206 
   207     /** This structure holds a setting defined in a file or memory within a file
   207     /** This structure holds a setting define in a file or memory within a file
   208     based repository.     
   208     based repository.     
   209     @see SRepositoryFile
   209     @see SRepositoryFile
   210     */
   210     */
   211     struct SSettingF             // : public SSettingBase
   211     struct SSettingF             // : public SSettingBase
   212         {
   212         {
   264     */
   264     */
   265     typedef TUint8 TSettingData;
   265     typedef TUint8 TSettingData;
   266  
   266  
   267     /** This class is the root object for a file or memory based settings 
   267     /** This class is the root object for a file or memory based settings 
   268     repository. It assumes the repository has a flat contiguous layout and
   268     repository. It assumes the repository has a flat contiguous layout and
   269     employes offsets to data rather then C++ pointers as in compiled 
   269     employees offsets to data rather then C++ pointers as in compiled 
   270     setting repositories.                 
   270     setting repositories.                 
   271     All offsets are relative to the address of &iHdr member.
   271     All offsets are relative to the address of &iHdr member.
   272     The last two members are expected to be present in the file/memory as shown
   272     The last two members are expected to be present in the file/memory as shown
   273     although there is no way at type definition time to know the size of these
   273     although there is no way at type definition time to know the size of these
   274     members, hence they are commented out and will be accessed in the code
   274     members, hence they are commented out and will be accessed in the code
   333 */
   333 */
   334 #define HCR_FLAGS_NONE		HCR::EPropUndefined
   334 #define HCR_FLAGS_NONE		HCR::EPropUndefined
   335 
   335 
   336 /**
   336 /**
   337 Global macro for use in setting the length attribute of a SSettingC 
   337 Global macro for use in setting the length attribute of a SSettingC 
   338 instance in the PSL compiled repository static data. Used when the setting is
   338 instance in the PSL compiled repository static data.
   339 a word sized setting and the size field is Not Applicable. Not to be used 
       
   340 for large data settings i.e. where size > 4bytes, i.e. type > 0xffff.
       
   341 
   339 
   342 @see HCR::MVariant
   340 @see HCR::MVariant
   343 @see HCR::SRepositoryCompiled
   341 @see HCR::SRepositoryCompiled
   344 */
   342 */
   345 #define HCR_LEN_NA			0x0000
   343 #define HCR_LEN_NA			0x0000
   367 #define HCR_LVALUE(a)	reinterpret_cast<TInt32>(a)
   365 #define HCR_LVALUE(a)	reinterpret_cast<TInt32>(a)
   368 
   366 
   369 /**
   367 /**
   370 Global macro used as last entry in a PSL compiled repository static data. 
   368 Global macro used as last entry in a PSL compiled repository static data. 
   371 The main use of this is to avoid the "last entry needs no following comma" issue
   369 The main use of this is to avoid the "last entry needs no following comma" issue
   372 and to aid HCR initial thread testing. 
   370 and to aid HCR initial thead testing. 
   373 The Setting (0xffffffff, 0xffffffff) was choosen as it should never appear in
   371 The Setting (0xffffffff, 0xffffffff) was choosen as it should never appear in
   374 a real variant as this category UID can not be allocated offically. Testers
   372 a real variant as this category UID can not be allocated offically. Testers
   375 should also be aware of the special use of this setting so as not to use it in
   373 should also be aware of the special use of this setting so as not to use it in
   376 a file repository.
   374 a file repository.
   377 
   375