Debug::TThreadListEntry Class Reference

class Debug::TThreadListEntry

Structure used for extracting data from a descriptor returned by a call to RSecuritySvrSession::GetList() when GetList() is called with TListId::EThreads as the first argument.

RSecuritySvrSession::GetList()
        //buffer is a TDesC8 containing 4-byte aligned TThreadListEntry objects
//create a pointer to the start of the data
TUint8* ptr = (TUint8*)buffer.Ptr();
//create a pointer to the end of the data
const TUint8* ptrEnd = ptr + buffer.Length();
while(ptr < ptrEnd)
	{
	//cast the pointer to be a TThreadListEntry object
	TThreadListEntry& entry = *(TThreadListEntry*)ptr;
	//use the TThreadListEntry pointer, i.e.
	TUint16 nameLength = entry.iNameLength;
	TPtr name(&(entry.iName[0]), nameLength, nameLength);
	// move ptr on to point to the next TThreadListEntry object
	ptr += Align4(entry.GetSize());
	}
       

Member Functions Documentation

GetSize()

TInt GetSize ( ) const [inline]

Returns the size of the TThreadListEntry , including the name length

Member Data Documentation

TUint16 iName

TUint16 iName

First two bytes of the thread's name, the name should be considered to extend past the end of the TThreadListEntry structure to a length corresponding to iNameLength

TUint16 iNameLength

TUint16 iNameLength

The length of the thread's name

TUint64 iProcessId

TUint64 iProcessId

Process ID

TUint32 iSpare1

TUint32 iSpare1

Currently unused element. May be used in future to aid maintaining compatibility.

TUint32 iSpare2

TUint32 iSpare2

Currently unused element. May be used in future to aid maintaining compatibility.

TUint32 iSupervisorStackBase

TUint32 iSupervisorStackBase

Address of the base of the supervisor stack

TUint8 iSupervisorStackBaseValid

TUint8 iSupervisorStackBaseValid

Non-zero if iSupervisorStackBase has been set correctly

TUint32 iSupervisorStackPtr

TUint32 iSupervisorStackPtr

Address of the thread's supervisor stack pointer

TRegisterFlag iSupervisorStackPtrValid

TRegisterFlag iSupervisorStackPtrValid

Indicator of whether the value returned as iSupervisorStackPtr is valid. It is necessary, but not necessarily sufficient, that the thread be suspended for a valid value to be returned. This may be removed from the final API and the value would be extracted instead via the ReadRegisters type calls.

TUint32 iSupervisorStackSize

TUint32 iSupervisorStackSize

Size of the supervisor stack

TUint8 iSupervisorStackSizeValid

TUint8 iSupervisorStackSizeValid

Non-zero if iSupervisorStackSize has been set correctly

TUint64 iThreadId

TUint64 iThreadId

Thread ID