Difference between revisions of "KClassToken"
Jump to navigation
Jump to search
m |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Kernel objects]] | [[Category:Kernel objects]] | ||
− | |||
− | |||
Size : 0x5 bytes | Size : 0x5 bytes | ||
Line 11: | Line 9: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
− | | char* | + | | const char * |
| Pointer to kernel type string | | Pointer to kernel type string | ||
|- | |- | ||
Line 18: | Line 16: | ||
| Kernel object descriptive bitflags | | Kernel object descriptive bitflags | ||
|} | |} | ||
− | |||
Each type of kernel object has a token that describes it. The token is used to make sure that a kernel object of a certain type is able to perform a function requested by the kernel. | Each type of kernel object has a token that describes it. The token is used to make sure that a kernel object of a certain type is able to perform a function requested by the kernel. | ||
− | |||
= Bitflags = | = Bitflags = | ||
Line 53: | Line 49: | ||
| | | | ||
|} | |} | ||
− | |||
== Bitflags and their corresponding objects == | == Bitflags and their corresponding objects == | ||
− | {| class="wikitable" border="1" | + | {| class="wikitable sortable" border="1" |
|- | |- | ||
! colspan="8"|Bits | ! colspan="8"|Bits | ||
− | ! Value | + | ! rowspan="2"|Value |
− | ! Associated class | + | ! rowspan="2"|Associated class |
|- | |- | ||
− | | | + | ! 7 |
+ | ! 6 | ||
+ | ! 5 | ||
+ | ! 4 | ||
+ | ! 3 | ||
+ | ! 2 | ||
+ | ! 1 | ||
+ | ! 0 | ||
+ | |- | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
− | |||
− | |||
| 0 | | 0 | ||
− | |||
| 0 | | 0 | ||
− | | | + | | 0x0 |
− | | [[ | + | | [[KAutoObject]] |
|- | |- | ||
− | |||
| 0 | | 0 | ||
− | |||
| 0 | | 0 | ||
− | |||
| 0 | | 0 | ||
− | |||
| 0 | | 0 | ||
− | | | + | | 0 |
− | | | + | | 0 |
− | |||
− | |||
| 0 | | 0 | ||
| 1 | | 1 | ||
+ | | 0x1 | ||
+ | | [[KSynchronizationObject]] | ||
+ | |- | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
Line 92: | Line 93: | ||
| 1 | | 1 | ||
| 1 | | 1 | ||
− | | | + | | 1 |
− | | [[ | + | | 1 |
+ | | 1 | ||
+ | | 0x1F | ||
+ | | [[KEvent]] | ||
|- | |- | ||
+ | | 0 | ||
+ | | 0 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0x2F | ||
+ | | [[KSemaphore]] | ||
+ | |- | ||
+ | | 0 | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
+ | | 1 | ||
| 0 | | 0 | ||
+ | | 1 | ||
| 0x35 | | 0x35 | ||
| [[KTimer]] | | [[KTimer]] | ||
Line 108: | Line 123: | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
− | | | + | | 1 |
− | |||
| 1 | | 1 | ||
| 1 | | 1 | ||
+ | | 0 | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
− | | | + | | 0x39 |
− | | [[ | + | | [[KMutex]] |
|- | |- | ||
| 0 | | 0 | ||
+ | | 1 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
− | | | + | | 1 |
| 0 | | 0 | ||
| 1 | | 1 | ||
− | | | + | | 0x4D |
− | + | | [[KDebug]] | |
− | | [[ | ||
|- | |- | ||
+ | | 0 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
+ | | 1 | ||
| 0 | | 0 | ||
+ | | 1 | ||
| 0 | | 0 | ||
+ | | 1 | ||
+ | | 0x55 | ||
+ | | [[KServerPort]] | ||
+ | |- | ||
| 0 | | 0 | ||
+ | | 1 | ||
| 0 | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
− | | | + | | 1 |
− | | [[ | + | | 0x59 |
+ | | [[KDmaObject]] | ||
|- | |- | ||
| 0 | | 0 | ||
− | |||
− | |||
− | |||
− | |||
| 1 | | 1 | ||
| 1 | | 1 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
| 0 | | 0 | ||
| 0 | | 0 | ||
Line 156: | Line 173: | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
+ | | 0x65 | ||
+ | | [[KClientPort]] | ||
+ | |- | ||
| 0 | | 0 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
| 1 | | 1 | ||
| 1 | | 1 | ||
+ | | 0 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
− | |||
| 0 | | 0 | ||
| 0 | | 0 | ||
− | | | + | | 0x68 |
− | | [[ | + | | [[KCodeSet]] |
|- | |- | ||
+ | | 0 | ||
| 1 | | 1 | ||
− | |||
| 1 | | 1 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
− | |||
| 0 | | 0 | ||
− | | | + | | 0 |
− | | [[ | + | | 0x70 |
+ | | [[KSession]] | ||
|- | |- | ||
| 1 | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
| 1 | | 1 | ||
− | |||
− | |||
| 0 | | 0 | ||
| 1 | | 1 | ||
Line 195: | Line 210: | ||
|- | |- | ||
| 1 | | 1 | ||
+ | | 0 | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
− | |||
| 0 | | 0 | ||
| 1 | | 1 | ||
Line 205: | Line 220: | ||
| [[KServerSession]] | | [[KServerSession]] | ||
|- | |- | ||
− | | | + | | 1 |
| 0 | | 0 | ||
| 0 | | 0 | ||
Line 212: | Line 227: | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
− | | | + | | 0 |
| 0x98 | | 0x98 | ||
| [[KAddressArbiter]] | | [[KAddressArbiter]] | ||
|- | |- | ||
+ | | 1 | ||
| 0 | | 0 | ||
+ | | 1 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
Line 222: | Line 239: | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
+ | | 0xA5 | ||
+ | | [[KClientSession]] | ||
+ | |- | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| 1 | | 1 | ||
+ | | 0 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
− | | | + | | 0xA8 |
− | | [[ | + | | [[KPort]] |
|- | |- | ||
| 1 | | 1 | ||
− | |||
− | |||
− | |||
| 0 | | 0 | ||
| 1 | | 1 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
− | |||
− | |||
− | |||
| 0 | | 0 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
− | | | + | | 0xB0 |
− | + | | [[KSharedMemory]] | |
− | |||
− | |||
− | |||
− | |||
− | | [[ | ||
|- | |- | ||
+ | | 1 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
− | |||
| 0 | | 0 | ||
| 0 | | 0 | ||
Line 268: | Line 272: | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
− | | | + | | 0xC5 |
− | | [[ | + | | [[KProcess]] |
|- | |- | ||
+ | | 1 | ||
| 1 | | 1 | ||
| 0 | | 0 | ||
| 0 | | 0 | ||
| 1 | | 1 | ||
− | |||
− | |||
| 0 | | 0 | ||
| 0 | | 0 | ||
− | | | + | | 0 |
− | | [[ | + | | 0xC8 |
+ | | [[KResourceLimit]] | ||
|} | |} |
Latest revision as of 22:36, 10 December 2016
Size : 0x5 bytes
Offset | Type | Description |
---|---|---|
0x0 | const char * | Pointer to kernel type string |
0x4 | u8 | Kernel object descriptive bitflags |
Each type of kernel object has a token that describes it. The token is used to make sure that a kernel object of a certain type is able to perform a function requested by the kernel.
Bitflags[edit]
Bit | Description |
---|---|
0 | Can synchronize |
1 | Is interruptible |
2 | |
3 | |
4 | |
5 | |
6 | |
7 |
Bitflags and their corresponding objects[edit]
Bits | Value | Associated class | |||||||
---|---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0x0 | KAutoObject |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0x1 | KSynchronizationObject |
0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0x1F | KEvent |
0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0x2F | KSemaphore |
0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0x35 | KTimer |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0x39 | KMutex |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0x4D | KDebug |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0x55 | KServerPort |
0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0x59 | KDmaObject |
0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0x65 | KClientPort |
0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0x68 | KCodeSet |
0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0x70 | KSession |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0x8D | KThread |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0x95 | KServerSession |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0x98 | KAddressArbiter |
1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0xA5 | KClientSession |
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0xA8 | KPort |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0xB0 | KSharedMemory |
1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0xC5 | KProcess |
1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0xC8 | KResourceLimit |