Kernel: Difference between revisions
Fix broken link to KInterruptReceiver |
m Hexkyz moved page Kernel objects to Kernel: Use this page for general kernel documentation |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 36: | Line 36: | ||
| 8 || u32 || ReferenceCount | | 8 || u32 || ReferenceCount | ||
|- | |- | ||
| 0x10 || | | 0x10 || [[#KRedBlackTreeNode]] || Intrusive red-black tree node, replaces the Intrusive list node from previous versions. | ||
|} | |} | ||
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 | ||
[ | [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" | ||
|- | |- | ||
! | ! 5.0.0 Offset || Type || Description | ||
|- | |- | ||
| 0 || u16 || HandleId | | 0 || u16 || HandleId | ||
|- | |- | ||
| 2 || | | 2 || u16 || ObjectType | ||
|- | |- | ||
| 8 || | | 8 || [[#KAutoObject]]* || object | ||
|} | |} | ||
</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 | ||
|} | |} | ||