KSession: Difference between revisions

SciresM (talk | contribs)
maybe resolve some drama
No edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Kernel objects]]
[[Category:Kernel auto objects]]
class [[KSession]] extends [[KAutoObject]];
class [[KSession]] extends [[KAutoObject]];


Line 33: Line 33:




Structure for [[7.0.0-13]] NATIVE_FIRM upward:
Structure for at least [[5.0.0-11]] NATIVE_FIRM upward:


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


[[KAutoObject]]:
 
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
!  Offset
!  Offset
! Type
!colspan="2"|Type
!  Description
!  Description
|-
|-
| 0x0
| 0x0
|rowspan="2"|[[KAutoObject]]
| u32
| u32
| Pointer to vtable
| Pointer to vtable
Line 51: Line 52:
| u32
| u32
| Reference count
| Reference count
|-
|}
[[KServerSession]]:
{| class="wikitable" border="1"
|-
!  Offset
! Type
!  Description
|-
|-
| 0x8
| 0x8
|rowspan="9"|[[KServerSession]]
| u32
| u32
| Pointer to vtable
| Pointer to vtable
Line 70: Line 64:
| 0x10
| 0x10
| u32
| u32
| Node count for threads
| KLinkedListNode count for sync threads
|-
|-
| 0x14
| 0x14
Line 95: Line 89:
| [[KThread]]*
| [[KThread]]*
| KThread that originated the session
| KThread that originated the session
|-
|}
[[KClientSession]]:
{| class="wikitable" border="1"
|-
!  Offset
! Type
!  Description
|-
|-
| 0x2C
| 0x2C
|rowspan="8"|[[KClientSession]]
| u32
| u32
| Pointer to vtable
| Pointer to vtable
Line 114: Line 101:
| 0x34
| 0x34
| u32  
| u32  
| KLinkedListNode count for object
| KLinkedListNode count for sync threads
|-
|-
| 0x38
| 0x38
| KLinkedListNode*
| [[KLinkedListNode]]*
| Pointer to first KLinkedListNode in list of KThreads using this client session
| Pointer to first KLinkedListNode in the list of threads that sync with this object
|-
|-
| 0x3C
| 0x3C
| KLinkedListNode*
| [[KLinkedListNode]]*
| Pointer to last KLinkedListNode in list of KThreads using this client session
| Pointer to last KLinkedListNode in the list of threads that sync with this object
|-
|-
| 0x40
| 0x40
Line 133: Line 120:
|-
|-
| 0x48
| 0x48
| KClientPort*  
| [[KClientPort]]*  
| Pointer to associated client port inside parent KPort
| Pointer to associated client port inside parent KPort
|-
|-
|}
|}
Session status:
1: open<br>
2: closed by client<br>
3: closed by server?