KSession

From 3dbrew
Revision as of 23:23, 20 October 2016 by SciresM (talk | contribs) (maybe resolve some drama)
Jump to navigation Jump to search

class KSession extends KAutoObject;

Size : 0x4C bytes

Offset Type Description
0x0 u32 Pointer to vtable
0x4 u32 Reference count
0x20 KThread* X ?
0x24 KThread* Y ?
0x2C KThread* Z ?

It seems X=Y=Z. X, Y and Z can be NULL.


Structure for 7.0.0-13 NATIVE_FIRM upward:

Size : 0x4C bytes (KAutoObject, KServerSession, KClientSession, sequentially):

KAutoObject:

Offset Type Description
0x0 u32 Pointer to vtable
0x4 u32 Reference count

KServerSession:

Offset Type Description
0x8 u32 Pointer to vtable
0xC u32 Reference count
0x10 u32 Node count for threads
0x14 KLinkedListNode* Pointer to first KLinkedListNode in the list of threads that sync with this object
0x18 KLinkedListNode* Pointer to last KLinkedListNode in the list of threads that sync with this object
0x1C KSession* Pointer to parent session
0x20 KThread* Last stolen KThread during sync request- current thread when KServerSession code is running during svc - noted in KThread+0xA8 as well
0x24 KThread* First stolen KThread during sync request
0x28 KThread* KThread that originated the session

KClientSession:

Offset Type Description
0x2C u32 Pointer to vtable
0x30 u32 Reference count
0x34 u32 KLinkedListNode count for object
0x38 KLinkedListNode* Pointer to first KLinkedListNode in list of KThreads using this client session
0x3C KLinkedListNode* Pointer to last KLinkedListNode in list of KThreads using this client session
0x40 KSession* Pointer to parent session
0x44 u32 Session status
0x48 KClientPort* Pointer to associated client port inside parent KPort