|
||
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(TChunkCreateInfo &)
method.
Defined in TChunkCreateInfo
:
ESharedKernelMultiple
A chunk which may be opened by any number of user side processes. ESharedKernelSingle
A chunk which may only be opened by one user side process at a time. Chunks of t...SetClearByte(TUint8)
Sets the byte value that all memory committed to the chunk will be cleared to. SetCode(TInt,TInt)
Sets the chunk to be create to be user writable and to be marked by the kernel a...SetDisconnected(TInt,TInt,TInt)
Set the chunk to be created to have a committed region consisting of an arbitrar...SetDoubleEnded(TInt,TInt,TInt)
Sets the chunk to be created to have a commited region that that can be any cont...SetGlobal(const TDesC &)
Sets the chunk to be created to be global, i.e. it is potentially visible to all...SetNormal(TInt,TInt)
Sets the chunk to be created to have a committed region that always starts at th...SetOwner(TOwnerType)
Sets the owner of the chunk to be created. TChunkCreateInfo()
Constructor which zeros all member data. TChunkCreateInfo()
Default constructor.TType
Enumeration representing the type of chunk to be created. iDestroyedDfc
Pointer to a DFC which will be queued on destruction of chunk. iMapAttr
Caching attributes for the chunks memory.iOwnsMemory
Set to true if the chunk is to own its committed memory. In which case all memor...iType
The chunk type to be created. 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 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.
|
RChunk::CreateLocal(TInt,TInt,TOwnerType)
Creates a local chunk.IMPORT_C void SetCode(TInt aInitialSize, TInt aMaxSize);
Sets the chunk to be create to be user writable and to be marked by the kernel as containing code. This is can only be set on local chunks.
|
RChunk::CreateLocalCode(TInt,TInt,TOwnerType)
Creates a user writable chunk that is marked by the kernel as containing code.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.
|
RChunk::CreateDoubleEndedLocal(TInt,TInt,TInt,TOwnerType)
Creates a local, double ended, chunk.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.
|
RChunk::CreateDisconnectedLocal(TInt,TInt,TInt,TOwnerType)
Creates a local, disconnected chunk.IMPORT_C void SetOwner(TOwnerType aType);
Sets the owner of the chunk to be created.
|
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.
|
IMPORT_C void SetClearByte(TUint8 aClearByte);
Sets the byte value that all memory committed to the chunk will be cleared to.
|
TType
Enumeration representing the type of chunk to be created.
|
TType iType;
The chunk type to be created.
TChunkCreateInfo::TType
Enumeration representing the type of chunk to be created. TUint32 iMapAttr;
Caching attributes for the chunks memory.
This is a value constructed from the TMappingAttributes values. E.g. EMapAttrFullyBlocking (no caching) or EMapAttrCachedMax (full caching).
Note that if the MMU doesn't support the requested attributes then a lesser cached attribute will be used. The actual value
used is returned in aMapAttr of Kern::ChunkCreate(const TChunkCreateInfo &,DChunk *&,TLinAddr &,TUint32 &)
TUint8 iOwnsMemory;
Set to true if the chunk is to own its committed memory. In which case all memory committed to the chunk will come from the system's free pool and will be returned there when the chunk is destroyed.
TDfc * iDestroyedDfc;
Pointer to a DFC which will be queued on destruction of chunk.