Kernel: Difference between revisions

Roblabla (talk | contribs)
Complete kernel slab informations
m Hexkyz moved page Kernel objects to Kernel: Use this page for general kernel documentation
 
(6 intermediate revisions by 2 users not shown)
Line 36: Line 36:
| 8 || u32 || ReferenceCount
| 8 || u32 || ReferenceCount
|-
|-
| 0x10 || u64 || ?
| 0x10 || [[#KRedBlackTreeNode]] || Intrusive red-black tree node, replaces the Intrusive list node from previous versions.
|-
| 0x18 || ptr || ?
|-
| 0x20 || u64 || ?
|-
| 0x28 || u64 || ?
|}
|}


Line 151: Line 145:
|-
|-
| 8 || [[#KLinkedListNode]] || Bounds (first, last)
| 8 || [[#KLinkedListNode]] || Bounds (first, last)
|}
= KRedBlackTreeNode =
Size: 0x20
Note: This is BSD sys/tree.h's RB_ENTRY(...).
{| class="wikitable" border="1"
|-
! Offset || Type || Description
|-
| 0 || KRedBlackTreeNode* || Left Child
|-
| 8 || KRedBlackTreeNode* || Right Child
|-
| 0x10 || KRedBlackTreeNode* || Parent
|-
| 0x18 || int || Color
|}
= KRedBlackTree =
Size: 0x8
Note: This is BSD sys/tree.h's RB_HEAD(..., KRedBlackTreeNode);
{| class="wikitable" border="1"
|-
! Offset || Type || Description
|-
| 0 || KRedBlackTreeNode* || Root
|-
|}
|}


Line 578: Line 603:
[2.0.0] Size: 8
[2.0.0] Size: 8


[6.0.0]? Size: 0x10
[5.0.0] Size: 0x10


<div style="display: inline-block">
<div style="display: inline-block">
Line 609: Line 634:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! 6.0.0 Offset || Type || Description
! 5.0.0 Offset || Type || Description
|-
|-
| 0 || u16 || HandleId
| 0 || u16 || HandleId
|-
|-
| 2 || u8 || ObjectType
| 2 || u16 || ObjectType
|-
|-
| 4 || u32 || ObjectCompressedPtr
| 8 || [[#KAutoObject]]* || object
|-
| 8 || ptr || ?
|}
|}
</div>
</div>
Line 1,045: Line 1,068:


= KPort =
= KPort =
Size: 0xA8
[1.0.0] Size: 0xA8
 
[7.0.0] Size: 0x110


Inherits from: [[#KAutoObject]]
Inherits from: [[#KAutoObject]]


<div style="display: inline-block;">
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Offset
! 1.0.0 Offset
! Type
! Type
! Description
! Description
Line 1,067: Line 1,094:
| 0xA1 || bool || IsLight
| 0xA1 || bool || IsLight
|}
|}
</div>
<div style="display: inline-block; vertical-align:top;">
{| class="wikitable" border="1"
|-
! 7.0.0 Offset
! Type
! Description
|-
| 0 || [[#KAutoObject]] || Inheritance
|-
| 0x30 || [[#KServerPort]] || ServerSide
|-
| 0xA0 || [[#KClientPort]] || ClientSide
|-
| 0xF8 || u64 ||
|-
| 0x100 || char* || NamePtr
|-
| 0x108 || bool || HasInited
|-
| 0x109 || bool || IsLight
|}
</div>


== KServerPort ==
== KServerPort ==
Line 1,147: Line 1,198:
| 0x50 || [[#KSessionRequest]]* || ActiveRequest
| 0x50 || [[#KSessionRequest]]* || ActiveRequest
|-
|-
| 0x58 || ||
| 0x58 || [[#KMutex]] || lock
|}
|}


Line 1,702: Line 1,753:
! Offset || Type || Description
! Offset || Type || Description
|-
|-
| 0 || [[#KIrqReciever*]] || Receiver
| 0 || [[#KInterruptReceiver]]* || Receiver
|-
|-
| 8 || u8 || State0
| 8 || u8 || State0