struct TChunkCreateInfo |
This structure specifies the type and properties of the chunk to be created. It is passed as a parameter to the RChunk::Create() method.
Public Member Functions | |
---|---|
TChunkCreateInfo () | |
IMPORT_C void | SetCache ( TInt ) |
IMPORT_C void | SetClearByte ( TUint8 ) |
IMPORT_C void | SetCode ( TInt , TInt ) |
IMPORT_C void | SetDisconnected ( TInt , TInt , TInt ) |
IMPORT_C void | SetDoubleEnded ( TInt , TInt , TInt ) |
IMPORT_C void | SetGlobal (const TDesC &) |
IMPORT_C void | SetNormal ( TInt , TInt ) |
IMPORT_C void | SetOwner ( TOwnerType ) |
IMPORT_C void | SetPaging (const TChunkPagingAtt ) |
IMPORT_C void | SetReadOnly () |
void | SetThreadHeap ( TInt , TInt , const TDesC &) |
Public Member Enumerations | |
---|---|
enum | TChunkCreateVersions { EVersion0 , ESupportedVersions } |
enum | TChunkPagingAtt { EUnspecified , EPaged , EUnpaged } |
Protected Attributes | |
---|---|
TUint | iAttributes |
TUint8 | iClearByte |
TBool | iGlobal |
TInt | iInitialBottom |
TInt | iInitialTop |
TInt | iMaxSize |
const TDesC * | iName |
TOwnerType | iOwnerType |
TUint8 | iSpare1 |
TUint | iSpare2 |
TUint | iType |
TUint | iVersionNumber |
IMPORT_C | TChunkCreateInfo | ( | ) |
Default constructor.
This defaults the chunk to be created to be local, to have no attributes set and to use the default clear byte.
A local chunk is private to the process creating it and is not intended for access by other user processes.
IMPORT_C void | SetCache | ( | TInt | aMaxSize | ) |
For use by file server only.
TInt aMaxSize |
IMPORT_C void | SetClearByte | ( | TUint8 | aClearByte | ) |
Sets the byte value that all memory committed to the chunk will be cleared to.
TUint8 aClearByte |
IMPORT_C void | SetCode | ( | TInt | aInitialSize, |
TInt | aMaxSize | |||
) |
Sets the chunk to be created to be user writable and to be marked by the kernel as containing code. This can only be set on local chunks.
IMPORT_C void | SetDisconnected | ( | TInt | aInitialBottom, |
TInt | aInitialTop, | |||
TInt | aMaxSize | |||
) |
Set the chunk to be created to have a committed region consisting of an arbitrary set of MMU pages within the reserved region.
TInt aInitialBottom | The offset of the bottom of the new committed region from the base of the chunk's reserved region. |
TInt aInitialTop | The offset of the top of the new committed region from the base of the chunk's reserved region. |
TInt aMaxSize | The maximum size to which the reserved region of this chunk can grow. |
IMPORT_C void | SetDoubleEnded | ( | TInt | aInitialBottom, |
TInt | aInitialTop, | |||
TInt | aMaxSize | |||
) |
Sets the chunk to be created to have a commited region that that can be any contiguous subset of the reserved region.
TInt aInitialBottom | The offset of the bottom of the new committed region from the base of the chunk's reserved region. |
TInt aInitialTop | The offset of the top of the new committed region from the base of the chunk's reserved region. |
TInt aMaxSize | The maximum size to which the reserved region of this chunk can grow. |
IMPORT_C void | SetGlobal | ( | const TDesC & | aName | ) |
Sets the chunk to be created to be global, i.e. it is potentially visible to all processes and is intended for access by other user processes.
const TDesC & aName | A reference to a descriptor containing the name to be assigned to the global chunk. The length of the descriptor must be no greater than that allowed for a TKName type. |
IMPORT_C void | SetNormal | ( | TInt | aInitialSize, |
TInt | aMaxSize | |||
) |
Sets the chunk to be created to have a committed region that always starts at the bottom of the reserved region.
IMPORT_C void | SetOwner | ( | TOwnerType | aType | ) |
Sets the owner of the chunk to be created.
TOwnerType aType | The owner of the chunk to be created. |
IMPORT_C void | SetPaging | ( | const TChunkPagingAtt | aPaging | ) |
Sets the data paging attributes for the chunk to be created. Any previous calls to this method will be overridden for this TChunkCreateInfo object.
const TChunkPagingAtt aPaging | The data paging attributes of the chunk to be created. |
IMPORT_C void | SetReadOnly | ( | ) |
Sets the global chunk to be created to be read only. Only the creating process will be able to write to it, not other processes.
Read-Only chunks are currently only available on the Flexible Memory Model.
Chunk must be global.
void | SetThreadHeap | ( | TInt | aInitialSize, |
TInt | aMaxSize, | |||
const TDesC & | aName | |||
) |
Sets the chunk to be created to be a thread heap chunk. For internal use only.
Currently supported version numbers
EVersion0 | |
ESupportedVersions |
Attributes that specify whether the chunk to be created is data paged or not.
EUnspecified |
The chunk will use the creating process's paging attributes. |
EPaged |
The chunk will be data paged. |
EUnpaged |
The chunk will not be data paged. |
TUint | iAttributes | [protected] |
Attributes to the chunk to be created should have. Should be set from one or more the values in TChunkCreate::TChunkCreateAtt .
TUint8 | iClearByte | [protected] |
The byte to clear all the memory committed to the chunk to.
TInt | iInitialBottom | [protected] |
The offset of the bottom of the region to commit to the chunk on creation from the base of the chunk's reserved region. This is only used for double ended and disconnected chunks.
TInt | iInitialTop | [protected] |
The offset of the top of the region to commit to the chunk on creation from the base of the chunk's reserved region. This is only used for double ended and disconnected chunks.
const TDesC * | iName | [protected] |
A pointer to a descriptor containing the name to be assigned to global chunks. The length of the descriptor must be no greater than that allowed for a TKName type. Must be NULL for local chunks.
TOwnerType | iOwnerType | [protected] |
An enumeration whose enumerators define the ownership of this chunk handle. If not explicitly specified, EOwnerProcess is taken as default.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.