KSession: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 11: | Line 11: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| | | u32 | ||
| | | Pointer to vtable | ||
|- | |||
| 0x4 | |||
| u32 | |||
| Reference count | |||
|- | |- | ||
| 0x20 | | 0x20 | ||
Line 40: | Line 44: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| | | u32 | ||
| | | Pointer to vtable | ||
|- | |||
| 0x4 | |||
| u32 | |||
| Reference count | |||
|- | |- | ||
| 0x8 | | 0x8 | ||
| [[KServerSession]] | | 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 | |||
|- | |- | ||
| 0x2C | | 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 | |||
|- | |- |
Revision as of 23:32, 20 October 2016
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
Offset | Type | Description |
---|---|---|
0x0 | u32 | Pointer to vtable |
0x4 | u32 | Reference count |
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 |
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 |